On Wed, Sep 18, 2019 at 3:25 AM Steffen Klassert <steffen.klass...@secunet.com> wrote: > > This adds a new NETIF_F_GRO_LIST feature flag. I will be used > to configure listfyed GRO what will be implemented with some > followup paches.
This should probably simultaneously introduce SKB_GSO_FRAGLIST as well as a BUILD_BUG_ON in net_gso_ok. Please also in the commit describe the constraints of skbs that have this type. If I'm not mistaken, an skb with either gso_size linear data or one gso_sized frag, followed by a frag_list of the same. With the exception of the last frag_list member, whose mss may be less than gso_size. This will help when reasoning about all the types of skbs we may see at segmentation, as we recently had to do [1] Minor nit: I think it's listified, not listifyed. [1] https://lore.kernel.org/netdev/CA+FuTSfVsgNDi7c=guu8nmg2hwxf2sjcnlxethevpdnxaw5...@mail.gmail.com/ > Signed-off-by: Steffen Klassert <steffen.klass...@secunet.com> > --- > include/linux/netdev_features.h | 2 ++ > net/core/ethtool.c | 1 + > 2 files changed, 3 insertions(+) > > diff --git a/include/linux/netdev_features.h b/include/linux/netdev_features.h > index 4b19c544c59a..1b6baa1b6fe9 100644 > --- a/include/linux/netdev_features.h > +++ b/include/linux/netdev_features.h > @@ -80,6 +80,7 @@ enum { > > NETIF_F_GRO_HW_BIT, /* Hardware Generic receive offload */ > NETIF_F_HW_TLS_RECORD_BIT, /* Offload TLS record */ > + NETIF_F_GRO_LIST_BIT, /* Listifyed GRO */ > > /* > * Add your fresh new feature above and remember to update > @@ -150,6 +151,7 @@ enum { > #define NETIF_F_GSO_UDP_L4 __NETIF_F(GSO_UDP_L4) > #define NETIF_F_HW_TLS_TX __NETIF_F(HW_TLS_TX) > #define NETIF_F_HW_TLS_RX __NETIF_F(HW_TLS_RX) > +#define NETIF_F_GRO_LIST __NETIF_F(GRO_LIST) > > /* Finds the next feature with the highest number of the range of start till > 0. > */ > diff --git a/net/core/ethtool.c b/net/core/ethtool.c > index 6288e69e94fc..ee8d2b58c2d7 100644 > --- a/net/core/ethtool.c > +++ b/net/core/ethtool.c > @@ -111,6 +111,7 @@ static const char > netdev_features_strings[NETDEV_FEATURE_COUNT][ETH_GSTRING_LEN] > [NETIF_F_HW_TLS_RECORD_BIT] = "tls-hw-record", > [NETIF_F_HW_TLS_TX_BIT] = "tls-hw-tx-offload", > [NETIF_F_HW_TLS_RX_BIT] = "tls-hw-rx-offload", > + [NETIF_F_GRO_LIST_BIT] = "rx-gro-list", > }; > > static const char > -- > 2.17.1 >