On Tue,  2 Sep 2025 07:25:58 +0000 Hangbin Liu wrote:
> --- a/include/linux/netdevice.h
> +++ b/include/linux/netdevice.h
> @@ -5279,6 +5279,25 @@ int __netdev_update_features(struct net_device *dev);
>  void netdev_update_features(struct net_device *dev);
>  void netdev_change_features(struct net_device *dev);
>  
> +/* netdevice features */
> +#define VIRTUAL_DEV_VLAN_FEATURES    (NETIF_F_HW_CSUM | NETIF_F_SG | \
> +                                      NETIF_F_FRAGLIST | 
> NETIF_F_GSO_SOFTWARE | \
> +                                      NETIF_F_GSO_ENCAP_ALL | \
> +                                      NETIF_F_HIGHDMA | NETIF_F_LRO)
> +
> +#define VIRTUAL_DEV_ENC_FEATURES     (NETIF_F_HW_CSUM | NETIF_F_SG | \
> +                                      NETIF_F_RXCSUM | NETIF_F_GSO_SOFTWARE 
> | \
> +                                      NETIF_F_GSO_PARTIAL)
> +
> +#define VIRTUAL_DEV_MPLS_FEATURES    (NETIF_F_HW_CSUM | NETIF_F_SG | \
> +                                      NETIF_F_GSO_SOFTWARE)
> +
> +#define VIRTUAL_DEV_XFRM_FEATURES    (NETIF_F_HW_ESP | 
> NETIF_F_HW_ESP_TX_CSUM | \
> +                                      NETIF_F_GSO_ESP)
> +
> +#define VIRTUAL_DEV_GSO_PARTIAL_FEATURES (NETIF_F_GSO_ESP)
> +void netdev_compute_features_from_lowers(struct net_device *dev);

Isn't this what the ALL_FOR_ALL, ONE_FOR_ALL etc. flag sets were
supposed to also achieve? Please try to move the new code closer
to those, both in terms of where they are defined and naming...

Reply via email to