aboutsummaryrefslogtreecommitdiffstats
path: root/src/l2fwd/l2fwd.c
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-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-05-06Add l2 fwd kernel moduleEugene Snider1-0/+167
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>