155 #define RTE_ETHDEV_HAS_LRO_SUPPORT 158 #ifdef RTE_LIBRTE_ETHDEV_DEBUG 159 #define RTE_ETHDEV_DEBUG_RX 160 #define RTE_ETHDEV_DEBUG_TX 163 #include <rte_compat.h> 171 #include <rte_config.h> 175 #include "rte_dev_info.h" 177 extern int rte_eth_dev_logtype;
179 #define RTE_ETHDEV_LOG(level, ...) \ 180 rte_log(RTE_LOG_ ## level, rte_eth_dev_logtype, "" __VA_ARGS__) 245 #define RTE_ETH_FOREACH_MATCHING_DEV(id, devargs, iter) \ 246 for (rte_eth_iterator_init(iter, devargs), \ 247 id = rte_eth_iterator_next(iter); \ 248 id != RTE_MAX_ETHPORTS; \ 249 id = rte_eth_iterator_next(iter)) 289 #define RTE_ETH_LINK_SPEED_AUTONEG 0 290 #define RTE_ETH_LINK_SPEED_FIXED RTE_BIT32(0) 291 #define RTE_ETH_LINK_SPEED_10M_HD RTE_BIT32(1) 292 #define RTE_ETH_LINK_SPEED_10M RTE_BIT32(2) 293 #define RTE_ETH_LINK_SPEED_100M_HD RTE_BIT32(3) 294 #define RTE_ETH_LINK_SPEED_100M RTE_BIT32(4) 295 #define RTE_ETH_LINK_SPEED_1G RTE_BIT32(5) 296 #define RTE_ETH_LINK_SPEED_2_5G RTE_BIT32(6) 297 #define RTE_ETH_LINK_SPEED_5G RTE_BIT32(7) 298 #define RTE_ETH_LINK_SPEED_10G RTE_BIT32(8) 299 #define RTE_ETH_LINK_SPEED_20G RTE_BIT32(9) 300 #define RTE_ETH_LINK_SPEED_25G RTE_BIT32(10) 301 #define RTE_ETH_LINK_SPEED_40G RTE_BIT32(11) 302 #define RTE_ETH_LINK_SPEED_50G RTE_BIT32(12) 303 #define RTE_ETH_LINK_SPEED_56G RTE_BIT32(13) 304 #define RTE_ETH_LINK_SPEED_100G RTE_BIT32(14) 305 #define RTE_ETH_LINK_SPEED_200G RTE_BIT32(15) 308 #define ETH_LINK_SPEED_AUTONEG RTE_DEPRECATED(ETH_LINK_SPEED_AUTONEG) RTE_ETH_LINK_SPEED_AUTONEG 309 #define ETH_LINK_SPEED_FIXED RTE_DEPRECATED(ETH_LINK_SPEED_FIXED) RTE_ETH_LINK_SPEED_FIXED 310 #define ETH_LINK_SPEED_10M_HD RTE_DEPRECATED(ETH_LINK_SPEED_10M_HD) RTE_ETH_LINK_SPEED_10M_HD 311 #define ETH_LINK_SPEED_10M RTE_DEPRECATED(ETH_LINK_SPEED_10M) RTE_ETH_LINK_SPEED_10M 312 #define ETH_LINK_SPEED_100M_HD RTE_DEPRECATED(ETH_LINK_SPEED_100M_HD) RTE_ETH_LINK_SPEED_100M_HD 313 #define ETH_LINK_SPEED_100M RTE_DEPRECATED(ETH_LINK_SPEED_100M) RTE_ETH_LINK_SPEED_100M 314 #define ETH_LINK_SPEED_1G RTE_DEPRECATED(ETH_LINK_SPEED_1G) RTE_ETH_LINK_SPEED_1G 315 #define ETH_LINK_SPEED_2_5G RTE_DEPRECATED(ETH_LINK_SPEED_2_5G) RTE_ETH_LINK_SPEED_2_5G 316 #define ETH_LINK_SPEED_5G RTE_DEPRECATED(ETH_LINK_SPEED_5G) RTE_ETH_LINK_SPEED_5G 317 #define ETH_LINK_SPEED_10G RTE_DEPRECATED(ETH_LINK_SPEED_10G) RTE_ETH_LINK_SPEED_10G 318 #define ETH_LINK_SPEED_20G RTE_DEPRECATED(ETH_LINK_SPEED_20G) RTE_ETH_LINK_SPEED_20G 319 #define ETH_LINK_SPEED_25G RTE_DEPRECATED(ETH_LINK_SPEED_25G) RTE_ETH_LINK_SPEED_25G 320 #define ETH_LINK_SPEED_40G RTE_DEPRECATED(ETH_LINK_SPEED_40G) RTE_ETH_LINK_SPEED_40G 321 #define ETH_LINK_SPEED_50G RTE_DEPRECATED(ETH_LINK_SPEED_50G) RTE_ETH_LINK_SPEED_50G 322 #define ETH_LINK_SPEED_56G RTE_DEPRECATED(ETH_LINK_SPEED_56G) RTE_ETH_LINK_SPEED_56G 323 #define ETH_LINK_SPEED_100G RTE_DEPRECATED(ETH_LINK_SPEED_100G) RTE_ETH_LINK_SPEED_100G 324 #define ETH_LINK_SPEED_200G RTE_DEPRECATED(ETH_LINK_SPEED_200G) RTE_ETH_LINK_SPEED_200G 329 #define RTE_ETH_SPEED_NUM_NONE 0 330 #define RTE_ETH_SPEED_NUM_10M 10 331 #define RTE_ETH_SPEED_NUM_100M 100 332 #define RTE_ETH_SPEED_NUM_1G 1000 333 #define RTE_ETH_SPEED_NUM_2_5G 2500 334 #define RTE_ETH_SPEED_NUM_5G 5000 335 #define RTE_ETH_SPEED_NUM_10G 10000 336 #define RTE_ETH_SPEED_NUM_20G 20000 337 #define RTE_ETH_SPEED_NUM_25G 25000 338 #define RTE_ETH_SPEED_NUM_40G 40000 339 #define RTE_ETH_SPEED_NUM_50G 50000 340 #define RTE_ETH_SPEED_NUM_56G 56000 341 #define RTE_ETH_SPEED_NUM_100G 100000 342 #define RTE_ETH_SPEED_NUM_200G 200000 343 #define RTE_ETH_SPEED_NUM_UNKNOWN UINT32_MAX 346 #define ETH_SPEED_NUM_NONE RTE_DEPRECATED(ETH_SPEED_NUM_NONE) RTE_ETH_SPEED_NUM_NONE 347 #define ETH_SPEED_NUM_10M RTE_DEPRECATED(ETH_SPEED_NUM_10M) RTE_ETH_SPEED_NUM_10M 348 #define ETH_SPEED_NUM_100M RTE_DEPRECATED(ETH_SPEED_NUM_100M) RTE_ETH_SPEED_NUM_100M 349 #define ETH_SPEED_NUM_1G RTE_DEPRECATED(ETH_SPEED_NUM_1G) RTE_ETH_SPEED_NUM_1G 350 #define ETH_SPEED_NUM_2_5G RTE_DEPRECATED(ETH_SPEED_NUM_2_5G) RTE_ETH_SPEED_NUM_2_5G 351 #define ETH_SPEED_NUM_5G RTE_DEPRECATED(ETH_SPEED_NUM_5G) RTE_ETH_SPEED_NUM_5G 352 #define ETH_SPEED_NUM_10G RTE_DEPRECATED(ETH_SPEED_NUM_10G) RTE_ETH_SPEED_NUM_10G 353 #define ETH_SPEED_NUM_20G RTE_DEPRECATED(ETH_SPEED_NUM_20G) RTE_ETH_SPEED_NUM_20G 354 #define ETH_SPEED_NUM_25G RTE_DEPRECATED(ETH_SPEED_NUM_25G) RTE_ETH_SPEED_NUM_25G 355 #define ETH_SPEED_NUM_40G RTE_DEPRECATED(ETH_SPEED_NUM_40G) RTE_ETH_SPEED_NUM_40G 356 #define ETH_SPEED_NUM_50G RTE_DEPRECATED(ETH_SPEED_NUM_50G) RTE_ETH_SPEED_NUM_50G 357 #define ETH_SPEED_NUM_56G RTE_DEPRECATED(ETH_SPEED_NUM_56G) RTE_ETH_SPEED_NUM_56G 358 #define ETH_SPEED_NUM_100G RTE_DEPRECATED(ETH_SPEED_NUM_100G) RTE_ETH_SPEED_NUM_100G 359 #define ETH_SPEED_NUM_200G RTE_DEPRECATED(ETH_SPEED_NUM_200G) RTE_ETH_SPEED_NUM_200G 360 #define ETH_SPEED_NUM_UNKNOWN RTE_DEPRECATED(ETH_SPEED_NUM_UNKNOWN) RTE_ETH_SPEED_NUM_UNKNOWN 376 #define RTE_ETH_LINK_HALF_DUPLEX 0 377 #define RTE_ETH_LINK_FULL_DUPLEX 1 378 #define RTE_ETH_LINK_DOWN 0 379 #define RTE_ETH_LINK_UP 1 380 #define RTE_ETH_LINK_FIXED 0 381 #define RTE_ETH_LINK_AUTONEG 1 382 #define RTE_ETH_LINK_MAX_STR_LEN 40 385 #define ETH_LINK_HALF_DUPLEX RTE_DEPRECATED(ETH_LINK_HALF_DUPLEX) RTE_ETH_LINK_HALF_DUPLEX 386 #define ETH_LINK_FULL_DUPLEX RTE_DEPRECATED(ETH_LINK_FULL_DUPLEX) RTE_ETH_LINK_FULL_DUPLEX 387 #define ETH_LINK_DOWN RTE_DEPRECATED(ETH_LINK_DOWN) RTE_ETH_LINK_DOWN 388 #define ETH_LINK_UP RTE_DEPRECATED(ETH_LINK_UP) RTE_ETH_LINK_UP 389 #define ETH_LINK_FIXED RTE_DEPRECATED(ETH_LINK_FIXED) RTE_ETH_LINK_FIXED 390 #define ETH_LINK_AUTONEG RTE_DEPRECATED(ETH_LINK_AUTONEG) RTE_ETH_LINK_AUTONEG 405 #define RTE_ETH_MQ_RX_RSS_FLAG RTE_BIT32(0) 406 #define RTE_ETH_MQ_RX_DCB_FLAG RTE_BIT32(1) 407 #define RTE_ETH_MQ_RX_VMDQ_FLAG RTE_BIT32(2) 410 #define ETH_MQ_RX_RSS_FLAG RTE_DEPRECATED(ETH_MQ_RX_RSS_FLAG) RTE_ETH_MQ_RX_RSS_FLAG 411 #define ETH_MQ_RX_DCB_FLAG RTE_DEPRECATED(ETH_MQ_RX_DCB_FLAG) RTE_ETH_MQ_RX_DCB_FLAG 412 #define ETH_MQ_RX_VMDQ_FLAG RTE_DEPRECATED(ETH_MQ_RX_VMDQ_FLAG) RTE_ETH_MQ_RX_VMDQ_FLAG 440 #define ETH_MQ_RX_NONE RTE_DEPRECATED(ETH_MQ_RX_NONE) RTE_ETH_MQ_RX_NONE 441 #define ETH_MQ_RX_RSS RTE_DEPRECATED(ETH_MQ_RX_RSS) RTE_ETH_MQ_RX_RSS 442 #define ETH_MQ_RX_DCB RTE_DEPRECATED(ETH_MQ_RX_DCB) RTE_ETH_MQ_RX_DCB 443 #define ETH_MQ_RX_DCB_RSS RTE_DEPRECATED(ETH_MQ_RX_DCB_RSS) RTE_ETH_MQ_RX_DCB_RSS 444 #define ETH_MQ_RX_VMDQ_ONLY RTE_DEPRECATED(ETH_MQ_RX_VMDQ_ONLY) RTE_ETH_MQ_RX_VMDQ_ONLY 445 #define ETH_MQ_RX_VMDQ_RSS RTE_DEPRECATED(ETH_MQ_RX_VMDQ_RSS) RTE_ETH_MQ_RX_VMDQ_RSS 446 #define ETH_MQ_RX_VMDQ_DCB RTE_DEPRECATED(ETH_MQ_RX_VMDQ_DCB) RTE_ETH_MQ_RX_VMDQ_DCB 447 #define ETH_MQ_RX_VMDQ_DCB_RSS RTE_DEPRECATED(ETH_MQ_RX_VMDQ_DCB_RSS) RTE_ETH_MQ_RX_VMDQ_DCB_RSS 460 #define ETH_MQ_TX_NONE RTE_DEPRECATED(ETH_MQ_TX_NONE) RTE_ETH_MQ_TX_NONE 461 #define ETH_MQ_TX_DCB RTE_DEPRECATED(ETH_MQ_TX_DCB) RTE_ETH_MQ_TX_DCB 462 #define ETH_MQ_TX_VMDQ_DCB RTE_DEPRECATED(ETH_MQ_TX_VMDQ_DCB) RTE_ETH_MQ_TX_VMDQ_DCB 463 #define ETH_MQ_TX_VMDQ_ONLY RTE_DEPRECATED(ETH_MQ_TX_VMDQ_ONLY) RTE_ETH_MQ_TX_VMDQ_ONLY 482 uint64_t reserved_64s[2];
483 void *reserved_ptrs[2];
491 RTE_ETH_VLAN_TYPE_UNKNOWN = 0,
494 RTE_ETH_VLAN_TYPE_MAX,
497 #define ETH_VLAN_TYPE_UNKNOWN RTE_DEPRECATED(ETH_VLAN_TYPE_UNKNOWN) RTE_ETH_VLAN_TYPE_UNKNOWN 498 #define ETH_VLAN_TYPE_INNER RTE_DEPRECATED(ETH_VLAN_TYPE_INNER) RTE_ETH_VLAN_TYPE_INNER 499 #define ETH_VLAN_TYPE_OUTER RTE_DEPRECATED(ETH_VLAN_TYPE_OUTER) RTE_ETH_VLAN_TYPE_OUTER 500 #define ETH_VLAN_TYPE_MAX RTE_DEPRECATED(ETH_VLAN_TYPE_MAX) RTE_ETH_VLAN_TYPE_MAX 541 #define RTE_ETH_FLOW_UNKNOWN 0 542 #define RTE_ETH_FLOW_RAW 1 543 #define RTE_ETH_FLOW_IPV4 2 544 #define RTE_ETH_FLOW_FRAG_IPV4 3 545 #define RTE_ETH_FLOW_NONFRAG_IPV4_TCP 4 546 #define RTE_ETH_FLOW_NONFRAG_IPV4_UDP 5 547 #define RTE_ETH_FLOW_NONFRAG_IPV4_SCTP 6 548 #define RTE_ETH_FLOW_NONFRAG_IPV4_OTHER 7 549 #define RTE_ETH_FLOW_IPV6 8 550 #define RTE_ETH_FLOW_FRAG_IPV6 9 551 #define RTE_ETH_FLOW_NONFRAG_IPV6_TCP 10 552 #define RTE_ETH_FLOW_NONFRAG_IPV6_UDP 11 553 #define RTE_ETH_FLOW_NONFRAG_IPV6_SCTP 12 554 #define RTE_ETH_FLOW_NONFRAG_IPV6_OTHER 13 555 #define RTE_ETH_FLOW_L2_PAYLOAD 14 556 #define RTE_ETH_FLOW_IPV6_EX 15 557 #define RTE_ETH_FLOW_IPV6_TCP_EX 16 558 #define RTE_ETH_FLOW_IPV6_UDP_EX 17 560 #define RTE_ETH_FLOW_PORT 18 561 #define RTE_ETH_FLOW_VXLAN 19 562 #define RTE_ETH_FLOW_GENEVE 20 563 #define RTE_ETH_FLOW_NVGRE 21 564 #define RTE_ETH_FLOW_VXLAN_GPE 22 565 #define RTE_ETH_FLOW_GTPU 23 566 #define RTE_ETH_FLOW_MAX 24 572 #define RTE_ETH_RSS_IPV4 RTE_BIT64(2) 573 #define RTE_ETH_RSS_FRAG_IPV4 RTE_BIT64(3) 574 #define RTE_ETH_RSS_NONFRAG_IPV4_TCP RTE_BIT64(4) 575 #define RTE_ETH_RSS_NONFRAG_IPV4_UDP RTE_BIT64(5) 576 #define RTE_ETH_RSS_NONFRAG_IPV4_SCTP RTE_BIT64(6) 577 #define RTE_ETH_RSS_NONFRAG_IPV4_OTHER RTE_BIT64(7) 578 #define RTE_ETH_RSS_IPV6 RTE_BIT64(8) 579 #define RTE_ETH_RSS_FRAG_IPV6 RTE_BIT64(9) 580 #define RTE_ETH_RSS_NONFRAG_IPV6_TCP RTE_BIT64(10) 581 #define RTE_ETH_RSS_NONFRAG_IPV6_UDP RTE_BIT64(11) 582 #define RTE_ETH_RSS_NONFRAG_IPV6_SCTP RTE_BIT64(12) 583 #define RTE_ETH_RSS_NONFRAG_IPV6_OTHER RTE_BIT64(13) 584 #define RTE_ETH_RSS_L2_PAYLOAD RTE_BIT64(14) 585 #define RTE_ETH_RSS_IPV6_EX RTE_BIT64(15) 586 #define RTE_ETH_RSS_IPV6_TCP_EX RTE_BIT64(16) 587 #define RTE_ETH_RSS_IPV6_UDP_EX RTE_BIT64(17) 588 #define RTE_ETH_RSS_PORT RTE_BIT64(18) 589 #define RTE_ETH_RSS_VXLAN RTE_BIT64(19) 590 #define RTE_ETH_RSS_GENEVE RTE_BIT64(20) 591 #define RTE_ETH_RSS_NVGRE RTE_BIT64(21) 592 #define RTE_ETH_RSS_GTPU RTE_BIT64(23) 593 #define RTE_ETH_RSS_ETH RTE_BIT64(24) 594 #define RTE_ETH_RSS_S_VLAN RTE_BIT64(25) 595 #define RTE_ETH_RSS_C_VLAN RTE_BIT64(26) 596 #define RTE_ETH_RSS_ESP RTE_BIT64(27) 597 #define RTE_ETH_RSS_AH RTE_BIT64(28) 598 #define RTE_ETH_RSS_L2TPV3 RTE_BIT64(29) 599 #define RTE_ETH_RSS_PFCP RTE_BIT64(30) 600 #define RTE_ETH_RSS_PPPOE RTE_BIT64(31) 601 #define RTE_ETH_RSS_ECPRI RTE_BIT64(32) 602 #define RTE_ETH_RSS_MPLS RTE_BIT64(33) 603 #define RTE_ETH_RSS_IPV4_CHKSUM RTE_BIT64(34) 605 #define ETH_RSS_IPV4 RTE_DEPRECATED(ETH_RSS_IPV4) RTE_ETH_RSS_IPV4 606 #define ETH_RSS_FRAG_IPV4 RTE_DEPRECATED(ETH_RSS_FRAG_IPV4) RTE_ETH_RSS_FRAG_IPV4 607 #define ETH_RSS_NONFRAG_IPV4_TCP RTE_DEPRECATED(ETH_RSS_NONFRAG_IPV4_TCP) RTE_ETH_RSS_NONFRAG_IPV4_TCP 608 #define ETH_RSS_NONFRAG_IPV4_UDP RTE_DEPRECATED(ETH_RSS_NONFRAG_IPV4_UDP) RTE_ETH_RSS_NONFRAG_IPV4_UDP 609 #define ETH_RSS_NONFRAG_IPV4_SCTP RTE_DEPRECATED(ETH_RSS_NONFRAG_IPV4_SCTP) RTE_ETH_RSS_NONFRAG_IPV4_SCTP 610 #define ETH_RSS_NONFRAG_IPV4_OTHER RTE_DEPRECATED(ETH_RSS_NONFRAG_IPV4_OTHER) RTE_ETH_RSS_NONFRAG_IPV4_OTHER 611 #define ETH_RSS_IPV6 RTE_DEPRECATED(ETH_RSS_IPV6) RTE_ETH_RSS_IPV6 612 #define ETH_RSS_FRAG_IPV6 RTE_DEPRECATED(ETH_RSS_FRAG_IPV6) RTE_ETH_RSS_FRAG_IPV6 613 #define ETH_RSS_NONFRAG_IPV6_TCP RTE_DEPRECATED(ETH_RSS_NONFRAG_IPV6_TCP) RTE_ETH_RSS_NONFRAG_IPV6_TCP 614 #define ETH_RSS_NONFRAG_IPV6_UDP RTE_DEPRECATED(ETH_RSS_NONFRAG_IPV6_UDP) RTE_ETH_RSS_NONFRAG_IPV6_UDP 615 #define ETH_RSS_NONFRAG_IPV6_SCTP RTE_DEPRECATED(ETH_RSS_NONFRAG_IPV6_SCTP) RTE_ETH_RSS_NONFRAG_IPV6_SCTP 616 #define ETH_RSS_NONFRAG_IPV6_OTHER RTE_DEPRECATED(ETH_RSS_NONFRAG_IPV6_OTHER) RTE_ETH_RSS_NONFRAG_IPV6_OTHER 617 #define ETH_RSS_L2_PAYLOAD RTE_DEPRECATED(ETH_RSS_L2_PAYLOAD) RTE_ETH_RSS_L2_PAYLOAD 618 #define ETH_RSS_IPV6_EX RTE_DEPRECATED(ETH_RSS_IPV6_EX) RTE_ETH_RSS_IPV6_EX 619 #define ETH_RSS_IPV6_TCP_EX RTE_DEPRECATED(ETH_RSS_IPV6_TCP_EX) RTE_ETH_RSS_IPV6_TCP_EX 620 #define ETH_RSS_IPV6_UDP_EX RTE_DEPRECATED(ETH_RSS_IPV6_UDP_EX) RTE_ETH_RSS_IPV6_UDP_EX 621 #define ETH_RSS_PORT RTE_DEPRECATED(ETH_RSS_PORT) RTE_ETH_RSS_PORT 622 #define ETH_RSS_VXLAN RTE_DEPRECATED(ETH_RSS_VXLAN) RTE_ETH_RSS_VXLAN 623 #define ETH_RSS_GENEVE RTE_DEPRECATED(ETH_RSS_GENEVE) RTE_ETH_RSS_GENEVE 624 #define ETH_RSS_NVGRE RTE_DEPRECATED(ETH_RSS_NVGRE) RTE_ETH_RSS_NVGRE 625 #define ETH_RSS_GTPU RTE_DEPRECATED(ETH_RSS_GTPU) RTE_ETH_RSS_GTPU 626 #define ETH_RSS_ETH RTE_DEPRECATED(ETH_RSS_ETH) RTE_ETH_RSS_ETH 627 #define ETH_RSS_S_VLAN RTE_DEPRECATED(ETH_RSS_S_VLAN) RTE_ETH_RSS_S_VLAN 628 #define ETH_RSS_C_VLAN RTE_DEPRECATED(ETH_RSS_C_VLAN) RTE_ETH_RSS_C_VLAN 629 #define ETH_RSS_ESP RTE_DEPRECATED(ETH_RSS_ESP) RTE_ETH_RSS_ESP 630 #define ETH_RSS_AH RTE_DEPRECATED(ETH_RSS_AH) RTE_ETH_RSS_AH 631 #define ETH_RSS_L2TPV3 RTE_DEPRECATED(ETH_RSS_L2TPV3) RTE_ETH_RSS_L2TPV3 632 #define ETH_RSS_PFCP RTE_DEPRECATED(ETH_RSS_PFCP) RTE_ETH_RSS_PFCP 633 #define ETH_RSS_PPPOE RTE_DEPRECATED(ETH_RSS_PPPOE) RTE_ETH_RSS_PPPOE 634 #define ETH_RSS_ECPRI RTE_DEPRECATED(ETH_RSS_ECPRI) RTE_ETH_RSS_ECPRI 635 #define ETH_RSS_MPLS RTE_DEPRECATED(ETH_RSS_MPLS) RTE_ETH_RSS_MPLS 636 #define ETH_RSS_IPV4_CHKSUM RTE_DEPRECATED(ETH_RSS_IPV4_CHKSUM) RTE_ETH_RSS_IPV4_CHKSUM 650 #define RTE_ETH_RSS_L4_CHKSUM RTE_BIT64(35) 651 #define ETH_RSS_L4_CHKSUM RTE_DEPRECATED(ETH_RSS_L4_CHKSUM) RTE_ETH_RSS_L4_CHKSUM 653 #define RTE_ETH_RSS_L2TPV2 RTE_BIT64(36) 664 #define RTE_ETH_RSS_L3_SRC_ONLY RTE_BIT64(63) 665 #define RTE_ETH_RSS_L3_DST_ONLY RTE_BIT64(62) 666 #define RTE_ETH_RSS_L4_SRC_ONLY RTE_BIT64(61) 667 #define RTE_ETH_RSS_L4_DST_ONLY RTE_BIT64(60) 668 #define RTE_ETH_RSS_L2_SRC_ONLY RTE_BIT64(59) 669 #define RTE_ETH_RSS_L2_DST_ONLY RTE_BIT64(58) 671 #define ETH_RSS_L3_SRC_ONLY RTE_DEPRECATED(ETH_RSS_L3_SRC_ONLY) RTE_ETH_RSS_L3_SRC_ONLY 672 #define ETH_RSS_L3_DST_ONLY RTE_DEPRECATED(ETH_RSS_L3_DST_ONLY) RTE_ETH_RSS_L3_DST_ONLY 673 #define ETH_RSS_L4_SRC_ONLY RTE_DEPRECATED(ETH_RSS_L4_SRC_ONLY) RTE_ETH_RSS_L4_SRC_ONLY 674 #define ETH_RSS_L4_DST_ONLY RTE_DEPRECATED(ETH_RSS_L4_DST_ONLY) RTE_ETH_RSS_L4_DST_ONLY 675 #define ETH_RSS_L2_SRC_ONLY RTE_DEPRECATED(ETH_RSS_L2_SRC_ONLY) RTE_ETH_RSS_L2_SRC_ONLY 676 #define ETH_RSS_L2_DST_ONLY RTE_DEPRECATED(ETH_RSS_L2_DST_ONLY) RTE_ETH_RSS_L2_DST_ONLY 684 #define RTE_ETH_RSS_L3_PRE32 RTE_BIT64(57) 685 #define RTE_ETH_RSS_L3_PRE40 RTE_BIT64(56) 686 #define RTE_ETH_RSS_L3_PRE48 RTE_BIT64(55) 687 #define RTE_ETH_RSS_L3_PRE56 RTE_BIT64(54) 688 #define RTE_ETH_RSS_L3_PRE64 RTE_BIT64(53) 689 #define RTE_ETH_RSS_L3_PRE96 RTE_BIT64(52) 704 #define RTE_ETH_RSS_LEVEL_PMD_DEFAULT (UINT64_C(0) << 50) 705 #define ETH_RSS_LEVEL_PMD_DEFAULT RTE_DEPRECATED(ETH_RSS_LEVEL_PMD_DEFAULT) RTE_ETH_RSS_LEVEL_PMD_DEFAULT 711 #define RTE_ETH_RSS_LEVEL_OUTERMOST (UINT64_C(1) << 50) 712 #define ETH_RSS_LEVEL_OUTERMOST RTE_DEPRECATED(ETH_RSS_LEVEL_OUTERMOST) RTE_ETH_RSS_LEVEL_OUTERMOST 718 #define RTE_ETH_RSS_LEVEL_INNERMOST (UINT64_C(2) << 50) 719 #define RTE_ETH_RSS_LEVEL_MASK (UINT64_C(3) << 50) 721 #define ETH_RSS_LEVEL_INNERMOST RTE_DEPRECATED(ETH_RSS_LEVEL_INNERMOST) RTE_ETH_RSS_LEVEL_INNERMOST 722 #define ETH_RSS_LEVEL_MASK RTE_DEPRECATED(ETH_RSS_LEVEL_MASK) RTE_ETH_RSS_LEVEL_MASK 724 #define RTE_ETH_RSS_LEVEL(rss_hf) ((rss_hf & RTE_ETH_RSS_LEVEL_MASK) >> 50) 725 #define ETH_RSS_LEVEL(rss_hf) RTE_DEPRECATED(ETH_RSS_LEVEL(rss_hf)) RTE_ETH_RSS_LEVEL(rss_hf) 737 static inline uint64_t
740 if ((rss_hf & RTE_ETH_RSS_L3_SRC_ONLY) && (rss_hf & RTE_ETH_RSS_L3_DST_ONLY))
741 rss_hf &= ~(RTE_ETH_RSS_L3_SRC_ONLY | RTE_ETH_RSS_L3_DST_ONLY);
743 if ((rss_hf & RTE_ETH_RSS_L4_SRC_ONLY) && (rss_hf & RTE_ETH_RSS_L4_DST_ONLY))
744 rss_hf &= ~(RTE_ETH_RSS_L4_SRC_ONLY | RTE_ETH_RSS_L4_DST_ONLY);
749 #define RTE_ETH_RSS_IPV6_PRE32 ( \ 751 RTE_ETH_RSS_L3_PRE32) 752 #define ETH_RSS_IPV6_PRE32 RTE_DEPRECATED(ETH_RSS_IPV6_PRE32) RTE_ETH_RSS_IPV6_PRE32 754 #define RTE_ETH_RSS_IPV6_PRE40 ( \ 756 RTE_ETH_RSS_L3_PRE40) 757 #define ETH_RSS_IPV6_PRE40 RTE_DEPRECATED(ETH_RSS_IPV6_PRE40) RTE_ETH_RSS_IPV6_PRE40 759 #define RTE_ETH_RSS_IPV6_PRE48 ( \ 761 RTE_ETH_RSS_L3_PRE48) 762 #define ETH_RSS_IPV6_PRE48 RTE_DEPRECATED(ETH_RSS_IPV6_PRE48) RTE_ETH_RSS_IPV6_PRE48 764 #define RTE_ETH_RSS_IPV6_PRE56 ( \ 766 RTE_ETH_RSS_L3_PRE56) 767 #define ETH_RSS_IPV6_PRE56 RTE_DEPRECATED(ETH_RSS_IPV6_PRE56) RTE_ETH_RSS_IPV6_PRE56 769 #define RTE_ETH_RSS_IPV6_PRE64 ( \ 771 RTE_ETH_RSS_L3_PRE64) 772 #define ETH_RSS_IPV6_PRE64 RTE_DEPRECATED(ETH_RSS_IPV6_PRE64) RTE_ETH_RSS_IPV6_PRE64 774 #define RTE_ETH_RSS_IPV6_PRE96 ( \ 776 RTE_ETH_RSS_L3_PRE96) 777 #define ETH_RSS_IPV6_PRE96 RTE_DEPRECATED(ETH_RSS_IPV6_PRE96) RTE_ETH_RSS_IPV6_PRE96 779 #define RTE_ETH_RSS_IPV6_PRE32_UDP ( \ 780 RTE_ETH_RSS_NONFRAG_IPV6_UDP | \ 781 RTE_ETH_RSS_L3_PRE32) 782 #define ETH_RSS_IPV6_PRE32_UDP RTE_DEPRECATED(ETH_RSS_IPV6_PRE32_UDP) RTE_ETH_RSS_IPV6_PRE32_UDP 784 #define RTE_ETH_RSS_IPV6_PRE40_UDP ( \ 785 RTE_ETH_RSS_NONFRAG_IPV6_UDP | \ 786 RTE_ETH_RSS_L3_PRE40) 787 #define ETH_RSS_IPV6_PRE40_UDP RTE_DEPRECATED(ETH_RSS_IPV6_PRE40_UDP) RTE_ETH_RSS_IPV6_PRE40_UDP 789 #define RTE_ETH_RSS_IPV6_PRE48_UDP ( \ 790 RTE_ETH_RSS_NONFRAG_IPV6_UDP | \ 791 RTE_ETH_RSS_L3_PRE48) 792 #define ETH_RSS_IPV6_PRE48_UDP RTE_DEPRECATED(ETH_RSS_IPV6_PRE48_UDP) RTE_ETH_RSS_IPV6_PRE48_UDP 794 #define RTE_ETH_RSS_IPV6_PRE56_UDP ( \ 795 RTE_ETH_RSS_NONFRAG_IPV6_UDP | \ 796 RTE_ETH_RSS_L3_PRE56) 797 #define ETH_RSS_IPV6_PRE56_UDP RTE_DEPRECATED(ETH_RSS_IPV6_PRE56_UDP) RTE_ETH_RSS_IPV6_PRE56_UDP 799 #define RTE_ETH_RSS_IPV6_PRE64_UDP ( \ 800 RTE_ETH_RSS_NONFRAG_IPV6_UDP | \ 801 RTE_ETH_RSS_L3_PRE64) 802 #define ETH_RSS_IPV6_PRE64_UDP RTE_DEPRECATED(ETH_RSS_IPV6_PRE64_UDP) RTE_ETH_RSS_IPV6_PRE64_UDP 804 #define RTE_ETH_RSS_IPV6_PRE96_UDP ( \ 805 RTE_ETH_RSS_NONFRAG_IPV6_UDP | \ 806 RTE_ETH_RSS_L3_PRE96) 807 #define ETH_RSS_IPV6_PRE96_UDP RTE_DEPRECATED(ETH_RSS_IPV6_PRE96_UDP) RTE_ETH_RSS_IPV6_PRE96_UDP 809 #define RTE_ETH_RSS_IPV6_PRE32_TCP ( \ 810 RTE_ETH_RSS_NONFRAG_IPV6_TCP | \ 811 RTE_ETH_RSS_L3_PRE32) 812 #define ETH_RSS_IPV6_PRE32_TCP RTE_DEPRECATED(ETH_RSS_IPV6_PRE32_TCP) RTE_ETH_RSS_IPV6_PRE32_TCP 814 #define RTE_ETH_RSS_IPV6_PRE40_TCP ( \ 815 RTE_ETH_RSS_NONFRAG_IPV6_TCP | \ 816 RTE_ETH_RSS_L3_PRE40) 817 #define ETH_RSS_IPV6_PRE40_TCP RTE_DEPRECATED(ETH_RSS_IPV6_PRE40_TCP) RTE_ETH_RSS_IPV6_PRE40_TCP 819 #define RTE_ETH_RSS_IPV6_PRE48_TCP ( \ 820 RTE_ETH_RSS_NONFRAG_IPV6_TCP | \ 821 RTE_ETH_RSS_L3_PRE48) 822 #define ETH_RSS_IPV6_PRE48_TCP RTE_DEPRECATED(ETH_RSS_IPV6_PRE48_TCP) RTE_ETH_RSS_IPV6_PRE48_TCP 824 #define RTE_ETH_RSS_IPV6_PRE56_TCP ( \ 825 RTE_ETH_RSS_NONFRAG_IPV6_TCP | \ 826 RTE_ETH_RSS_L3_PRE56) 827 #define ETH_RSS_IPV6_PRE56_TCP RTE_DEPRECATED(ETH_RSS_IPV6_PRE56_TCP) RTE_ETH_RSS_IPV6_PRE56_TCP 829 #define RTE_ETH_RSS_IPV6_PRE64_TCP ( \ 830 RTE_ETH_RSS_NONFRAG_IPV6_TCP | \ 831 RTE_ETH_RSS_L3_PRE64) 832 #define ETH_RSS_IPV6_PRE64_TCP RTE_DEPRECATED(ETH_RSS_IPV6_PRE64_TCP) RTE_ETH_RSS_IPV6_PRE64_TCP 834 #define RTE_ETH_RSS_IPV6_PRE96_TCP ( \ 835 RTE_ETH_RSS_NONFRAG_IPV6_TCP | \ 836 RTE_ETH_RSS_L3_PRE96) 837 #define ETH_RSS_IPV6_PRE96_TCP RTE_DEPRECATED(ETH_RSS_IPV6_PRE96_TCP) RTE_ETH_RSS_IPV6_PRE96_TCP 839 #define RTE_ETH_RSS_IPV6_PRE32_SCTP ( \ 840 RTE_ETH_RSS_NONFRAG_IPV6_SCTP | \ 841 RTE_ETH_RSS_L3_PRE32) 842 #define ETH_RSS_IPV6_PRE32_SCTP RTE_DEPRECATED(ETH_RSS_IPV6_PRE32_SCTP) RTE_ETH_RSS_IPV6_PRE32_SCTP 844 #define RTE_ETH_RSS_IPV6_PRE40_SCTP ( \ 845 RTE_ETH_RSS_NONFRAG_IPV6_SCTP | \ 846 RTE_ETH_RSS_L3_PRE40) 847 #define ETH_RSS_IPV6_PRE40_SCTP RTE_DEPRECATED(ETH_RSS_IPV6_PRE40_SCTP) RTE_ETH_RSS_IPV6_PRE40_SCTP 849 #define RTE_ETH_RSS_IPV6_PRE48_SCTP ( \ 850 RTE_ETH_RSS_NONFRAG_IPV6_SCTP | \ 851 RTE_ETH_RSS_L3_PRE48) 852 #define ETH_RSS_IPV6_PRE48_SCTP RTE_DEPRECATED(ETH_RSS_IPV6_PRE48_SCTP) RTE_ETH_RSS_IPV6_PRE48_SCTP 854 #define RTE_ETH_RSS_IPV6_PRE56_SCTP ( \ 855 RTE_ETH_RSS_NONFRAG_IPV6_SCTP | \ 856 RTE_ETH_RSS_L3_PRE56) 857 #define ETH_RSS_IPV6_PRE56_SCTP RTE_DEPRECATED(ETH_RSS_IPV6_PRE56_SCTP) RTE_ETH_RSS_IPV6_PRE56_SCTP 859 #define RTE_ETH_RSS_IPV6_PRE64_SCTP ( \ 860 RTE_ETH_RSS_NONFRAG_IPV6_SCTP | \ 861 RTE_ETH_RSS_L3_PRE64) 862 #define ETH_RSS_IPV6_PRE64_SCTP RTE_DEPRECATED(ETH_RSS_IPV6_PRE64_SCTP) RTE_ETH_RSS_IPV6_PRE64_SCTP 864 #define RTE_ETH_RSS_IPV6_PRE96_SCTP ( \ 865 RTE_ETH_RSS_NONFRAG_IPV6_SCTP | \ 866 RTE_ETH_RSS_L3_PRE96) 867 #define ETH_RSS_IPV6_PRE96_SCTP RTE_DEPRECATED(ETH_RSS_IPV6_PRE96_SCTP) RTE_ETH_RSS_IPV6_PRE96_SCTP 869 #define RTE_ETH_RSS_IP ( \ 871 RTE_ETH_RSS_FRAG_IPV4 | \ 872 RTE_ETH_RSS_NONFRAG_IPV4_OTHER | \ 874 RTE_ETH_RSS_FRAG_IPV6 | \ 875 RTE_ETH_RSS_NONFRAG_IPV6_OTHER | \ 877 #define ETH_RSS_IP RTE_DEPRECATED(ETH_RSS_IP) RTE_ETH_RSS_IP 879 #define RTE_ETH_RSS_UDP ( \ 880 RTE_ETH_RSS_NONFRAG_IPV4_UDP | \ 881 RTE_ETH_RSS_NONFRAG_IPV6_UDP | \ 882 RTE_ETH_RSS_IPV6_UDP_EX) 883 #define ETH_RSS_UDP RTE_DEPRECATED(ETH_RSS_UDP) RTE_ETH_RSS_UDP 885 #define RTE_ETH_RSS_TCP ( \ 886 RTE_ETH_RSS_NONFRAG_IPV4_TCP | \ 887 RTE_ETH_RSS_NONFRAG_IPV6_TCP | \ 888 RTE_ETH_RSS_IPV6_TCP_EX) 889 #define ETH_RSS_TCP RTE_DEPRECATED(ETH_RSS_TCP) RTE_ETH_RSS_TCP 891 #define RTE_ETH_RSS_SCTP ( \ 892 RTE_ETH_RSS_NONFRAG_IPV4_SCTP | \ 893 RTE_ETH_RSS_NONFRAG_IPV6_SCTP) 894 #define ETH_RSS_SCTP RTE_DEPRECATED(ETH_RSS_SCTP) RTE_ETH_RSS_SCTP 896 #define RTE_ETH_RSS_TUNNEL ( \ 897 RTE_ETH_RSS_VXLAN | \ 898 RTE_ETH_RSS_GENEVE | \ 900 #define ETH_RSS_TUNNEL RTE_DEPRECATED(ETH_RSS_TUNNEL) RTE_ETH_RSS_TUNNEL 902 #define RTE_ETH_RSS_VLAN ( \ 903 RTE_ETH_RSS_S_VLAN | \ 905 #define ETH_RSS_VLAN RTE_DEPRECATED(ETH_RSS_VLAN) RTE_ETH_RSS_VLAN 908 #define RTE_ETH_RSS_PROTO_MASK ( \ 910 RTE_ETH_RSS_FRAG_IPV4 | \ 911 RTE_ETH_RSS_NONFRAG_IPV4_TCP | \ 912 RTE_ETH_RSS_NONFRAG_IPV4_UDP | \ 913 RTE_ETH_RSS_NONFRAG_IPV4_SCTP | \ 914 RTE_ETH_RSS_NONFRAG_IPV4_OTHER | \ 916 RTE_ETH_RSS_FRAG_IPV6 | \ 917 RTE_ETH_RSS_NONFRAG_IPV6_TCP | \ 918 RTE_ETH_RSS_NONFRAG_IPV6_UDP | \ 919 RTE_ETH_RSS_NONFRAG_IPV6_SCTP | \ 920 RTE_ETH_RSS_NONFRAG_IPV6_OTHER | \ 921 RTE_ETH_RSS_L2_PAYLOAD | \ 922 RTE_ETH_RSS_IPV6_EX | \ 923 RTE_ETH_RSS_IPV6_TCP_EX | \ 924 RTE_ETH_RSS_IPV6_UDP_EX | \ 926 RTE_ETH_RSS_VXLAN | \ 927 RTE_ETH_RSS_GENEVE | \ 928 RTE_ETH_RSS_NVGRE | \ 930 #define ETH_RSS_PROTO_MASK RTE_DEPRECATED(ETH_RSS_PROTO_MASK) RTE_ETH_RSS_PROTO_MASK 937 #define RTE_ETH_RSS_RETA_SIZE_64 64 938 #define RTE_ETH_RSS_RETA_SIZE_128 128 939 #define RTE_ETH_RSS_RETA_SIZE_256 256 940 #define RTE_ETH_RSS_RETA_SIZE_512 512 941 #define RTE_ETH_RETA_GROUP_SIZE 64 943 #define ETH_RSS_RETA_SIZE_64 RTE_DEPRECATED(ETH_RSS_RETA_SIZE_64) RTE_ETH_RSS_RETA_SIZE_64 944 #define ETH_RSS_RETA_SIZE_128 RTE_DEPRECATED(ETH_RSS_RETA_SIZE_128) RTE_ETH_RSS_RETA_SIZE_128 945 #define ETH_RSS_RETA_SIZE_256 RTE_DEPRECATED(ETH_RSS_RETA_SIZE_256) RTE_ETH_RSS_RETA_SIZE_256 946 #define ETH_RSS_RETA_SIZE_512 RTE_DEPRECATED(ETH_RSS_RETA_SIZE_512) RTE_ETH_RSS_RETA_SIZE_512 947 #define RTE_RETA_GROUP_SIZE RTE_DEPRECATED(RTE_RETA_GROUP_SIZE) RTE_ETH_RETA_GROUP_SIZE 950 #define RTE_ETH_VMDQ_MAX_VLAN_FILTERS 64 951 #define RTE_ETH_DCB_NUM_USER_PRIORITIES 8 952 #define RTE_ETH_VMDQ_DCB_NUM_QUEUES 128 953 #define RTE_ETH_DCB_NUM_QUEUES 128 956 #define ETH_VMDQ_MAX_VLAN_FILTERS RTE_DEPRECATED(ETH_VMDQ_MAX_VLAN_FILTERS) RTE_ETH_VMDQ_MAX_VLAN_FILTERS 957 #define ETH_DCB_NUM_USER_PRIORITIES RTE_DEPRECATED(ETH_DCB_NUM_USER_PRIORITIES) RTE_ETH_DCB_NUM_USER_PRIORITIES 958 #define ETH_VMDQ_DCB_NUM_QUEUES RTE_DEPRECATED(ETH_VMDQ_DCB_NUM_QUEUES) RTE_ETH_VMDQ_DCB_NUM_QUEUES 959 #define ETH_DCB_NUM_QUEUES RTE_DEPRECATED(ETH_DCB_NUM_QUEUES) RTE_ETH_DCB_NUM_QUEUES 962 #define RTE_ETH_DCB_PG_SUPPORT RTE_BIT32(0) 963 #define RTE_ETH_DCB_PFC_SUPPORT RTE_BIT32(1) 966 #define ETH_DCB_PG_SUPPORT RTE_DEPRECATED(ETH_DCB_PG_SUPPORT) RTE_ETH_DCB_PG_SUPPORT 967 #define ETH_DCB_PFC_SUPPORT RTE_DEPRECATED(ETH_DCB_PFC_SUPPORT) RTE_ETH_DCB_PFC_SUPPORT 970 #define RTE_ETH_VLAN_STRIP_OFFLOAD 0x0001 971 #define RTE_ETH_VLAN_FILTER_OFFLOAD 0x0002 972 #define RTE_ETH_VLAN_EXTEND_OFFLOAD 0x0004 973 #define RTE_ETH_QINQ_STRIP_OFFLOAD 0x0008 975 #define ETH_VLAN_STRIP_OFFLOAD RTE_DEPRECATED(ETH_VLAN_STRIP_OFFLOAD) RTE_ETH_VLAN_STRIP_OFFLOAD 976 #define ETH_VLAN_FILTER_OFFLOAD RTE_DEPRECATED(ETH_VLAN_FILTER_OFFLOAD) RTE_ETH_VLAN_FILTER_OFFLOAD 977 #define ETH_VLAN_EXTEND_OFFLOAD RTE_DEPRECATED(ETH_VLAN_EXTEND_OFFLOAD) RTE_ETH_VLAN_EXTEND_OFFLOAD 978 #define ETH_QINQ_STRIP_OFFLOAD RTE_DEPRECATED(ETH_QINQ_STRIP_OFFLOAD) RTE_ETH_QINQ_STRIP_OFFLOAD 980 #define RTE_ETH_VLAN_STRIP_MASK 0x0001 981 #define RTE_ETH_VLAN_FILTER_MASK 0x0002 982 #define RTE_ETH_VLAN_EXTEND_MASK 0x0004 983 #define RTE_ETH_QINQ_STRIP_MASK 0x0008 984 #define RTE_ETH_VLAN_ID_MAX 0x0FFF 987 #define ETH_VLAN_STRIP_MASK RTE_DEPRECATED(ETH_VLAN_STRIP_MASK) RTE_ETH_VLAN_STRIP_MASK 988 #define ETH_VLAN_FILTER_MASK RTE_DEPRECATED(ETH_VLAN_FILTER_MASK) RTE_ETH_VLAN_FILTER_MASK 989 #define ETH_VLAN_EXTEND_MASK RTE_DEPRECATED(ETH_VLAN_EXTEND_MASK) RTE_ETH_VLAN_EXTEND_MASK 990 #define ETH_QINQ_STRIP_MASK RTE_DEPRECATED(ETH_QINQ_STRIP_MASK) RTE_ETH_QINQ_STRIP_MASK 991 #define ETH_VLAN_ID_MAX RTE_DEPRECATED(ETH_VLAN_ID_MAX) RTE_ETH_VLAN_ID_MAX 994 #define RTE_ETH_NUM_RECEIVE_MAC_ADDR 128 995 #define ETH_NUM_RECEIVE_MAC_ADDR RTE_DEPRECATED(ETH_NUM_RECEIVE_MAC_ADDR) RTE_ETH_NUM_RECEIVE_MAC_ADDR 998 #define RTE_ETH_VMDQ_NUM_UC_HASH_ARRAY 128 999 #define ETH_VMDQ_NUM_UC_HASH_ARRAY RTE_DEPRECATED(ETH_VMDQ_NUM_UC_HASH_ARRAY) RTE_ETH_VMDQ_NUM_UC_HASH_ARRAY 1005 #define RTE_ETH_VMDQ_ACCEPT_UNTAG RTE_BIT32(0) 1007 #define RTE_ETH_VMDQ_ACCEPT_HASH_MC RTE_BIT32(1) 1009 #define RTE_ETH_VMDQ_ACCEPT_HASH_UC RTE_BIT32(2) 1011 #define RTE_ETH_VMDQ_ACCEPT_BROADCAST RTE_BIT32(3) 1013 #define RTE_ETH_VMDQ_ACCEPT_MULTICAST RTE_BIT32(4) 1016 #define ETH_VMDQ_ACCEPT_UNTAG RTE_DEPRECATED(ETH_VMDQ_ACCEPT_UNTAG) RTE_ETH_VMDQ_ACCEPT_UNTAG 1017 #define ETH_VMDQ_ACCEPT_HASH_MC RTE_DEPRECATED(ETH_VMDQ_ACCEPT_HASH_MC) RTE_ETH_VMDQ_ACCEPT_HASH_MC 1018 #define ETH_VMDQ_ACCEPT_HASH_UC RTE_DEPRECATED(ETH_VMDQ_ACCEPT_HASH_UC) RTE_ETH_VMDQ_ACCEPT_HASH_UC 1019 #define ETH_VMDQ_ACCEPT_BROADCAST RTE_DEPRECATED(ETH_VMDQ_ACCEPT_BROADCAST) RTE_ETH_VMDQ_ACCEPT_BROADCAST 1020 #define ETH_VMDQ_ACCEPT_MULTICAST RTE_DEPRECATED(ETH_VMDQ_ACCEPT_MULTICAST) RTE_ETH_VMDQ_ACCEPT_MULTICAST 1032 uint16_t reta[RTE_ETH_RETA_GROUP_SIZE];
1043 #define ETH_4_TCS RTE_DEPRECATED(ETH_4_TCS) RTE_ETH_4_TCS 1044 #define ETH_8_TCS RTE_DEPRECATED(ETH_8_TCS) RTE_ETH_8_TCS 1056 #define ETH_8_POOLS RTE_DEPRECATED(ETH_8_POOLS) RTE_ETH_8_POOLS 1057 #define ETH_16_POOLS RTE_DEPRECATED(ETH_16_POOLS) RTE_ETH_16_POOLS 1058 #define ETH_32_POOLS RTE_DEPRECATED(ETH_32_POOLS) RTE_ETH_32_POOLS 1059 #define ETH_64_POOLS RTE_DEPRECATED(ETH_64_POOLS) RTE_ETH_64_POOLS 1062 struct rte_eth_dcb_rx_conf {
1068 struct rte_eth_vmdq_dcb_tx_conf {
1074 struct rte_eth_dcb_tx_conf {
1080 struct rte_eth_vmdq_tx_conf {
1154 hw_vlan_reject_tagged : 1,
1158 hw_vlan_insert_pvid : 1;
1160 uint64_t reserved_64s[2];
1161 void *reserved_ptrs[2];
1251 uint64_t reserved_64s[2];
1252 void *reserved_ptrs[2];
1272 uint64_t reserved_64s[2];
1273 void *reserved_ptrs[2];
1292 #define RTE_ETH_MAX_HAIRPIN_PEERS 32 1382 #define RTE_FC_NONE RTE_DEPRECATED(RTE_FC_NONE) RTE_ETH_FC_NONE 1383 #define RTE_FC_RX_PAUSE RTE_DEPRECATED(RTE_FC_RX_PAUSE) RTE_ETH_FC_RX_PAUSE 1384 #define RTE_FC_TX_PAUSE RTE_DEPRECATED(RTE_FC_TX_PAUSE) RTE_ETH_FC_TX_PAUSE 1385 #define RTE_FC_FULL RTE_DEPRECATED(RTE_FC_FULL) RTE_ETH_FC_FULL 1470 RTE_ETH_TUNNEL_TYPE_NONE = 0,
1471 RTE_ETH_TUNNEL_TYPE_VXLAN,
1472 RTE_ETH_TUNNEL_TYPE_GENEVE,
1473 RTE_ETH_TUNNEL_TYPE_TEREDO,
1474 RTE_ETH_TUNNEL_TYPE_NVGRE,
1475 RTE_ETH_TUNNEL_TYPE_IP_IN_GRE,
1476 RTE_ETH_L2_TUNNEL_TYPE_E_TAG,
1477 RTE_ETH_TUNNEL_TYPE_VXLAN_GPE,
1478 RTE_ETH_TUNNEL_TYPE_ECPRI,
1479 RTE_ETH_TUNNEL_TYPE_MAX,
1481 #define RTE_TUNNEL_TYPE_NONE RTE_DEPRECATED(RTE_TUNNEL_TYPE_NONE) RTE_ETH_TUNNEL_TYPE_NONE 1482 #define RTE_TUNNEL_TYPE_VXLAN RTE_DEPRECATED(RTE_TUNNEL_TYPE_VXLAN) RTE_ETH_TUNNEL_TYPE_VXLAN 1483 #define RTE_TUNNEL_TYPE_GENEVE RTE_DEPRECATED(RTE_TUNNEL_TYPE_GENEVE) RTE_ETH_TUNNEL_TYPE_GENEVE 1484 #define RTE_TUNNEL_TYPE_TEREDO RTE_DEPRECATED(RTE_TUNNEL_TYPE_TEREDO) RTE_ETH_TUNNEL_TYPE_TEREDO 1485 #define RTE_TUNNEL_TYPE_NVGRE RTE_DEPRECATED(RTE_TUNNEL_TYPE_NVGRE) RTE_ETH_TUNNEL_TYPE_NVGRE 1486 #define RTE_TUNNEL_TYPE_IP_IN_GRE RTE_DEPRECATED(RTE_TUNNEL_TYPE_IP_IN_GRE) RTE_ETH_TUNNEL_TYPE_IP_IN_GRE 1487 #define RTE_L2_TUNNEL_TYPE_E_TAG RTE_DEPRECATED(RTE_L2_TUNNEL_TYPE_E_TAG) RTE_ETH_L2_TUNNEL_TYPE_E_TAG 1488 #define RTE_TUNNEL_TYPE_VXLAN_GPE RTE_DEPRECATED(RTE_TUNNEL_TYPE_VXLAN_GPE) RTE_ETH_TUNNEL_TYPE_VXLAN_GPE 1489 #define RTE_TUNNEL_TYPE_ECPRI RTE_DEPRECATED(RTE_TUNNEL_TYPE_ECPRI) RTE_ETH_TUNNEL_TYPE_ECPRI 1490 #define RTE_TUNNEL_TYPE_MAX RTE_DEPRECATED(RTE_TUNNEL_TYPE_MAX) RTE_ETH_TUNNEL_TYPE_MAX 1504 #define rte_fdir_pballoc_type rte_eth_fdir_pballoc_type 1506 #define RTE_FDIR_PBALLOC_64K RTE_DEPRECATED(RTE_FDIR_PBALLOC_64K) RTE_ETH_FDIR_PBALLOC_64K 1507 #define RTE_FDIR_PBALLOC_128K RTE_DEPRECATED(RTE_FDIR_PBALLOC_128K) RTE_ETH_FDIR_PBALLOC_128K 1508 #define RTE_FDIR_PBALLOC_256K RTE_DEPRECATED(RTE_FDIR_PBALLOC_256K) RTE_ETH_FDIR_PBALLOC_256K 1535 #define rte_fdir_conf rte_eth_fdir_conf 1563 #define rte_intr_conf rte_eth_intr_conf 1590 struct rte_eth_dcb_rx_conf dcb_rx_conf;
1596 struct rte_eth_vmdq_dcb_tx_conf vmdq_dcb_tx_conf;
1598 struct rte_eth_dcb_tx_conf dcb_tx_conf;
1600 struct rte_eth_vmdq_tx_conf vmdq_tx_conf;
1612 #define RTE_ETH_RX_OFFLOAD_VLAN_STRIP RTE_BIT64(0) 1613 #define RTE_ETH_RX_OFFLOAD_IPV4_CKSUM RTE_BIT64(1) 1614 #define RTE_ETH_RX_OFFLOAD_UDP_CKSUM RTE_BIT64(2) 1615 #define RTE_ETH_RX_OFFLOAD_TCP_CKSUM RTE_BIT64(3) 1616 #define RTE_ETH_RX_OFFLOAD_TCP_LRO RTE_BIT64(4) 1617 #define RTE_ETH_RX_OFFLOAD_QINQ_STRIP RTE_BIT64(5) 1618 #define RTE_ETH_RX_OFFLOAD_OUTER_IPV4_CKSUM RTE_BIT64(6) 1619 #define RTE_ETH_RX_OFFLOAD_MACSEC_STRIP RTE_BIT64(7) 1620 #define RTE_ETH_RX_OFFLOAD_HEADER_SPLIT RTE_BIT64(8) 1621 #define RTE_ETH_RX_OFFLOAD_VLAN_FILTER RTE_BIT64(9) 1622 #define RTE_ETH_RX_OFFLOAD_VLAN_EXTEND RTE_BIT64(10) 1623 #define RTE_ETH_RX_OFFLOAD_SCATTER RTE_BIT64(13) 1629 #define RTE_ETH_RX_OFFLOAD_TIMESTAMP RTE_BIT64(14) 1630 #define RTE_ETH_RX_OFFLOAD_SECURITY RTE_BIT64(15) 1631 #define RTE_ETH_RX_OFFLOAD_KEEP_CRC RTE_BIT64(16) 1632 #define RTE_ETH_RX_OFFLOAD_SCTP_CKSUM RTE_BIT64(17) 1633 #define RTE_ETH_RX_OFFLOAD_OUTER_UDP_CKSUM RTE_BIT64(18) 1634 #define RTE_ETH_RX_OFFLOAD_RSS_HASH RTE_BIT64(19) 1635 #define RTE_ETH_RX_OFFLOAD_BUFFER_SPLIT RTE_BIT64(20) 1637 #define DEV_RX_OFFLOAD_VLAN_STRIP RTE_DEPRECATED(DEV_RX_OFFLOAD_VLAN_STRIP) RTE_ETH_RX_OFFLOAD_VLAN_STRIP 1638 #define DEV_RX_OFFLOAD_IPV4_CKSUM RTE_DEPRECATED(DEV_RX_OFFLOAD_IPV4_CKSUM) RTE_ETH_RX_OFFLOAD_IPV4_CKSUM 1639 #define DEV_RX_OFFLOAD_UDP_CKSUM RTE_DEPRECATED(DEV_RX_OFFLOAD_UDP_CKSUM) RTE_ETH_RX_OFFLOAD_UDP_CKSUM 1640 #define DEV_RX_OFFLOAD_TCP_CKSUM RTE_DEPRECATED(DEV_RX_OFFLOAD_TCP_CKSUM) RTE_ETH_RX_OFFLOAD_TCP_CKSUM 1641 #define DEV_RX_OFFLOAD_TCP_LRO RTE_DEPRECATED(DEV_RX_OFFLOAD_TCP_LRO) RTE_ETH_RX_OFFLOAD_TCP_LRO 1642 #define DEV_RX_OFFLOAD_QINQ_STRIP RTE_DEPRECATED(DEV_RX_OFFLOAD_QINQ_STRIP) RTE_ETH_RX_OFFLOAD_QINQ_STRIP 1643 #define DEV_RX_OFFLOAD_OUTER_IPV4_CKSUM RTE_DEPRECATED(DEV_RX_OFFLOAD_OUTER_IPV4_CKSUM) RTE_ETH_RX_OFFLOAD_OUTER_IPV4_CKSUM 1644 #define DEV_RX_OFFLOAD_MACSEC_STRIP RTE_DEPRECATED(DEV_RX_OFFLOAD_MACSEC_STRIP) RTE_ETH_RX_OFFLOAD_MACSEC_STRIP 1645 #define DEV_RX_OFFLOAD_HEADER_SPLIT RTE_DEPRECATED(DEV_RX_OFFLOAD_HEADER_SPLIT) RTE_ETH_RX_OFFLOAD_HEADER_SPLIT 1646 #define DEV_RX_OFFLOAD_VLAN_FILTER RTE_DEPRECATED(DEV_RX_OFFLOAD_VLAN_FILTER) RTE_ETH_RX_OFFLOAD_VLAN_FILTER 1647 #define DEV_RX_OFFLOAD_VLAN_EXTEND RTE_DEPRECATED(DEV_RX_OFFLOAD_VLAN_EXTEND) RTE_ETH_RX_OFFLOAD_VLAN_EXTEND 1648 #define DEV_RX_OFFLOAD_SCATTER RTE_DEPRECATED(DEV_RX_OFFLOAD_SCATTER) RTE_ETH_RX_OFFLOAD_SCATTER 1649 #define DEV_RX_OFFLOAD_TIMESTAMP RTE_DEPRECATED(DEV_RX_OFFLOAD_TIMESTAMP) RTE_ETH_RX_OFFLOAD_TIMESTAMP 1650 #define DEV_RX_OFFLOAD_SECURITY RTE_DEPRECATED(DEV_RX_OFFLOAD_SECURITY) RTE_ETH_RX_OFFLOAD_SECURITY 1651 #define DEV_RX_OFFLOAD_KEEP_CRC RTE_DEPRECATED(DEV_RX_OFFLOAD_KEEP_CRC) RTE_ETH_RX_OFFLOAD_KEEP_CRC 1652 #define DEV_RX_OFFLOAD_SCTP_CKSUM RTE_DEPRECATED(DEV_RX_OFFLOAD_SCTP_CKSUM) RTE_ETH_RX_OFFLOAD_SCTP_CKSUM 1653 #define DEV_RX_OFFLOAD_OUTER_UDP_CKSUM RTE_DEPRECATED(DEV_RX_OFFLOAD_OUTER_UDP_CKSUM) RTE_ETH_RX_OFFLOAD_OUTER_UDP_CKSUM 1654 #define DEV_RX_OFFLOAD_RSS_HASH RTE_DEPRECATED(DEV_RX_OFFLOAD_RSS_HASH) RTE_ETH_RX_OFFLOAD_RSS_HASH 1656 #define RTE_ETH_RX_OFFLOAD_CHECKSUM (RTE_ETH_RX_OFFLOAD_IPV4_CKSUM | \ 1657 RTE_ETH_RX_OFFLOAD_UDP_CKSUM | \ 1658 RTE_ETH_RX_OFFLOAD_TCP_CKSUM) 1659 #define DEV_RX_OFFLOAD_CHECKSUM RTE_DEPRECATED(DEV_RX_OFFLOAD_CHECKSUM) RTE_ETH_RX_OFFLOAD_CHECKSUM 1660 #define RTE_ETH_RX_OFFLOAD_VLAN (RTE_ETH_RX_OFFLOAD_VLAN_STRIP | \ 1661 RTE_ETH_RX_OFFLOAD_VLAN_FILTER | \ 1662 RTE_ETH_RX_OFFLOAD_VLAN_EXTEND | \ 1663 RTE_ETH_RX_OFFLOAD_QINQ_STRIP) 1664 #define DEV_RX_OFFLOAD_VLAN RTE_DEPRECATED(DEV_RX_OFFLOAD_VLAN) RTE_ETH_RX_OFFLOAD_VLAN 1674 #define RTE_ETH_TX_OFFLOAD_VLAN_INSERT RTE_BIT64(0) 1675 #define RTE_ETH_TX_OFFLOAD_IPV4_CKSUM RTE_BIT64(1) 1676 #define RTE_ETH_TX_OFFLOAD_UDP_CKSUM RTE_BIT64(2) 1677 #define RTE_ETH_TX_OFFLOAD_TCP_CKSUM RTE_BIT64(3) 1678 #define RTE_ETH_TX_OFFLOAD_SCTP_CKSUM RTE_BIT64(4) 1679 #define RTE_ETH_TX_OFFLOAD_TCP_TSO RTE_BIT64(5) 1680 #define RTE_ETH_TX_OFFLOAD_UDP_TSO RTE_BIT64(6) 1681 #define RTE_ETH_TX_OFFLOAD_OUTER_IPV4_CKSUM RTE_BIT64(7) 1682 #define RTE_ETH_TX_OFFLOAD_QINQ_INSERT RTE_BIT64(8) 1683 #define RTE_ETH_TX_OFFLOAD_VXLAN_TNL_TSO RTE_BIT64(9) 1684 #define RTE_ETH_TX_OFFLOAD_GRE_TNL_TSO RTE_BIT64(10) 1685 #define RTE_ETH_TX_OFFLOAD_IPIP_TNL_TSO RTE_BIT64(11) 1686 #define RTE_ETH_TX_OFFLOAD_GENEVE_TNL_TSO RTE_BIT64(12) 1687 #define RTE_ETH_TX_OFFLOAD_MACSEC_INSERT RTE_BIT64(13) 1692 #define RTE_ETH_TX_OFFLOAD_MT_LOCKFREE RTE_BIT64(14) 1694 #define RTE_ETH_TX_OFFLOAD_MULTI_SEGS RTE_BIT64(15) 1700 #define RTE_ETH_TX_OFFLOAD_MBUF_FAST_FREE RTE_BIT64(16) 1701 #define RTE_ETH_TX_OFFLOAD_SECURITY RTE_BIT64(17) 1707 #define RTE_ETH_TX_OFFLOAD_UDP_TNL_TSO RTE_BIT64(18) 1713 #define RTE_ETH_TX_OFFLOAD_IP_TNL_TSO RTE_BIT64(19) 1715 #define RTE_ETH_TX_OFFLOAD_OUTER_UDP_CKSUM RTE_BIT64(20) 1721 #define RTE_ETH_TX_OFFLOAD_SEND_ON_TIMESTAMP RTE_BIT64(21) 1727 #define DEV_TX_OFFLOAD_VLAN_INSERT RTE_DEPRECATED(DEV_TX_OFFLOAD_VLAN_INSERT) RTE_ETH_TX_OFFLOAD_VLAN_INSERT 1728 #define DEV_TX_OFFLOAD_IPV4_CKSUM RTE_DEPRECATED(DEV_TX_OFFLOAD_IPV4_CKSUM) RTE_ETH_TX_OFFLOAD_IPV4_CKSUM 1729 #define DEV_TX_OFFLOAD_UDP_CKSUM RTE_DEPRECATED(DEV_TX_OFFLOAD_UDP_CKSUM) RTE_ETH_TX_OFFLOAD_UDP_CKSUM 1730 #define DEV_TX_OFFLOAD_TCP_CKSUM RTE_DEPRECATED(DEV_TX_OFFLOAD_TCP_CKSUM) RTE_ETH_TX_OFFLOAD_TCP_CKSUM 1731 #define DEV_TX_OFFLOAD_SCTP_CKSUM RTE_DEPRECATED(DEV_TX_OFFLOAD_SCTP_CKSUM) RTE_ETH_TX_OFFLOAD_SCTP_CKSUM 1732 #define DEV_TX_OFFLOAD_TCP_TSO RTE_DEPRECATED(DEV_TX_OFFLOAD_TCP_TSO) RTE_ETH_TX_OFFLOAD_TCP_TSO 1733 #define DEV_TX_OFFLOAD_UDP_TSO RTE_DEPRECATED(DEV_TX_OFFLOAD_UDP_TSO) RTE_ETH_TX_OFFLOAD_UDP_TSO 1734 #define DEV_TX_OFFLOAD_OUTER_IPV4_CKSUM RTE_DEPRECATED(DEV_TX_OFFLOAD_OUTER_IPV4_CKSUM) RTE_ETH_TX_OFFLOAD_OUTER_IPV4_CKSUM 1735 #define DEV_TX_OFFLOAD_QINQ_INSERT RTE_DEPRECATED(DEV_TX_OFFLOAD_QINQ_INSERT) RTE_ETH_TX_OFFLOAD_QINQ_INSERT 1736 #define DEV_TX_OFFLOAD_VXLAN_TNL_TSO RTE_DEPRECATED(DEV_TX_OFFLOAD_VXLAN_TNL_TSO) RTE_ETH_TX_OFFLOAD_VXLAN_TNL_TSO 1737 #define DEV_TX_OFFLOAD_GRE_TNL_TSO RTE_DEPRECATED(DEV_TX_OFFLOAD_GRE_TNL_TSO) RTE_ETH_TX_OFFLOAD_GRE_TNL_TSO 1738 #define DEV_TX_OFFLOAD_IPIP_TNL_TSO RTE_DEPRECATED(DEV_TX_OFFLOAD_IPIP_TNL_TSO) RTE_ETH_TX_OFFLOAD_IPIP_TNL_TSO 1739 #define DEV_TX_OFFLOAD_GENEVE_TNL_TSO RTE_DEPRECATED(DEV_TX_OFFLOAD_GENEVE_TNL_TSO) RTE_ETH_TX_OFFLOAD_GENEVE_TNL_TSO 1740 #define DEV_TX_OFFLOAD_MACSEC_INSERT RTE_DEPRECATED(DEV_TX_OFFLOAD_MACSEC_INSERT) RTE_ETH_TX_OFFLOAD_MACSEC_INSERT 1741 #define DEV_TX_OFFLOAD_MT_LOCKFREE RTE_DEPRECATED(DEV_TX_OFFLOAD_MT_LOCKFREE) RTE_ETH_TX_OFFLOAD_MT_LOCKFREE 1742 #define DEV_TX_OFFLOAD_MULTI_SEGS RTE_DEPRECATED(DEV_TX_OFFLOAD_MULTI_SEGS) RTE_ETH_TX_OFFLOAD_MULTI_SEGS 1743 #define DEV_TX_OFFLOAD_MBUF_FAST_FREE RTE_DEPRECATED(DEV_TX_OFFLOAD_MBUF_FAST_FREE) RTE_ETH_TX_OFFLOAD_MBUF_FAST_FREE 1744 #define DEV_TX_OFFLOAD_SECURITY RTE_DEPRECATED(DEV_TX_OFFLOAD_SECURITY) RTE_ETH_TX_OFFLOAD_SECURITY 1745 #define DEV_TX_OFFLOAD_UDP_TNL_TSO RTE_DEPRECATED(DEV_TX_OFFLOAD_UDP_TNL_TSO) RTE_ETH_TX_OFFLOAD_UDP_TNL_TSO 1746 #define DEV_TX_OFFLOAD_IP_TNL_TSO RTE_DEPRECATED(DEV_TX_OFFLOAD_IP_TNL_TSO) RTE_ETH_TX_OFFLOAD_IP_TNL_TSO 1747 #define DEV_TX_OFFLOAD_OUTER_UDP_CKSUM RTE_DEPRECATED(DEV_TX_OFFLOAD_OUTER_UDP_CKSUM) RTE_ETH_TX_OFFLOAD_OUTER_UDP_CKSUM 1748 #define DEV_TX_OFFLOAD_SEND_ON_TIMESTAMP RTE_DEPRECATED(DEV_TX_OFFLOAD_SEND_ON_TIMESTAMP) RTE_ETH_TX_OFFLOAD_SEND_ON_TIMESTAMP 1754 #define RTE_ETH_DEV_CAPA_RUNTIME_RX_QUEUE_SETUP RTE_BIT64(0) 1756 #define RTE_ETH_DEV_CAPA_RUNTIME_TX_QUEUE_SETUP RTE_BIT64(1) 1766 #define RTE_ETH_DEV_CAPA_RXQ_SHARE RTE_BIT64(2) 1768 #define RTE_ETH_DEV_CAPA_FLOW_RULE_KEEP RTE_BIT64(3) 1770 #define RTE_ETH_DEV_CAPA_FLOW_SHARED_OBJECT_KEEP RTE_BIT64(4) 1778 #define RTE_ETH_DEV_FALLBACK_RX_RINGSIZE 512 1779 #define RTE_ETH_DEV_FALLBACK_TX_RINGSIZE 512 1780 #define RTE_ETH_DEV_FALLBACK_RX_NBQUEUES 1 1781 #define RTE_ETH_DEV_FALLBACK_TX_NBQUEUES 1 1798 #define RTE_ETH_DEV_SWITCH_DOMAIN_ID_INVALID (UINT16_MAX) 1912 uint64_t reserved_64s[2];
1913 void *reserved_ptrs[2];
1917 #define RTE_ETH_QUEUE_STATE_STOPPED 0 1918 #define RTE_ETH_QUEUE_STATE_STARTED 1 1919 #define RTE_ETH_QUEUE_STATE_HAIRPIN 2 1926 struct rte_eth_rxq_info { 1959 #define RTE_ETH_BURST_FLAG_PER_QUEUE RTE_BIT64(0) 1968 #define RTE_ETH_BURST_MODE_INFO_SIZE 1024 1969 char info[RTE_ETH_BURST_MODE_INFO_SIZE]; 1973 #define RTE_ETH_XSTATS_NAME_SIZE 64 2007 #define RTE_ETH_DCB_NUM_TCS 8 2008 #define RTE_ETH_MAX_VMDQ_POOL 64 2010 #define ETH_DCB_NUM_TCS RTE_DEPRECATED(ETH_DCB_NUM_TCS) RTE_ETH_DCB_NUM_TCS 2011 #define ETH_MAX_VMDQ_POOL RTE_DEPRECATED(ETH_MAX_VMDQ_POOL) RTE_ETH_MAX_VMDQ_POOL 2022 } tc_rxq[RTE_ETH_MAX_VMDQ_POOL][RTE_ETH_DCB_NUM_TCS];
2027 } tc_txq[RTE_ETH_MAX_VMDQ_POOL][RTE_ETH_DCB_NUM_TCS];
2037 uint8_t tc_bws[RTE_ETH_DCB_NUM_TCS];
2054 #define RTE_ETH_FEC_MODE_TO_CAPA(x) RTE_BIT32(x) 2057 #define RTE_ETH_FEC_MODE_CAPA_MASK(x) RTE_BIT32(RTE_ETH_FEC_ ## x) 2060 struct rte_eth_fec_capa {
2065 #define RTE_ETH_ALL RTE_MAX_ETHPORTS 2068 #define RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, retval) do { \ 2069 if (!rte_eth_dev_is_valid_port(port_id)) { \ 2070 RTE_ETHDEV_LOG(ERR, "Invalid port_id=%u\n", port_id); \ 2075 #define RTE_ETH_VALID_PORTID_OR_RET(port_id) do { \ 2076 if (!rte_eth_dev_is_valid_port(port_id)) { \ 2077 RTE_ETHDEV_LOG(ERR, "Invalid port_id=%u\n", port_id); \ 2105 struct rte_mbuf *pkts[], uint16_t nb_pkts, uint16_t max_pkts,
2129 struct rte_mbuf *pkts[], uint16_t nb_pkts,
void *user_param);
2143 struct rte_eth_dev_sriov {
2145 uint8_t nb_q_per_pool;
2146 uint16_t def_vmdq_idx;
2147 uint16_t def_pool_q_idx;
2149 #define RTE_ETH_DEV_SRIOV(dev) ((dev)->data->sriov) 2151 #define RTE_ETH_NAME_MAX_LEN RTE_DEV_NAME_MAX_LEN 2153 #define RTE_ETH_DEV_NO_OWNER 0 2155 #define RTE_ETH_MAX_OWNER_NAME_LEN 64 2157 struct rte_eth_dev_owner {
2159 char name[RTE_ETH_MAX_OWNER_NAME_LEN];
2167 #define RTE_ETH_DEV_FLOW_OPS_THREAD_SAFE RTE_BIT32(0) 2169 #define RTE_ETH_DEV_INTR_LSC RTE_BIT32(1) 2171 #define RTE_ETH_DEV_BONDED_SLAVE RTE_BIT32(2) 2173 #define RTE_ETH_DEV_INTR_RMV RTE_BIT32(3) 2175 #define RTE_ETH_DEV_REPRESENTOR RTE_BIT32(4) 2177 #define RTE_ETH_DEV_NOLIVE_MAC_ADDR RTE_BIT32(5) 2182 #define RTE_ETH_DEV_AUTOFILL_QUEUE_XSTATS RTE_BIT32(6) 2197 const uint64_t owner_id);
2202 #define RTE_ETH_FOREACH_DEV_OWNED_BY(p, o) \ 2203 for (p = rte_eth_find_next_owned_by(0, o); \ 2204 (unsigned int)p < (unsigned int)RTE_MAX_ETHPORTS; \ 2205 p = rte_eth_find_next_owned_by(p + 1, o)) 2220 #define RTE_ETH_FOREACH_DEV(p) \ 2221 RTE_ETH_FOREACH_DEV_OWNED_BY(p, RTE_ETH_DEV_NO_OWNER) 2246 #define RTE_ETH_FOREACH_DEV_OF(port_id, parent) \ 2247 for (port_id = rte_eth_find_next_of(0, parent); \ 2248 port_id < RTE_MAX_ETHPORTS; \ 2249 port_id = rte_eth_find_next_of(port_id + 1, parent)) 2275 #define RTE_ETH_FOREACH_DEV_SIBLING(port_id, ref_port_id) \ 2276 for (port_id = rte_eth_find_next_sibling(0, ref_port_id); \ 2277 port_id < RTE_MAX_ETHPORTS; \ 2278 port_id = rte_eth_find_next_sibling(port_id + 1, ref_port_id)) 2303 const struct rte_eth_dev_owner *owner);
2316 const uint64_t owner_id);
2339 struct rte_eth_dev_owner *owner);
2450 uint16_t nb_tx_queue,
const struct rte_eth_conf *eth_conf);
2526 uint16_t nb_rx_desc,
unsigned int socket_id,
2559 (uint16_t port_id, uint16_t rx_queue_id, uint16_t nb_rx_desc,
2611 uint16_t nb_tx_desc,
unsigned int socket_id,
2641 (uint16_t port_id, uint16_t tx_queue_id, uint16_t nb_tx_desc,
2672 size_t len, uint32_t direction);
3236 uint64_t *values,
unsigned int size);
3293 uint16_t tx_queue_id, uint8_t stat_idx);
3314 uint16_t rx_queue_id,
3440 char *fw_version,
size_t fw_size);
3482 uint32_t *ptypes,
int num);
3514 uint32_t *set_ptypes,
unsigned int num);
3688 uint8_t avail_thresh);
3718 uint8_t *avail_thresh);
3720 typedef void (*buffer_tx_error_fn)(
struct rte_mbuf **unsent, uint16_t count,
3728 buffer_tx_error_fn error_callback;
3729 void *error_userdata;
3742 #define RTE_ETH_TX_BUFFER_SIZE(sz) \ 3743 (sizeof(struct rte_eth_dev_tx_buffer) + (sz) * sizeof(struct rte_mbuf *)) 3784 buffer_tx_error_fn callback,
void *userdata);
4066 int epfd,
int op,
void *data);
4145 struct rte_eth_fec_capa *speed_fec_capa,
4370 uint16_t reta_size);
4392 uint16_t reta_size);
4559 struct rte_eth_rxtx_callback;
4586 const struct rte_eth_rxtx_callback *
4616 const struct rte_eth_rxtx_callback *
4645 const struct rte_eth_rxtx_callback *
4683 const struct rte_eth_rxtx_callback *user_cb);
4719 const struct rte_eth_rxtx_callback *user_cb);
4829 struct rte_power_monitor_cond *pmc);
4946 struct rte_dev_eeprom_info *info);
4969 uint32_t nb_mc_addr);
5018 struct timespec *timestamp, uint32_t flags);
5036 struct timespec *timestamp);
5196 uint16_t *nb_rx_desc,
5197 uint16_t *nb_tx_desc);
5264 char name[RTE_DEV_NAME_MAX_LEN];
5309 #define RTE_ETH_RX_METADATA_USER_FLAG RTE_BIT64(0) 5312 #define RTE_ETH_RX_METADATA_USER_MARK RTE_BIT64(1) 5315 #define RTE_ETH_RX_METADATA_TUNNEL_ID RTE_BIT64(2) 5363 #define RTE_ETH_DEV_REASSEMBLY_F_IPV4 (RTE_BIT32(0)) 5365 #define RTE_ETH_DEV_REASSEMBLY_F_IPV6 (RTE_BIT32(1)) 5534 uint16_t rte_eth_call_rx_callbacks(uint16_t port_id, uint16_t queue_id,
5535 struct rte_mbuf **rx_pkts, uint16_t nb_rx, uint16_t nb_pkts,
5625 static inline uint16_t
5627 struct rte_mbuf **rx_pkts,
const uint16_t nb_pkts)
5630 struct rte_eth_fp_ops *p;
5633 #ifdef RTE_ETHDEV_DEBUG_RX 5634 if (port_id >= RTE_MAX_ETHPORTS ||
5635 queue_id >= RTE_MAX_QUEUES_PER_PORT) {
5637 "Invalid port_id=%u or queue_id=%u\n",
5644 p = &rte_eth_fp_ops[port_id];
5645 qd = p->rxq.data[queue_id];
5647 #ifdef RTE_ETHDEV_DEBUG_RX 5648 RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, 0);
5651 RTE_ETHDEV_LOG(ERR,
"Invalid Rx queue_id=%u for port_id=%u\n",
5657 nb_rx = p->rx_pkt_burst(qd, rx_pkts, nb_pkts);
5659 #ifdef RTE_ETHDEV_RXTX_CALLBACKS 5669 cb = __atomic_load_n((
void **)&p->rxq.clbk[queue_id],
5672 nb_rx = rte_eth_call_rx_callbacks(port_id, queue_id,
5673 rx_pkts, nb_rx, nb_pkts, cb);
5677 rte_ethdev_trace_rx_burst(port_id, queue_id, (
void **)rx_pkts, nb_rx);
5697 struct rte_eth_fp_ops *p;
5700 if (port_id >= RTE_MAX_ETHPORTS ||
5701 queue_id >= RTE_MAX_QUEUES_PER_PORT) {
5703 "Invalid port_id=%u or queue_id=%u\n",
5709 p = &rte_eth_fp_ops[port_id];
5710 qd = p->rxq.data[queue_id];
5712 RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
5713 RTE_FUNC_PTR_OR_ERR_RET(*p->rx_queue_count, -ENOTSUP);
5717 return (
int)(*p->rx_queue_count)(qd);
5723 #define RTE_ETH_RX_DESC_AVAIL 0 5724 #define RTE_ETH_RX_DESC_DONE 1 5725 #define RTE_ETH_RX_DESC_UNAVAIL 2 5765 struct rte_eth_fp_ops *p;
5768 #ifdef RTE_ETHDEV_DEBUG_RX 5769 if (port_id >= RTE_MAX_ETHPORTS ||
5770 queue_id >= RTE_MAX_QUEUES_PER_PORT) {
5772 "Invalid port_id=%u or queue_id=%u\n",
5779 p = &rte_eth_fp_ops[port_id];
5780 qd = p->rxq.data[queue_id];
5782 #ifdef RTE_ETHDEV_DEBUG_RX 5783 RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
5787 RTE_FUNC_PTR_OR_ERR_RET(*p->rx_descriptor_status, -ENOTSUP);
5788 return (*p->rx_descriptor_status)(qd, offset);
5794 #define RTE_ETH_TX_DESC_FULL 0 5795 #define RTE_ETH_TX_DESC_DONE 1 5796 #define RTE_ETH_TX_DESC_UNAVAIL 2 5832 static inline int rte_eth_tx_descriptor_status(uint16_t port_id, 5833 uint16_t queue_id, uint16_t offset)
5835 struct rte_eth_fp_ops *p;
5838 #ifdef RTE_ETHDEV_DEBUG_TX 5839 if (port_id >= RTE_MAX_ETHPORTS ||
5840 queue_id >= RTE_MAX_QUEUES_PER_PORT) {
5842 "Invalid port_id=%u or queue_id=%u\n",
5849 p = &rte_eth_fp_ops[port_id];
5850 qd = p->txq.data[queue_id];
5852 #ifdef RTE_ETHDEV_DEBUG_TX 5853 RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
5857 RTE_FUNC_PTR_OR_ERR_RET(*p->tx_descriptor_status, -ENOTSUP);
5858 return (*p->tx_descriptor_status)(qd, offset);
5880 uint16_t rte_eth_call_tx_callbacks(uint16_t port_id, uint16_t queue_id,
5881 struct rte_mbuf **tx_pkts, uint16_t nb_pkts,
void *opaque);
5949 static inline uint16_t
5951 struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
5953 struct rte_eth_fp_ops *p;
5956 #ifdef RTE_ETHDEV_DEBUG_TX 5957 if (port_id >= RTE_MAX_ETHPORTS ||
5958 queue_id >= RTE_MAX_QUEUES_PER_PORT) {
5960 "Invalid port_id=%u or queue_id=%u\n",
5967 p = &rte_eth_fp_ops[port_id];
5968 qd = p->txq.data[queue_id];
5970 #ifdef RTE_ETHDEV_DEBUG_TX 5971 RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, 0);
5974 RTE_ETHDEV_LOG(ERR,
"Invalid Tx queue_id=%u for port_id=%u\n",
5980 #ifdef RTE_ETHDEV_RXTX_CALLBACKS 5990 cb = __atomic_load_n((
void **)&p->txq.clbk[queue_id],
5993 nb_pkts = rte_eth_call_tx_callbacks(port_id, queue_id,
5994 tx_pkts, nb_pkts, cb);
5998 nb_pkts = p->tx_pkt_burst(qd, tx_pkts, nb_pkts);
6000 rte_ethdev_trace_tx_burst(port_id, queue_id, (
void **)tx_pkts, nb_pkts);
6058 #ifndef RTE_ETHDEV_TX_PREPARE_NOOP 6060 static inline uint16_t
6062 struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
6064 struct rte_eth_fp_ops *p;
6067 #ifdef RTE_ETHDEV_DEBUG_TX 6068 if (port_id >= RTE_MAX_ETHPORTS ||
6069 queue_id >= RTE_MAX_QUEUES_PER_PORT) {
6071 "Invalid port_id=%u or queue_id=%u\n",
6079 p = &rte_eth_fp_ops[port_id];
6080 qd = p->txq.data[queue_id];
6082 #ifdef RTE_ETHDEV_DEBUG_TX 6084 RTE_ETHDEV_LOG(ERR,
"Invalid Tx port_id=%u\n", port_id);
6089 RTE_ETHDEV_LOG(ERR,
"Invalid Tx queue_id=%u for port_id=%u\n",
6096 if (!p->tx_pkt_prepare)
6099 return p->tx_pkt_prepare(qd, tx_pkts, nb_pkts);
6113 static inline uint16_t
6145 static inline uint16_t
6150 uint16_t to_send = buffer->
length;
6161 buffer->error_callback(&buffer->
pkts[sent],
6162 (uint16_t)(to_send - sent),
6163 buffer->error_userdata);
int rte_eth_dev_stop(uint16_t port_id)
int rte_eth_dev_priority_flow_ctrl_set(uint16_t port_id, struct rte_eth_pfc_conf *pfc_conf)
int rte_eth_promiscuous_disable(uint16_t port_id)
__extension__ uint32_t multi_pools
int rte_eth_rx_burst_mode_get(uint16_t port_id, uint16_t queue_id, struct rte_eth_burst_mode *mode)
#define __rte_always_inline
#define RTE_ETH_DCB_NUM_USER_PRIORITIES
uint16_t rte_eth_dev_count_avail(void)
int rte_eth_timesync_write_time(uint16_t port_id, const struct timespec *time)
const uint32_t * dev_flags
int rte_eth_dev_get_reg_info(uint16_t port_id, struct rte_dev_reg_info *info)
int rte_eth_timesync_read_time(uint16_t port_id, struct timespec *time)
uint64_t rte_eth_find_next_owned_by(uint16_t port_id, const uint64_t owner_id)
__rte_experimental int rte_eth_dev_priv_dump(uint16_t port_id, FILE *file)
#define __rte_cache_min_aligned
int rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_queue, uint16_t nb_tx_queue, const struct rte_eth_conf *eth_conf)
int rte_eth_dev_get_name_by_port(uint16_t port_id, char *name)
static uint16_t rte_eth_tx_prepare(uint16_t port_id, uint16_t queue_id, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
struct rte_device * device
const struct rte_eth_rxtx_callback * rte_eth_add_rx_callback(uint16_t port_id, uint16_t queue_id, rte_rx_callback_fn fn, void *user_param)
uint64_t q_errors[RTE_ETHDEV_QUEUE_STAT_CNTRS]
uint16_t rte_eth_find_next(uint16_t port_id)
int rte_eth_dev_set_vlan_pvid(uint16_t port_id, uint16_t pvid, int on)
int rte_eth_led_off(uint16_t port_id)
int rte_eth_dev_udp_tunnel_port_delete(uint16_t port_id, struct rte_eth_udp_tunnel *tunnel_udp)
static int rte_eth_rx_descriptor_status(uint16_t port_id, uint16_t queue_id, uint16_t offset)
__rte_experimental int rte_eth_dev_hairpin_capability_get(uint16_t port_id, struct rte_eth_hairpin_cap *cap)
int rte_eth_dev_rss_reta_update(uint16_t port_id, struct rte_eth_rss_reta_entry64 *reta_conf, uint16_t reta_size)
int rte_eth_set_queue_rate_limit(uint16_t port_id, uint16_t queue_idx, uint16_t tx_rate)
int rte_eth_dev_rss_hash_update(uint16_t port_id, struct rte_eth_rss_conf *rss_conf)
__rte_experimental int rte_eth_fec_set(uint16_t port_id, uint32_t fec_capa)
uint64_t rx_queue_offload_capa
int rte_eth_xstats_get(uint16_t port_id, struct rte_eth_xstat *xstats, unsigned int n)
__rte_experimental int rte_eth_read_clock(uint16_t port_id, uint64_t *clock)
int rte_eth_iterator_init(struct rte_dev_iterator *iter, const char *devargs)
int rte_eth_dev_rx_intr_ctl_q(uint16_t port_id, uint16_t queue_id, int epfd, int op, void *data)
int rte_eth_remove_rx_callback(uint16_t port_id, uint16_t queue_id, const struct rte_eth_rxtx_callback *user_cb)
int rte_eth_dev_uc_all_hash_table_set(uint16_t port_id, uint8_t on)
uint64_t tx_queue_offload_capa
uint8_t enable_default_pool
uint32_t max_hash_mac_addrs
int rte_eth_dev_rx_intr_ctl_q_get_fd(uint16_t port_id, uint16_t queue_id)
uint16_t rte_eth_find_next_sibling(uint16_t port_id_start, uint16_t ref_port_id)
uint64_t q_obytes[RTE_ETHDEV_QUEUE_STAT_CNTRS]
int rte_eth_dev_get_eeprom_length(uint16_t port_id)
int rte_eth_dev_close(uint16_t port_id)
int rte_eth_dev_rx_intr_enable(uint16_t port_id, uint16_t queue_id)
__rte_experimental int rte_eth_rx_avail_thresh_set(uint16_t port_id, uint16_t queue_id, uint8_t avail_thresh)
int rte_eth_dev_set_rx_queue_stats_mapping(uint16_t port_id, uint16_t rx_queue_id, uint8_t stat_idx)
int rte_eth_tx_queue_info_get(uint16_t port_id, uint16_t queue_id, struct rte_eth_txq_info *qinfo)
int rte_eth_dev_owner_get(const uint16_t port_id, struct rte_eth_dev_owner *owner)
__rte_experimental int rte_eth_dev_get_module_eeprom(uint16_t port_id, struct rte_dev_eeprom_info *info)
uint32_t dcb_capability_en
uint64_t q_ibytes[RTE_ETHDEV_QUEUE_STAT_CNTRS]
__rte_experimental int rte_eth_dev_conf_get(uint16_t port_id, struct rte_eth_conf *dev_conf)
int rte_eth_dev_flow_ctrl_get(uint16_t port_id, struct rte_eth_fc_conf *fc_conf)
int rte_eth_dev_callback_unregister(uint16_t port_id, enum rte_eth_event_type event, rte_eth_dev_cb_fn cb_fn, void *cb_arg)
int rte_eth_dev_rx_queue_stop(uint16_t port_id, uint16_t rx_queue_id)
int rte_eth_dev_pool_ops_supported(uint16_t port_id, const char *pool)
int rte_eth_dev_set_link_up(uint16_t port_id)
__rte_experimental int rte_eth_rx_metadata_negotiate(uint16_t port_id, uint64_t *features)
int rte_eth_timesync_read_rx_timestamp(uint16_t port_id, struct timespec *timestamp, uint32_t flags)
int rte_eth_dev_get_vlan_offload(uint16_t port_id)
int rte_eth_tx_queue_setup(uint16_t port_id, uint16_t tx_queue_id, uint16_t nb_tx_desc, unsigned int socket_id, const struct rte_eth_txconf *tx_conf)
int rte_eth_tx_burst_mode_get(uint16_t port_id, uint16_t queue_id, struct rte_eth_burst_mode *mode)
uint8_t rx_deferred_start
int(* rte_eth_dev_cb_fn)(uint16_t port_id, enum rte_eth_event_type event, void *cb_arg, void *ret_param)
uint64_t q_ipackets[RTE_ETHDEV_QUEUE_STAT_CNTRS]
#define RTE_ETH_MQ_RX_RSS_FLAG
uint32_t rte_eth_speed_bitflag(uint32_t speed, int duplex)
int rte_eth_dev_owner_set(const uint16_t port_id, const struct rte_eth_dev_owner *owner)
#define RTE_ETH_XSTATS_NAME_SIZE
int rte_eth_dev_rss_hash_conf_get(uint16_t port_id, struct rte_eth_rss_conf *rss_conf)
__rte_experimental int rte_eth_macaddrs_get(uint16_t port_id, struct rte_ether_addr *ma, unsigned int num)
int rte_eth_timesync_disable(uint16_t port_id)
int rte_eth_dev_default_mac_addr_set(uint16_t port_id, struct rte_ether_addr *mac_addr)
__rte_experimental int rte_eth_rx_avail_thresh_query(uint16_t port_id, uint16_t *queue_id, uint8_t *avail_thresh)
__rte_experimental int rte_eth_representor_info_get(uint16_t port_id, struct rte_eth_representor_info *info)
__rte_experimental int rte_eth_dev_priority_flow_ctrl_queue_configure(uint16_t port_id, struct rte_eth_pfc_queue_conf *pfc_queue_conf)
void rte_eth_iterator_cleanup(struct rte_dev_iterator *iter)
void * rte_eth_dev_get_sec_ctx(uint16_t port_id)
__rte_experimental int rte_eth_fec_get_capability(uint16_t port_id, struct rte_eth_fec_capa *speed_fec_capa, unsigned int num)
int rte_eth_stats_reset(uint16_t port_id)
int rte_eth_allmulticast_enable(uint16_t port_id)
__rte_experimental int rte_eth_get_monitor_addr(uint16_t port_id, uint16_t queue_id, struct rte_power_monitor_cond *pmc)
uint32_t offset_align_log2
int rte_eth_dev_set_ptypes(uint16_t port_id, uint32_t ptype_mask, uint32_t *set_ptypes, unsigned int num)
void rte_eth_tx_buffer_drop_callback(struct rte_mbuf **pkts, uint16_t unsent, void *userdata)
int rte_eth_dev_udp_tunnel_port_add(uint16_t port_id, struct rte_eth_udp_tunnel *tunnel_udp)
int rte_eth_timesync_adjust_time(uint16_t port_id, int64_t delta)
uint16_t rte_eth_find_next_of(uint16_t port_id_start, const struct rte_device *parent)
int rte_eth_dev_callback_register(uint16_t port_id, enum rte_eth_event_type event, rte_eth_dev_cb_fn cb_fn, void *cb_arg)
int rte_eth_dev_tx_queue_stop(uint16_t port_id, uint16_t tx_queue_id)
static uint16_t rte_eth_rx_burst(uint16_t port_id, uint16_t queue_id, struct rte_mbuf **rx_pkts, const uint16_t nb_pkts)
int rte_eth_allmulticast_disable(uint16_t port_id)
__rte_experimental int rte_eth_dev_get_module_info(uint16_t port_id, struct rte_eth_dev_module_info *modinfo)
int rte_eth_dev_set_vlan_strip_on_queue(uint16_t port_id, uint16_t rx_queue_id, int on)
int rte_eth_dev_start(uint16_t port_id)
__rte_experimental int rte_eth_ip_reassembly_capability_get(uint16_t port_id, struct rte_eth_ip_reassembly_params *capa)
int rte_eth_dev_reset(uint16_t port_id)
int rte_eth_xstats_get_by_id(uint16_t port_id, const uint64_t *ids, uint64_t *values, unsigned int size)
#define RTE_ETH_MQ_RX_DCB_FLAG
__rte_experimental int rte_eth_ip_reassembly_conf_get(uint16_t port_id, struct rte_eth_ip_reassembly_params *conf)
int rte_eth_dev_rx_intr_disable(uint16_t port_id, uint16_t queue_id)
int rte_eth_tx_buffer_set_err_callback(struct rte_eth_dev_tx_buffer *buffer, buffer_tx_error_fn callback, void *userdata)
void rte_eth_tx_buffer_count_callback(struct rte_mbuf **pkts, uint16_t unsent, void *userdata)
uint64_t q_opackets[RTE_ETHDEV_QUEUE_STAT_CNTRS]
int rte_eth_dev_info_get(uint16_t port_id, struct rte_eth_dev_info *dev_info)
int rte_eth_remove_tx_callback(uint16_t port_id, uint16_t queue_id, const struct rte_eth_rxtx_callback *user_cb)
int rte_eth_dev_is_removed(uint16_t port_id)
uint16_t(* rte_tx_callback_fn)(uint16_t port_id, uint16_t queue, struct rte_mbuf *pkts[], uint16_t nb_pkts, void *user_param)
int rte_eth_dev_fw_version_get(uint16_t port_id, char *fw_version, size_t fw_size)
__rte_experimental int rte_eth_link_to_str(char *str, size_t len, const struct rte_eth_link *eth_link)
int rte_eth_dev_adjust_nb_rx_tx_desc(uint16_t port_id, uint16_t *nb_rx_desc, uint16_t *nb_tx_desc)
int rte_eth_dev_mac_addr_remove(uint16_t port_id, struct rte_ether_addr *mac_addr)
__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)
int rte_eth_dev_owner_unset(const uint16_t port_id, const uint64_t owner_id)
int rte_eth_dev_mac_addr_add(uint16_t port_id, struct rte_ether_addr *mac_addr, uint32_t pool)
int rte_eth_dev_tx_queue_start(uint16_t port_id, uint16_t tx_queue_id)
struct rte_mbuf * next_frag
int rte_eth_xstats_reset(uint16_t port_id)
#define RTE_ETH_MQ_RX_VMDQ_FLAG
__rte_experimental int rte_eth_hairpin_get_peer_ports(uint16_t port_id, uint16_t *peer_ports, size_t len, uint32_t direction)
int rte_eth_xstats_get_id_by_name(uint16_t port_id, const char *xstat_name, uint64_t *id)
int rte_eth_dev_get_port_by_name(const char *name, uint16_t *port_id)
const struct rte_eth_rxtx_callback * rte_eth_add_tx_callback(uint16_t port_id, uint16_t queue_id, rte_tx_callback_fn fn, void *user_param)
uint64_t flow_type_rss_offloads
#define RTE_ETH_VMDQ_MAX_VLAN_FILTERS
uint16_t rte_eth_dev_count_total(void)
int rte_eth_promiscuous_enable(uint16_t port_id)
int rte_eth_dev_rx_intr_ctl(uint16_t port_id, int epfd, int op, void *data)
union rte_eth_rxseg * rx_seg
int rte_eth_dev_owner_new(uint64_t *owner_id)
const char * rte_eth_dev_tx_offload_name(uint64_t offload)
__rte_experimental int rte_eth_fec_get(uint16_t port_id, uint32_t *fec_capa)
int rte_eth_link_get(uint16_t port_id, struct rte_eth_link *link)
int rte_eth_dev_owner_delete(const uint64_t owner_id)
static __rte_always_inline uint16_t rte_eth_tx_buffer(uint16_t port_id, uint16_t queue_id, struct rte_eth_dev_tx_buffer *buffer, struct rte_mbuf *tx_pkt)
__extension__ uint8_t hw_vlan_reject_untagged
int rte_eth_dev_set_mc_addr_list(uint16_t port_id, struct rte_ether_addr *mc_addr_set, uint32_t nb_mc_addr)
rte_eth_fdir_pballoc_type
int rte_eth_dev_get_dcb_info(uint16_t port_id, struct rte_eth_dcb_info *dcb_info)
rte_eth_event_ipsec_subtype
int rte_eth_dev_set_tx_queue_stats_mapping(uint16_t port_id, uint16_t tx_queue_id, uint8_t stat_idx)
int rte_eth_dev_set_eeprom(uint16_t port_id, struct rte_dev_eeprom_info *info)
__rte_experimental const char * rte_eth_link_speed_to_str(uint32_t link_speed)
static int rte_eth_rx_queue_count(uint16_t port_id, uint16_t queue_id)
int rte_eth_rx_queue_info_get(uint16_t port_id, uint16_t queue_id, struct rte_eth_rxq_info *qinfo)
int rte_eth_dev_socket_id(uint16_t port_id)
uint8_t enable_default_pool
__extension__ struct rte_eth_link __rte_aligned(8)
int rte_eth_dev_vlan_filter(uint16_t port_id, uint16_t vlan_id, int on)
int rte_eth_link_get_nowait(uint16_t port_id, struct rte_eth_link *link)
int rte_eth_dev_set_mtu(uint16_t port_id, uint16_t mtu)
int rte_eth_dev_set_vlan_ether_type(uint16_t port_id, enum rte_vlan_type vlan_type, uint16_t tag_type)
int rte_eth_xstats_get_names_by_id(uint16_t port_id, struct rte_eth_xstat_name *xstats_names, unsigned int size, uint64_t *ids)
__rte_experimental const char * rte_eth_dev_capability_name(uint64_t capability)
__rte_experimental int rte_eth_rx_hairpin_queue_setup(uint16_t port_id, uint16_t rx_queue_id, uint16_t nb_rx_desc, const struct rte_eth_hairpin_conf *conf)
static uint64_t rte_eth_rss_hf_refine(uint64_t rss_hf)
__rte_experimental int rte_eth_hairpin_bind(uint16_t tx_port, uint16_t rx_port)
__rte_experimental int rte_eth_ip_reassembly_conf_set(uint16_t port_id, const struct rte_eth_ip_reassembly_params *conf)
int rte_eth_dev_uc_hash_table_set(uint16_t port_id, struct rte_ether_addr *addr, uint8_t on)
int rte_eth_dev_rss_reta_query(uint16_t port_id, struct rte_eth_rss_reta_entry64 *reta_conf, uint16_t reta_size)
int rte_eth_promiscuous_get(uint16_t port_id)
int rte_eth_led_on(uint16_t port_id)
int rte_eth_timesync_read_tx_timestamp(uint16_t port_id, struct timespec *timestamp)
int rte_eth_dev_get_supported_ptypes(uint16_t port_id, uint32_t ptype_mask, uint32_t *ptypes, int num)
int rte_eth_stats_get(uint16_t port_id, struct rte_eth_stats *stats)
__rte_experimental int rte_eth_tx_hairpin_queue_setup(uint16_t port_id, uint16_t tx_queue_id, uint16_t nb_tx_desc, const struct rte_eth_hairpin_conf *conf)
uint8_t mac_ctrl_frame_fwd
uint16_t(* rte_rx_callback_fn)(uint16_t port_id, uint16_t queue, struct rte_mbuf *pkts[], uint16_t nb_pkts, uint16_t max_pkts, void *user_param)
int rte_eth_dev_get_mtu(uint16_t port_id, uint16_t *mtu)
uint8_t tx_deferred_start
int rte_eth_tx_buffer_init(struct rte_eth_dev_tx_buffer *buffer, uint16_t size)
uint32_t max_lro_pkt_size
int rte_eth_xstats_get_names(uint16_t port_id, struct rte_eth_xstat_name *xstats_names, unsigned int size)
const struct rte_eth_rxtx_callback * rte_eth_add_first_rx_callback(uint16_t port_id, uint16_t queue_id, rte_rx_callback_fn fn, void *user_param)
int rte_eth_tx_done_cleanup(uint16_t port_id, uint16_t queue_id, uint32_t free_cnt)
int rte_eth_dev_set_vlan_offload(uint16_t port_id, int offload_mask)
int rte_eth_allmulticast_get(uint16_t port_id)
int rte_eth_dev_is_valid_port(uint16_t port_id)
int rte_eth_macaddr_get(uint16_t port_id, struct rte_ether_addr *mac_addr)
uint32_t max_lro_pkt_size
int rte_eth_timesync_enable(uint16_t port_id)
static uint16_t rte_eth_tx_burst(uint16_t port_id, uint16_t queue_id, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
int rte_eth_dev_rx_queue_start(uint16_t port_id, uint16_t rx_queue_id)
int rte_eth_dev_set_link_down(uint16_t port_id)
int rte_eth_dev_flow_ctrl_set(uint16_t port_id, struct rte_eth_fc_conf *fc_conf)
uint16_t rte_eth_iterator_next(struct rte_dev_iterator *iter)
__rte_experimental int rte_eth_hairpin_unbind(uint16_t tx_port, uint16_t rx_port)
int rte_eth_dev_get_eeprom(uint16_t port_id, struct rte_dev_eeprom_info *info)
const char * rte_eth_dev_rx_offload_name(uint64_t offload)
static uint16_t rte_eth_tx_buffer_flush(uint16_t port_id, uint16_t queue_id, struct rte_eth_dev_tx_buffer *buffer)
int rte_eth_rx_queue_setup(uint16_t port_id, uint16_t rx_queue_id, uint16_t nb_rx_desc, unsigned int socket_id, const struct rte_eth_rxconf *rx_conf, struct rte_mempool *mb_pool)