X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=lib%2Flibrte_ethdev%2Frte_ethdev.h;h=bd0bca6e00c8d06ed894e9a02865dd8f1ef0d5cd;hb=d801c39559b346f26e3d3a8e16a92bb19e0165b9;hp=9b1a8e945966d6ba35edc272e81906e6c804ed94;hpb=5d308972954cbad07d469e9b708aa517787e9948;p=dpdk.git diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h index 9b1a8e9459..bd0bca6e00 100644 --- a/lib/librte_ethdev/rte_ethdev.h +++ b/lib/librte_ethdev/rte_ethdev.h @@ -158,6 +158,7 @@ extern "C" { #include #include +#include "rte_ethdev_trace_fp.h" #include "rte_dev_info.h" extern int rte_eth_dev_logtype; @@ -310,7 +311,7 @@ struct rte_eth_link { uint16_t link_duplex : 1; /**< ETH_LINK_[HALF/FULL]_DUPLEX */ uint16_t link_autoneg : 1; /**< ETH_LINK_[AUTONEG/FIXED] */ uint16_t link_status : 1; /**< ETH_LINK_[DOWN/UP] */ -} __attribute__((aligned(8))); /**< aligned for atomic64 read/write */ +} __rte_aligned(8); /**< aligned for atomic64 read/write */ /* Utility constants */ #define ETH_LINK_HALF_DUPLEX 0 /**< Half-duplex connection (see link_duplex). */ @@ -395,6 +396,8 @@ struct rte_eth_rxmode { /** The multi-queue packet distribution mode to be used, e.g. RSS. */ enum rte_eth_rx_mq_mode mq_mode; uint32_t max_rx_pkt_len; /**< Only used if JUMBO_FRAME enabled. */ + /** Maximum allowed size of LRO aggregated packet. */ + uint32_t max_lro_pkt_size; uint16_t split_hdr_size; /**< hdr buf size (header_split enabled).*/ /** * Per-port Rx offloads to be set using DEV_RX_OFFLOAD_* flags. @@ -402,6 +405,9 @@ struct rte_eth_rxmode { * structure are allowed to be set. */ uint64_t offloads; + + uint64_t reserved_64s[2]; /**< Reserved for future fields */ + void *reserved_ptrs[2]; /**< Reserved for future fields */ }; /** @@ -802,6 +808,9 @@ struct rte_eth_txmode { /**< If set, reject sending out untagged pkts */ hw_vlan_insert_pvid : 1; /**< If set, enable port based VLAN insertion */ + + uint64_t reserved_64s[2]; /**< Reserved for future fields */ + void *reserved_ptrs[2]; /**< Reserved for future fields */ }; /** @@ -818,6 +827,9 @@ struct rte_eth_rxconf { * fields on rte_eth_dev_info structure are allowed to be set. */ uint64_t offloads; + + uint64_t reserved_64s[2]; /**< Reserved for future fields */ + void *reserved_ptrs[2]; /**< Reserved for future fields */ }; /** @@ -836,6 +848,9 @@ struct rte_eth_txconf { * fields on rte_eth_dev_info structure are allowed to be set. */ uint64_t offloads; + + uint64_t reserved_64s[2]; /**< Reserved for future fields */ + void *reserved_ptrs[2]; /**< Reserved for future fields */ }; /** @@ -1182,7 +1197,7 @@ struct rte_eth_dev_portconf { * Default values for switch domain id when ethdev does not support switch * domain definitions. */ -#define RTE_ETH_DEV_SWITCH_DOMAIN_ID_INVALID (0) +#define RTE_ETH_DEV_SWITCH_DOMAIN_ID_INVALID (UINT16_MAX) /** * Ethernet device associated switch information @@ -1219,6 +1234,8 @@ struct rte_eth_dev_info { const uint32_t *dev_flags; /**< Device flags */ uint32_t min_rx_bufsize; /**< Minimum size of RX buffer. */ uint32_t max_rx_pktlen; /**< Maximum configurable length of RX pkt. */ + /** Maximum configurable size of LRO aggregated packet. */ + uint32_t max_lro_pkt_size; uint16_t max_rx_queues; /**< Maximum number of RX queues. */ uint16_t max_tx_queues; /**< Maximum number of TX queues. */ uint32_t max_mac_addrs; /**< Maximum number of MAC addresses. */ @@ -1261,6 +1278,9 @@ struct rte_eth_dev_info { * embedded managed interconnect/switch. */ struct rte_eth_switch_info switch_info; + + uint64_t reserved_64s[2]; /**< Reserved for future fields */ + void *reserved_ptrs[2]; /**< Reserved for future fields */ }; /** @@ -4381,6 +4401,7 @@ rte_eth_rx_burst(uint16_t port_id, uint16_t queue_id, } #endif + rte_ethdev_trace_rx_burst(port_id, queue_id, (void **)rx_pkts, nb_rx); return nb_rx; } @@ -4644,6 +4665,8 @@ rte_eth_tx_burst(uint16_t port_id, uint16_t queue_id, } #endif + rte_ethdev_trace_tx_burst(port_id, queue_id, (void **)tx_pkts, + nb_pkts); return (*dev->tx_pkt_burst)(dev->data->tx_queues[queue_id], tx_pkts, nb_pkts); }