[dpdk-dev] [PATCH 1/2] ethdev: add api to set default mac address
Stephen Hemminger
stephen at networkplumber.org
Fri May 29 17:20:21 CEST 2015
On Fri, 29 May 2015 09:15:08 -0400
Liang-Min Larry Wang <liang-min.wang at intel.com> wrote:
> }
>
> int
> +rte_eth_dev_default_mac_addr_set(uint8_t port_id, struct ether_addr *addr)
> +{
> + struct rte_eth_dev *dev;
> + const int index = 0;
> + const uint32_t pool = 0;
> +
> + if (!rte_eth_dev_is_valid_port(port_id)) {
> + PMD_DEBUG_TRACE("Invalid port_id=%d\n", port_id);
> + return -ENODEV;
> + }
> +
> + dev = &rte_eth_devices[port_id];
> + FUNC_PTR_OR_ERR_RET(*dev->dev_ops->mac_addr_remove, -ENOTSUP);
> + FUNC_PTR_OR_ERR_RET(*dev->dev_ops->mac_addr_add, -ENOTSUP);
> +
> + /* Update NIC default MAC address*/
> + (*dev->dev_ops->mac_addr_remove)(dev, index);
> + (*dev->dev_ops->mac_addr_add)(dev, addr, index, pool);
> +
> + /* Update default address in NIC data structure */
> + ether_addr_copy(addr, &dev->data->mac_addrs[index]);
> +
> + return 0;
> +}
> +
No. this won't work. for some devices.
Please use mac_addr_set hook added in recent DPDK
More information about the dev
mailing list