• John Fastabend's avatar
    ixgbe: add support for XDP_TX action · 33fdc82f
    John Fastabend authored
    A couple design choices were made here. First I use a new ring
    pointer structure xdp_ring[] in the adapter struct instead of
    pushing the newly allocated XDP TX rings into the tx_ring[]
    structure. This means we have to duplicate loops around rings
    in places we want to initialize both TX rings and XDP rings.
    But by making it explicit it is obvious when we are using XDP
    rings and when we are using TX rings. Further we don't have
    to do ring arithmatic which is error prone. As a proof point
    for doing this my first patches used only a single ring structure
    and introduced bugs in FCoE code and macvlan code paths.
    
    Second I am aware this is not the most optimized version of
    this code possible. I want to get baseline support in using
    the most readable format possible and then once this series
    is included I will optimize the TX path in another series
    of patches.
    Signed-off-by: default avatarJohn Fastabend <john.r.fastabend@intel.com>
    Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
    33fdc82f
ixgbe_lib.c 35.6 KB