On Mon, 28 Sep 2020 10:58:54 -0700 Tony Nguyen wrote: > From: Sven Auhagen <sven.auha...@voleatech.de> > > Add XDP support to the IGB driver. > The implementation follows the IXGBE XDP implementation > closely and I used the following patches as basis: > > 1. commit 924708081629 ("ixgbe: add XDP support for pass and drop actions") > 2. commit 33fdc82f0883 ("ixgbe: add support for XDP_TX action") > 3. commit ed93a3987128 ("ixgbe: tweak page counting for XDP_REDIRECT") > > Due to the hardware constraints of the devices using the > IGB driver we must share the TX queues with XDP which > means locking the TX queue for XDP. > > I ran tests on an older device to get better numbers. > Test machine: > > Intel(R) Atom(TM) CPU C2338 @ 1.74GHz (2 Cores) > 2x Intel I211 > > Routing Original Driver Network Stack: 382 Kpps > > Routing XDP Redirect (xdp_fwd_kern): 1.48 Mpps > XDP Drop: 1.48 Mpps > > Using XDP we can achieve line rate forwarding even on > an older Intel Atom CPU. > > Signed-off-by: Sven Auhagen <sven.auha...@voleatech.de> > Tested-by: Sandeep Penigalapati <sandeep.penigalap...@intel.com> > Signed-off-by: Tony Nguyen <anthony.l.ngu...@intel.com>
Also some new sparse warnings added here: drivers/net/ethernet/intel/igb/igb_main.c:6282:23: warning: incorrect type in assignment (different base types) drivers/net/ethernet/intel/igb/igb_main.c:6282:23: expected unsigned int [usertype] olinfo_status drivers/net/ethernet/intel/igb/igb_main.c:6282:23: got restricted __le32 [usertype] drivers/net/ethernet/intel/igb/igb_main.c:6287:37: warning: incorrect type in assignment (different base types) drivers/net/ethernet/intel/igb/igb_main.c:6287:37: expected restricted __le32 [usertype] olinfo_status drivers/net/ethernet/intel/igb/igb_main.c:6287:37: got unsigned int [assigned] [usertype] olinfo_status