aboutsummaryrefslogtreecommitdiffstats
path: root/src/l2fwd
AgeCommit message (Collapse)AuthorFilesLines
2016-06-08Enable BURST_MODE for l2fwdMesut Ali Ergin1-1/+37
JIRA: VSPERF-267 This change adds optional burst mode to l2fwd module that makes use of skb->xmit_more API available in Linux Kernel > 3.18 in order to batch transmission of packets out of the NIC, increasing forwarding performance significantly. By default burst mode is disabled. If a value greater than 1 is provided, burst mode is enabled to send that many packets at once. Typical values would be burst=8 or burst=16. Change-Id: I8ef5f86cf73d4cb5a8e4c618a86111ebf411dca8 Signed-off-by: Mesut Ali Ergin <mesut.a.ergin@intel.com> Signed-off-by: Mallesh Koujalagi <malleshx.koujalagi@intel.com>
2015-10-29Fix Make, Make clean and when the src directories are clonedRadek Zetik1-1/+1
Update the rules for Make clean and distclean. Update make not to clone the repositories if they are already cloned, simply pull, checkout the tags and build. Changes in this patch: 1. QEMU is built just once in .../src directory. .../src_vanilla and .../src_cuse don't contain qemu anymore 2. 'make clean' deletes all built *.o files 3. 'make distclean' deletes all built and generated files (distclean is used instead of cleanse now) 4. 'make' calls 'git pull' when repository is cloned already JIRA: VSPERF-94 Change-Id: I80f9a135580b450fb4606cf947661049ff509548 Signed-off-by: Radek Zetik <radekx.zetik@intel.com> Reviewed-by: Billy O Mahony <billy.o.mahony@intel.com> Reviewed-by: Gene Snider <eugene.snider@huawei.com> Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
2015-09-09Add DNAT/SNAT supportGene Snider1-10/+218
JIRA: VSPERF-72 This change adds optional IPv4 DNAT support to l2fwd module for level two forwarding. With this change the l2fwd module can be used for testing complex IP configuration routing with virtual switches. Other L2 forwarding modules provide only Level 2 pass through. These can be used for complex IP chain processing but rely on port forwarding in the switch. With this module each packet which is forwarded optionally gets a new destination IP and source masquerade. So a test packet can be routed to eth1 and forwarded on eth2 with a different target IP and source address. To use this module compile it for your kernel and use the 'insmod' command to insert it. With no arguments this will forward eth1 to eth2 without modification. With 'net1=ethX net2=ethX' Level 2 forwarding can be done between arbitrary ports. With 'netX=ethX,XX.XX.XX.XX,xx:xx:xx:xx:xx:xx' the packets which are forwarded on the target port will be given the new destination IP and mac address. One or both ports may enable DNAT. Change-Id: If24281a6841930a7a85e4536da96b980ed48df1b Signed-off-by: Gene Snider <eugene.snider@huawei.com> Reviewed-by: Billy O Mahony <billy.o.mahony@intel.com>
2015-06-15Update targets for l2fwd buildEugene Snider1-1/+8
Added cleanse, clobber and force_make targets for top level Makefile compliance Change-Id: I510ed174e3ae01b35e9df975e5aaa1c989b34ce9 Signed-off-by: Eugene Snider <eugene.snider@huawei.com>
2015-05-06Add l2 fwd kernel moduleEugene Snider4-0/+621
This commit adds a simple kernel module for l2 forwarding or termination This module provides only level 2 forwarding between two ports, it does not do any NAT or Masquerade. Arguments are: net1=ethXXXX # set forwarding port 1 net2=ethXXX # set forwarding port 2 terminate=1 # terminate the connection and free the skb Changed to GPL licensing to avoid compilation issues Added sanity build target Fix whitespace issues JIRA: VSPERF-39 Change-Id: I0fa3e0135af06b7cba665a357dccfb9459edb9f6 Signed-off-by: Eugene Snider <eugene.snider@huawei.com>