[dpdk-stable] [PATCH 1/1] net/nfp: fix set_mac_addr

Pablo Cascón pablo.cascon at netronome.com
Tue Mar 12 12:24:58 CET 2019


On 08/03/2019 15:40, Pablo Cascón wrote:
> Some firmwares, mostly for VFs, do not advertise the feature /
> capability of changing the MAC address while the interface is up. With
> such firmware a request to change the MAC address that at the same
> time also tries to enable the not available feature will be denied by
> the firmware resulting in an error message like:
>
> nfp_net_reconfig(): Error nfp_net reconfig for ctrl: 80000000 update: 800
>
> Fix set_mac_addr by not trying to enable a feature if it is not
> advertised by the firmware.
>
> Fixes: 2fe669f4bcd2 ("net/nfp: support MAC address change")

Sorry forgot to add here:

"Cc: stable at dpdk.org"

If needed please amend the commit message.

>
> Signed-off-by: Pablo Cascón <pablo.cascon at netronome.com>
> ---
>  drivers/net/nfp/nfp_net.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/nfp/nfp_net.c b/drivers/net/nfp/nfp_net.c
> index 54c6da9..278e154 100644
> --- a/drivers/net/nfp/nfp_net.c
> +++ b/drivers/net/nfp/nfp_net.c
> @@ -566,7 +566,10 @@ nfp_set_mac_addr(struct rte_eth_dev *dev, struct ether_addr *mac_addr)
>  
>  	/* Signal the NIC about the change */
>  	update = NFP_NET_CFG_UPDATE_MACADDR;
> -	ctrl = hw->ctrl | NFP_NET_CFG_CTRL_LIVE_ADDR;
> +	ctrl = hw->ctrl;
> +	if ((hw->ctrl & NFP_NET_CFG_CTRL_ENABLE) &&
> +	    (hw->cap & NFP_NET_CFG_CTRL_LIVE_ADDR))
> +		ctrl |= NFP_NET_CFG_CTRL_LIVE_ADDR;
>  	if (nfp_net_reconfig(hw, ctrl, update) < 0) {
>  		PMD_INIT_LOG(INFO, "MAC address update failed");
>  		return -EIO;



More information about the stable mailing list