• Felix Fietkau's avatar
    wifi: mac80211: add support for restricting netdev features per vif · 7d360f60
    Felix Fietkau authored
    This can be used to selectively disable feature flags for checksum offload,
    scatter/gather or GSO by changing vif->netdev_features.
    Removing features from vif->netdev_features does not affect the netdev
    features themselves, but instead fixes up skbs in the tx path so that the
    offloads are not needed in the driver.
    
    Aside from making it easier to deal with vif type based hardware limitations,
    this also makes it possible to optimize performance on hardware without native
    GSO support by declaring GSO support in hw->netdev_features and removing it
    from vif->netdev_features. This allows mac80211 to handle GSO segmentation
    after the sta lookup, but before itxq enqueue, thus reducing the number of
    unnecessary sta lookups, as well as some other per-packet processing.
    Signed-off-by: default avatarFelix Fietkau <nbd@nbd.name>
    Link: https://lore.kernel.org/r/20221010094338.78070-1-nbd@nbd.nameSigned-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
    7d360f60
mac80211.h 285 KB