X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=lib%2Fethdev%2Frte_ethdev.h;h=c2d1f9a97239fdbac10966f70a78c5bc31a74ef8;hb=edcf22c6d3898efd6ce346f1c6fa1264181c8d09;hp=096b676fc19ad24575e3bbfc2bcce70242f17442;hpb=285725d93bd3087a7586ba81a640770da1371500;p=dpdk.git diff --git a/lib/ethdev/rte_ethdev.h b/lib/ethdev/rte_ethdev.h index 096b676fc1..c2d1f9a972 100644 --- a/lib/ethdev/rte_ethdev.h +++ b/lib/ethdev/rte_ethdev.h @@ -288,76 +288,78 @@ struct rte_eth_stats { * Device supported speeds bitmap flags */ #define RTE_ETH_LINK_SPEED_AUTONEG 0 /**< Autonegotiate (all speeds) */ -#define ETH_LINK_SPEED_AUTONEG RTE_ETH_LINK_SPEED_AUTONEG #define RTE_ETH_LINK_SPEED_FIXED RTE_BIT32(0) /**< Disable autoneg (fixed speed) */ -#define ETH_LINK_SPEED_FIXED RTE_ETH_LINK_SPEED_FIXED #define RTE_ETH_LINK_SPEED_10M_HD RTE_BIT32(1) /**< 10 Mbps half-duplex */ -#define ETH_LINK_SPEED_10M_HD RTE_ETH_LINK_SPEED_10M_HD #define RTE_ETH_LINK_SPEED_10M RTE_BIT32(2) /**< 10 Mbps full-duplex */ -#define ETH_LINK_SPEED_10M RTE_ETH_LINK_SPEED_10M #define RTE_ETH_LINK_SPEED_100M_HD RTE_BIT32(3) /**< 100 Mbps half-duplex */ -#define ETH_LINK_SPEED_100M_HD RTE_ETH_LINK_SPEED_100M_HD #define RTE_ETH_LINK_SPEED_100M RTE_BIT32(4) /**< 100 Mbps full-duplex */ -#define ETH_LINK_SPEED_100M RTE_ETH_LINK_SPEED_100M #define RTE_ETH_LINK_SPEED_1G RTE_BIT32(5) /**< 1 Gbps */ -#define ETH_LINK_SPEED_1G RTE_ETH_LINK_SPEED_1G #define RTE_ETH_LINK_SPEED_2_5G RTE_BIT32(6) /**< 2.5 Gbps */ -#define ETH_LINK_SPEED_2_5G RTE_ETH_LINK_SPEED_2_5G #define RTE_ETH_LINK_SPEED_5G RTE_BIT32(7) /**< 5 Gbps */ -#define ETH_LINK_SPEED_5G RTE_ETH_LINK_SPEED_5G #define RTE_ETH_LINK_SPEED_10G RTE_BIT32(8) /**< 10 Gbps */ -#define ETH_LINK_SPEED_10G RTE_ETH_LINK_SPEED_10G #define RTE_ETH_LINK_SPEED_20G RTE_BIT32(9) /**< 20 Gbps */ -#define ETH_LINK_SPEED_20G RTE_ETH_LINK_SPEED_20G #define RTE_ETH_LINK_SPEED_25G RTE_BIT32(10) /**< 25 Gbps */ -#define ETH_LINK_SPEED_25G RTE_ETH_LINK_SPEED_25G #define RTE_ETH_LINK_SPEED_40G RTE_BIT32(11) /**< 40 Gbps */ -#define ETH_LINK_SPEED_40G RTE_ETH_LINK_SPEED_40G #define RTE_ETH_LINK_SPEED_50G RTE_BIT32(12) /**< 50 Gbps */ -#define ETH_LINK_SPEED_50G RTE_ETH_LINK_SPEED_50G #define RTE_ETH_LINK_SPEED_56G RTE_BIT32(13) /**< 56 Gbps */ -#define ETH_LINK_SPEED_56G RTE_ETH_LINK_SPEED_56G #define RTE_ETH_LINK_SPEED_100G RTE_BIT32(14) /**< 100 Gbps */ -#define ETH_LINK_SPEED_100G RTE_ETH_LINK_SPEED_100G #define RTE_ETH_LINK_SPEED_200G RTE_BIT32(15) /**< 200 Gbps */ -#define ETH_LINK_SPEED_200G RTE_ETH_LINK_SPEED_200G /**@}*/ +#define ETH_LINK_SPEED_AUTONEG RTE_DEPRECATED(ETH_LINK_SPEED_AUTONEG) RTE_ETH_LINK_SPEED_AUTONEG +#define ETH_LINK_SPEED_FIXED RTE_DEPRECATED(ETH_LINK_SPEED_FIXED) RTE_ETH_LINK_SPEED_FIXED +#define ETH_LINK_SPEED_10M_HD RTE_DEPRECATED(ETH_LINK_SPEED_10M_HD) RTE_ETH_LINK_SPEED_10M_HD +#define ETH_LINK_SPEED_10M RTE_DEPRECATED(ETH_LINK_SPEED_10M) RTE_ETH_LINK_SPEED_10M +#define ETH_LINK_SPEED_100M_HD RTE_DEPRECATED(ETH_LINK_SPEED_100M_HD) RTE_ETH_LINK_SPEED_100M_HD +#define ETH_LINK_SPEED_100M RTE_DEPRECATED(ETH_LINK_SPEED_100M) RTE_ETH_LINK_SPEED_100M +#define ETH_LINK_SPEED_1G RTE_DEPRECATED(ETH_LINK_SPEED_1G) RTE_ETH_LINK_SPEED_1G +#define ETH_LINK_SPEED_2_5G RTE_DEPRECATED(ETH_LINK_SPEED_2_5G) RTE_ETH_LINK_SPEED_2_5G +#define ETH_LINK_SPEED_5G RTE_DEPRECATED(ETH_LINK_SPEED_5G) RTE_ETH_LINK_SPEED_5G +#define ETH_LINK_SPEED_10G RTE_DEPRECATED(ETH_LINK_SPEED_10G) RTE_ETH_LINK_SPEED_10G +#define ETH_LINK_SPEED_20G RTE_DEPRECATED(ETH_LINK_SPEED_20G) RTE_ETH_LINK_SPEED_20G +#define ETH_LINK_SPEED_25G RTE_DEPRECATED(ETH_LINK_SPEED_25G) RTE_ETH_LINK_SPEED_25G +#define ETH_LINK_SPEED_40G RTE_DEPRECATED(ETH_LINK_SPEED_40G) RTE_ETH_LINK_SPEED_40G +#define ETH_LINK_SPEED_50G RTE_DEPRECATED(ETH_LINK_SPEED_50G) RTE_ETH_LINK_SPEED_50G +#define ETH_LINK_SPEED_56G RTE_DEPRECATED(ETH_LINK_SPEED_56G) RTE_ETH_LINK_SPEED_56G +#define ETH_LINK_SPEED_100G RTE_DEPRECATED(ETH_LINK_SPEED_100G) RTE_ETH_LINK_SPEED_100G +#define ETH_LINK_SPEED_200G RTE_DEPRECATED(ETH_LINK_SPEED_200G) RTE_ETH_LINK_SPEED_200G + /**@{@name Link speed * Ethernet numeric link speeds in Mbps */ #define RTE_ETH_SPEED_NUM_NONE 0 /**< Not defined */ -#define ETH_SPEED_NUM_NONE RTE_ETH_SPEED_NUM_NONE #define RTE_ETH_SPEED_NUM_10M 10 /**< 10 Mbps */ -#define ETH_SPEED_NUM_10M RTE_ETH_SPEED_NUM_10M #define RTE_ETH_SPEED_NUM_100M 100 /**< 100 Mbps */ -#define ETH_SPEED_NUM_100M RTE_ETH_SPEED_NUM_100M #define RTE_ETH_SPEED_NUM_1G 1000 /**< 1 Gbps */ -#define ETH_SPEED_NUM_1G RTE_ETH_SPEED_NUM_1G #define RTE_ETH_SPEED_NUM_2_5G 2500 /**< 2.5 Gbps */ -#define ETH_SPEED_NUM_2_5G RTE_ETH_SPEED_NUM_2_5G #define RTE_ETH_SPEED_NUM_5G 5000 /**< 5 Gbps */ -#define ETH_SPEED_NUM_5G RTE_ETH_SPEED_NUM_5G #define RTE_ETH_SPEED_NUM_10G 10000 /**< 10 Gbps */ -#define ETH_SPEED_NUM_10G RTE_ETH_SPEED_NUM_10G #define RTE_ETH_SPEED_NUM_20G 20000 /**< 20 Gbps */ -#define ETH_SPEED_NUM_20G RTE_ETH_SPEED_NUM_20G #define RTE_ETH_SPEED_NUM_25G 25000 /**< 25 Gbps */ -#define ETH_SPEED_NUM_25G RTE_ETH_SPEED_NUM_25G #define RTE_ETH_SPEED_NUM_40G 40000 /**< 40 Gbps */ -#define ETH_SPEED_NUM_40G RTE_ETH_SPEED_NUM_40G #define RTE_ETH_SPEED_NUM_50G 50000 /**< 50 Gbps */ -#define ETH_SPEED_NUM_50G RTE_ETH_SPEED_NUM_50G #define RTE_ETH_SPEED_NUM_56G 56000 /**< 56 Gbps */ -#define ETH_SPEED_NUM_56G RTE_ETH_SPEED_NUM_56G #define RTE_ETH_SPEED_NUM_100G 100000 /**< 100 Gbps */ -#define ETH_SPEED_NUM_100G RTE_ETH_SPEED_NUM_100G #define RTE_ETH_SPEED_NUM_200G 200000 /**< 200 Gbps */ -#define ETH_SPEED_NUM_200G RTE_ETH_SPEED_NUM_200G #define RTE_ETH_SPEED_NUM_UNKNOWN UINT32_MAX /**< Unknown */ -#define ETH_SPEED_NUM_UNKNOWN RTE_ETH_SPEED_NUM_UNKNOWN /**@}*/ +#define ETH_SPEED_NUM_NONE RTE_DEPRECATED(ETH_SPEED_NUM_NONE) RTE_ETH_SPEED_NUM_NONE +#define ETH_SPEED_NUM_10M RTE_DEPRECATED(ETH_SPEED_NUM_10M) RTE_ETH_SPEED_NUM_10M +#define ETH_SPEED_NUM_100M RTE_DEPRECATED(ETH_SPEED_NUM_100M) RTE_ETH_SPEED_NUM_100M +#define ETH_SPEED_NUM_1G RTE_DEPRECATED(ETH_SPEED_NUM_1G) RTE_ETH_SPEED_NUM_1G +#define ETH_SPEED_NUM_2_5G RTE_DEPRECATED(ETH_SPEED_NUM_2_5G) RTE_ETH_SPEED_NUM_2_5G +#define ETH_SPEED_NUM_5G RTE_DEPRECATED(ETH_SPEED_NUM_5G) RTE_ETH_SPEED_NUM_5G +#define ETH_SPEED_NUM_10G RTE_DEPRECATED(ETH_SPEED_NUM_10G) RTE_ETH_SPEED_NUM_10G +#define ETH_SPEED_NUM_20G RTE_DEPRECATED(ETH_SPEED_NUM_20G) RTE_ETH_SPEED_NUM_20G +#define ETH_SPEED_NUM_25G RTE_DEPRECATED(ETH_SPEED_NUM_25G) RTE_ETH_SPEED_NUM_25G +#define ETH_SPEED_NUM_40G RTE_DEPRECATED(ETH_SPEED_NUM_40G) RTE_ETH_SPEED_NUM_40G +#define ETH_SPEED_NUM_50G RTE_DEPRECATED(ETH_SPEED_NUM_50G) RTE_ETH_SPEED_NUM_50G +#define ETH_SPEED_NUM_56G RTE_DEPRECATED(ETH_SPEED_NUM_56G) RTE_ETH_SPEED_NUM_56G +#define ETH_SPEED_NUM_100G RTE_DEPRECATED(ETH_SPEED_NUM_100G) RTE_ETH_SPEED_NUM_100G +#define ETH_SPEED_NUM_200G RTE_DEPRECATED(ETH_SPEED_NUM_200G) RTE_ETH_SPEED_NUM_200G +#define ETH_SPEED_NUM_UNKNOWN RTE_DEPRECATED(ETH_SPEED_NUM_UNKNOWN) RTE_ETH_SPEED_NUM_UNKNOWN + /** * A structure used to retrieve link-level information of an Ethernet port. */ @@ -373,20 +375,21 @@ struct rte_eth_link { * Constants used in link management. */ #define RTE_ETH_LINK_HALF_DUPLEX 0 /**< Half-duplex connection (see link_duplex). */ -#define ETH_LINK_HALF_DUPLEX RTE_ETH_LINK_HALF_DUPLEX #define RTE_ETH_LINK_FULL_DUPLEX 1 /**< Full-duplex connection (see link_duplex). */ -#define ETH_LINK_FULL_DUPLEX RTE_ETH_LINK_FULL_DUPLEX #define RTE_ETH_LINK_DOWN 0 /**< Link is down (see link_status). */ -#define ETH_LINK_DOWN RTE_ETH_LINK_DOWN #define RTE_ETH_LINK_UP 1 /**< Link is up (see link_status). */ -#define ETH_LINK_UP RTE_ETH_LINK_UP #define RTE_ETH_LINK_FIXED 0 /**< No autonegotiation (see link_autoneg). */ -#define ETH_LINK_FIXED RTE_ETH_LINK_FIXED #define RTE_ETH_LINK_AUTONEG 1 /**< Autonegotiated (see link_autoneg). */ -#define ETH_LINK_AUTONEG RTE_ETH_LINK_AUTONEG #define RTE_ETH_LINK_MAX_STR_LEN 40 /**< Max length of default link string. */ /**@}*/ +#define ETH_LINK_HALF_DUPLEX RTE_DEPRECATED(ETH_LINK_HALF_DUPLEX) RTE_ETH_LINK_HALF_DUPLEX +#define ETH_LINK_FULL_DUPLEX RTE_DEPRECATED(ETH_LINK_FULL_DUPLEX) RTE_ETH_LINK_FULL_DUPLEX +#define ETH_LINK_DOWN RTE_DEPRECATED(ETH_LINK_DOWN) RTE_ETH_LINK_DOWN +#define ETH_LINK_UP RTE_DEPRECATED(ETH_LINK_UP) RTE_ETH_LINK_UP +#define ETH_LINK_FIXED RTE_DEPRECATED(ETH_LINK_FIXED) RTE_ETH_LINK_FIXED +#define ETH_LINK_AUTONEG RTE_DEPRECATED(ETH_LINK_AUTONEG) RTE_ETH_LINK_AUTONEG + /** * A structure used to configure the ring threshold registers of an Rx/Tx * queue for an Ethernet port. @@ -401,13 +404,14 @@ struct rte_eth_thresh { * @see rte_eth_conf.rxmode.mq_mode. */ #define RTE_ETH_MQ_RX_RSS_FLAG RTE_BIT32(0) /**< Enable RSS. @see rte_eth_rss_conf */ -#define ETH_MQ_RX_RSS_FLAG RTE_ETH_MQ_RX_RSS_FLAG #define RTE_ETH_MQ_RX_DCB_FLAG RTE_BIT32(1) /**< Enable DCB. */ -#define ETH_MQ_RX_DCB_FLAG RTE_ETH_MQ_RX_DCB_FLAG #define RTE_ETH_MQ_RX_VMDQ_FLAG RTE_BIT32(2) /**< Enable VMDq. */ -#define ETH_MQ_RX_VMDQ_FLAG RTE_ETH_MQ_RX_VMDQ_FLAG /**@}*/ +#define ETH_MQ_RX_RSS_FLAG RTE_DEPRECATED(ETH_MQ_RX_RSS_FLAG) RTE_ETH_MQ_RX_RSS_FLAG +#define ETH_MQ_RX_DCB_FLAG RTE_DEPRECATED(ETH_MQ_RX_DCB_FLAG) RTE_ETH_MQ_RX_DCB_FLAG +#define ETH_MQ_RX_VMDQ_FLAG RTE_DEPRECATED(ETH_MQ_RX_VMDQ_FLAG) RTE_ETH_MQ_RX_VMDQ_FLAG + /** * A set of values to identify what method is to be used to route * packets to multiple queues. @@ -434,14 +438,14 @@ enum rte_eth_rx_mq_mode { RTE_ETH_MQ_RX_VMDQ_FLAG, }; -#define ETH_MQ_RX_NONE RTE_ETH_MQ_RX_NONE -#define ETH_MQ_RX_RSS RTE_ETH_MQ_RX_RSS -#define ETH_MQ_RX_DCB RTE_ETH_MQ_RX_DCB -#define ETH_MQ_RX_DCB_RSS RTE_ETH_MQ_RX_DCB_RSS -#define ETH_MQ_RX_VMDQ_ONLY RTE_ETH_MQ_RX_VMDQ_ONLY -#define ETH_MQ_RX_VMDQ_RSS RTE_ETH_MQ_RX_VMDQ_RSS -#define ETH_MQ_RX_VMDQ_DCB RTE_ETH_MQ_RX_VMDQ_DCB -#define ETH_MQ_RX_VMDQ_DCB_RSS RTE_ETH_MQ_RX_VMDQ_DCB_RSS +#define ETH_MQ_RX_NONE RTE_DEPRECATED(ETH_MQ_RX_NONE) RTE_ETH_MQ_RX_NONE +#define ETH_MQ_RX_RSS RTE_DEPRECATED(ETH_MQ_RX_RSS) RTE_ETH_MQ_RX_RSS +#define ETH_MQ_RX_DCB RTE_DEPRECATED(ETH_MQ_RX_DCB) RTE_ETH_MQ_RX_DCB +#define ETH_MQ_RX_DCB_RSS RTE_DEPRECATED(ETH_MQ_RX_DCB_RSS) RTE_ETH_MQ_RX_DCB_RSS +#define ETH_MQ_RX_VMDQ_ONLY RTE_DEPRECATED(ETH_MQ_RX_VMDQ_ONLY) RTE_ETH_MQ_RX_VMDQ_ONLY +#define ETH_MQ_RX_VMDQ_RSS RTE_DEPRECATED(ETH_MQ_RX_VMDQ_RSS) RTE_ETH_MQ_RX_VMDQ_RSS +#define ETH_MQ_RX_VMDQ_DCB RTE_DEPRECATED(ETH_MQ_RX_VMDQ_DCB) RTE_ETH_MQ_RX_VMDQ_DCB +#define ETH_MQ_RX_VMDQ_DCB_RSS RTE_DEPRECATED(ETH_MQ_RX_VMDQ_DCB_RSS) RTE_ETH_MQ_RX_VMDQ_DCB_RSS /** * A set of values to identify what method is to be used to transmit @@ -453,10 +457,11 @@ enum rte_eth_tx_mq_mode { RTE_ETH_MQ_TX_VMDQ_DCB, /**< For Tx side,both DCB and VT is on. */ RTE_ETH_MQ_TX_VMDQ_ONLY, /**< Only VT on, no DCB */ }; -#define ETH_MQ_TX_NONE RTE_ETH_MQ_TX_NONE -#define ETH_MQ_TX_DCB RTE_ETH_MQ_TX_DCB -#define ETH_MQ_TX_VMDQ_DCB RTE_ETH_MQ_TX_VMDQ_DCB -#define ETH_MQ_TX_VMDQ_ONLY RTE_ETH_MQ_TX_VMDQ_ONLY + +#define ETH_MQ_TX_NONE RTE_DEPRECATED(ETH_MQ_TX_NONE) RTE_ETH_MQ_TX_NONE +#define ETH_MQ_TX_DCB RTE_DEPRECATED(ETH_MQ_TX_DCB) RTE_ETH_MQ_TX_DCB +#define ETH_MQ_TX_VMDQ_DCB RTE_DEPRECATED(ETH_MQ_TX_VMDQ_DCB) RTE_ETH_MQ_TX_VMDQ_DCB +#define ETH_MQ_TX_VMDQ_ONLY RTE_DEPRECATED(ETH_MQ_TX_VMDQ_ONLY) RTE_ETH_MQ_TX_VMDQ_ONLY /** * A structure used to configure the Rx features of an Ethernet port. @@ -490,10 +495,10 @@ enum rte_vlan_type { RTE_ETH_VLAN_TYPE_MAX, }; -#define ETH_VLAN_TYPE_UNKNOWN RTE_ETH_VLAN_TYPE_UNKNOWN -#define ETH_VLAN_TYPE_INNER RTE_ETH_VLAN_TYPE_INNER -#define ETH_VLAN_TYPE_OUTER RTE_ETH_VLAN_TYPE_OUTER -#define ETH_VLAN_TYPE_MAX RTE_ETH_VLAN_TYPE_MAX +#define ETH_VLAN_TYPE_UNKNOWN RTE_DEPRECATED(ETH_VLAN_TYPE_UNKNOWN) RTE_ETH_VLAN_TYPE_UNKNOWN +#define ETH_VLAN_TYPE_INNER RTE_DEPRECATED(ETH_VLAN_TYPE_INNER) RTE_ETH_VLAN_TYPE_INNER +#define ETH_VLAN_TYPE_OUTER RTE_DEPRECATED(ETH_VLAN_TYPE_OUTER) RTE_ETH_VLAN_TYPE_OUTER +#define ETH_VLAN_TYPE_MAX RTE_DEPRECATED(ETH_VLAN_TYPE_MAX) RTE_ETH_VLAN_TYPE_MAX /** * A structure used to describe a VLAN filter. @@ -566,69 +571,70 @@ struct rte_eth_rss_conf { * fill rte_eth_rss_conf.rss_hf or rte_flow_action_rss.types. */ #define RTE_ETH_RSS_IPV4 RTE_BIT64(2) -#define ETH_RSS_IPV4 RTE_ETH_RSS_IPV4 #define RTE_ETH_RSS_FRAG_IPV4 RTE_BIT64(3) -#define ETH_RSS_FRAG_IPV4 RTE_ETH_RSS_FRAG_IPV4 #define RTE_ETH_RSS_NONFRAG_IPV4_TCP RTE_BIT64(4) -#define ETH_RSS_NONFRAG_IPV4_TCP RTE_ETH_RSS_NONFRAG_IPV4_TCP #define RTE_ETH_RSS_NONFRAG_IPV4_UDP RTE_BIT64(5) -#define ETH_RSS_NONFRAG_IPV4_UDP RTE_ETH_RSS_NONFRAG_IPV4_UDP #define RTE_ETH_RSS_NONFRAG_IPV4_SCTP RTE_BIT64(6) -#define ETH_RSS_NONFRAG_IPV4_SCTP RTE_ETH_RSS_NONFRAG_IPV4_SCTP #define RTE_ETH_RSS_NONFRAG_IPV4_OTHER RTE_BIT64(7) -#define ETH_RSS_NONFRAG_IPV4_OTHER RTE_ETH_RSS_NONFRAG_IPV4_OTHER #define RTE_ETH_RSS_IPV6 RTE_BIT64(8) -#define ETH_RSS_IPV6 RTE_ETH_RSS_IPV6 #define RTE_ETH_RSS_FRAG_IPV6 RTE_BIT64(9) -#define ETH_RSS_FRAG_IPV6 RTE_ETH_RSS_FRAG_IPV6 #define RTE_ETH_RSS_NONFRAG_IPV6_TCP RTE_BIT64(10) -#define ETH_RSS_NONFRAG_IPV6_TCP RTE_ETH_RSS_NONFRAG_IPV6_TCP #define RTE_ETH_RSS_NONFRAG_IPV6_UDP RTE_BIT64(11) -#define ETH_RSS_NONFRAG_IPV6_UDP RTE_ETH_RSS_NONFRAG_IPV6_UDP #define RTE_ETH_RSS_NONFRAG_IPV6_SCTP RTE_BIT64(12) -#define ETH_RSS_NONFRAG_IPV6_SCTP RTE_ETH_RSS_NONFRAG_IPV6_SCTP #define RTE_ETH_RSS_NONFRAG_IPV6_OTHER RTE_BIT64(13) -#define ETH_RSS_NONFRAG_IPV6_OTHER RTE_ETH_RSS_NONFRAG_IPV6_OTHER #define RTE_ETH_RSS_L2_PAYLOAD RTE_BIT64(14) -#define ETH_RSS_L2_PAYLOAD RTE_ETH_RSS_L2_PAYLOAD #define RTE_ETH_RSS_IPV6_EX RTE_BIT64(15) -#define ETH_RSS_IPV6_EX RTE_ETH_RSS_IPV6_EX #define RTE_ETH_RSS_IPV6_TCP_EX RTE_BIT64(16) -#define ETH_RSS_IPV6_TCP_EX RTE_ETH_RSS_IPV6_TCP_EX #define RTE_ETH_RSS_IPV6_UDP_EX RTE_BIT64(17) -#define ETH_RSS_IPV6_UDP_EX RTE_ETH_RSS_IPV6_UDP_EX #define RTE_ETH_RSS_PORT RTE_BIT64(18) -#define ETH_RSS_PORT RTE_ETH_RSS_PORT #define RTE_ETH_RSS_VXLAN RTE_BIT64(19) -#define ETH_RSS_VXLAN RTE_ETH_RSS_VXLAN #define RTE_ETH_RSS_GENEVE RTE_BIT64(20) -#define ETH_RSS_GENEVE RTE_ETH_RSS_GENEVE #define RTE_ETH_RSS_NVGRE RTE_BIT64(21) -#define ETH_RSS_NVGRE RTE_ETH_RSS_NVGRE #define RTE_ETH_RSS_GTPU RTE_BIT64(23) -#define ETH_RSS_GTPU RTE_ETH_RSS_GTPU #define RTE_ETH_RSS_ETH RTE_BIT64(24) -#define ETH_RSS_ETH RTE_ETH_RSS_ETH #define RTE_ETH_RSS_S_VLAN RTE_BIT64(25) -#define ETH_RSS_S_VLAN RTE_ETH_RSS_S_VLAN #define RTE_ETH_RSS_C_VLAN RTE_BIT64(26) -#define ETH_RSS_C_VLAN RTE_ETH_RSS_C_VLAN #define RTE_ETH_RSS_ESP RTE_BIT64(27) -#define ETH_RSS_ESP RTE_ETH_RSS_ESP #define RTE_ETH_RSS_AH RTE_BIT64(28) -#define ETH_RSS_AH RTE_ETH_RSS_AH #define RTE_ETH_RSS_L2TPV3 RTE_BIT64(29) -#define ETH_RSS_L2TPV3 RTE_ETH_RSS_L2TPV3 #define RTE_ETH_RSS_PFCP RTE_BIT64(30) -#define ETH_RSS_PFCP RTE_ETH_RSS_PFCP #define RTE_ETH_RSS_PPPOE RTE_BIT64(31) -#define ETH_RSS_PPPOE RTE_ETH_RSS_PPPOE #define RTE_ETH_RSS_ECPRI RTE_BIT64(32) -#define ETH_RSS_ECPRI RTE_ETH_RSS_ECPRI #define RTE_ETH_RSS_MPLS RTE_BIT64(33) -#define ETH_RSS_MPLS RTE_ETH_RSS_MPLS #define RTE_ETH_RSS_IPV4_CHKSUM RTE_BIT64(34) -#define ETH_RSS_IPV4_CHKSUM RTE_ETH_RSS_IPV4_CHKSUM + +#define ETH_RSS_IPV4 RTE_DEPRECATED(ETH_RSS_IPV4) RTE_ETH_RSS_IPV4 +#define ETH_RSS_FRAG_IPV4 RTE_DEPRECATED(ETH_RSS_FRAG_IPV4) RTE_ETH_RSS_FRAG_IPV4 +#define ETH_RSS_NONFRAG_IPV4_TCP RTE_DEPRECATED(ETH_RSS_NONFRAG_IPV4_TCP) RTE_ETH_RSS_NONFRAG_IPV4_TCP +#define ETH_RSS_NONFRAG_IPV4_UDP RTE_DEPRECATED(ETH_RSS_NONFRAG_IPV4_UDP) RTE_ETH_RSS_NONFRAG_IPV4_UDP +#define ETH_RSS_NONFRAG_IPV4_SCTP RTE_DEPRECATED(ETH_RSS_NONFRAG_IPV4_SCTP) RTE_ETH_RSS_NONFRAG_IPV4_SCTP +#define ETH_RSS_NONFRAG_IPV4_OTHER RTE_DEPRECATED(ETH_RSS_NONFRAG_IPV4_OTHER) RTE_ETH_RSS_NONFRAG_IPV4_OTHER +#define ETH_RSS_IPV6 RTE_DEPRECATED(ETH_RSS_IPV6) RTE_ETH_RSS_IPV6 +#define ETH_RSS_FRAG_IPV6 RTE_DEPRECATED(ETH_RSS_FRAG_IPV6) RTE_ETH_RSS_FRAG_IPV6 +#define ETH_RSS_NONFRAG_IPV6_TCP RTE_DEPRECATED(ETH_RSS_NONFRAG_IPV6_TCP) RTE_ETH_RSS_NONFRAG_IPV6_TCP +#define ETH_RSS_NONFRAG_IPV6_UDP RTE_DEPRECATED(ETH_RSS_NONFRAG_IPV6_UDP) RTE_ETH_RSS_NONFRAG_IPV6_UDP +#define ETH_RSS_NONFRAG_IPV6_SCTP RTE_DEPRECATED(ETH_RSS_NONFRAG_IPV6_SCTP) RTE_ETH_RSS_NONFRAG_IPV6_SCTP +#define ETH_RSS_NONFRAG_IPV6_OTHER RTE_DEPRECATED(ETH_RSS_NONFRAG_IPV6_OTHER) RTE_ETH_RSS_NONFRAG_IPV6_OTHER +#define ETH_RSS_L2_PAYLOAD RTE_DEPRECATED(ETH_RSS_L2_PAYLOAD) RTE_ETH_RSS_L2_PAYLOAD +#define ETH_RSS_IPV6_EX RTE_DEPRECATED(ETH_RSS_IPV6_EX) RTE_ETH_RSS_IPV6_EX +#define ETH_RSS_IPV6_TCP_EX RTE_DEPRECATED(ETH_RSS_IPV6_TCP_EX) RTE_ETH_RSS_IPV6_TCP_EX +#define ETH_RSS_IPV6_UDP_EX RTE_DEPRECATED(ETH_RSS_IPV6_UDP_EX) RTE_ETH_RSS_IPV6_UDP_EX +#define ETH_RSS_PORT RTE_DEPRECATED(ETH_RSS_PORT) RTE_ETH_RSS_PORT +#define ETH_RSS_VXLAN RTE_DEPRECATED(ETH_RSS_VXLAN) RTE_ETH_RSS_VXLAN +#define ETH_RSS_GENEVE RTE_DEPRECATED(ETH_RSS_GENEVE) RTE_ETH_RSS_GENEVE +#define ETH_RSS_NVGRE RTE_DEPRECATED(ETH_RSS_NVGRE) RTE_ETH_RSS_NVGRE +#define ETH_RSS_GTPU RTE_DEPRECATED(ETH_RSS_GTPU) RTE_ETH_RSS_GTPU +#define ETH_RSS_ETH RTE_DEPRECATED(ETH_RSS_ETH) RTE_ETH_RSS_ETH +#define ETH_RSS_S_VLAN RTE_DEPRECATED(ETH_RSS_S_VLAN) RTE_ETH_RSS_S_VLAN +#define ETH_RSS_C_VLAN RTE_DEPRECATED(ETH_RSS_C_VLAN) RTE_ETH_RSS_C_VLAN +#define ETH_RSS_ESP RTE_DEPRECATED(ETH_RSS_ESP) RTE_ETH_RSS_ESP +#define ETH_RSS_AH RTE_DEPRECATED(ETH_RSS_AH) RTE_ETH_RSS_AH +#define ETH_RSS_L2TPV3 RTE_DEPRECATED(ETH_RSS_L2TPV3) RTE_ETH_RSS_L2TPV3 +#define ETH_RSS_PFCP RTE_DEPRECATED(ETH_RSS_PFCP) RTE_ETH_RSS_PFCP +#define ETH_RSS_PPPOE RTE_DEPRECATED(ETH_RSS_PPPOE) RTE_ETH_RSS_PPPOE +#define ETH_RSS_ECPRI RTE_DEPRECATED(ETH_RSS_ECPRI) RTE_ETH_RSS_ECPRI +#define ETH_RSS_MPLS RTE_DEPRECATED(ETH_RSS_MPLS) RTE_ETH_RSS_MPLS +#define ETH_RSS_IPV4_CHKSUM RTE_DEPRECATED(ETH_RSS_IPV4_CHKSUM) RTE_ETH_RSS_IPV4_CHKSUM /** * The ETH_RSS_L4_CHKSUM works on checksum field of any L4 header. @@ -643,7 +649,9 @@ struct rte_eth_rss_conf { * it takes the reserved value 0 as input for the hash function. */ #define RTE_ETH_RSS_L4_CHKSUM RTE_BIT64(35) -#define ETH_RSS_L4_CHKSUM RTE_ETH_RSS_L4_CHKSUM +#define ETH_RSS_L4_CHKSUM RTE_DEPRECATED(ETH_RSS_L4_CHKSUM) RTE_ETH_RSS_L4_CHKSUM + +#define RTE_ETH_RSS_L2TPV2 RTE_BIT64(36) /* * We use the following macros to combine with above RTE_ETH_RSS_* for @@ -655,21 +663,22 @@ struct rte_eth_rss_conf { * them are added. */ #define RTE_ETH_RSS_L3_SRC_ONLY RTE_BIT64(63) -#define ETH_RSS_L3_SRC_ONLY RTE_ETH_RSS_L3_SRC_ONLY #define RTE_ETH_RSS_L3_DST_ONLY RTE_BIT64(62) -#define ETH_RSS_L3_DST_ONLY RTE_ETH_RSS_L3_DST_ONLY #define RTE_ETH_RSS_L4_SRC_ONLY RTE_BIT64(61) -#define ETH_RSS_L4_SRC_ONLY RTE_ETH_RSS_L4_SRC_ONLY #define RTE_ETH_RSS_L4_DST_ONLY RTE_BIT64(60) -#define ETH_RSS_L4_DST_ONLY RTE_ETH_RSS_L4_DST_ONLY #define RTE_ETH_RSS_L2_SRC_ONLY RTE_BIT64(59) -#define ETH_RSS_L2_SRC_ONLY RTE_ETH_RSS_L2_SRC_ONLY #define RTE_ETH_RSS_L2_DST_ONLY RTE_BIT64(58) -#define ETH_RSS_L2_DST_ONLY RTE_ETH_RSS_L2_DST_ONLY + +#define ETH_RSS_L3_SRC_ONLY RTE_DEPRECATED(ETH_RSS_L3_SRC_ONLY) RTE_ETH_RSS_L3_SRC_ONLY +#define ETH_RSS_L3_DST_ONLY RTE_DEPRECATED(ETH_RSS_L3_DST_ONLY) RTE_ETH_RSS_L3_DST_ONLY +#define ETH_RSS_L4_SRC_ONLY RTE_DEPRECATED(ETH_RSS_L4_SRC_ONLY) RTE_ETH_RSS_L4_SRC_ONLY +#define ETH_RSS_L4_DST_ONLY RTE_DEPRECATED(ETH_RSS_L4_DST_ONLY) RTE_ETH_RSS_L4_DST_ONLY +#define ETH_RSS_L2_SRC_ONLY RTE_DEPRECATED(ETH_RSS_L2_SRC_ONLY) RTE_ETH_RSS_L2_SRC_ONLY +#define ETH_RSS_L2_DST_ONLY RTE_DEPRECATED(ETH_RSS_L2_DST_ONLY) RTE_ETH_RSS_L2_DST_ONLY /* * Only select IPV6 address prefix as RSS input set according to - * https:tools.ietf.org/html/rfc6052 + * https://tools.ietf.org/html/rfc6052 * Must be combined with RTE_ETH_RSS_IPV6, RTE_ETH_RSS_NONFRAG_IPV6_UDP, * RTE_ETH_RSS_NONFRAG_IPV6_TCP, RTE_ETH_RSS_NONFRAG_IPV6_SCTP. */ @@ -694,26 +703,27 @@ struct rte_eth_rss_conf { * can be performed on according to PMD and device capabilities. */ #define RTE_ETH_RSS_LEVEL_PMD_DEFAULT (UINT64_C(0) << 50) -#define ETH_RSS_LEVEL_PMD_DEFAULT RTE_ETH_RSS_LEVEL_PMD_DEFAULT +#define ETH_RSS_LEVEL_PMD_DEFAULT RTE_DEPRECATED(ETH_RSS_LEVEL_PMD_DEFAULT) RTE_ETH_RSS_LEVEL_PMD_DEFAULT /** * level 1, requests RSS to be performed on the outermost packet * encapsulation level. */ #define RTE_ETH_RSS_LEVEL_OUTERMOST (UINT64_C(1) << 50) -#define ETH_RSS_LEVEL_OUTERMOST RTE_ETH_RSS_LEVEL_OUTERMOST +#define ETH_RSS_LEVEL_OUTERMOST RTE_DEPRECATED(ETH_RSS_LEVEL_OUTERMOST) RTE_ETH_RSS_LEVEL_OUTERMOST /** * level 2, requests RSS to be performed on the specified inner packet * encapsulation level, from outermost to innermost (lower to higher values). */ #define RTE_ETH_RSS_LEVEL_INNERMOST (UINT64_C(2) << 50) -#define ETH_RSS_LEVEL_INNERMOST RTE_ETH_RSS_LEVEL_INNERMOST #define RTE_ETH_RSS_LEVEL_MASK (UINT64_C(3) << 50) -#define ETH_RSS_LEVEL_MASK RTE_ETH_RSS_LEVEL_MASK + +#define ETH_RSS_LEVEL_INNERMOST RTE_DEPRECATED(ETH_RSS_LEVEL_INNERMOST) RTE_ETH_RSS_LEVEL_INNERMOST +#define ETH_RSS_LEVEL_MASK RTE_DEPRECATED(ETH_RSS_LEVEL_MASK) RTE_ETH_RSS_LEVEL_MASK #define RTE_ETH_RSS_LEVEL(rss_hf) ((rss_hf & RTE_ETH_RSS_LEVEL_MASK) >> 50) -#define ETH_RSS_LEVEL(rss_hf) RTE_ETH_RSS_LEVEL(rss_hf) +#define ETH_RSS_LEVEL(rss_hf) RTE_DEPRECATED(ETH_RSS_LEVEL(rss_hf)) RTE_ETH_RSS_LEVEL(rss_hf) /** * For input set change of hash filter, if SRC_ONLY and DST_ONLY of @@ -740,122 +750,122 @@ rte_eth_rss_hf_refine(uint64_t rss_hf) #define RTE_ETH_RSS_IPV6_PRE32 ( \ RTE_ETH_RSS_IPV6 | \ RTE_ETH_RSS_L3_PRE32) -#define ETH_RSS_IPV6_PRE32 RTE_ETH_RSS_IPV6_PRE32 +#define ETH_RSS_IPV6_PRE32 RTE_DEPRECATED(ETH_RSS_IPV6_PRE32) RTE_ETH_RSS_IPV6_PRE32 #define RTE_ETH_RSS_IPV6_PRE40 ( \ RTE_ETH_RSS_IPV6 | \ RTE_ETH_RSS_L3_PRE40) -#define ETH_RSS_IPV6_PRE40 RTE_ETH_RSS_IPV6_PRE40 +#define ETH_RSS_IPV6_PRE40 RTE_DEPRECATED(ETH_RSS_IPV6_PRE40) RTE_ETH_RSS_IPV6_PRE40 #define RTE_ETH_RSS_IPV6_PRE48 ( \ RTE_ETH_RSS_IPV6 | \ RTE_ETH_RSS_L3_PRE48) -#define ETH_RSS_IPV6_PRE48 RTE_ETH_RSS_IPV6_PRE48 +#define ETH_RSS_IPV6_PRE48 RTE_DEPRECATED(ETH_RSS_IPV6_PRE48) RTE_ETH_RSS_IPV6_PRE48 #define RTE_ETH_RSS_IPV6_PRE56 ( \ RTE_ETH_RSS_IPV6 | \ RTE_ETH_RSS_L3_PRE56) -#define ETH_RSS_IPV6_PRE56 RTE_ETH_RSS_IPV6_PRE56 +#define ETH_RSS_IPV6_PRE56 RTE_DEPRECATED(ETH_RSS_IPV6_PRE56) RTE_ETH_RSS_IPV6_PRE56 #define RTE_ETH_RSS_IPV6_PRE64 ( \ RTE_ETH_RSS_IPV6 | \ RTE_ETH_RSS_L3_PRE64) -#define ETH_RSS_IPV6_PRE64 RTE_ETH_RSS_IPV6_PRE64 +#define ETH_RSS_IPV6_PRE64 RTE_DEPRECATED(ETH_RSS_IPV6_PRE64) RTE_ETH_RSS_IPV6_PRE64 #define RTE_ETH_RSS_IPV6_PRE96 ( \ RTE_ETH_RSS_IPV6 | \ RTE_ETH_RSS_L3_PRE96) -#define ETH_RSS_IPV6_PRE96 RTE_ETH_RSS_IPV6_PRE96 +#define ETH_RSS_IPV6_PRE96 RTE_DEPRECATED(ETH_RSS_IPV6_PRE96) RTE_ETH_RSS_IPV6_PRE96 #define RTE_ETH_RSS_IPV6_PRE32_UDP ( \ RTE_ETH_RSS_NONFRAG_IPV6_UDP | \ RTE_ETH_RSS_L3_PRE32) -#define ETH_RSS_IPV6_PRE32_UDP RTE_ETH_RSS_IPV6_PRE32_UDP +#define ETH_RSS_IPV6_PRE32_UDP RTE_DEPRECATED(ETH_RSS_IPV6_PRE32_UDP) RTE_ETH_RSS_IPV6_PRE32_UDP #define RTE_ETH_RSS_IPV6_PRE40_UDP ( \ RTE_ETH_RSS_NONFRAG_IPV6_UDP | \ RTE_ETH_RSS_L3_PRE40) -#define ETH_RSS_IPV6_PRE40_UDP RTE_ETH_RSS_IPV6_PRE40_UDP +#define ETH_RSS_IPV6_PRE40_UDP RTE_DEPRECATED(ETH_RSS_IPV6_PRE40_UDP) RTE_ETH_RSS_IPV6_PRE40_UDP #define RTE_ETH_RSS_IPV6_PRE48_UDP ( \ RTE_ETH_RSS_NONFRAG_IPV6_UDP | \ RTE_ETH_RSS_L3_PRE48) -#define ETH_RSS_IPV6_PRE48_UDP RTE_ETH_RSS_IPV6_PRE48_UDP +#define ETH_RSS_IPV6_PRE48_UDP RTE_DEPRECATED(ETH_RSS_IPV6_PRE48_UDP) RTE_ETH_RSS_IPV6_PRE48_UDP #define RTE_ETH_RSS_IPV6_PRE56_UDP ( \ RTE_ETH_RSS_NONFRAG_IPV6_UDP | \ RTE_ETH_RSS_L3_PRE56) -#define ETH_RSS_IPV6_PRE56_UDP RTE_ETH_RSS_IPV6_PRE56_UDP +#define ETH_RSS_IPV6_PRE56_UDP RTE_DEPRECATED(ETH_RSS_IPV6_PRE56_UDP) RTE_ETH_RSS_IPV6_PRE56_UDP #define RTE_ETH_RSS_IPV6_PRE64_UDP ( \ RTE_ETH_RSS_NONFRAG_IPV6_UDP | \ RTE_ETH_RSS_L3_PRE64) -#define ETH_RSS_IPV6_PRE64_UDP RTE_ETH_RSS_IPV6_PRE64_UDP +#define ETH_RSS_IPV6_PRE64_UDP RTE_DEPRECATED(ETH_RSS_IPV6_PRE64_UDP) RTE_ETH_RSS_IPV6_PRE64_UDP #define RTE_ETH_RSS_IPV6_PRE96_UDP ( \ RTE_ETH_RSS_NONFRAG_IPV6_UDP | \ RTE_ETH_RSS_L3_PRE96) -#define ETH_RSS_IPV6_PRE96_UDP RTE_ETH_RSS_IPV6_PRE96_UDP +#define ETH_RSS_IPV6_PRE96_UDP RTE_DEPRECATED(ETH_RSS_IPV6_PRE96_UDP) RTE_ETH_RSS_IPV6_PRE96_UDP #define RTE_ETH_RSS_IPV6_PRE32_TCP ( \ RTE_ETH_RSS_NONFRAG_IPV6_TCP | \ RTE_ETH_RSS_L3_PRE32) -#define ETH_RSS_IPV6_PRE32_TCP RTE_ETH_RSS_IPV6_PRE32_TCP +#define ETH_RSS_IPV6_PRE32_TCP RTE_DEPRECATED(ETH_RSS_IPV6_PRE32_TCP) RTE_ETH_RSS_IPV6_PRE32_TCP #define RTE_ETH_RSS_IPV6_PRE40_TCP ( \ RTE_ETH_RSS_NONFRAG_IPV6_TCP | \ RTE_ETH_RSS_L3_PRE40) -#define ETH_RSS_IPV6_PRE40_TCP RTE_ETH_RSS_IPV6_PRE40_TCP +#define ETH_RSS_IPV6_PRE40_TCP RTE_DEPRECATED(ETH_RSS_IPV6_PRE40_TCP) RTE_ETH_RSS_IPV6_PRE40_TCP #define RTE_ETH_RSS_IPV6_PRE48_TCP ( \ RTE_ETH_RSS_NONFRAG_IPV6_TCP | \ RTE_ETH_RSS_L3_PRE48) -#define ETH_RSS_IPV6_PRE48_TCP RTE_ETH_RSS_IPV6_PRE48_TCP +#define ETH_RSS_IPV6_PRE48_TCP RTE_DEPRECATED(ETH_RSS_IPV6_PRE48_TCP) RTE_ETH_RSS_IPV6_PRE48_TCP #define RTE_ETH_RSS_IPV6_PRE56_TCP ( \ RTE_ETH_RSS_NONFRAG_IPV6_TCP | \ RTE_ETH_RSS_L3_PRE56) -#define ETH_RSS_IPV6_PRE56_TCP RTE_ETH_RSS_IPV6_PRE56_TCP +#define ETH_RSS_IPV6_PRE56_TCP RTE_DEPRECATED(ETH_RSS_IPV6_PRE56_TCP) RTE_ETH_RSS_IPV6_PRE56_TCP #define RTE_ETH_RSS_IPV6_PRE64_TCP ( \ RTE_ETH_RSS_NONFRAG_IPV6_TCP | \ RTE_ETH_RSS_L3_PRE64) -#define ETH_RSS_IPV6_PRE64_TCP RTE_ETH_RSS_IPV6_PRE64_TCP +#define ETH_RSS_IPV6_PRE64_TCP RTE_DEPRECATED(ETH_RSS_IPV6_PRE64_TCP) RTE_ETH_RSS_IPV6_PRE64_TCP #define RTE_ETH_RSS_IPV6_PRE96_TCP ( \ RTE_ETH_RSS_NONFRAG_IPV6_TCP | \ RTE_ETH_RSS_L3_PRE96) -#define ETH_RSS_IPV6_PRE96_TCP RTE_ETH_RSS_IPV6_PRE96_TCP +#define ETH_RSS_IPV6_PRE96_TCP RTE_DEPRECATED(ETH_RSS_IPV6_PRE96_TCP) RTE_ETH_RSS_IPV6_PRE96_TCP #define RTE_ETH_RSS_IPV6_PRE32_SCTP ( \ RTE_ETH_RSS_NONFRAG_IPV6_SCTP | \ RTE_ETH_RSS_L3_PRE32) -#define ETH_RSS_IPV6_PRE32_SCTP RTE_ETH_RSS_IPV6_PRE32_SCTP +#define ETH_RSS_IPV6_PRE32_SCTP RTE_DEPRECATED(ETH_RSS_IPV6_PRE32_SCTP) RTE_ETH_RSS_IPV6_PRE32_SCTP #define RTE_ETH_RSS_IPV6_PRE40_SCTP ( \ RTE_ETH_RSS_NONFRAG_IPV6_SCTP | \ RTE_ETH_RSS_L3_PRE40) -#define ETH_RSS_IPV6_PRE40_SCTP RTE_ETH_RSS_IPV6_PRE40_SCTP +#define ETH_RSS_IPV6_PRE40_SCTP RTE_DEPRECATED(ETH_RSS_IPV6_PRE40_SCTP) RTE_ETH_RSS_IPV6_PRE40_SCTP #define RTE_ETH_RSS_IPV6_PRE48_SCTP ( \ RTE_ETH_RSS_NONFRAG_IPV6_SCTP | \ RTE_ETH_RSS_L3_PRE48) -#define ETH_RSS_IPV6_PRE48_SCTP RTE_ETH_RSS_IPV6_PRE48_SCTP +#define ETH_RSS_IPV6_PRE48_SCTP RTE_DEPRECATED(ETH_RSS_IPV6_PRE48_SCTP) RTE_ETH_RSS_IPV6_PRE48_SCTP #define RTE_ETH_RSS_IPV6_PRE56_SCTP ( \ RTE_ETH_RSS_NONFRAG_IPV6_SCTP | \ RTE_ETH_RSS_L3_PRE56) -#define ETH_RSS_IPV6_PRE56_SCTP RTE_ETH_RSS_IPV6_PRE56_SCTP +#define ETH_RSS_IPV6_PRE56_SCTP RTE_DEPRECATED(ETH_RSS_IPV6_PRE56_SCTP) RTE_ETH_RSS_IPV6_PRE56_SCTP #define RTE_ETH_RSS_IPV6_PRE64_SCTP ( \ RTE_ETH_RSS_NONFRAG_IPV6_SCTP | \ RTE_ETH_RSS_L3_PRE64) -#define ETH_RSS_IPV6_PRE64_SCTP RTE_ETH_RSS_IPV6_PRE64_SCTP +#define ETH_RSS_IPV6_PRE64_SCTP RTE_DEPRECATED(ETH_RSS_IPV6_PRE64_SCTP) RTE_ETH_RSS_IPV6_PRE64_SCTP #define RTE_ETH_RSS_IPV6_PRE96_SCTP ( \ RTE_ETH_RSS_NONFRAG_IPV6_SCTP | \ RTE_ETH_RSS_L3_PRE96) -#define ETH_RSS_IPV6_PRE96_SCTP RTE_ETH_RSS_IPV6_PRE96_SCTP +#define ETH_RSS_IPV6_PRE96_SCTP RTE_DEPRECATED(ETH_RSS_IPV6_PRE96_SCTP) RTE_ETH_RSS_IPV6_PRE96_SCTP #define RTE_ETH_RSS_IP ( \ RTE_ETH_RSS_IPV4 | \ @@ -865,35 +875,35 @@ rte_eth_rss_hf_refine(uint64_t rss_hf) RTE_ETH_RSS_FRAG_IPV6 | \ RTE_ETH_RSS_NONFRAG_IPV6_OTHER | \ RTE_ETH_RSS_IPV6_EX) -#define ETH_RSS_IP RTE_ETH_RSS_IP +#define ETH_RSS_IP RTE_DEPRECATED(ETH_RSS_IP) RTE_ETH_RSS_IP #define RTE_ETH_RSS_UDP ( \ RTE_ETH_RSS_NONFRAG_IPV4_UDP | \ RTE_ETH_RSS_NONFRAG_IPV6_UDP | \ RTE_ETH_RSS_IPV6_UDP_EX) -#define ETH_RSS_UDP RTE_ETH_RSS_UDP +#define ETH_RSS_UDP RTE_DEPRECATED(ETH_RSS_UDP) RTE_ETH_RSS_UDP #define RTE_ETH_RSS_TCP ( \ RTE_ETH_RSS_NONFRAG_IPV4_TCP | \ RTE_ETH_RSS_NONFRAG_IPV6_TCP | \ RTE_ETH_RSS_IPV6_TCP_EX) -#define ETH_RSS_TCP RTE_ETH_RSS_TCP +#define ETH_RSS_TCP RTE_DEPRECATED(ETH_RSS_TCP) RTE_ETH_RSS_TCP #define RTE_ETH_RSS_SCTP ( \ RTE_ETH_RSS_NONFRAG_IPV4_SCTP | \ RTE_ETH_RSS_NONFRAG_IPV6_SCTP) -#define ETH_RSS_SCTP RTE_ETH_RSS_SCTP +#define ETH_RSS_SCTP RTE_DEPRECATED(ETH_RSS_SCTP) RTE_ETH_RSS_SCTP #define RTE_ETH_RSS_TUNNEL ( \ RTE_ETH_RSS_VXLAN | \ RTE_ETH_RSS_GENEVE | \ RTE_ETH_RSS_NVGRE) -#define ETH_RSS_TUNNEL RTE_ETH_RSS_TUNNEL +#define ETH_RSS_TUNNEL RTE_DEPRECATED(ETH_RSS_TUNNEL) RTE_ETH_RSS_TUNNEL #define RTE_ETH_RSS_VLAN ( \ RTE_ETH_RSS_S_VLAN | \ RTE_ETH_RSS_C_VLAN) -#define ETH_RSS_VLAN RTE_ETH_RSS_VLAN +#define ETH_RSS_VLAN RTE_DEPRECATED(ETH_RSS_VLAN) RTE_ETH_RSS_VLAN /** Mask of valid RSS hash protocols */ #define RTE_ETH_RSS_PROTO_MASK ( \ @@ -918,7 +928,7 @@ rte_eth_rss_hf_refine(uint64_t rss_hf) RTE_ETH_RSS_GENEVE | \ RTE_ETH_RSS_NVGRE | \ RTE_ETH_RSS_MPLS) -#define ETH_RSS_PROTO_MASK RTE_ETH_RSS_PROTO_MASK +#define ETH_RSS_PROTO_MASK RTE_DEPRECATED(ETH_RSS_PROTO_MASK) RTE_ETH_RSS_PROTO_MASK /* * Definitions used for redirection table entry size. @@ -926,84 +936,90 @@ rte_eth_rss_hf_refine(uint64_t rss_hf) * documentation or the description of relevant functions for more details. */ #define RTE_ETH_RSS_RETA_SIZE_64 64 -#define ETH_RSS_RETA_SIZE_64 RTE_ETH_RSS_RETA_SIZE_64 #define RTE_ETH_RSS_RETA_SIZE_128 128 -#define ETH_RSS_RETA_SIZE_128 RTE_ETH_RSS_RETA_SIZE_128 #define RTE_ETH_RSS_RETA_SIZE_256 256 -#define ETH_RSS_RETA_SIZE_256 RTE_ETH_RSS_RETA_SIZE_256 #define RTE_ETH_RSS_RETA_SIZE_512 512 -#define ETH_RSS_RETA_SIZE_512 RTE_ETH_RSS_RETA_SIZE_512 #define RTE_ETH_RETA_GROUP_SIZE 64 -#define RTE_RETA_GROUP_SIZE RTE_ETH_RETA_GROUP_SIZE + +#define ETH_RSS_RETA_SIZE_64 RTE_DEPRECATED(ETH_RSS_RETA_SIZE_64) RTE_ETH_RSS_RETA_SIZE_64 +#define ETH_RSS_RETA_SIZE_128 RTE_DEPRECATED(ETH_RSS_RETA_SIZE_128) RTE_ETH_RSS_RETA_SIZE_128 +#define ETH_RSS_RETA_SIZE_256 RTE_DEPRECATED(ETH_RSS_RETA_SIZE_256) RTE_ETH_RSS_RETA_SIZE_256 +#define ETH_RSS_RETA_SIZE_512 RTE_DEPRECATED(ETH_RSS_RETA_SIZE_512) RTE_ETH_RSS_RETA_SIZE_512 +#define RTE_RETA_GROUP_SIZE RTE_DEPRECATED(RTE_RETA_GROUP_SIZE) RTE_ETH_RETA_GROUP_SIZE /**@{@name VMDq and DCB maximums */ #define RTE_ETH_VMDQ_MAX_VLAN_FILTERS 64 /**< Maximum nb. of VMDq VLAN filters. */ -#define ETH_VMDQ_MAX_VLAN_FILTERS RTE_ETH_VMDQ_MAX_VLAN_FILTERS #define RTE_ETH_DCB_NUM_USER_PRIORITIES 8 /**< Maximum nb. of DCB priorities. */ -#define ETH_DCB_NUM_USER_PRIORITIES RTE_ETH_DCB_NUM_USER_PRIORITIES #define RTE_ETH_VMDQ_DCB_NUM_QUEUES 128 /**< Maximum nb. of VMDq DCB queues. */ -#define ETH_VMDQ_DCB_NUM_QUEUES RTE_ETH_VMDQ_DCB_NUM_QUEUES #define RTE_ETH_DCB_NUM_QUEUES 128 /**< Maximum nb. of DCB queues. */ -#define ETH_DCB_NUM_QUEUES RTE_ETH_DCB_NUM_QUEUES /**@}*/ +#define ETH_VMDQ_MAX_VLAN_FILTERS RTE_DEPRECATED(ETH_VMDQ_MAX_VLAN_FILTERS) RTE_ETH_VMDQ_MAX_VLAN_FILTERS +#define ETH_DCB_NUM_USER_PRIORITIES RTE_DEPRECATED(ETH_DCB_NUM_USER_PRIORITIES) RTE_ETH_DCB_NUM_USER_PRIORITIES +#define ETH_VMDQ_DCB_NUM_QUEUES RTE_DEPRECATED(ETH_VMDQ_DCB_NUM_QUEUES) RTE_ETH_VMDQ_DCB_NUM_QUEUES +#define ETH_DCB_NUM_QUEUES RTE_DEPRECATED(ETH_DCB_NUM_QUEUES) RTE_ETH_DCB_NUM_QUEUES + /**@{@name DCB capabilities */ #define RTE_ETH_DCB_PG_SUPPORT RTE_BIT32(0) /**< Priority Group(ETS) support. */ -#define ETH_DCB_PG_SUPPORT RTE_ETH_DCB_PG_SUPPORT #define RTE_ETH_DCB_PFC_SUPPORT RTE_BIT32(1) /**< Priority Flow Control support. */ -#define ETH_DCB_PFC_SUPPORT RTE_ETH_DCB_PFC_SUPPORT /**@}*/ +#define ETH_DCB_PG_SUPPORT RTE_DEPRECATED(ETH_DCB_PG_SUPPORT) RTE_ETH_DCB_PG_SUPPORT +#define ETH_DCB_PFC_SUPPORT RTE_DEPRECATED(ETH_DCB_PFC_SUPPORT) RTE_ETH_DCB_PFC_SUPPORT + /**@{@name VLAN offload bits */ #define RTE_ETH_VLAN_STRIP_OFFLOAD 0x0001 /**< VLAN Strip On/Off */ -#define ETH_VLAN_STRIP_OFFLOAD RTE_ETH_VLAN_STRIP_OFFLOAD #define RTE_ETH_VLAN_FILTER_OFFLOAD 0x0002 /**< VLAN Filter On/Off */ -#define ETH_VLAN_FILTER_OFFLOAD RTE_ETH_VLAN_FILTER_OFFLOAD #define RTE_ETH_VLAN_EXTEND_OFFLOAD 0x0004 /**< VLAN Extend On/Off */ -#define ETH_VLAN_EXTEND_OFFLOAD RTE_ETH_VLAN_EXTEND_OFFLOAD #define RTE_ETH_QINQ_STRIP_OFFLOAD 0x0008 /**< QINQ Strip On/Off */ -#define ETH_QINQ_STRIP_OFFLOAD RTE_ETH_QINQ_STRIP_OFFLOAD + +#define ETH_VLAN_STRIP_OFFLOAD RTE_DEPRECATED(ETH_VLAN_STRIP_OFFLOAD) RTE_ETH_VLAN_STRIP_OFFLOAD +#define ETH_VLAN_FILTER_OFFLOAD RTE_DEPRECATED(ETH_VLAN_FILTER_OFFLOAD) RTE_ETH_VLAN_FILTER_OFFLOAD +#define ETH_VLAN_EXTEND_OFFLOAD RTE_DEPRECATED(ETH_VLAN_EXTEND_OFFLOAD) RTE_ETH_VLAN_EXTEND_OFFLOAD +#define ETH_QINQ_STRIP_OFFLOAD RTE_DEPRECATED(ETH_QINQ_STRIP_OFFLOAD) RTE_ETH_QINQ_STRIP_OFFLOAD #define RTE_ETH_VLAN_STRIP_MASK 0x0001 /**< VLAN Strip setting mask */ -#define ETH_VLAN_STRIP_MASK RTE_ETH_VLAN_STRIP_MASK #define RTE_ETH_VLAN_FILTER_MASK 0x0002 /**< VLAN Filter setting mask*/ -#define ETH_VLAN_FILTER_MASK RTE_ETH_VLAN_FILTER_MASK #define RTE_ETH_VLAN_EXTEND_MASK 0x0004 /**< VLAN Extend setting mask*/ -#define ETH_VLAN_EXTEND_MASK RTE_ETH_VLAN_EXTEND_MASK #define RTE_ETH_QINQ_STRIP_MASK 0x0008 /**< QINQ Strip setting mask */ -#define ETH_QINQ_STRIP_MASK RTE_ETH_QINQ_STRIP_MASK #define RTE_ETH_VLAN_ID_MAX 0x0FFF /**< VLAN ID is in lower 12 bits*/ -#define ETH_VLAN_ID_MAX RTE_ETH_VLAN_ID_MAX /**@}*/ +#define ETH_VLAN_STRIP_MASK RTE_DEPRECATED(ETH_VLAN_STRIP_MASK) RTE_ETH_VLAN_STRIP_MASK +#define ETH_VLAN_FILTER_MASK RTE_DEPRECATED(ETH_VLAN_FILTER_MASK) RTE_ETH_VLAN_FILTER_MASK +#define ETH_VLAN_EXTEND_MASK RTE_DEPRECATED(ETH_VLAN_EXTEND_MASK) RTE_ETH_VLAN_EXTEND_MASK +#define ETH_QINQ_STRIP_MASK RTE_DEPRECATED(ETH_QINQ_STRIP_MASK) RTE_ETH_QINQ_STRIP_MASK +#define ETH_VLAN_ID_MAX RTE_DEPRECATED(ETH_VLAN_ID_MAX) RTE_ETH_VLAN_ID_MAX + /* Definitions used for receive MAC address */ #define RTE_ETH_NUM_RECEIVE_MAC_ADDR 128 /**< Maximum nb. of receive mac addr. */ -#define ETH_NUM_RECEIVE_MAC_ADDR RTE_ETH_NUM_RECEIVE_MAC_ADDR +#define ETH_NUM_RECEIVE_MAC_ADDR RTE_DEPRECATED(ETH_NUM_RECEIVE_MAC_ADDR) RTE_ETH_NUM_RECEIVE_MAC_ADDR /* Definitions used for unicast hash */ #define RTE_ETH_VMDQ_NUM_UC_HASH_ARRAY 128 /**< Maximum nb. of UC hash array. */ -#define ETH_VMDQ_NUM_UC_HASH_ARRAY RTE_ETH_VMDQ_NUM_UC_HASH_ARRAY +#define ETH_VMDQ_NUM_UC_HASH_ARRAY RTE_DEPRECATED(ETH_VMDQ_NUM_UC_HASH_ARRAY) RTE_ETH_VMDQ_NUM_UC_HASH_ARRAY /**@{@name VMDq Rx mode * @see rte_eth_vmdq_rx_conf.rx_mode */ /** Accept untagged packets. */ #define RTE_ETH_VMDQ_ACCEPT_UNTAG RTE_BIT32(0) -#define ETH_VMDQ_ACCEPT_UNTAG RTE_ETH_VMDQ_ACCEPT_UNTAG /** Accept packets in multicast table. */ #define RTE_ETH_VMDQ_ACCEPT_HASH_MC RTE_BIT32(1) -#define ETH_VMDQ_ACCEPT_HASH_MC RTE_ETH_VMDQ_ACCEPT_HASH_MC /** Accept packets in unicast table. */ #define RTE_ETH_VMDQ_ACCEPT_HASH_UC RTE_BIT32(2) -#define ETH_VMDQ_ACCEPT_HASH_UC RTE_ETH_VMDQ_ACCEPT_HASH_UC /** Accept broadcast packets. */ #define RTE_ETH_VMDQ_ACCEPT_BROADCAST RTE_BIT32(3) -#define ETH_VMDQ_ACCEPT_BROADCAST RTE_ETH_VMDQ_ACCEPT_BROADCAST /** Multicast promiscuous. */ #define RTE_ETH_VMDQ_ACCEPT_MULTICAST RTE_BIT32(4) -#define ETH_VMDQ_ACCEPT_MULTICAST RTE_ETH_VMDQ_ACCEPT_MULTICAST /**@}*/ +#define ETH_VMDQ_ACCEPT_UNTAG RTE_DEPRECATED(ETH_VMDQ_ACCEPT_UNTAG) RTE_ETH_VMDQ_ACCEPT_UNTAG +#define ETH_VMDQ_ACCEPT_HASH_MC RTE_DEPRECATED(ETH_VMDQ_ACCEPT_HASH_MC) RTE_ETH_VMDQ_ACCEPT_HASH_MC +#define ETH_VMDQ_ACCEPT_HASH_UC RTE_DEPRECATED(ETH_VMDQ_ACCEPT_HASH_UC) RTE_ETH_VMDQ_ACCEPT_HASH_UC +#define ETH_VMDQ_ACCEPT_BROADCAST RTE_DEPRECATED(ETH_VMDQ_ACCEPT_BROADCAST) RTE_ETH_VMDQ_ACCEPT_BROADCAST +#define ETH_VMDQ_ACCEPT_MULTICAST RTE_DEPRECATED(ETH_VMDQ_ACCEPT_MULTICAST) RTE_ETH_VMDQ_ACCEPT_MULTICAST + /** * A structure used to configure 64 entries of Redirection Table of the * Receive Side Scaling (RSS) feature of an Ethernet port. To configure @@ -1025,8 +1041,8 @@ enum rte_eth_nb_tcs { RTE_ETH_4_TCS = 4, /**< 4 TCs with DCB. */ RTE_ETH_8_TCS = 8 /**< 8 TCs with DCB. */ }; -#define ETH_4_TCS RTE_ETH_4_TCS -#define ETH_8_TCS RTE_ETH_8_TCS +#define ETH_4_TCS RTE_DEPRECATED(ETH_4_TCS) RTE_ETH_4_TCS +#define ETH_8_TCS RTE_DEPRECATED(ETH_8_TCS) RTE_ETH_8_TCS /** * This enum indicates the possible number of queue pools @@ -1038,10 +1054,10 @@ enum rte_eth_nb_pools { RTE_ETH_32_POOLS = 32, /**< 32 VMDq pools. */ RTE_ETH_64_POOLS = 64 /**< 64 VMDq pools. */ }; -#define ETH_8_POOLS RTE_ETH_8_POOLS -#define ETH_16_POOLS RTE_ETH_16_POOLS -#define ETH_32_POOLS RTE_ETH_32_POOLS -#define ETH_64_POOLS RTE_ETH_64_POOLS +#define ETH_8_POOLS RTE_DEPRECATED(ETH_8_POOLS) RTE_ETH_8_POOLS +#define ETH_16_POOLS RTE_DEPRECATED(ETH_16_POOLS) RTE_ETH_16_POOLS +#define ETH_32_POOLS RTE_DEPRECATED(ETH_32_POOLS) RTE_ETH_32_POOLS +#define ETH_64_POOLS RTE_DEPRECATED(ETH_64_POOLS) RTE_ETH_64_POOLS /* This structure may be extended in future. */ struct rte_eth_dcb_rx_conf { @@ -1364,11 +1380,10 @@ enum rte_eth_fc_mode { RTE_ETH_FC_TX_PAUSE, /**< Tx pause frame, enable flowctrl on Rx side. */ RTE_ETH_FC_FULL /**< Enable flow control on both side. */ }; - -#define RTE_FC_NONE RTE_ETH_FC_NONE -#define RTE_FC_RX_PAUSE RTE_ETH_FC_RX_PAUSE -#define RTE_FC_TX_PAUSE RTE_ETH_FC_TX_PAUSE -#define RTE_FC_FULL RTE_ETH_FC_FULL +#define RTE_FC_NONE RTE_DEPRECATED(RTE_FC_NONE) RTE_ETH_FC_NONE +#define RTE_FC_RX_PAUSE RTE_DEPRECATED(RTE_FC_RX_PAUSE) RTE_ETH_FC_RX_PAUSE +#define RTE_FC_TX_PAUSE RTE_DEPRECATED(RTE_FC_TX_PAUSE) RTE_ETH_FC_TX_PAUSE +#define RTE_FC_FULL RTE_DEPRECATED(RTE_FC_FULL) RTE_ETH_FC_FULL /** * A structure used to configure Ethernet flow control parameter. @@ -1395,6 +1410,59 @@ struct rte_eth_pfc_conf { uint8_t priority; /**< VLAN User Priority. */ }; +/** + * @warning + * @b EXPERIMENTAL: this API may change, or be removed, without prior notice + * + * A structure used to retrieve information of queue based PFC. + */ +struct rte_eth_pfc_queue_info { + /** + * Maximum supported traffic class as per PFC (802.1Qbb) specification. + */ + uint8_t tc_max; + /** PFC queue mode capabilities. */ + enum rte_eth_fc_mode mode_capa; +}; + +/** + * @warning + * @b EXPERIMENTAL: this API may change, or be removed, without prior notice + * + * A structure used to configure Ethernet priority flow control parameters for + * ethdev queues. + * + * rte_eth_pfc_queue_conf::rx_pause structure shall be used to configure given + * tx_qid with corresponding tc. When ethdev device receives PFC frame with + * rte_eth_pfc_queue_conf::rx_pause::tc, traffic will be paused on + * rte_eth_pfc_queue_conf::rx_pause::tx_qid for that tc. + * + * rte_eth_pfc_queue_conf::tx_pause structure shall be used to configure given + * rx_qid. When rx_qid is congested, PFC frames are generated with + * rte_eth_pfc_queue_conf::rx_pause::tc and + * rte_eth_pfc_queue_conf::rx_pause::pause_time to the peer. + */ +struct rte_eth_pfc_queue_conf { + enum rte_eth_fc_mode mode; /**< Link flow control mode */ + + struct { + uint16_t tx_qid; /**< Tx queue ID */ + /** Traffic class as per PFC (802.1Qbb) spec. The value must be + * in the range [0, rte_eth_pfc_queue_info::tx_max - 1] + */ + uint8_t tc; + } rx_pause; /* Valid when (mode == FC_RX_PAUSE || mode == FC_FULL) */ + + struct { + uint16_t pause_time; /**< Pause quota in the Pause frame */ + uint16_t rx_qid; /**< Rx queue ID */ + /** Traffic class as per PFC (802.1Qbb) spec. The value must be + * in the range [0, rte_eth_pfc_queue_info::tx_max - 1] + */ + uint8_t tc; + } tx_pause; /* Valid when (mode == FC_TX_PAUSE || mode == FC_FULL) */ +}; + /** * Tunnel type for device-specific classifier configuration. * @see rte_eth_udp_tunnel @@ -1411,17 +1479,16 @@ enum rte_eth_tunnel_type { RTE_ETH_TUNNEL_TYPE_ECPRI, RTE_ETH_TUNNEL_TYPE_MAX, }; - -#define RTE_TUNNEL_TYPE_NONE RTE_ETH_TUNNEL_TYPE_NONE -#define RTE_TUNNEL_TYPE_VXLAN RTE_ETH_TUNNEL_TYPE_VXLAN -#define RTE_TUNNEL_TYPE_GENEVE RTE_ETH_TUNNEL_TYPE_GENEVE -#define RTE_TUNNEL_TYPE_TEREDO RTE_ETH_TUNNEL_TYPE_TEREDO -#define RTE_TUNNEL_TYPE_NVGRE RTE_ETH_TUNNEL_TYPE_NVGRE -#define RTE_TUNNEL_TYPE_IP_IN_GRE RTE_ETH_TUNNEL_TYPE_IP_IN_GRE -#define RTE_L2_TUNNEL_TYPE_E_TAG RTE_ETH_L2_TUNNEL_TYPE_E_TAG -#define RTE_TUNNEL_TYPE_VXLAN_GPE RTE_ETH_TUNNEL_TYPE_VXLAN_GPE -#define RTE_TUNNEL_TYPE_ECPRI RTE_ETH_TUNNEL_TYPE_ECPRI -#define RTE_TUNNEL_TYPE_MAX RTE_ETH_TUNNEL_TYPE_MAX +#define RTE_TUNNEL_TYPE_NONE RTE_DEPRECATED(RTE_TUNNEL_TYPE_NONE) RTE_ETH_TUNNEL_TYPE_NONE +#define RTE_TUNNEL_TYPE_VXLAN RTE_DEPRECATED(RTE_TUNNEL_TYPE_VXLAN) RTE_ETH_TUNNEL_TYPE_VXLAN +#define RTE_TUNNEL_TYPE_GENEVE RTE_DEPRECATED(RTE_TUNNEL_TYPE_GENEVE) RTE_ETH_TUNNEL_TYPE_GENEVE +#define RTE_TUNNEL_TYPE_TEREDO RTE_DEPRECATED(RTE_TUNNEL_TYPE_TEREDO) RTE_ETH_TUNNEL_TYPE_TEREDO +#define RTE_TUNNEL_TYPE_NVGRE RTE_DEPRECATED(RTE_TUNNEL_TYPE_NVGRE) RTE_ETH_TUNNEL_TYPE_NVGRE +#define RTE_TUNNEL_TYPE_IP_IN_GRE RTE_DEPRECATED(RTE_TUNNEL_TYPE_IP_IN_GRE) RTE_ETH_TUNNEL_TYPE_IP_IN_GRE +#define RTE_L2_TUNNEL_TYPE_E_TAG RTE_DEPRECATED(RTE_L2_TUNNEL_TYPE_E_TAG) RTE_ETH_L2_TUNNEL_TYPE_E_TAG +#define RTE_TUNNEL_TYPE_VXLAN_GPE RTE_DEPRECATED(RTE_TUNNEL_TYPE_VXLAN_GPE) RTE_ETH_TUNNEL_TYPE_VXLAN_GPE +#define RTE_TUNNEL_TYPE_ECPRI RTE_DEPRECATED(RTE_TUNNEL_TYPE_ECPRI) RTE_ETH_TUNNEL_TYPE_ECPRI +#define RTE_TUNNEL_TYPE_MAX RTE_DEPRECATED(RTE_TUNNEL_TYPE_MAX) RTE_ETH_TUNNEL_TYPE_MAX /* Deprecated API file for rte_eth_dev_filter_* functions */ #include "rte_eth_ctrl.h" @@ -1437,9 +1504,9 @@ enum rte_eth_fdir_pballoc_type { }; #define rte_fdir_pballoc_type rte_eth_fdir_pballoc_type -#define RTE_FDIR_PBALLOC_64K RTE_ETH_FDIR_PBALLOC_64K -#define RTE_FDIR_PBALLOC_128K RTE_ETH_FDIR_PBALLOC_128K -#define RTE_FDIR_PBALLOC_256K RTE_ETH_FDIR_PBALLOC_256K +#define RTE_FDIR_PBALLOC_64K RTE_DEPRECATED(RTE_FDIR_PBALLOC_64K) RTE_ETH_FDIR_PBALLOC_64K +#define RTE_FDIR_PBALLOC_128K RTE_DEPRECATED(RTE_FDIR_PBALLOC_128K) RTE_ETH_FDIR_PBALLOC_128K +#define RTE_FDIR_PBALLOC_256K RTE_DEPRECATED(RTE_FDIR_PBALLOC_256K) RTE_ETH_FDIR_PBALLOC_256K /** * Select report mode of FDIR hash information in Rx descriptors. @@ -1466,7 +1533,6 @@ struct rte_eth_fdir_conf { /** Flex payload configuration. */ struct rte_eth_fdir_flex_conf flex_conf; }; - #define rte_fdir_conf rte_eth_fdir_conf /** @@ -1545,57 +1611,58 @@ struct rte_eth_conf { * Rx offload capabilities of a device. */ #define RTE_ETH_RX_OFFLOAD_VLAN_STRIP RTE_BIT64(0) -#define DEV_RX_OFFLOAD_VLAN_STRIP RTE_ETH_RX_OFFLOAD_VLAN_STRIP #define RTE_ETH_RX_OFFLOAD_IPV4_CKSUM RTE_BIT64(1) -#define DEV_RX_OFFLOAD_IPV4_CKSUM RTE_ETH_RX_OFFLOAD_IPV4_CKSUM #define RTE_ETH_RX_OFFLOAD_UDP_CKSUM RTE_BIT64(2) -#define DEV_RX_OFFLOAD_UDP_CKSUM RTE_ETH_RX_OFFLOAD_UDP_CKSUM #define RTE_ETH_RX_OFFLOAD_TCP_CKSUM RTE_BIT64(3) -#define DEV_RX_OFFLOAD_TCP_CKSUM RTE_ETH_RX_OFFLOAD_TCP_CKSUM #define RTE_ETH_RX_OFFLOAD_TCP_LRO RTE_BIT64(4) -#define DEV_RX_OFFLOAD_TCP_LRO RTE_ETH_RX_OFFLOAD_TCP_LRO #define RTE_ETH_RX_OFFLOAD_QINQ_STRIP RTE_BIT64(5) -#define DEV_RX_OFFLOAD_QINQ_STRIP RTE_ETH_RX_OFFLOAD_QINQ_STRIP #define RTE_ETH_RX_OFFLOAD_OUTER_IPV4_CKSUM RTE_BIT64(6) -#define DEV_RX_OFFLOAD_OUTER_IPV4_CKSUM RTE_ETH_RX_OFFLOAD_OUTER_IPV4_CKSUM #define RTE_ETH_RX_OFFLOAD_MACSEC_STRIP RTE_BIT64(7) -#define DEV_RX_OFFLOAD_MACSEC_STRIP RTE_ETH_RX_OFFLOAD_MACSEC_STRIP #define RTE_ETH_RX_OFFLOAD_HEADER_SPLIT RTE_BIT64(8) -#define DEV_RX_OFFLOAD_HEADER_SPLIT RTE_ETH_RX_OFFLOAD_HEADER_SPLIT #define RTE_ETH_RX_OFFLOAD_VLAN_FILTER RTE_BIT64(9) -#define DEV_RX_OFFLOAD_VLAN_FILTER RTE_ETH_RX_OFFLOAD_VLAN_FILTER #define RTE_ETH_RX_OFFLOAD_VLAN_EXTEND RTE_BIT64(10) -#define DEV_RX_OFFLOAD_VLAN_EXTEND RTE_ETH_RX_OFFLOAD_VLAN_EXTEND #define RTE_ETH_RX_OFFLOAD_SCATTER RTE_BIT64(13) -#define DEV_RX_OFFLOAD_SCATTER RTE_ETH_RX_OFFLOAD_SCATTER /** * Timestamp is set by the driver in RTE_MBUF_DYNFIELD_TIMESTAMP_NAME * and RTE_MBUF_DYNFLAG_RX_TIMESTAMP_NAME is set in ol_flags. * The mbuf field and flag are registered when the offload is configured. */ #define RTE_ETH_RX_OFFLOAD_TIMESTAMP RTE_BIT64(14) -#define DEV_RX_OFFLOAD_TIMESTAMP RTE_ETH_RX_OFFLOAD_TIMESTAMP #define RTE_ETH_RX_OFFLOAD_SECURITY RTE_BIT64(15) -#define DEV_RX_OFFLOAD_SECURITY RTE_ETH_RX_OFFLOAD_SECURITY #define RTE_ETH_RX_OFFLOAD_KEEP_CRC RTE_BIT64(16) -#define DEV_RX_OFFLOAD_KEEP_CRC RTE_ETH_RX_OFFLOAD_KEEP_CRC #define RTE_ETH_RX_OFFLOAD_SCTP_CKSUM RTE_BIT64(17) -#define DEV_RX_OFFLOAD_SCTP_CKSUM RTE_ETH_RX_OFFLOAD_SCTP_CKSUM #define RTE_ETH_RX_OFFLOAD_OUTER_UDP_CKSUM RTE_BIT64(18) -#define DEV_RX_OFFLOAD_OUTER_UDP_CKSUM RTE_ETH_RX_OFFLOAD_OUTER_UDP_CKSUM #define RTE_ETH_RX_OFFLOAD_RSS_HASH RTE_BIT64(19) -#define DEV_RX_OFFLOAD_RSS_HASH RTE_ETH_RX_OFFLOAD_RSS_HASH #define RTE_ETH_RX_OFFLOAD_BUFFER_SPLIT RTE_BIT64(20) +#define DEV_RX_OFFLOAD_VLAN_STRIP RTE_DEPRECATED(DEV_RX_OFFLOAD_VLAN_STRIP) RTE_ETH_RX_OFFLOAD_VLAN_STRIP +#define DEV_RX_OFFLOAD_IPV4_CKSUM RTE_DEPRECATED(DEV_RX_OFFLOAD_IPV4_CKSUM) RTE_ETH_RX_OFFLOAD_IPV4_CKSUM +#define DEV_RX_OFFLOAD_UDP_CKSUM RTE_DEPRECATED(DEV_RX_OFFLOAD_UDP_CKSUM) RTE_ETH_RX_OFFLOAD_UDP_CKSUM +#define DEV_RX_OFFLOAD_TCP_CKSUM RTE_DEPRECATED(DEV_RX_OFFLOAD_TCP_CKSUM) RTE_ETH_RX_OFFLOAD_TCP_CKSUM +#define DEV_RX_OFFLOAD_TCP_LRO RTE_DEPRECATED(DEV_RX_OFFLOAD_TCP_LRO) RTE_ETH_RX_OFFLOAD_TCP_LRO +#define DEV_RX_OFFLOAD_QINQ_STRIP RTE_DEPRECATED(DEV_RX_OFFLOAD_QINQ_STRIP) RTE_ETH_RX_OFFLOAD_QINQ_STRIP +#define DEV_RX_OFFLOAD_OUTER_IPV4_CKSUM RTE_DEPRECATED(DEV_RX_OFFLOAD_OUTER_IPV4_CKSUM) RTE_ETH_RX_OFFLOAD_OUTER_IPV4_CKSUM +#define DEV_RX_OFFLOAD_MACSEC_STRIP RTE_DEPRECATED(DEV_RX_OFFLOAD_MACSEC_STRIP) RTE_ETH_RX_OFFLOAD_MACSEC_STRIP +#define DEV_RX_OFFLOAD_HEADER_SPLIT RTE_DEPRECATED(DEV_RX_OFFLOAD_HEADER_SPLIT) RTE_ETH_RX_OFFLOAD_HEADER_SPLIT +#define DEV_RX_OFFLOAD_VLAN_FILTER RTE_DEPRECATED(DEV_RX_OFFLOAD_VLAN_FILTER) RTE_ETH_RX_OFFLOAD_VLAN_FILTER +#define DEV_RX_OFFLOAD_VLAN_EXTEND RTE_DEPRECATED(DEV_RX_OFFLOAD_VLAN_EXTEND) RTE_ETH_RX_OFFLOAD_VLAN_EXTEND +#define DEV_RX_OFFLOAD_SCATTER RTE_DEPRECATED(DEV_RX_OFFLOAD_SCATTER) RTE_ETH_RX_OFFLOAD_SCATTER +#define DEV_RX_OFFLOAD_TIMESTAMP RTE_DEPRECATED(DEV_RX_OFFLOAD_TIMESTAMP) RTE_ETH_RX_OFFLOAD_TIMESTAMP +#define DEV_RX_OFFLOAD_SECURITY RTE_DEPRECATED(DEV_RX_OFFLOAD_SECURITY) RTE_ETH_RX_OFFLOAD_SECURITY +#define DEV_RX_OFFLOAD_KEEP_CRC RTE_DEPRECATED(DEV_RX_OFFLOAD_KEEP_CRC) RTE_ETH_RX_OFFLOAD_KEEP_CRC +#define DEV_RX_OFFLOAD_SCTP_CKSUM RTE_DEPRECATED(DEV_RX_OFFLOAD_SCTP_CKSUM) RTE_ETH_RX_OFFLOAD_SCTP_CKSUM +#define DEV_RX_OFFLOAD_OUTER_UDP_CKSUM RTE_DEPRECATED(DEV_RX_OFFLOAD_OUTER_UDP_CKSUM) RTE_ETH_RX_OFFLOAD_OUTER_UDP_CKSUM +#define DEV_RX_OFFLOAD_RSS_HASH RTE_DEPRECATED(DEV_RX_OFFLOAD_RSS_HASH) RTE_ETH_RX_OFFLOAD_RSS_HASH + #define RTE_ETH_RX_OFFLOAD_CHECKSUM (RTE_ETH_RX_OFFLOAD_IPV4_CKSUM | \ RTE_ETH_RX_OFFLOAD_UDP_CKSUM | \ RTE_ETH_RX_OFFLOAD_TCP_CKSUM) -#define DEV_RX_OFFLOAD_CHECKSUM RTE_ETH_RX_OFFLOAD_CHECKSUM +#define DEV_RX_OFFLOAD_CHECKSUM RTE_DEPRECATED(DEV_RX_OFFLOAD_CHECKSUM) RTE_ETH_RX_OFFLOAD_CHECKSUM #define RTE_ETH_RX_OFFLOAD_VLAN (RTE_ETH_RX_OFFLOAD_VLAN_STRIP | \ RTE_ETH_RX_OFFLOAD_VLAN_FILTER | \ RTE_ETH_RX_OFFLOAD_VLAN_EXTEND | \ RTE_ETH_RX_OFFLOAD_QINQ_STRIP) -#define DEV_RX_OFFLOAD_VLAN RTE_ETH_RX_OFFLOAD_VLAN +#define DEV_RX_OFFLOAD_VLAN RTE_DEPRECATED(DEV_RX_OFFLOAD_VLAN) RTE_ETH_RX_OFFLOAD_VLAN /* * If new Rx offload capabilities are defined, they also must be @@ -1606,80 +1673,81 @@ struct rte_eth_conf { * Tx offload capabilities of a device. */ #define RTE_ETH_TX_OFFLOAD_VLAN_INSERT RTE_BIT64(0) -#define DEV_TX_OFFLOAD_VLAN_INSERT RTE_ETH_TX_OFFLOAD_VLAN_INSERT #define RTE_ETH_TX_OFFLOAD_IPV4_CKSUM RTE_BIT64(1) -#define DEV_TX_OFFLOAD_IPV4_CKSUM RTE_ETH_TX_OFFLOAD_IPV4_CKSUM #define RTE_ETH_TX_OFFLOAD_UDP_CKSUM RTE_BIT64(2) -#define DEV_TX_OFFLOAD_UDP_CKSUM RTE_ETH_TX_OFFLOAD_UDP_CKSUM #define RTE_ETH_TX_OFFLOAD_TCP_CKSUM RTE_BIT64(3) -#define DEV_TX_OFFLOAD_TCP_CKSUM RTE_ETH_TX_OFFLOAD_TCP_CKSUM #define RTE_ETH_TX_OFFLOAD_SCTP_CKSUM RTE_BIT64(4) -#define DEV_TX_OFFLOAD_SCTP_CKSUM RTE_ETH_TX_OFFLOAD_SCTP_CKSUM #define RTE_ETH_TX_OFFLOAD_TCP_TSO RTE_BIT64(5) -#define DEV_TX_OFFLOAD_TCP_TSO RTE_ETH_TX_OFFLOAD_TCP_TSO #define RTE_ETH_TX_OFFLOAD_UDP_TSO RTE_BIT64(6) -#define DEV_TX_OFFLOAD_UDP_TSO RTE_ETH_TX_OFFLOAD_UDP_TSO #define RTE_ETH_TX_OFFLOAD_OUTER_IPV4_CKSUM RTE_BIT64(7) /**< Used for tunneling packet. */ -#define DEV_TX_OFFLOAD_OUTER_IPV4_CKSUM RTE_ETH_TX_OFFLOAD_OUTER_IPV4_CKSUM #define RTE_ETH_TX_OFFLOAD_QINQ_INSERT RTE_BIT64(8) -#define DEV_TX_OFFLOAD_QINQ_INSERT RTE_ETH_TX_OFFLOAD_QINQ_INSERT #define RTE_ETH_TX_OFFLOAD_VXLAN_TNL_TSO RTE_BIT64(9) /**< Used for tunneling packet. */ -#define DEV_TX_OFFLOAD_VXLAN_TNL_TSO RTE_ETH_TX_OFFLOAD_VXLAN_TNL_TSO #define RTE_ETH_TX_OFFLOAD_GRE_TNL_TSO RTE_BIT64(10) /**< Used for tunneling packet. */ -#define DEV_TX_OFFLOAD_GRE_TNL_TSO RTE_ETH_TX_OFFLOAD_GRE_TNL_TSO #define RTE_ETH_TX_OFFLOAD_IPIP_TNL_TSO RTE_BIT64(11) /**< Used for tunneling packet. */ -#define DEV_TX_OFFLOAD_IPIP_TNL_TSO RTE_ETH_TX_OFFLOAD_IPIP_TNL_TSO #define RTE_ETH_TX_OFFLOAD_GENEVE_TNL_TSO RTE_BIT64(12) /**< Used for tunneling packet. */ -#define DEV_TX_OFFLOAD_GENEVE_TNL_TSO RTE_ETH_TX_OFFLOAD_GENEVE_TNL_TSO #define RTE_ETH_TX_OFFLOAD_MACSEC_INSERT RTE_BIT64(13) -#define DEV_TX_OFFLOAD_MACSEC_INSERT RTE_ETH_TX_OFFLOAD_MACSEC_INSERT /** * Multiple threads can invoke rte_eth_tx_burst() concurrently on the same * Tx queue without SW lock. */ #define RTE_ETH_TX_OFFLOAD_MT_LOCKFREE RTE_BIT64(14) -#define DEV_TX_OFFLOAD_MT_LOCKFREE RTE_ETH_TX_OFFLOAD_MT_LOCKFREE /** Device supports multi segment send. */ #define RTE_ETH_TX_OFFLOAD_MULTI_SEGS RTE_BIT64(15) -#define DEV_TX_OFFLOAD_MULTI_SEGS RTE_ETH_TX_OFFLOAD_MULTI_SEGS /** * Device supports optimization for fast release of mbufs. * When set application must guarantee that per-queue all mbufs comes from * the same mempool and has refcnt = 1. */ #define RTE_ETH_TX_OFFLOAD_MBUF_FAST_FREE RTE_BIT64(16) -#define DEV_TX_OFFLOAD_MBUF_FAST_FREE RTE_ETH_TX_OFFLOAD_MBUF_FAST_FREE #define RTE_ETH_TX_OFFLOAD_SECURITY RTE_BIT64(17) -#define DEV_TX_OFFLOAD_SECURITY RTE_ETH_TX_OFFLOAD_SECURITY /** * Device supports generic UDP tunneled packet TSO. * Application must set RTE_MBUF_F_TX_TUNNEL_UDP and other mbuf fields required * for tunnel TSO. */ #define RTE_ETH_TX_OFFLOAD_UDP_TNL_TSO RTE_BIT64(18) -#define DEV_TX_OFFLOAD_UDP_TNL_TSO RTE_ETH_TX_OFFLOAD_UDP_TNL_TSO /** * Device supports generic IP tunneled packet TSO. * Application must set RTE_MBUF_F_TX_TUNNEL_IP and other mbuf fields required * for tunnel TSO. */ #define RTE_ETH_TX_OFFLOAD_IP_TNL_TSO RTE_BIT64(19) -#define DEV_TX_OFFLOAD_IP_TNL_TSO RTE_ETH_TX_OFFLOAD_IP_TNL_TSO /** Device supports outer UDP checksum */ #define RTE_ETH_TX_OFFLOAD_OUTER_UDP_CKSUM RTE_BIT64(20) -#define DEV_TX_OFFLOAD_OUTER_UDP_CKSUM RTE_ETH_TX_OFFLOAD_OUTER_UDP_CKSUM /** * Device sends on time read from RTE_MBUF_DYNFIELD_TIMESTAMP_NAME * if RTE_MBUF_DYNFLAG_TX_TIMESTAMP_NAME is set in ol_flags. * The mbuf field and flag are registered when the offload is configured. */ #define RTE_ETH_TX_OFFLOAD_SEND_ON_TIMESTAMP RTE_BIT64(21) -#define DEV_TX_OFFLOAD_SEND_ON_TIMESTAMP RTE_ETH_TX_OFFLOAD_SEND_ON_TIMESTAMP /* * If new Tx offload capabilities are defined, they also must be * mentioned in rte_tx_offload_names in rte_ethdev.c file. */ +#define DEV_TX_OFFLOAD_VLAN_INSERT RTE_DEPRECATED(DEV_TX_OFFLOAD_VLAN_INSERT) RTE_ETH_TX_OFFLOAD_VLAN_INSERT +#define DEV_TX_OFFLOAD_IPV4_CKSUM RTE_DEPRECATED(DEV_TX_OFFLOAD_IPV4_CKSUM) RTE_ETH_TX_OFFLOAD_IPV4_CKSUM +#define DEV_TX_OFFLOAD_UDP_CKSUM RTE_DEPRECATED(DEV_TX_OFFLOAD_UDP_CKSUM) RTE_ETH_TX_OFFLOAD_UDP_CKSUM +#define DEV_TX_OFFLOAD_TCP_CKSUM RTE_DEPRECATED(DEV_TX_OFFLOAD_TCP_CKSUM) RTE_ETH_TX_OFFLOAD_TCP_CKSUM +#define DEV_TX_OFFLOAD_SCTP_CKSUM RTE_DEPRECATED(DEV_TX_OFFLOAD_SCTP_CKSUM) RTE_ETH_TX_OFFLOAD_SCTP_CKSUM +#define DEV_TX_OFFLOAD_TCP_TSO RTE_DEPRECATED(DEV_TX_OFFLOAD_TCP_TSO) RTE_ETH_TX_OFFLOAD_TCP_TSO +#define DEV_TX_OFFLOAD_UDP_TSO RTE_DEPRECATED(DEV_TX_OFFLOAD_UDP_TSO) RTE_ETH_TX_OFFLOAD_UDP_TSO +#define DEV_TX_OFFLOAD_OUTER_IPV4_CKSUM RTE_DEPRECATED(DEV_TX_OFFLOAD_OUTER_IPV4_CKSUM) RTE_ETH_TX_OFFLOAD_OUTER_IPV4_CKSUM +#define DEV_TX_OFFLOAD_QINQ_INSERT RTE_DEPRECATED(DEV_TX_OFFLOAD_QINQ_INSERT) RTE_ETH_TX_OFFLOAD_QINQ_INSERT +#define DEV_TX_OFFLOAD_VXLAN_TNL_TSO RTE_DEPRECATED(DEV_TX_OFFLOAD_VXLAN_TNL_TSO) RTE_ETH_TX_OFFLOAD_VXLAN_TNL_TSO +#define DEV_TX_OFFLOAD_GRE_TNL_TSO RTE_DEPRECATED(DEV_TX_OFFLOAD_GRE_TNL_TSO) RTE_ETH_TX_OFFLOAD_GRE_TNL_TSO +#define DEV_TX_OFFLOAD_IPIP_TNL_TSO RTE_DEPRECATED(DEV_TX_OFFLOAD_IPIP_TNL_TSO) RTE_ETH_TX_OFFLOAD_IPIP_TNL_TSO +#define DEV_TX_OFFLOAD_GENEVE_TNL_TSO RTE_DEPRECATED(DEV_TX_OFFLOAD_GENEVE_TNL_TSO) RTE_ETH_TX_OFFLOAD_GENEVE_TNL_TSO +#define DEV_TX_OFFLOAD_MACSEC_INSERT RTE_DEPRECATED(DEV_TX_OFFLOAD_MACSEC_INSERT) RTE_ETH_TX_OFFLOAD_MACSEC_INSERT +#define DEV_TX_OFFLOAD_MT_LOCKFREE RTE_DEPRECATED(DEV_TX_OFFLOAD_MT_LOCKFREE) RTE_ETH_TX_OFFLOAD_MT_LOCKFREE +#define DEV_TX_OFFLOAD_MULTI_SEGS RTE_DEPRECATED(DEV_TX_OFFLOAD_MULTI_SEGS) RTE_ETH_TX_OFFLOAD_MULTI_SEGS +#define DEV_TX_OFFLOAD_MBUF_FAST_FREE RTE_DEPRECATED(DEV_TX_OFFLOAD_MBUF_FAST_FREE) RTE_ETH_TX_OFFLOAD_MBUF_FAST_FREE +#define DEV_TX_OFFLOAD_SECURITY RTE_DEPRECATED(DEV_TX_OFFLOAD_SECURITY) RTE_ETH_TX_OFFLOAD_SECURITY +#define DEV_TX_OFFLOAD_UDP_TNL_TSO RTE_DEPRECATED(DEV_TX_OFFLOAD_UDP_TNL_TSO) RTE_ETH_TX_OFFLOAD_UDP_TNL_TSO +#define DEV_TX_OFFLOAD_IP_TNL_TSO RTE_DEPRECATED(DEV_TX_OFFLOAD_IP_TNL_TSO) RTE_ETH_TX_OFFLOAD_IP_TNL_TSO +#define DEV_TX_OFFLOAD_OUTER_UDP_CKSUM RTE_DEPRECATED(DEV_TX_OFFLOAD_OUTER_UDP_CKSUM) RTE_ETH_TX_OFFLOAD_OUTER_UDP_CKSUM +#define DEV_TX_OFFLOAD_SEND_ON_TIMESTAMP RTE_DEPRECATED(DEV_TX_OFFLOAD_SEND_ON_TIMESTAMP) RTE_ETH_TX_OFFLOAD_SEND_ON_TIMESTAMP + /**@{@name Device capabilities * Non-offload capabilities reported in rte_eth_dev_info.dev_capa. */ @@ -1931,9 +1999,10 @@ struct rte_eth_xstat_name { }; #define RTE_ETH_DCB_NUM_TCS 8 -#define ETH_DCB_NUM_TCS RTE_ETH_DCB_NUM_TCS #define RTE_ETH_MAX_VMDQ_POOL 64 -#define ETH_MAX_VMDQ_POOL RTE_ETH_MAX_VMDQ_POOL + +#define ETH_DCB_NUM_TCS RTE_DEPRECATED(ETH_DCB_NUM_TCS) RTE_ETH_DCB_NUM_TCS +#define ETH_MAX_VMDQ_POOL RTE_DEPRECATED(ETH_MAX_VMDQ_POOL) RTE_ETH_MAX_VMDQ_POOL /** * A structure used to get the information of queue and @@ -2610,7 +2679,7 @@ int rte_eth_tx_hairpin_queue_setup * - (-EINVAL) if bad parameter. * - (-ENODEV) if *port_id* invalid * - (-ENOTSUP) if hardware doesn't support. - * - Others detailed errors from PMD drivers. + * - Others detailed errors from PMDs. */ __rte_experimental int rte_eth_hairpin_get_peer_ports(uint16_t port_id, uint16_t *peer_ports, @@ -2636,7 +2705,7 @@ int rte_eth_hairpin_get_peer_ports(uint16_t port_id, uint16_t *peer_ports, * - (-ENODEV) if Tx port ID is invalid. * - (-EBUSY) if device is not in started state. * - (-ENOTSUP) if hardware doesn't support. - * - Others detailed errors from PMD drivers. + * - Others detailed errors from PMDs. */ __rte_experimental int rte_eth_hairpin_bind(uint16_t tx_port, uint16_t rx_port); @@ -2663,7 +2732,7 @@ int rte_eth_hairpin_bind(uint16_t tx_port, uint16_t rx_port); * - (-ENODEV) if Tx port ID is invalid. * - (-EBUSY) if device is in stopped state. * - (-ENOTSUP) if hardware doesn't support. - * - Others detailed errors from PMD drivers. + * - Others detailed errors from PMDs. */ __rte_experimental int rte_eth_hairpin_unbind(uint16_t tx_port, uint16_t rx_port); @@ -2706,7 +2775,7 @@ int rte_eth_dev_is_valid_port(uint16_t port_id); * - -ENODEV: if *port_id* is invalid. * - -EINVAL: The queue_id out of range or belong to hairpin. * - -EIO: if device is removed. - * - -ENOTSUP: The function not supported in PMD driver. + * - -ENOTSUP: The function not supported in PMD. */ int rte_eth_dev_rx_queue_start(uint16_t port_id, uint16_t rx_queue_id); @@ -2724,7 +2793,7 @@ int rte_eth_dev_rx_queue_start(uint16_t port_id, uint16_t rx_queue_id); * - -ENODEV: if *port_id* is invalid. * - -EINVAL: The queue_id out of range or belong to hairpin. * - -EIO: if device is removed. - * - -ENOTSUP: The function not supported in PMD driver. + * - -ENOTSUP: The function not supported in PMD. */ int rte_eth_dev_rx_queue_stop(uint16_t port_id, uint16_t rx_queue_id); @@ -2743,7 +2812,7 @@ int rte_eth_dev_rx_queue_stop(uint16_t port_id, uint16_t rx_queue_id); * - -ENODEV: if *port_id* is invalid. * - -EINVAL: The queue_id out of range or belong to hairpin. * - -EIO: if device is removed. - * - -ENOTSUP: The function not supported in PMD driver. + * - -ENOTSUP: The function not supported in PMD. */ int rte_eth_dev_tx_queue_start(uint16_t port_id, uint16_t tx_queue_id); @@ -2761,7 +2830,7 @@ int rte_eth_dev_tx_queue_start(uint16_t port_id, uint16_t tx_queue_id); * - -ENODEV: if *port_id* is invalid. * - -EINVAL: The queue_id out of range or belong to hairpin. * - -EIO: if device is removed. - * - -ENOTSUP: The function not supported in PMD driver. + * - -ENOTSUP: The function not supported in PMD. */ int rte_eth_dev_tx_queue_stop(uint16_t port_id, uint16_t tx_queue_id); @@ -2963,7 +3032,7 @@ int rte_eth_allmulticast_get(uint16_t port_id); * Link information written back. * @return * - (0) if successful. - * - (-ENOTSUP) if the function is not supported in PMD driver. + * - (-ENOTSUP) if the function is not supported in PMD. * - (-ENODEV) if *port_id* invalid. * - (-EINVAL) if bad parameter. */ @@ -2979,7 +3048,7 @@ int rte_eth_link_get(uint16_t port_id, struct rte_eth_link *link); * Link information written back. * @return * - (0) if successful. - * - (-ENOTSUP) if the function is not supported in PMD driver. + * - (-ENOTSUP) if the function is not supported in PMD. * - (-ENODEV) if *port_id* invalid. * - (-EINVAL) if bad parameter. */ @@ -4144,6 +4213,54 @@ int rte_eth_dev_priority_flow_ctrl_set(uint16_t port_id, int rte_eth_dev_mac_addr_add(uint16_t port_id, struct rte_ether_addr *mac_addr, uint32_t pool); +/** + * @warning + * @b EXPERIMENTAL: this API may change without prior notice. + * + * Retrieve the information for queue based PFC. + * + * @param port_id + * The port identifier of the Ethernet device. + * @param pfc_queue_info + * A pointer to a structure of type *rte_eth_pfc_queue_info* to be filled with + * the information about queue based PFC. + * @return + * - (0) if successful. + * - (-ENOTSUP) if support for priority_flow_ctrl_queue_info_get does not exist. + * - (-ENODEV) if *port_id* invalid. + * - (-EINVAL) if bad parameter. + */ +__rte_experimental +int rte_eth_dev_priority_flow_ctrl_queue_info_get(uint16_t port_id, + struct rte_eth_pfc_queue_info *pfc_queue_info); + +/** + * @warning + * @b EXPERIMENTAL: this API may change without prior notice. + * + * Configure the queue based priority flow control for a given queue + * for Ethernet device. + * + * @note When an ethdev port switches to queue based PFC mode, the + * unconfigured queues shall be configured by the driver with + * default values such as lower priority value for TC etc. + * + * @param port_id + * The port identifier of the Ethernet device. + * @param pfc_queue_conf + * The pointer to the structure of the priority flow control parameters + * for the queue. + * @return + * - (0) if successful. + * - (-ENOTSUP) if hardware doesn't support queue based PFC mode. + * - (-ENODEV) if *port_id* invalid. + * - (-EINVAL) if bad parameter + * - (-EIO) if flow control setup queue failure + */ +__rte_experimental +int rte_eth_dev_priority_flow_ctrl_queue_configure(uint16_t port_id, + struct rte_eth_pfc_queue_conf *pfc_queue_conf); + /** * Remove a MAC address from the internal array of addresses. * @@ -5188,6 +5305,153 @@ int rte_eth_representor_info_get(uint16_t port_id, __rte_experimental int rte_eth_rx_metadata_negotiate(uint16_t port_id, uint64_t *features); +/** Flag to offload IP reassembly for IPv4 packets. */ +#define RTE_ETH_DEV_REASSEMBLY_F_IPV4 (RTE_BIT32(0)) +/** Flag to offload IP reassembly for IPv6 packets. */ +#define RTE_ETH_DEV_REASSEMBLY_F_IPV6 (RTE_BIT32(1)) + +/** + * A structure used to get/set IP reassembly configuration. It is also used + * to get the maximum capability values that a PMD can support. + * + * If rte_eth_ip_reassembly_capability_get() returns 0, IP reassembly can be + * enabled using rte_eth_ip_reassembly_conf_set() and params values lower than + * capability params can be set in the PMD. + */ +struct rte_eth_ip_reassembly_params { + /** Maximum time in ms which PMD can wait for other fragments. */ + uint32_t timeout_ms; + /** Maximum number of fragments that can be reassembled. */ + uint16_t max_frags; + /** + * Flags to enable reassembly of packet types - + * RTE_ETH_DEV_REASSEMBLY_F_xxx. + */ + uint16_t flags; +}; + +/** + * @warning + * @b EXPERIMENTAL: this API may change without prior notice + * + * Get IP reassembly capabilities supported by the PMD. This is the first API + * to be called for enabling the IP reassembly offload feature. PMD will return + * the maximum values of parameters that PMD can support and user can call + * rte_eth_ip_reassembly_conf_set() with param values lower than capability. + * + * @param port_id + * The port identifier of the device. + * @param capa + * A pointer to rte_eth_ip_reassembly_params structure. + * @return + * - (-ENOTSUP) if offload configuration is not supported by device. + * - (-ENODEV) if *port_id* invalid. + * - (-EIO) if device is removed. + * - (-EINVAL) if device is not configured or *capa* passed is NULL. + * - (0) on success. + */ +__rte_experimental +int rte_eth_ip_reassembly_capability_get(uint16_t port_id, + struct rte_eth_ip_reassembly_params *capa); + +/** + * @warning + * @b EXPERIMENTAL: this API may change without prior notice + * + * Get IP reassembly configuration parameters currently set in PMD. + * The API will return error if the configuration is not already + * set using rte_eth_ip_reassembly_conf_set() before calling this API or if + * the device is not configured. + * + * @param port_id + * The port identifier of the device. + * @param conf + * A pointer to rte_eth_ip_reassembly_params structure. + * @return + * - (-ENOTSUP) if offload configuration is not supported by device. + * - (-ENODEV) if *port_id* invalid. + * - (-EIO) if device is removed. + * - (-EINVAL) if device is not configured or if *conf* passed is NULL or if + * configuration is not set using rte_eth_ip_reassembly_conf_set(). + * - (0) on success. + */ +__rte_experimental +int rte_eth_ip_reassembly_conf_get(uint16_t port_id, + struct rte_eth_ip_reassembly_params *conf); + +/** + * @warning + * @b EXPERIMENTAL: this API may change without prior notice + * + * Set IP reassembly configuration parameters if the PMD supports IP reassembly + * offload. User should first call rte_eth_ip_reassembly_capability_get() to + * check the maximum values supported by the PMD before setting the + * configuration. The use of this API is mandatory to enable this feature and + * should be called before rte_eth_dev_start(). + * + * In datapath, PMD cannot guarantee that IP reassembly is always successful. + * Hence, PMD shall register mbuf dynamic field and dynamic flag using + * rte_eth_ip_reassembly_dynfield_register() to denote incomplete IP reassembly. + * If dynfield is not successfully registered, error will be returned and + * IP reassembly offload cannot be used. + * + * @param port_id + * The port identifier of the device. + * @param conf + * A pointer to rte_eth_ip_reassembly_params structure. + * @return + * - (-ENOTSUP) if offload configuration is not supported by device. + * - (-ENODEV) if *port_id* invalid. + * - (-EIO) if device is removed. + * - (-EINVAL) if device is not configured or if device is already started or + * if *conf* passed is NULL or if mbuf dynfield is not registered + * successfully by the PMD. + * - (0) on success. + */ +__rte_experimental +int rte_eth_ip_reassembly_conf_set(uint16_t port_id, + const struct rte_eth_ip_reassembly_params *conf); + +/** + * In case of IP reassembly offload failure, packet will be updated with + * dynamic flag - RTE_MBUF_DYNFLAG_IP_REASSEMBLY_INCOMPLETE_NAME and packets + * will be returned without alteration. + * The application can retrieve the attached fragments using mbuf dynamic field + * RTE_MBUF_DYNFIELD_IP_REASSEMBLY_NAME. + */ +typedef struct { + /** + * Next fragment packet. Application should fetch dynamic field of + * each fragment until a NULL is received and nb_frags is 0. + */ + struct rte_mbuf *next_frag; + /** Time spent(in ms) by HW in waiting for further fragments. */ + uint16_t time_spent; + /** Number of more fragments attached in mbuf dynamic fields. */ + uint16_t nb_frags; +} rte_eth_ip_reassembly_dynfield_t; + +/** + * @warning + * @b EXPERIMENTAL: this API may change, or be removed, without prior notice + * + * Dump private info from device to a file. Provided data and the order depends + * on the PMD. + * + * @param port_id + * The port identifier of the Ethernet device. + * @param file + * A pointer to a file for output. + * @return + * - (0) on success. + * - (-ENODEV) if *port_id* is invalid. + * - (-EINVAL) if null file. + * - (-ENOTSUP) if the device does not support this function. + * - (-EIO) if device is removed. + */ +__rte_experimental +int rte_eth_dev_priv_dump(uint16_t port_id, FILE *file); + #include /**