> -----Original Message----- > From: Thomas Monjalon [mailto:thomas.monjalon at 6wind.com] > Sent: Tuesday, March 15, 2016 5:56 AM > To: marcdevel at gmail.com; Richardson, Bruce <bruce.richardson at intel.com>; > Doherty, Declan <declan.doherty at intel.com>; Ananyev, Konstantin > <konstantin.ananyev at intel.com>; Lu, Wenzhuo <wenzhuo.lu at intel.com>; > Zhang, Helin <helin.zhang at intel.com>; Chen, Jing D <jing.d.chen at > intel.com>; > harish.patil at qlogic.com; rahul.lakkireddy at chelsio.com; johndale at > cisco.com; > vido at cesnet.cz; adrien.mazarguil at 6wind.com; > alejandro.lucero at netronome.com > Cc: dev at dpdk.org > Subject: [PATCH v10 1/8] ethdev: use constants for link state > > Define and use ETH_LINK_UP and ETH_LINK_DOWN where appropriate. > > Signed-off-by: Marc Sune <marcdevel at gmail.com> > Signed-off-by: Thomas Monjalon <thomas.monjalon at 6wind.com> > ---
................ > diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h > index > d867976..6704a82 100644 > --- a/lib/librte_ether/rte_ethdev.h > +++ b/lib/librte_ether/rte_ethdev.h > @@ -247,7 +247,7 @@ struct rte_eth_stats { struct rte_eth_link { > uint16_t link_speed; /**< ETH_LINK_SPEED_[10, 100, 1000, 10000] */ > uint16_t link_duplex; /**< ETH_LINK_[HALF_DUPLEX, FULL_DUPLEX] > */ > - uint8_t link_status : 1; /**< 1 -> link up, 0 -> link down */ > + uint8_t link_status : 1; /**< ETH_LINK_[DOWN/UP] */ > }__attribute__((aligned(8))); /**< aligned for atomic64 read/write */ > > #define ETH_LINK_SPEED_AUTONEG 0 /**< Auto-negotiate link > speed. */ > @@ -259,9 +259,12 @@ struct rte_eth_link { > #define ETH_LINK_SPEED_20G 20000 /**< 20 gigabits/second. */ > #define ETH_LINK_SPEED_40G 40000 /**< 40 gigabits/second. */ > > +/* Utility constants */ > #define ETH_LINK_AUTONEG_DUPLEX 0 /**< Auto-negotiate duplex. > */ > #define ETH_LINK_HALF_DUPLEX 1 /**< Half-duplex connection. */ > #define ETH_LINK_FULL_DUPLEX 2 /**< Full-duplex connection. */ > +#define ETH_LINK_DOWN 0 /**< Link is down. */ > +#define ETH_LINK_UP 1 /**< Link is up. */ I was thinking if there is a link state of ETH_LINK_UNKOWN is needed? Sometimes, it cannot get the real link status from hardware. Any comments about this from others? /Helin > > /** > * A structure used to configure the ring threshold registers of an RX/TX > -- > 2.7.0