From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id DA92E2904 for ; Wed, 6 Apr 2016 10:34:18 +0200 (CEST) Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga102.fm.intel.com with ESMTP; 06 Apr 2016 01:34:18 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.24,447,1455004800"; d="scan'208";a="949107515" Received: from irsmsx110.ger.corp.intel.com ([163.33.3.25]) by orsmga002.jf.intel.com with ESMTP; 06 Apr 2016 01:34:11 -0700 Received: from irsmsx103.ger.corp.intel.com ([169.254.3.239]) by irsmsx110.ger.corp.intel.com ([169.254.15.10]) with mapi id 14.03.0248.002; Wed, 6 Apr 2016 09:34:09 +0100 From: "Weglicki, MichalX" To: Marc Sune , Thomas Monjalon , "Xu, Qian Q" , "Xing, Beilei" , "dev@dpdk.org" , "Ananyev, Konstantin" , "Lu, Wenzhuo" , "Richardson, Bruce" , "Glynn, Michael J" , "Gray, Mark D" Thread-Topic: [dpdk-dev] [PATCH v13 4/8] ethdev: rename link speed constants Thread-Index: AQHRhv7hvDZbPa5evEW5IFky2EYUmJ98rK6A Date: Wed, 6 Apr 2016 08:34:08 +0000 Message-ID: <1AFA2937E172CD4DB2FD9318443C060EE95711@IRSMSX103.ger.corp.intel.com> References: <1458934950-23333-1-git-send-email-thomas.monjalon@6wind.com> <1458955640-22951-1-git-send-email-marcdevel@gmail.com> <1458955640-22951-5-git-send-email-marcdevel@gmail.com> In-Reply-To: <1458955640-22951-5-git-send-email-marcdevel@gmail.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [163.33.239.181] MIME-Version: 1.0 Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: quoted-printable Subject: Re: [dpdk-dev] [PATCH v13 4/8] ethdev: rename link speed constants X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 06 Apr 2016 08:34:19 -0000 Hello, = I have a question about this patch. = As far as I see changing ETH_LINK_SPEED_ to ETH_SPEED_NUM_ is rather cosmet= ic change, am I right? = Disadvantage of that is that it breaks compatibility with OVS (compilation)= and thus it also breaks backward compatibility between OVS & DPDK. Is it r= eally necessary? = It would be great to keep ABI & API stable if possible. = Br, = Michal. = -----Original Message----- From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Marc Sune Sent: Saturday, March 26, 2016 1:27 AM To: Thomas Monjalon ; Xu, Qian Q ; Xing, Beilei ; dev@dpdk.org; Ananyev, Konsta= ntin ; Lu, Wenzhuo ; Ri= chardson, Bruce ; Glynn, Michael J Cc: Marc Sune Subject: [dpdk-dev] [PATCH v13 4/8] ethdev: rename link speed constants The speed numbers ETH_LINK_SPEED_ are renamed ETH_SPEED_NUM_. The prefix ETH_LINK_SPEED_ is kept for AUTONEG and will be used for bit flags in next patch. Signed-off-by: Marc Sune --- app/test-pmd/cmdline.c | 10 +++++----- app/test/virtual_pmd.c | 2 +- drivers/net/af_packet/rte_eth_af_packet.c | 2 +- drivers/net/bonding/rte_eth_bond_8023ad.c | 12 ++++++------ drivers/net/cxgbe/base/t4_hw.c | 8 ++++---- drivers/net/e1000/em_ethdev.c | 8 ++++---- drivers/net/e1000/igb_ethdev.c | 8 ++++---- drivers/net/ena/ena_ethdev.c | 2 +- drivers/net/i40e/i40e_ethdev.c | 30 +++++++++++++++------------= --- drivers/net/i40e/i40e_ethdev_vf.c | 2 +- drivers/net/ixgbe/ixgbe_ethdev.c | 22 +++++++++++----------- drivers/net/mpipe/mpipe_tilegx.c | 4 ++-- drivers/net/nfp/nfp_net.c | 2 +- drivers/net/null/rte_eth_null.c | 2 +- drivers/net/pcap/rte_eth_pcap.c | 2 +- drivers/net/ring/rte_eth_ring.c | 2 +- drivers/net/szedata2/rte_eth_szedata2.c | 8 ++++---- drivers/net/vmxnet3/vmxnet3_ethdev.c | 2 +- drivers/net/xenvirt/rte_eth_xenvirt.c | 2 +- lib/librte_ether/rte_ethdev.h | 29 ++++++++++++++++++---------= -- 20 files changed, 83 insertions(+), 76 deletions(-) diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c index eb7bbb4..815b53b 100644 --- a/app/test-pmd/cmdline.c +++ b/app/test-pmd/cmdline.c @@ -1006,20 +1006,20 @@ parse_and_check_speed_duplex(char *speedstr, char *= duplexstr, uint16_t *speed) } = if (!strcmp(speedstr, "10")) { - *speed =3D ETH_LINK_SPEED_10; + *speed =3D ETH_SPEED_NUM_10M; } else if (!strcmp(speedstr, "100")) { - *speed =3D ETH_LINK_SPEED_100; + *speed =3D ETH_SPEED_NUM_100M; } else { if (duplex !=3D ETH_LINK_FULL_DUPLEX) { printf("Invalid speed/duplex parameters\n"); return -1; } if (!strcmp(speedstr, "1000")) { - *speed =3D ETH_LINK_SPEED_1000; + *speed =3D ETH_SPEED_NUM_1G; } else if (!strcmp(speedstr, "10000")) { - *speed =3D ETH_LINK_SPEED_10G; + *speed =3D ETH_SPEED_NUM_10G; } else if (!strcmp(speedstr, "40000")) { - *speed =3D ETH_LINK_SPEED_40G; + *speed =3D ETH_SPEED_NUM_40G; } else if (!strcmp(speedstr, "auto")) { *speed =3D ETH_LINK_SPEED_AUTONEG; } else { diff --git a/app/test/virtual_pmd.c b/app/test/virtual_pmd.c index b1d40d7..b4bd2f2 100644 --- a/app/test/virtual_pmd.c +++ b/app/test/virtual_pmd.c @@ -604,7 +604,7 @@ virtual_ethdev_create(const char *name, struct ether_ad= dr *mac_addr, TAILQ_INIT(&(eth_dev->link_intr_cbs)); = eth_dev->data->dev_link.link_status =3D ETH_LINK_DOWN; - eth_dev->data->dev_link.link_speed =3D ETH_LINK_SPEED_10000; + eth_dev->data->dev_link.link_speed =3D ETH_SPEED_NUM_10G; eth_dev->data->dev_link.link_duplex =3D ETH_LINK_FULL_DUPLEX; = eth_dev->data->mac_addrs =3D rte_zmalloc(name, ETHER_ADDR_LEN, 0); diff --git a/drivers/net/af_packet/rte_eth_af_packet.c b/drivers/net/af_pac= ket/rte_eth_af_packet.c index dee7b59..641f849 100644 --- a/drivers/net/af_packet/rte_eth_af_packet.c +++ b/drivers/net/af_packet/rte_eth_af_packet.c @@ -116,7 +116,7 @@ static const char *valid_arguments[] =3D { static const char *drivername =3D "AF_PACKET PMD"; = static struct rte_eth_link pmd_link =3D { - .link_speed =3D 10000, + .link_speed =3D ETH_SPEED_NUM_10G, .link_duplex =3D ETH_LINK_FULL_DUPLEX, .link_status =3D ETH_LINK_DOWN, }; diff --git a/drivers/net/bonding/rte_eth_bond_8023ad.c b/drivers/net/bondin= g/rte_eth_bond_8023ad.c index 1b7e93a..ac8306f 100644 --- a/drivers/net/bonding/rte_eth_bond_8023ad.c +++ b/drivers/net/bonding/rte_eth_bond_8023ad.c @@ -711,22 +711,22 @@ link_speed_key(uint16_t speed) { case ETH_LINK_SPEED_AUTONEG: key_speed =3D 0x00; break; - case ETH_LINK_SPEED_10: + case ETH_SPEED_NUM_10M: key_speed =3D BOND_LINK_SPEED_KEY_10M; break; - case ETH_LINK_SPEED_100: + case ETH_SPEED_NUM_100M: key_speed =3D BOND_LINK_SPEED_KEY_100M; break; - case ETH_LINK_SPEED_1000: + case ETH_SPEED_NUM_1G: key_speed =3D BOND_LINK_SPEED_KEY_1000M; break; - case ETH_LINK_SPEED_10G: + case ETH_SPEED_NUM_10G: key_speed =3D BOND_LINK_SPEED_KEY_10G; break; - case ETH_LINK_SPEED_20G: + case ETH_SPEED_NUM_20G: key_speed =3D BOND_LINK_SPEED_KEY_20G; break; - case ETH_LINK_SPEED_40G: + case ETH_SPEED_NUM_40G: key_speed =3D BOND_LINK_SPEED_KEY_40G; break; default: diff --git a/drivers/net/cxgbe/base/t4_hw.c b/drivers/net/cxgbe/base/t4_hw.c index 884d2cf..79af806 100644 --- a/drivers/net/cxgbe/base/t4_hw.c +++ b/drivers/net/cxgbe/base/t4_hw.c @@ -2159,13 +2159,13 @@ int t4_handle_fw_rpl(struct adapter *adap, const __= be64 *rpl) if (stat & F_FW_PORT_CMD_TXPAUSE) fc |=3D PAUSE_TX; if (stat & V_FW_PORT_CMD_LSPEED(FW_PORT_CAP_SPEED_100M)) - speed =3D ETH_LINK_SPEED_100; + speed =3D ETH_SPEED_NUM_100M; else if (stat & V_FW_PORT_CMD_LSPEED(FW_PORT_CAP_SPEED_1G)) - speed =3D ETH_LINK_SPEED_1000; + speed =3D ETH_SPEED_NUM_1G; else if (stat & V_FW_PORT_CMD_LSPEED(FW_PORT_CAP_SPEED_10G)) - speed =3D ETH_LINK_SPEED_10000; + speed =3D ETH_SPEED_NUM_10G; else if (stat & V_FW_PORT_CMD_LSPEED(FW_PORT_CAP_SPEED_40G)) - speed =3D ETH_LINK_SPEED_40G; + speed =3D ETH_SPEED_NUM_40G; = for_each_port(adap, i) { pi =3D adap2pinfo(adap, i); diff --git a/drivers/net/e1000/em_ethdev.c b/drivers/net/e1000/em_ethdev.c index fad8f2f..473d77f 100644 --- a/drivers/net/e1000/em_ethdev.c +++ b/drivers/net/e1000/em_ethdev.c @@ -625,7 +625,7 @@ eth_em_start(struct rte_eth_dev *dev) else goto error_invalid_config; break; - case ETH_LINK_SPEED_10: + case ETH_SPEED_NUM_10M: if (dev->data->dev_conf.link_duplex =3D=3D ETH_LINK_AUTONEG_DUPLEX) hw->phy.autoneg_advertised =3D E1000_ALL_10_SPEED; else if (dev->data->dev_conf.link_duplex =3D=3D @@ -637,7 +637,7 @@ eth_em_start(struct rte_eth_dev *dev) else goto error_invalid_config; break; - case ETH_LINK_SPEED_100: + case ETH_SPEED_NUM_100M: if (dev->data->dev_conf.link_duplex =3D=3D ETH_LINK_AUTONEG_DUPLEX) hw->phy.autoneg_advertised =3D E1000_ALL_100_SPEED; else if (dev->data->dev_conf.link_duplex =3D=3D @@ -649,7 +649,7 @@ eth_em_start(struct rte_eth_dev *dev) else goto error_invalid_config; break; - case ETH_LINK_SPEED_1000: + case ETH_SPEED_NUM_1G: if ((dev->data->dev_conf.link_duplex =3D=3D ETH_LINK_AUTONEG_DUPLEX) || (dev->data->dev_conf.link_duplex =3D=3D @@ -658,7 +658,7 @@ eth_em_start(struct rte_eth_dev *dev) else goto error_invalid_config; break; - case ETH_LINK_SPEED_10000: + case ETH_SPEED_NUM_10G: default: goto error_invalid_config; } diff --git a/drivers/net/e1000/igb_ethdev.c b/drivers/net/e1000/igb_ethdev.c index 4dfa7e3..86f25f6 100644 --- a/drivers/net/e1000/igb_ethdev.c +++ b/drivers/net/e1000/igb_ethdev.c @@ -1244,7 +1244,7 @@ eth_igb_start(struct rte_eth_dev *dev) else goto error_invalid_config; break; - case ETH_LINK_SPEED_10: + case ETH_SPEED_NUM_10M: if (dev->data->dev_conf.link_duplex =3D=3D ETH_LINK_AUTONEG_DUPLEX) hw->phy.autoneg_advertised =3D E1000_ALL_10_SPEED; else if (dev->data->dev_conf.link_duplex =3D=3D ETH_LINK_HALF_DUPLEX) @@ -1254,7 +1254,7 @@ eth_igb_start(struct rte_eth_dev *dev) else goto error_invalid_config; break; - case ETH_LINK_SPEED_100: + case ETH_SPEED_NUM_100M: if (dev->data->dev_conf.link_duplex =3D=3D ETH_LINK_AUTONEG_DUPLEX) hw->phy.autoneg_advertised =3D E1000_ALL_100_SPEED; else if (dev->data->dev_conf.link_duplex =3D=3D ETH_LINK_HALF_DUPLEX) @@ -1264,14 +1264,14 @@ eth_igb_start(struct rte_eth_dev *dev) else goto error_invalid_config; break; - case ETH_LINK_SPEED_1000: + case ETH_SPEED_NUM_1G: if ((dev->data->dev_conf.link_duplex =3D=3D ETH_LINK_AUTONEG_DUPLEX) || (dev->data->dev_conf.link_duplex =3D=3D ETH_LINK_FULL_DUPLEX)) hw->phy.autoneg_advertised =3D ADVERTISE_1000_FULL; else goto error_invalid_config; break; - case ETH_LINK_SPEED_10000: + case ETH_SPEED_NUM_10G: default: goto error_invalid_config; } diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c index 325c513..1046286 100644 --- a/drivers/net/ena/ena_ethdev.c +++ b/drivers/net/ena/ena_ethdev.c @@ -504,7 +504,7 @@ static int ena_link_update(struct rte_eth_dev *dev, struct rte_eth_link *link =3D &dev->data->dev_link; = link->link_status =3D 1; - link->link_speed =3D ETH_LINK_SPEED_10G; + link->link_speed =3D ETH_SPEED_NUM_10G; link->link_duplex =3D ETH_LINK_FULL_DUPLEX; = return 0; diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c index 05126e8..cce9e6f 100644 --- a/drivers/net/i40e/i40e_ethdev.c +++ b/drivers/net/i40e/i40e_ethdev.c @@ -1386,19 +1386,19 @@ i40e_parse_link_speed(uint16_t eth_link_speed) uint8_t link_speed =3D I40E_LINK_SPEED_UNKNOWN; = switch (eth_link_speed) { - case ETH_LINK_SPEED_40G: + case ETH_SPEED_NUM_40G: link_speed =3D I40E_LINK_SPEED_40GB; break; - case ETH_LINK_SPEED_20G: + case ETH_SPEED_NUM_20G: link_speed =3D I40E_LINK_SPEED_20GB; break; - case ETH_LINK_SPEED_10G: + case ETH_SPEED_NUM_10G: link_speed =3D I40E_LINK_SPEED_10GB; break; - case ETH_LINK_SPEED_1000: + case ETH_SPEED_NUM_1G: link_speed =3D I40E_LINK_SPEED_1GB; break; - case ETH_LINK_SPEED_100: + case ETH_SPEED_NUM_100M: link_speed =3D I40E_LINK_SPEED_100MB; break; } @@ -1768,7 +1768,7 @@ i40e_dev_link_update(struct rte_eth_dev *dev, /* Get link status information from hardware */ status =3D i40e_aq_get_link_info(hw, false, &link_status, NULL); if (status !=3D I40E_SUCCESS) { - link.link_speed =3D ETH_LINK_SPEED_100; + link.link_speed =3D ETH_SPEED_NUM_100M; link.link_duplex =3D ETH_LINK_FULL_DUPLEX; PMD_DRV_LOG(ERR, "Failed to get link info"); goto out; @@ -1790,22 +1790,22 @@ i40e_dev_link_update(struct rte_eth_dev *dev, /* Parse the link status */ switch (link_status.link_speed) { case I40E_LINK_SPEED_100MB: - link.link_speed =3D ETH_LINK_SPEED_100; + link.link_speed =3D ETH_SPEED_NUM_100M; break; case I40E_LINK_SPEED_1GB: - link.link_speed =3D ETH_LINK_SPEED_1000; + link.link_speed =3D ETH_SPEED_NUM_1G; break; case I40E_LINK_SPEED_10GB: - link.link_speed =3D ETH_LINK_SPEED_10G; + link.link_speed =3D ETH_SPEED_NUM_10G; break; case I40E_LINK_SPEED_20GB: - link.link_speed =3D ETH_LINK_SPEED_20G; + link.link_speed =3D ETH_SPEED_NUM_20G; break; case I40E_LINK_SPEED_40GB: - link.link_speed =3D ETH_LINK_SPEED_40G; + link.link_speed =3D ETH_SPEED_NUM_40G; break; default: - link.link_speed =3D ETH_LINK_SPEED_100; + link.link_speed =3D ETH_SPEED_NUM_100M; break; } = @@ -8158,15 +8158,15 @@ i40e_start_timecounters(struct rte_eth_dev *dev) rte_i40e_dev_atomic_read_link_status(dev, &link); = switch (link.link_speed) { - case ETH_LINK_SPEED_40G: + case ETH_SPEED_NUM_40G: tsync_inc_l =3D I40E_PTP_40GB_INCVAL & 0xFFFFFFFF; tsync_inc_h =3D I40E_PTP_40GB_INCVAL >> 32; break; - case ETH_LINK_SPEED_10G: + case ETH_SPEED_NUM_10G: tsync_inc_l =3D I40E_PTP_10GB_INCVAL & 0xFFFFFFFF; tsync_inc_h =3D I40E_PTP_10GB_INCVAL >> 32; break; - case ETH_LINK_SPEED_1000: + case ETH_SPEED_NUM_1G: tsync_inc_l =3D I40E_PTP_1GB_INCVAL & 0xFFFFFFFF; tsync_inc_h =3D I40E_PTP_1GB_INCVAL >> 32; break; diff --git a/drivers/net/i40e/i40e_ethdev_vf.c b/drivers/net/i40e/i40e_ethd= ev_vf.c index 91df13b..295dcd2 100644 --- a/drivers/net/i40e/i40e_ethdev_vf.c +++ b/drivers/net/i40e/i40e_ethdev_vf.c @@ -2126,7 +2126,7 @@ i40evf_dev_link_update(struct rte_eth_dev *dev, else { /* Always assume it's up, for Linux driver PF host */ new_link.link_duplex =3D ETH_LINK_AUTONEG_DUPLEX; - new_link.link_speed =3D ETH_LINK_SPEED_10000; + new_link.link_speed =3D ETH_SPEED_NUM_10G; new_link.link_status =3D ETH_LINK_UP; } i40evf_dev_atomic_write_link_status(dev, &new_link); diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_eth= dev.c index 21a3b8c..a0179d2 100644 --- a/drivers/net/ixgbe/ixgbe_ethdev.c +++ b/drivers/net/ixgbe/ixgbe_ethdev.c @@ -2199,17 +2199,17 @@ ixgbe_dev_start(struct rte_eth_dev *dev) IXGBE_LINK_SPEED_82599_AUTONEG : IXGBE_LINK_SPEED_82598_AUTONEG; break; - case ETH_LINK_SPEED_100: + case ETH_SPEED_NUM_100M: /* * Invalid for 82598 but error will be detected by * ixgbe_setup_link() */ speed =3D IXGBE_LINK_SPEED_100_FULL; break; - case ETH_LINK_SPEED_1000: + case ETH_SPEED_NUM_1G: speed =3D IXGBE_LINK_SPEED_1GB_FULL; break; - case ETH_LINK_SPEED_10000: + case ETH_SPEED_NUM_10G: speed =3D IXGBE_LINK_SPEED_10GB_FULL; break; default: @@ -3074,7 +3074,7 @@ ixgbe_dev_link_update(struct rte_eth_dev *dev, int wa= it_to_complete) diag =3D ixgbe_check_link(hw, &link_speed, &link_up, 1); = if (diag !=3D 0) { - link.link_speed =3D ETH_LINK_SPEED_100; + link.link_speed =3D ETH_SPEED_NUM_100M; link.link_duplex =3D ETH_LINK_HALF_DUPLEX; rte_ixgbe_dev_atomic_write_link_status(dev, &link); if (link.link_status =3D=3D old.link_status) @@ -3095,19 +3095,19 @@ ixgbe_dev_link_update(struct rte_eth_dev *dev, int = wait_to_complete) default: case IXGBE_LINK_SPEED_UNKNOWN: link.link_duplex =3D ETH_LINK_HALF_DUPLEX; - link.link_speed =3D ETH_LINK_SPEED_100; + link.link_speed =3D ETH_SPEED_NUM_100M; break; = case IXGBE_LINK_SPEED_100_FULL: - link.link_speed =3D ETH_LINK_SPEED_100; + link.link_speed =3D ETH_SPEED_NUM_100M; break; = case IXGBE_LINK_SPEED_1GB_FULL: - link.link_speed =3D ETH_LINK_SPEED_1000; + link.link_speed =3D ETH_SPEED_NUM_1G; break; = case IXGBE_LINK_SPEED_10GB_FULL: - link.link_speed =3D ETH_LINK_SPEED_10000; + link.link_speed =3D ETH_SPEED_NUM_10G; break; } rte_ixgbe_dev_atomic_write_link_status(dev, &link); @@ -5909,15 +5909,15 @@ ixgbe_start_timecounters(struct rte_eth_dev *dev) rte_ixgbe_dev_atomic_read_link_status(dev, &link); = switch (link.link_speed) { - case ETH_LINK_SPEED_100: + case ETH_SPEED_NUM_100M: incval =3D IXGBE_INCVAL_100; shift =3D IXGBE_INCVAL_SHIFT_100; break; - case ETH_LINK_SPEED_1000: + case ETH_SPEED_NUM_1G: incval =3D IXGBE_INCVAL_1GB; shift =3D IXGBE_INCVAL_SHIFT_1GB; break; - case ETH_LINK_SPEED_10000: + case ETH_SPEED_NUM_10G: default: incval =3D IXGBE_INCVAL_10GB; shift =3D IXGBE_INCVAL_SHIFT_10GB; diff --git a/drivers/net/mpipe/mpipe_tilegx.c b/drivers/net/mpipe/mpipe_til= egx.c index d93ab7e..1a77c7a 100644 --- a/drivers/net/mpipe/mpipe_tilegx.c +++ b/drivers/net/mpipe/mpipe_tilegx.c @@ -395,11 +395,11 @@ mpipe_link_update(struct rte_eth_dev *dev, int wait_t= o_complete) speed =3D state & GXIO_MPIPE_LINK_SPEED_MASK; = if (speed =3D=3D GXIO_MPIPE_LINK_1G) { - new.link_speed =3D ETH_LINK_SPEED_1000; + new.link_speed =3D ETH_SPEED_NUM_1G; new.link_duplex =3D ETH_LINK_FULL_DUPLEX; new.link_status =3D ETH_LINK_UP; } else if (speed =3D=3D GXIO_MPIPE_LINK_10G) { - new.link_speed =3D ETH_LINK_SPEED_10000; + new.link_speed =3D ETH_SPEED_NUM_10G; new.link_duplex =3D ETH_LINK_FULL_DUPLEX; new.link_status =3D ETH_LINK_UP; } diff --git a/drivers/net/nfp/nfp_net.c b/drivers/net/nfp/nfp_net.c index 80dda85..18ea0f4 100644 --- a/drivers/net/nfp/nfp_net.c +++ b/drivers/net/nfp/nfp_net.c @@ -821,7 +821,7 @@ nfp_net_link_update(struct rte_eth_dev *dev, __rte_unus= ed int wait_to_complete) = link.link_duplex =3D ETH_LINK_FULL_DUPLEX; /* Other cards can limit the tx and rx rate per VF */ - link.link_speed =3D ETH_LINK_SPEED_40G; + link.link_speed =3D ETH_SPEED_NUM_40G; = if (old.link_status !=3D link.link_status) { nfp_net_dev_atomic_write_link_status(dev, &link); diff --git a/drivers/net/null/rte_eth_null.c b/drivers/net/null/rte_eth_nul= l.c index 6adea91..5640585 100644 --- a/drivers/net/null/rte_eth_null.c +++ b/drivers/net/null/rte_eth_null.c @@ -89,7 +89,7 @@ struct pmd_internals { static struct ether_addr eth_addr =3D { .addr_bytes =3D {0} }; static const char *drivername =3D "Null PMD"; static struct rte_eth_link pmd_link =3D { - .link_speed =3D 10000, + .link_speed =3D ETH_SPEED_NUM_10G, .link_duplex =3D ETH_LINK_FULL_DUPLEX, .link_status =3D ETH_LINK_DOWN, }; diff --git a/drivers/net/pcap/rte_eth_pcap.c b/drivers/net/pcap/rte_eth_pca= p.c index b90c725..c657951 100644 --- a/drivers/net/pcap/rte_eth_pcap.c +++ b/drivers/net/pcap/rte_eth_pcap.c @@ -123,7 +123,7 @@ static int open_single_iface(const char *iface, pcap_t = **pcap); static struct ether_addr eth_addr =3D { .addr_bytes =3D { 0, 0, 0, 0x1, 0x= 2, 0x3 } }; static const char *drivername =3D "Pcap PMD"; static struct rte_eth_link pmd_link =3D { - .link_speed =3D 10000, + .link_speed =3D ETH_SPEED_NUM_10G, .link_duplex =3D ETH_LINK_FULL_DUPLEX, .link_status =3D ETH_LINK_DOWN, }; diff --git a/drivers/net/ring/rte_eth_ring.c b/drivers/net/ring/rte_eth_rin= g.c index 4335c6a..58685e9 100644 --- a/drivers/net/ring/rte_eth_ring.c +++ b/drivers/net/ring/rte_eth_ring.c @@ -77,7 +77,7 @@ struct pmd_internals { = static const char *drivername =3D "Rings PMD"; static struct rte_eth_link pmd_link =3D { - .link_speed =3D 10000, + .link_speed =3D ETH_SPEED_NUM_10G, .link_duplex =3D ETH_LINK_FULL_DUPLEX, .link_status =3D ETH_LINK_DOWN, }; diff --git a/drivers/net/szedata2/rte_eth_szedata2.c b/drivers/net/szedata2= /rte_eth_szedata2.c index 47aa7e3..dd1ae9e 100644 --- a/drivers/net/szedata2/rte_eth_szedata2.c +++ b/drivers/net/szedata2/rte_eth_szedata2.c @@ -1149,10 +1149,10 @@ eth_link_update(struct rte_eth_dev *dev, = switch (cgmii_link_speed(ibuf)) { case SZEDATA2_LINK_SPEED_10G: - link.link_speed =3D ETH_LINK_SPEED_10G; + link.link_speed =3D ETH_SPEED_NUM_10G; break; case SZEDATA2_LINK_SPEED_40G: - link.link_speed =3D ETH_LINK_SPEED_40G; + link.link_speed =3D ETH_SPEED_NUM_40G; break; case SZEDATA2_LINK_SPEED_100G: /* @@ -1161,10 +1161,10 @@ eth_link_update(struct rte_eth_dev *dev, * will be changed to support 100Gbps speed change * this value to 100G. */ - link.link_speed =3D ETH_LINK_SPEED_10G; + link.link_speed =3D ETH_SPEED_NUM_10G; break; default: - link.link_speed =3D ETH_LINK_SPEED_10G; + link.link_speed =3D ETH_SPEED_NUM_10G; break; } = diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c b/drivers/net/vmxnet3/vmx= net3_ethdev.c index 3f26217..6afa14e 100644 --- a/drivers/net/vmxnet3/vmxnet3_ethdev.c +++ b/drivers/net/vmxnet3/vmxnet3_ethdev.c @@ -779,7 +779,7 @@ vmxnet3_dev_link_update(struct rte_eth_dev *dev, __attr= ibute__((unused)) int wai if (ret & 0x1) { link.link_status =3D ETH_LINK_UP; link.link_duplex =3D ETH_LINK_FULL_DUPLEX; - link.link_speed =3D ETH_LINK_SPEED_10000; + link.link_speed =3D ETH_SPEED_NUM_10G; } = vmxnet3_dev_atomic_write_link_status(dev, &link); diff --git a/drivers/net/xenvirt/rte_eth_xenvirt.c b/drivers/net/xenvirt/rt= e_eth_xenvirt.c index 9453a06..77d3ba1 100644 --- a/drivers/net/xenvirt/rte_eth_xenvirt.c +++ b/drivers/net/xenvirt/rte_eth_xenvirt.c @@ -70,7 +70,7 @@ static int virtio_idx =3D 0; static const char *drivername =3D "xen virtio PMD"; = static struct rte_eth_link pmd_link =3D { - .link_speed =3D 10000, + .link_speed =3D ETH_SPEED_NUM_10G, .link_duplex =3D ETH_LINK_FULL_DUPLEX, .link_status =3D ETH_LINK_DOWN, }; diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h index 2d13f92..bc7d607 100644 --- a/lib/librte_ether/rte_ethdev.h +++ b/lib/librte_ether/rte_ethdev.h @@ -242,23 +242,30 @@ struct rte_eth_stats { }; = /** + * Ethernet numeric link speeds in Mbps + */ +#define ETH_LINK_SPEED_AUTONEG 0 /**< Auto-negotiate link speed. */ +#define ETH_SPEED_NUM_10M 10 /**< 10 Mbps */ +#define ETH_SPEED_NUM_100M 100 /**< 100 Mbps */ +#define ETH_SPEED_NUM_1G 1000 /**< 1 Gbps */ +#define ETH_SPEED_NUM_2_5G 2500 /**< 2.5 Gbps */ +#define ETH_SPEED_NUM_5G 5000 /**< 5 Gbps */ +#define ETH_SPEED_NUM_10G 10000 /**< 10 Gbps */ +#define ETH_SPEED_NUM_20G 20000 /**< 20 Gbps */ +#define ETH_SPEED_NUM_25G 25000 /**< 25 Gbps */ +#define ETH_SPEED_NUM_40G 40000 /**< 40 Gbps */ +#define ETH_SPEED_NUM_50G 50000 /**< 50 Gbps */ +#define ETH_SPEED_NUM_56G 56000 /**< 56 Gbps */ + +/** * A structure used to retrieve link-level information of an Ethernet port. */ struct rte_eth_link { - uint16_t link_speed; /**< ETH_LINK_SPEED_[10, 100, 1000, 10000] */ + uint16_t link_speed; /**< ETH_SPEED_NUM_ */ uint16_t link_duplex; /**< ETH_LINK_[HALF/FULL]_DUPLEX */ 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. */ -#define ETH_LINK_SPEED_10 10 /**< 10 megabits/second. */ -#define ETH_LINK_SPEED_100 100 /**< 100 megabits/second. */ -#define ETH_LINK_SPEED_1000 1000 /**< 1 gigabits/second. */ -#define ETH_LINK_SPEED_10000 10000 /**< 10 gigabits/second. */ -#define ETH_LINK_SPEED_10G 10000 /**< alias of 10 gigabits/second. = */ -#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. */ @@ -779,7 +786,7 @@ struct rte_intr_conf { */ struct rte_eth_conf { uint16_t link_speed; - /**< ETH_LINK_SPEED_10[0|00|000], or 0 for autonegotation */ + /**< ETH_SPEED_NUM_ or 0 for autonegotiation */ uint16_t link_duplex; /**< ETH_LINK_[HALF_DUPLEX|FULL_DUPLEX], or 0 for autonegotation */ struct rte_eth_rxmode rxmode; /**< Port RX configuration. */ -- = 2.1.4 -------------------------------------------------------------- Intel Research and Development Ireland Limited Registered in Ireland Registered Office: Collinstown Industrial Park, Leixlip, County Kildare Registered Number: 308263 This e-mail and any attachments may contain confidential material for the s= ole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact = the sender and delete all copies.