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