[PATCH v1 1/1] net/nbl: use hardware MAC address instead of random one

Stephen Hemminger stephen at networkplumber.org
Fri Oct 31 18:59:09 CET 2025


On Thu, 30 Oct 2025 18:44:16 -0700
Dimon Zhao <dimon.zhao at nebula-matrix.com> wrote:
> diff --git a/drivers/net/nbl/nbl_dev/nbl_dev.c b/drivers/net/nbl/nbl_dev/nbl_dev.c
> index 8a4a776b22..adfaec22f8 100644
> --- a/drivers/net/nbl/nbl_dev/nbl_dev.c
> +++ b/drivers/net/nbl/nbl_dev/nbl_dev.c
> @@ -886,6 +886,7 @@ static int nbl_dev_setup_net_dev(struct nbl_dev_mgt *dev_mgt,
>  
>  	common->vsi_id = net_dev->vsi_id;
>  	common->eth_id = net_dev->eth_id;
> +	memcpy(common->mac, register_result.mac, RTE_ETHER_ADDR_LEN);
You might be able to use rte_ether_addr_copy here?

[...]
>  static int nbl_disp_get_mac_addr_req(void *priv __rte_unused, u8 *mac)

Take off the __rte_unused since parameter is used now.

>  {
> -	rte_eth_random_addr(mac);
> +	struct nbl_dispatch_mgt *disp_mgt = (struct nbl_dispatch_mgt *)priv;
> +	struct nbl_common_info *common = NBL_DISP_MGT_TO_COMMON(disp_mgt);
> +	u8 zero_mac[RTE_ETHER_ADDR_LEN] = {0, 0, 0, 0, 0, 0};
> +	int ret = -1;
> +
> +	if (common->nl_socket_route >= 0 && common->ifindex >= 0)
> +		ret = nbl_userdev_get_mac_addr(common, mac);
> +
> +	if (ret) {
> +		if (!memcmp(common->mac, zero_mac, RTE_ETHER_ADDR_LEN))

Why not use rte_is_zero_ether_addr?


More information about the dev mailing list