Hi Peng, Thanks for your work.
On 2022-04-19 10:38:57 +0200, Peng Zhang wrote: > When set the vlan_strip_offload off, it doesn't work. > Because we can't update the msg in the nic. > > This patch will fix this error. > > Fixes: d4a27a3b092a ("nfp: add basic features") > Cc: sta...@dpdk.org > > Signed-off-by: Peng Zhang <peng.zh...@corigine.com> > Signed-off-by: Yong Xu <yong...@corigine.com> > Signed-off-by: Chaoyong He <chaoyong...@corigine.com> Reviewed-by: Niklas Söderlund <niklas.soderl...@corigine.com> > --- > drivers/net/nfp/nfp_common.c | 21 ++++++++++----------- > 1 file changed, 10 insertions(+), 11 deletions(-) > > diff --git a/drivers/net/nfp/nfp_common.c b/drivers/net/nfp/nfp_common.c > index b26770dbfb..ab4cfda389 100644 > --- a/drivers/net/nfp/nfp_common.c > +++ b/drivers/net/nfp/nfp_common.c > @@ -968,19 +968,18 @@ nfp_net_vlan_offload_set(struct rte_eth_dev *dev, int > mask) > int ret; > > hw = NFP_NET_DEV_PRIVATE_TO_HW(dev->data->dev_private); > - new_ctrl = 0; > + new_ctrl = hw->ctrl; > > - /* Enable vlan strip if it is not configured yet */ > - if ((mask & RTE_ETH_VLAN_STRIP_OFFLOAD) && > - !(hw->ctrl & NFP_NET_CFG_CTRL_RXVLAN)) > - new_ctrl = hw->ctrl | NFP_NET_CFG_CTRL_RXVLAN; > - > - /* Disable vlan strip just if it is configured */ > - if (!(mask & RTE_ETH_VLAN_STRIP_OFFLOAD) && > - (hw->ctrl & NFP_NET_CFG_CTRL_RXVLAN)) > - new_ctrl = hw->ctrl & ~NFP_NET_CFG_CTRL_RXVLAN; > + if (mask & RTE_ETH_VLAN_STRIP_OFFLOAD) { > + /* Disable vlan strip just if it is configured */ > + if (hw->ctrl & NFP_NET_CFG_CTRL_RXVLAN) > + new_ctrl = new_ctrl & ~NFP_NET_CFG_CTRL_RXVLAN; > + /* Enable vlan strip if it is not configured yet */ > + else > + new_ctrl = new_ctrl | NFP_NET_CFG_CTRL_RXVLAN; > + } > > - if (new_ctrl == 0) > + if (new_ctrl == hw->ctrl) > return 0; > > update = NFP_NET_CFG_UPDATE_GEN; > -- > 2.27.0 > -- Kind Regards, Niklas Söderlund