Skip to content

Commit db78475

Browse files
committed
eth: gve: use appropriate helper to set xdp_features
Commit f85949f ("xdp: add xdp_set_features_flag utility routine") added routines to inform the core about XDP flag changes. GVE support was added around the same time and missed using them. GVE only changes the flags on error recover or resume. Presumably the flags may change during resume if VM migrated. User would not get the notification and upper devices would not get a chance to recalculate their flags. Fixes: 75eaae1 ("gve: Add XDP DROP and TX support for GQI-QPL format") Reviewed-By: Jeroen de Borst <[email protected]> Reviewed-by: Willem de Bruijn <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
1 parent cb358ff commit db78475

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

drivers/net/ethernet/google/gve/gve_main.c

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2241,14 +2241,18 @@ static void gve_service_task(struct work_struct *work)
22412241

22422242
static void gve_set_netdev_xdp_features(struct gve_priv *priv)
22432243
{
2244+
xdp_features_t xdp_features;
2245+
22442246
if (priv->queue_format == GVE_GQI_QPL_FORMAT) {
2245-
priv->dev->xdp_features = NETDEV_XDP_ACT_BASIC;
2246-
priv->dev->xdp_features |= NETDEV_XDP_ACT_REDIRECT;
2247-
priv->dev->xdp_features |= NETDEV_XDP_ACT_NDO_XMIT;
2248-
priv->dev->xdp_features |= NETDEV_XDP_ACT_XSK_ZEROCOPY;
2247+
xdp_features = NETDEV_XDP_ACT_BASIC;
2248+
xdp_features |= NETDEV_XDP_ACT_REDIRECT;
2249+
xdp_features |= NETDEV_XDP_ACT_NDO_XMIT;
2250+
xdp_features |= NETDEV_XDP_ACT_XSK_ZEROCOPY;
22492251
} else {
2250-
priv->dev->xdp_features = 0;
2252+
xdp_features = 0;
22512253
}
2254+
2255+
xdp_set_features_flag(priv->dev, xdp_features);
22522256
}
22532257

22542258
static int gve_init_priv(struct gve_priv *priv, bool skip_describe_device)

0 commit comments

Comments
 (0)