• P
    veth: allow enabling NAPI even without XDP · d3256efd
    Paolo Abeni 提交于
    Currently the veth device has the GRO feature bit set, even if
    no GRO aggregation is possible with the default configuration,
    as the veth device does not hook into the GRO engine.
    
    Flipping the GRO feature bit from user-space is a no-op, unless
    XDP is enabled. In such scenario GRO could actually take place, but
    TSO is forced to off on the peer device.
    
    This change allow user-space to really control the GRO feature, with
    no need for an XDP program.
    
    The GRO feature bit is now cleared by default - so that there are no
    user-visible behavior changes with the default configuration.
    
    When the GRO bit is set, the per-queue NAPI instances are initialized
    and registered. On xmit, when napi instances are available, we try
    to use them.
    
    Some additional checks are in place to ensure we initialize/delete NAPIs
    only when needed in case of overlapping XDP and GRO configuration
    changes.
    Signed-off-by: NPaolo Abeni <pabeni@redhat.com>
    Signed-off-by: NDavid S. Miller <davem@davemloft.net>
    d3256efd
veth.c 37.0 KB