2015-07-12 17:22, Liang-Min Larry Wang: > --- a/lib/librte_ether/rte_ethdev.c > +++ b/lib/librte_ether/rte_ethdev.c > @@ -2542,6 +2542,30 @@ rte_eth_dev_mac_addr_remove(uint8_t port_id, struct > ether_addr *addr) > } > > int > +rte_eth_dev_default_mac_addr_set(uint8_t port_id, struct ether_addr *addr) > +{ > + struct rte_eth_dev *dev; > + > + if (!rte_eth_dev_is_valid_port(port_id)) { > + PMD_DEBUG_TRACE("Invalid port_id=%d\n", port_id); > + return -ENODEV; > + } > + > + if (!is_valid_assigned_ether_addr(addr)) > + return -EINVAL; > + > + dev = &rte_eth_devices[port_id]; > + FUNC_PTR_OR_ERR_RET(*dev->dev_ops->mac_addr_set, -ENOTSUP); > + > + /* Update default address in NIC data structure */ > + ether_addr_copy(addr, &dev->data->mac_addrs[0]); > + > + (*dev->dev_ops->mac_addr_set)(dev, addr); > + > + return 0; > +}
It would be cleaner/clearer in a separate patch. Why not using VALID_PORTID_OR_ERR_RET instead of rte_eth_dev_is_valid_port? > +int > +rte_eth_dev_reg_length(uint8_t port_id) [...] > + return (*dev->dev_ops->get_reg_length)(dev); > +} [...] > +int > +rte_eth_dev_reg_info(uint8_t port_id, struct rte_dev_reg_info *info) [...] > + return (*dev->dev_ops->get_reg)(dev, info); > +} [...] > +int > +rte_eth_dev_eeprom_length(uint8_t port_id) [...] > + return (*dev->dev_ops->get_eeprom_length)(dev); > +} These functions should have the "get" word in their names. > --- a/lib/librte_ether/rte_ether_version.map > +++ b/lib/librte_ether/rte_ether_version.map > @@ -102,6 +102,12 @@ DPDK_2.0 { > rte_eth_tx_queue_setup; > rte_eth_xstats_get; > rte_eth_xstats_reset; > + rte_eth_dev_default_mac_addr_set; > + rte_eth_dev_reg_length; > + rte_eth_dev_reg_info; > + rte_eth_dev_eeprom_length; > + rte_eth_dev_get_eeprom; > + rte_eth_dev_set_eeprom; The new symbols should be in a new node for DPDK 2.1.