• Sven Auhagen's avatar
    igb: add XDP support · 9cbc948b
    Sven Auhagen authored
    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 92470808 ("ixgbe: add XDP support for pass and drop actions")
    2. commit 33fdc82f ("ixgbe: add support for XDP_TX action")
    3. commit ed93a398 ("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: default avatarSven Auhagen <sven.auhagen@voleatech.de>
    Tested-by: default avatarSandeep Penigalapati <sandeep.penigalapati@intel.com>
    Signed-off-by: default avatarTony Nguyen <anthony.l.nguyen@intel.com>
    9cbc948b
igb.h 21.6 KB