Hi Stephen, On Fri, Jan 05, 2018 at 05:06:44PM -0800, Stephen Hemminger wrote: > Use the new comon code in ethdev to handle link status update.
Typo: comon -> common > > Signed-off-by: Stephen Hemminger <step...@networkplumber.org> [...] > static void > virtio_update_stats(struct rte_eth_dev *dev, struct rte_eth_stats *stats) > { > @@ -1913,8 +1872,13 @@ static void > virtio_dev_stop(struct rte_eth_dev *dev) > { > struct virtio_hw *hw = dev->data->dev_private; > - struct rte_eth_link link; > struct rte_intr_conf *intr_conf = &dev->data->dev_conf.intr_conf; > + struct rte_eth_link link = { > + .link_speed = SPEED_10G, SPEED_10G has been removed on dpdk-next-virtio: http://dpdk.org/browse/next/dpdk-next-virtio/commit/?id=ed85aab5ee68d9be552e10fa123e9a0e35590389 I think you could use ETH_SPEED_NUM_10G directly. > + .link_duplex = ETH_LINK_FULL_DUPLEX, > + .link_autoneg = ETH_LINK_SPEED_FIXED, > + .link_status = ETH_LINK_DOWN, > + }; [...] > static int > virtio_dev_link_update(struct rte_eth_dev *dev, __rte_unused int > wait_to_complete) > { > - struct rte_eth_link link, old; > - uint16_t status; > struct virtio_hw *hw = dev->data->dev_private; > - memset(&link, 0, sizeof(link)); > - virtio_dev_atomic_read_link_status(dev, &link); > - old = link; > - link.link_duplex = ETH_LINK_FULL_DUPLEX; > - link.link_speed = SPEED_10G; > + uint16_t status; > + struct rte_eth_link link = { > + .link_speed = SPEED_10G, Ditto. Thanks for the work! Best regards, Tiwei Bie