ethdev: avoid documentation in next lines
Documentation in the next separate line is confusing. If documentation requires own line it should be before, not after. Move documentation to the previous line if documentation on the same line makes it too long. Fix a number of incorrect markups on the way. When a lines is touched by the patch anyway, do other cosmetics changes to avoid changes in next patches. Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Acked-by: Ori Kam <orika@nvidia.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
This commit is contained in:
parent
6353ff43a7
commit
3c2ca0a982
@ -44,18 +44,17 @@ struct rte_eth_rxtx_callback {
|
||||
struct rte_eth_dev {
|
||||
eth_rx_burst_t rx_pkt_burst; /**< Pointer to PMD receive function. */
|
||||
eth_tx_burst_t tx_pkt_burst; /**< Pointer to PMD transmit function. */
|
||||
/** Pointer to PMD transmit prepare function */
|
||||
eth_tx_prep_t tx_pkt_prepare;
|
||||
/**< Pointer to PMD transmit prepare function. */
|
||||
/** Get the number of used Rx descriptors */
|
||||
eth_rx_queue_count_t rx_queue_count;
|
||||
/**< Get the number of used RX descriptors. */
|
||||
/** Check the status of a Rx descriptor */
|
||||
eth_rx_descriptor_status_t rx_descriptor_status;
|
||||
/**< Check the status of a Rx descriptor. */
|
||||
/** Check the status of a Tx descriptor */
|
||||
eth_tx_descriptor_status_t tx_descriptor_status;
|
||||
/**< Check the status of a Tx descriptor. */
|
||||
|
||||
/**
|
||||
* points to device data that is shared between
|
||||
* primary and secondary processes.
|
||||
* Device data that is shared between primary and secondary processes
|
||||
*/
|
||||
struct rte_eth_dev_data *data;
|
||||
void *process_private; /**< Pointer to per-process device data. */
|
||||
@ -100,64 +99,63 @@ struct rte_eth_dev_data {
|
||||
|
||||
struct rte_eth_dev_sriov sriov; /**< SRIOV data */
|
||||
|
||||
/** PMD-specific private data. @see rte_eth_dev_release_port() */
|
||||
void *dev_private;
|
||||
/**< PMD-specific private data.
|
||||
* @see rte_eth_dev_release_port()
|
||||
*/
|
||||
|
||||
struct rte_eth_link dev_link; /**< Link-level information & status. */
|
||||
struct rte_eth_conf dev_conf; /**< Configuration applied to device. */
|
||||
uint16_t mtu; /**< Maximum Transmission Unit. */
|
||||
/** Common Rx buffer size handled by all queues */
|
||||
uint32_t min_rx_buf_size;
|
||||
/**< Common RX buffer size handled by all queues. */
|
||||
|
||||
uint64_t rx_mbuf_alloc_failed; /**< RX ring mbuf allocation failures. */
|
||||
/** Device Ethernet link address. @see rte_eth_dev_release_port() */
|
||||
struct rte_ether_addr *mac_addrs;
|
||||
/**< Device Ethernet link address.
|
||||
* @see rte_eth_dev_release_port()
|
||||
*/
|
||||
/** Bitmap associating MAC addresses to pools */
|
||||
uint64_t mac_pool_sel[ETH_NUM_RECEIVE_MAC_ADDR];
|
||||
/**< Bitmap associating MAC addresses to pools. */
|
||||
/**
|
||||
* Device Ethernet MAC addresses of hash filtering.
|
||||
* @see rte_eth_dev_release_port()
|
||||
*/
|
||||
struct rte_ether_addr *hash_mac_addrs;
|
||||
/**< Device Ethernet MAC addresses of hash filtering.
|
||||
* @see rte_eth_dev_release_port()
|
||||
*/
|
||||
uint16_t port_id; /**< Device [external] port identifier. */
|
||||
|
||||
__extension__
|
||||
uint8_t promiscuous : 1,
|
||||
/**< RX promiscuous mode ON(1) / OFF(0). */
|
||||
uint8_t /** Rx promiscuous mode ON(1) / OFF(0) */
|
||||
promiscuous : 1,
|
||||
/** Rx of scattered packets is ON(1) / OFF(0) */
|
||||
scattered_rx : 1,
|
||||
/**< RX of scattered packets is ON(1) / OFF(0) */
|
||||
/** Rx all multicast mode ON(1) / OFF(0) */
|
||||
all_multicast : 1,
|
||||
/**< RX all multicast mode ON(1) / OFF(0). */
|
||||
/** Device state: STARTED(1) / STOPPED(0) */
|
||||
dev_started : 1,
|
||||
/**< Device state: STARTED(1) / STOPPED(0). */
|
||||
/** Rx LRO is ON(1) / OFF(0) */
|
||||
lro : 1,
|
||||
/**< RX LRO is ON(1) / OFF(0) */
|
||||
dev_configured : 1;
|
||||
/**< Indicates whether the device is configured.
|
||||
* CONFIGURED(1) / NOT CONFIGURED(0).
|
||||
/**
|
||||
* Indicates whether the device is configured:
|
||||
* CONFIGURED(1) / NOT CONFIGURED(0)
|
||||
*/
|
||||
dev_configured : 1;
|
||||
/** Queues state: HAIRPIN(2) / STARTED(1) / STOPPED(0) */
|
||||
uint8_t rx_queue_state[RTE_MAX_QUEUES_PER_PORT];
|
||||
/**< Queues state: HAIRPIN(2) / STARTED(1) / STOPPED(0). */
|
||||
/** Queues state: HAIRPIN(2) / STARTED(1) / STOPPED(0) */
|
||||
uint8_t tx_queue_state[RTE_MAX_QUEUES_PER_PORT];
|
||||
/**< Queues state: HAIRPIN(2) / STARTED(1) / STOPPED(0). */
|
||||
uint32_t dev_flags; /**< Capabilities. */
|
||||
int numa_node; /**< NUMA node connection. */
|
||||
/** VLAN filter configuration */
|
||||
struct rte_vlan_filter_conf vlan_filter_conf;
|
||||
/**< VLAN filter configuration. */
|
||||
struct rte_eth_dev_owner owner; /**< The port owner. */
|
||||
/**
|
||||
* Switch-specific identifier.
|
||||
* Valid if RTE_ETH_DEV_REPRESENTOR in dev_flags.
|
||||
*/
|
||||
uint16_t representor_id;
|
||||
/**< Switch-specific identifier.
|
||||
* Valid if RTE_ETH_DEV_REPRESENTOR in dev_flags.
|
||||
*/
|
||||
/**
|
||||
* Port ID of the backing device.
|
||||
* This device will be used to query representor info and calculate
|
||||
* representor IDs. Valid if RTE_ETH_DEV_REPRESENTOR in dev_flags.
|
||||
*/
|
||||
uint16_t backer_port_id;
|
||||
/**< Port ID of the backing device.
|
||||
* This device will be used to query representor
|
||||
* info and calculate representor IDs.
|
||||
* Valid if RTE_ETH_DEV_REPRESENTOR in dev_flags.
|
||||
*/
|
||||
|
||||
pthread_mutex_t flow_ops_mutex; /**< rte_flow ops mutex. */
|
||||
uint64_t reserved_64s[4]; /**< Reserved for future fields */
|
||||
@ -171,7 +169,7 @@ struct rte_eth_dev_data {
|
||||
*/
|
||||
extern struct rte_eth_dev rte_eth_devices[];
|
||||
|
||||
/**< @internal Declaration of the hairpin peer queue information structure. */
|
||||
/** @internal Declaration of the hairpin peer queue information structure. */
|
||||
struct rte_hairpin_peer_info;
|
||||
|
||||
/*
|
||||
@ -180,29 +178,29 @@ struct rte_hairpin_peer_info;
|
||||
* structure associated with an Ethernet device.
|
||||
*/
|
||||
|
||||
/** @internal Ethernet device configuration. */
|
||||
typedef int (*eth_dev_configure_t)(struct rte_eth_dev *dev);
|
||||
/**< @internal Ethernet device configuration. */
|
||||
|
||||
/** @internal Function used to start a configured Ethernet device. */
|
||||
typedef int (*eth_dev_start_t)(struct rte_eth_dev *dev);
|
||||
/**< @internal Function used to start a configured Ethernet device. */
|
||||
|
||||
/** @internal Function used to stop a configured Ethernet device. */
|
||||
typedef int (*eth_dev_stop_t)(struct rte_eth_dev *dev);
|
||||
/**< @internal Function used to stop a configured Ethernet device. */
|
||||
|
||||
/** @internal Function used to link up a configured Ethernet device. */
|
||||
typedef int (*eth_dev_set_link_up_t)(struct rte_eth_dev *dev);
|
||||
/**< @internal Function used to link up a configured Ethernet device. */
|
||||
|
||||
/** @internal Function used to link down a configured Ethernet device. */
|
||||
typedef int (*eth_dev_set_link_down_t)(struct rte_eth_dev *dev);
|
||||
/**< @internal Function used to link down a configured Ethernet device. */
|
||||
|
||||
/** @internal Function used to close a configured Ethernet device. */
|
||||
typedef int (*eth_dev_close_t)(struct rte_eth_dev *dev);
|
||||
/**< @internal Function used to close a configured Ethernet device. */
|
||||
|
||||
/** @internal Function used to reset a configured Ethernet device. */
|
||||
typedef int (*eth_dev_reset_t)(struct rte_eth_dev *dev);
|
||||
/** <@internal Function used to reset a configured Ethernet device. */
|
||||
|
||||
/** @internal Function used to detect an Ethernet device removal. */
|
||||
typedef int (*eth_is_removed_t)(struct rte_eth_dev *dev);
|
||||
/**< @internal Function used to detect an Ethernet device removal. */
|
||||
|
||||
/**
|
||||
* @internal
|
||||
@ -304,13 +302,16 @@ typedef int (*eth_allmulticast_enable_t)(struct rte_eth_dev *dev);
|
||||
*/
|
||||
typedef int (*eth_allmulticast_disable_t)(struct rte_eth_dev *dev);
|
||||
|
||||
/**
|
||||
* @internal
|
||||
* Get link speed, duplex mode and state (up/down) of an Ethernet device.
|
||||
*/
|
||||
typedef int (*eth_link_update_t)(struct rte_eth_dev *dev,
|
||||
int wait_to_complete);
|
||||
/**< @internal Get link speed, duplex mode and state (up/down) of an Ethernet device. */
|
||||
|
||||
/** @internal Get global I/O statistics of an Ethernet device. */
|
||||
typedef int (*eth_stats_get_t)(struct rte_eth_dev *dev,
|
||||
struct rte_eth_stats *igb_stats);
|
||||
/**< @internal Get global I/O statistics of an Ethernet device. */
|
||||
|
||||
/**
|
||||
* @internal
|
||||
@ -333,9 +334,9 @@ typedef int (*eth_stats_get_t)(struct rte_eth_dev *dev,
|
||||
*/
|
||||
typedef int (*eth_stats_reset_t)(struct rte_eth_dev *dev);
|
||||
|
||||
/** @internal Get extended stats of an Ethernet device. */
|
||||
typedef int (*eth_xstats_get_t)(struct rte_eth_dev *dev,
|
||||
struct rte_eth_xstat *stats, unsigned int n);
|
||||
/**< @internal Get extended stats of an Ethernet device. */
|
||||
|
||||
/**
|
||||
* @internal
|
||||
@ -381,9 +382,9 @@ typedef int (*eth_xstats_get_by_id_t)(struct rte_eth_dev *dev,
|
||||
*/
|
||||
typedef int (*eth_xstats_reset_t)(struct rte_eth_dev *dev);
|
||||
|
||||
/** @internal Get names of extended stats of an Ethernet device. */
|
||||
typedef int (*eth_xstats_get_names_t)(struct rte_eth_dev *dev,
|
||||
struct rte_eth_xstat_name *xstats_names, unsigned int size);
|
||||
/**< @internal Get names of extended stats of an Ethernet device. */
|
||||
|
||||
/**
|
||||
* @internal
|
||||
@ -407,18 +408,21 @@ typedef int (*eth_xstats_get_names_by_id_t)(struct rte_eth_dev *dev,
|
||||
const uint64_t *ids, struct rte_eth_xstat_name *xstats_names,
|
||||
unsigned int size);
|
||||
|
||||
/**
|
||||
* @internal
|
||||
* Set a queue statistics mapping for a Tx/Rx queue of an Ethernet device.
|
||||
*/
|
||||
typedef int (*eth_queue_stats_mapping_set_t)(struct rte_eth_dev *dev,
|
||||
uint16_t queue_id,
|
||||
uint8_t stat_idx,
|
||||
uint8_t is_rx);
|
||||
/**< @internal Set a queue statistics mapping for a tx/rx queue of an Ethernet device. */
|
||||
|
||||
/** @internal Get specific information of an Ethernet device. */
|
||||
typedef int (*eth_dev_infos_get_t)(struct rte_eth_dev *dev,
|
||||
struct rte_eth_dev_info *dev_info);
|
||||
/**< @internal Get specific information of an Ethernet device. */
|
||||
|
||||
/** @internal Get supported ptypes of an Ethernet device. */
|
||||
typedef const uint32_t *(*eth_dev_supported_ptypes_get_t)(struct rte_eth_dev *dev);
|
||||
/**< @internal Get supported ptypes of an Ethernet device. */
|
||||
|
||||
/**
|
||||
* @internal
|
||||
@ -435,47 +439,47 @@ typedef const uint32_t *(*eth_dev_supported_ptypes_get_t)(struct rte_eth_dev *de
|
||||
typedef int (*eth_dev_ptypes_set_t)(struct rte_eth_dev *dev,
|
||||
uint32_t ptype_mask);
|
||||
|
||||
/** @internal Start Rx and Tx of a queue of an Ethernet device. */
|
||||
typedef int (*eth_queue_start_t)(struct rte_eth_dev *dev,
|
||||
uint16_t queue_id);
|
||||
/**< @internal Start rx and tx of a queue of an Ethernet device. */
|
||||
|
||||
/** @internal Stop Rx and Tx of a queue of an Ethernet device. */
|
||||
typedef int (*eth_queue_stop_t)(struct rte_eth_dev *dev,
|
||||
uint16_t queue_id);
|
||||
/**< @internal Stop rx and tx of a queue of an Ethernet device. */
|
||||
|
||||
/** @internal Set up a receive queue of an Ethernet device. */
|
||||
typedef int (*eth_rx_queue_setup_t)(struct rte_eth_dev *dev,
|
||||
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);
|
||||
/**< @internal Set up a receive queue of an Ethernet device. */
|
||||
|
||||
/** @internal Setup a transmit queue of an Ethernet device. */
|
||||
typedef int (*eth_tx_queue_setup_t)(struct rte_eth_dev *dev,
|
||||
uint16_t tx_queue_id,
|
||||
uint16_t nb_tx_desc,
|
||||
unsigned int socket_id,
|
||||
const struct rte_eth_txconf *tx_conf);
|
||||
/**< @internal Setup a transmit queue of an Ethernet device. */
|
||||
|
||||
/** @internal Enable interrupt of a receive queue of an Ethernet device. */
|
||||
typedef int (*eth_rx_enable_intr_t)(struct rte_eth_dev *dev,
|
||||
uint16_t rx_queue_id);
|
||||
/**< @internal Enable interrupt of a receive queue of an Ethernet device. */
|
||||
|
||||
/** @internal Disable interrupt of a receive queue of an Ethernet device. */
|
||||
typedef int (*eth_rx_disable_intr_t)(struct rte_eth_dev *dev,
|
||||
uint16_t rx_queue_id);
|
||||
/**< @internal Disable interrupt of a receive queue of an Ethernet device. */
|
||||
|
||||
/** @internal Release memory resources allocated by given Rx/Tx queue. */
|
||||
typedef void (*eth_queue_release_t)(struct rte_eth_dev *dev,
|
||||
uint16_t queue_id);
|
||||
/**< @internal Release memory resources allocated by given RX/TX queue. */
|
||||
|
||||
/** @internal Get firmware information of an Ethernet device. */
|
||||
typedef int (*eth_fw_version_get_t)(struct rte_eth_dev *dev,
|
||||
char *fw_version, size_t fw_size);
|
||||
/**< @internal Get firmware information of an Ethernet device. */
|
||||
|
||||
/** @internal Force mbufs to be from Tx ring. */
|
||||
typedef int (*eth_tx_done_cleanup_t)(void *txq, uint32_t free_cnt);
|
||||
/**< @internal Force mbufs to be from TX ring. */
|
||||
|
||||
typedef void (*eth_rxq_info_get_t)(struct rte_eth_dev *dev,
|
||||
uint16_t rx_queue_id, struct rte_eth_rxq_info *qinfo);
|
||||
@ -486,159 +490,159 @@ typedef void (*eth_txq_info_get_t)(struct rte_eth_dev *dev,
|
||||
typedef int (*eth_burst_mode_get_t)(struct rte_eth_dev *dev,
|
||||
uint16_t queue_id, struct rte_eth_burst_mode *mode);
|
||||
|
||||
/** @internal Set MTU. */
|
||||
typedef int (*mtu_set_t)(struct rte_eth_dev *dev, uint16_t mtu);
|
||||
/**< @internal Set MTU. */
|
||||
|
||||
/** @internal Filtering of a VLAN Tag Identifier by an Ethernet device. */
|
||||
typedef int (*vlan_filter_set_t)(struct rte_eth_dev *dev,
|
||||
uint16_t vlan_id,
|
||||
int on);
|
||||
/**< @internal filtering of a VLAN Tag Identifier by an Ethernet device. */
|
||||
|
||||
/** @internal Set the outer/inner VLAN-TPID by an Ethernet device. */
|
||||
typedef int (*vlan_tpid_set_t)(struct rte_eth_dev *dev,
|
||||
enum rte_vlan_type type, uint16_t tpid);
|
||||
/**< @internal set the outer/inner VLAN-TPID by an Ethernet device. */
|
||||
|
||||
/** @internal Set VLAN offload function by an Ethernet device. */
|
||||
typedef int (*vlan_offload_set_t)(struct rte_eth_dev *dev, int mask);
|
||||
/**< @internal set VLAN offload function by an Ethernet device. */
|
||||
|
||||
/** @internal Set port based Tx VLAN insertion by an Ethernet device. */
|
||||
typedef int (*vlan_pvid_set_t)(struct rte_eth_dev *dev,
|
||||
uint16_t vlan_id,
|
||||
int on);
|
||||
/**< @internal set port based TX VLAN insertion by an Ethernet device. */
|
||||
|
||||
/** @internal VLAN stripping enable/disable by an queue of Ethernet device. */
|
||||
typedef void (*vlan_strip_queue_set_t)(struct rte_eth_dev *dev,
|
||||
uint16_t rx_queue_id,
|
||||
int on);
|
||||
/**< @internal VLAN stripping enable/disable by an queue of Ethernet device. */
|
||||
|
||||
/** @internal Get current flow control parameter on an Ethernet device. */
|
||||
typedef int (*flow_ctrl_get_t)(struct rte_eth_dev *dev,
|
||||
struct rte_eth_fc_conf *fc_conf);
|
||||
/**< @internal Get current flow control parameter on an Ethernet device */
|
||||
|
||||
/** @internal Setup flow control parameter on an Ethernet device. */
|
||||
typedef int (*flow_ctrl_set_t)(struct rte_eth_dev *dev,
|
||||
struct rte_eth_fc_conf *fc_conf);
|
||||
/**< @internal Setup flow control parameter on an Ethernet device */
|
||||
|
||||
/** @internal Setup priority flow control parameter on an Ethernet device. */
|
||||
typedef int (*priority_flow_ctrl_set_t)(struct rte_eth_dev *dev,
|
||||
struct rte_eth_pfc_conf *pfc_conf);
|
||||
/**< @internal Setup priority flow control parameter on an Ethernet device */
|
||||
|
||||
/** @internal Update RSS redirection table on an Ethernet device. */
|
||||
typedef int (*reta_update_t)(struct rte_eth_dev *dev,
|
||||
struct rte_eth_rss_reta_entry64 *reta_conf,
|
||||
uint16_t reta_size);
|
||||
/**< @internal Update RSS redirection table on an Ethernet device */
|
||||
|
||||
/** @internal Query RSS redirection table on an Ethernet device. */
|
||||
typedef int (*reta_query_t)(struct rte_eth_dev *dev,
|
||||
struct rte_eth_rss_reta_entry64 *reta_conf,
|
||||
uint16_t reta_size);
|
||||
/**< @internal Query RSS redirection table on an Ethernet device */
|
||||
|
||||
/** @internal Update RSS hash configuration of an Ethernet device. */
|
||||
typedef int (*rss_hash_update_t)(struct rte_eth_dev *dev,
|
||||
struct rte_eth_rss_conf *rss_conf);
|
||||
/**< @internal Update RSS hash configuration of an Ethernet device */
|
||||
|
||||
/** @internal Get current RSS hash configuration of an Ethernet device. */
|
||||
typedef int (*rss_hash_conf_get_t)(struct rte_eth_dev *dev,
|
||||
struct rte_eth_rss_conf *rss_conf);
|
||||
/**< @internal Get current RSS hash configuration of an Ethernet device */
|
||||
|
||||
/** @internal Turn on SW controllable LED on an Ethernet device. */
|
||||
typedef int (*eth_dev_led_on_t)(struct rte_eth_dev *dev);
|
||||
/**< @internal Turn on SW controllable LED on an Ethernet device */
|
||||
|
||||
/** @internal Turn off SW controllable LED on an Ethernet device. */
|
||||
typedef int (*eth_dev_led_off_t)(struct rte_eth_dev *dev);
|
||||
/**< @internal Turn off SW controllable LED on an Ethernet device */
|
||||
|
||||
/** @internal Remove MAC address from receive address register. */
|
||||
typedef void (*eth_mac_addr_remove_t)(struct rte_eth_dev *dev, uint32_t index);
|
||||
/**< @internal Remove MAC address from receive address register */
|
||||
|
||||
/** @internal Set a MAC address into Receive Address Register. */
|
||||
typedef int (*eth_mac_addr_add_t)(struct rte_eth_dev *dev,
|
||||
struct rte_ether_addr *mac_addr,
|
||||
uint32_t index,
|
||||
uint32_t vmdq);
|
||||
/**< @internal Set a MAC address into Receive Address Register */
|
||||
|
||||
/** @internal Set a MAC address into Receive Address Register. */
|
||||
typedef int (*eth_mac_addr_set_t)(struct rte_eth_dev *dev,
|
||||
struct rte_ether_addr *mac_addr);
|
||||
/**< @internal Set a MAC address into Receive Address Register */
|
||||
|
||||
/** @internal Set a Unicast Hash bitmap. */
|
||||
typedef int (*eth_uc_hash_table_set_t)(struct rte_eth_dev *dev,
|
||||
struct rte_ether_addr *mac_addr,
|
||||
uint8_t on);
|
||||
/**< @internal Set a Unicast Hash bitmap */
|
||||
|
||||
/** @internal Set all Unicast Hash bitmap. */
|
||||
typedef int (*eth_uc_all_hash_table_set_t)(struct rte_eth_dev *dev,
|
||||
uint8_t on);
|
||||
/**< @internal Set all Unicast Hash bitmap */
|
||||
|
||||
/** @internal Set queue Tx rate. */
|
||||
typedef int (*eth_set_queue_rate_limit_t)(struct rte_eth_dev *dev,
|
||||
uint16_t queue_idx,
|
||||
uint16_t tx_rate);
|
||||
/**< @internal Set queue TX rate */
|
||||
|
||||
/** @internal Add tunneling UDP port. */
|
||||
typedef int (*eth_udp_tunnel_port_add_t)(struct rte_eth_dev *dev,
|
||||
struct rte_eth_udp_tunnel *tunnel_udp);
|
||||
/**< @internal Add tunneling UDP port */
|
||||
|
||||
/** @internal Delete tunneling UDP port. */
|
||||
typedef int (*eth_udp_tunnel_port_del_t)(struct rte_eth_dev *dev,
|
||||
struct rte_eth_udp_tunnel *tunnel_udp);
|
||||
/**< @internal Delete tunneling UDP port */
|
||||
|
||||
/** @internal set the list of multicast addresses on an Ethernet device. */
|
||||
typedef int (*eth_set_mc_addr_list_t)(struct rte_eth_dev *dev,
|
||||
struct rte_ether_addr *mc_addr_set,
|
||||
uint32_t nb_mc_addr);
|
||||
/**< @internal set the list of multicast addresses on an Ethernet device */
|
||||
|
||||
/** @internal Function used to enable IEEE1588/802.1AS timestamping. */
|
||||
typedef int (*eth_timesync_enable_t)(struct rte_eth_dev *dev);
|
||||
/**< @internal Function used to enable IEEE1588/802.1AS timestamping. */
|
||||
|
||||
/** @internal Function used to disable IEEE1588/802.1AS timestamping. */
|
||||
typedef int (*eth_timesync_disable_t)(struct rte_eth_dev *dev);
|
||||
/**< @internal Function used to disable IEEE1588/802.1AS timestamping. */
|
||||
|
||||
/** @internal Function used to read an Rx IEEE1588/802.1AS timestamp. */
|
||||
typedef int (*eth_timesync_read_rx_timestamp_t)(struct rte_eth_dev *dev,
|
||||
struct timespec *timestamp,
|
||||
uint32_t flags);
|
||||
/**< @internal Function used to read an RX IEEE1588/802.1AS timestamp. */
|
||||
|
||||
/** @internal Function used to read a Tx IEEE1588/802.1AS timestamp. */
|
||||
typedef int (*eth_timesync_read_tx_timestamp_t)(struct rte_eth_dev *dev,
|
||||
struct timespec *timestamp);
|
||||
/**< @internal Function used to read a TX IEEE1588/802.1AS timestamp. */
|
||||
|
||||
/** @internal Function used to adjust the device clock. */
|
||||
typedef int (*eth_timesync_adjust_time)(struct rte_eth_dev *dev, int64_t);
|
||||
/**< @internal Function used to adjust the device clock */
|
||||
|
||||
/** @internal Function used to get time from the device clock. */
|
||||
typedef int (*eth_timesync_read_time)(struct rte_eth_dev *dev,
|
||||
struct timespec *timestamp);
|
||||
/**< @internal Function used to get time from the device clock. */
|
||||
|
||||
/** @internal Function used to get time from the device clock. */
|
||||
typedef int (*eth_timesync_write_time)(struct rte_eth_dev *dev,
|
||||
const struct timespec *timestamp);
|
||||
/**< @internal Function used to get time from the device clock */
|
||||
|
||||
/** @internal Function used to get the current value of the device clock. */
|
||||
typedef int (*eth_read_clock)(struct rte_eth_dev *dev,
|
||||
uint64_t *timestamp);
|
||||
/**< @internal Function used to get the current value of the device clock. */
|
||||
|
||||
/** @internal Retrieve registers. */
|
||||
typedef int (*eth_get_reg_t)(struct rte_eth_dev *dev,
|
||||
struct rte_dev_reg_info *info);
|
||||
/**< @internal Retrieve registers */
|
||||
|
||||
/** @internal Retrieve eeprom size. */
|
||||
typedef int (*eth_get_eeprom_length_t)(struct rte_eth_dev *dev);
|
||||
/**< @internal Retrieve eeprom size */
|
||||
|
||||
/** @internal Retrieve eeprom data. */
|
||||
typedef int (*eth_get_eeprom_t)(struct rte_eth_dev *dev,
|
||||
struct rte_dev_eeprom_info *info);
|
||||
/**< @internal Retrieve eeprom data */
|
||||
|
||||
/** @internal Program eeprom data. */
|
||||
typedef int (*eth_set_eeprom_t)(struct rte_eth_dev *dev,
|
||||
struct rte_dev_eeprom_info *info);
|
||||
/**< @internal Program eeprom data */
|
||||
|
||||
/** @internal Retrieve type and size of plugin module eeprom. */
|
||||
typedef int (*eth_get_module_info_t)(struct rte_eth_dev *dev,
|
||||
struct rte_eth_dev_module_info *modinfo);
|
||||
/**< @internal Retrieve type and size of plugin module eeprom */
|
||||
|
||||
/** @internal Retrieve plugin module eeprom data. */
|
||||
typedef int (*eth_get_module_eeprom_t)(struct rte_eth_dev *dev,
|
||||
struct rte_dev_eeprom_info *info);
|
||||
/**< @internal Retrieve plugin module eeprom data */
|
||||
|
||||
struct rte_flow_ops;
|
||||
/**
|
||||
@ -651,19 +655,19 @@ struct rte_flow_ops;
|
||||
typedef int (*eth_flow_ops_get_t)(struct rte_eth_dev *dev,
|
||||
const struct rte_flow_ops **ops);
|
||||
|
||||
/** @internal Get Traffic Management (TM) operations on an Ethernet device. */
|
||||
typedef int (*eth_tm_ops_get_t)(struct rte_eth_dev *dev, void *ops);
|
||||
/**< @internal Get Traffic Management (TM) operations on an Ethernet device */
|
||||
|
||||
/** @internal Get Traffic Metering and Policing (MTR) operations. */
|
||||
typedef int (*eth_mtr_ops_get_t)(struct rte_eth_dev *dev, void *ops);
|
||||
/**< @internal Get Traffic Metering and Policing (MTR) operations */
|
||||
|
||||
/** @internal Get dcb information on an Ethernet device. */
|
||||
typedef int (*eth_get_dcb_info)(struct rte_eth_dev *dev,
|
||||
struct rte_eth_dcb_info *dcb_info);
|
||||
/**< @internal Get dcb information on an Ethernet device */
|
||||
|
||||
/** @internal Test if a port supports specific mempool ops. */
|
||||
typedef int (*eth_pool_ops_supported_t)(struct rte_eth_dev *dev,
|
||||
const char *pool);
|
||||
/**< @internal Test if a port supports specific mempool ops */
|
||||
|
||||
/**
|
||||
* @internal
|
||||
@ -905,20 +909,20 @@ typedef int (*eth_hairpin_bind_t)(struct rte_eth_dev *dev,
|
||||
typedef int (*eth_hairpin_unbind_t)(struct rte_eth_dev *dev,
|
||||
uint16_t rx_port);
|
||||
|
||||
/** @internal Update and fetch peer queue information. */
|
||||
typedef int (*eth_hairpin_queue_peer_update_t)
|
||||
(struct rte_eth_dev *dev, uint16_t peer_queue,
|
||||
struct rte_hairpin_peer_info *current_info,
|
||||
struct rte_hairpin_peer_info *peer_info, uint32_t direction);
|
||||
/**< @internal Update and fetch peer queue information. */
|
||||
|
||||
/** @internal Bind peer queue to the current queue with fetched information. */
|
||||
typedef int (*eth_hairpin_queue_peer_bind_t)
|
||||
(struct rte_eth_dev *dev, uint16_t cur_queue,
|
||||
struct rte_hairpin_peer_info *peer_info, uint32_t direction);
|
||||
/**< @internal Bind peer queue to the current queue with fetched information. */
|
||||
|
||||
/** @internal Unbind peer queue from the current queue. */
|
||||
typedef int (*eth_hairpin_queue_peer_unbind_t)
|
||||
(struct rte_eth_dev *dev, uint16_t cur_queue, uint32_t direction);
|
||||
/**< @internal Unbind peer queue from the current queue. */
|
||||
|
||||
/**
|
||||
* @internal
|
||||
@ -992,8 +996,8 @@ struct eth_dev_ops {
|
||||
eth_dev_close_t dev_close; /**< Close device. */
|
||||
eth_dev_reset_t dev_reset; /**< Reset device. */
|
||||
eth_link_update_t link_update; /**< Get device link state. */
|
||||
/** Check if the device was physically removed */
|
||||
eth_is_removed_t is_removed;
|
||||
/**< Check if the device was physically removed. */
|
||||
|
||||
eth_promiscuous_enable_t promiscuous_enable; /**< Promiscuous ON. */
|
||||
eth_promiscuous_disable_t promiscuous_disable;/**< Promiscuous OFF. */
|
||||
@ -1002,34 +1006,50 @@ struct eth_dev_ops {
|
||||
eth_mac_addr_remove_t mac_addr_remove; /**< Remove MAC address. */
|
||||
eth_mac_addr_add_t mac_addr_add; /**< Add a MAC address. */
|
||||
eth_mac_addr_set_t mac_addr_set; /**< Set a MAC address. */
|
||||
eth_set_mc_addr_list_t set_mc_addr_list; /**< set list of mcast addrs. */
|
||||
/** Set list of multicast addresses */
|
||||
eth_set_mc_addr_list_t set_mc_addr_list;
|
||||
mtu_set_t mtu_set; /**< Set MTU. */
|
||||
|
||||
eth_stats_get_t stats_get; /**< Get generic device statistics. */
|
||||
eth_stats_reset_t stats_reset; /**< Reset generic device statistics. */
|
||||
eth_xstats_get_t xstats_get; /**< Get extended device statistics. */
|
||||
eth_xstats_reset_t xstats_reset; /**< Reset extended device statistics. */
|
||||
/** Get generic device statistics */
|
||||
eth_stats_get_t stats_get;
|
||||
/** Reset generic device statistics */
|
||||
eth_stats_reset_t stats_reset;
|
||||
/** Get extended device statistics */
|
||||
eth_xstats_get_t xstats_get;
|
||||
/** Reset extended device statistics */
|
||||
eth_xstats_reset_t xstats_reset;
|
||||
/** Get names of extended statistics */
|
||||
eth_xstats_get_names_t xstats_get_names;
|
||||
/**< Get names of extended statistics. */
|
||||
/** Configure per queue stat counter mapping */
|
||||
eth_queue_stats_mapping_set_t queue_stats_mapping_set;
|
||||
/**< Configure per queue stat counter mapping. */
|
||||
|
||||
eth_dev_infos_get_t dev_infos_get; /**< Get device info. */
|
||||
eth_rxq_info_get_t rxq_info_get; /**< retrieve RX queue information. */
|
||||
eth_txq_info_get_t txq_info_get; /**< retrieve TX queue information. */
|
||||
/** Retrieve Rx queue information */
|
||||
eth_rxq_info_get_t rxq_info_get;
|
||||
/** Retrieve Tx queue information */
|
||||
eth_txq_info_get_t txq_info_get;
|
||||
eth_burst_mode_get_t rx_burst_mode_get; /**< Get RX burst mode */
|
||||
eth_burst_mode_get_t tx_burst_mode_get; /**< Get TX burst mode */
|
||||
eth_fw_version_get_t fw_version_get; /**< Get firmware version. */
|
||||
eth_dev_supported_ptypes_get_t dev_supported_ptypes_get;
|
||||
/**< Get packet types supported and identified by device. */
|
||||
eth_dev_ptypes_set_t dev_ptypes_set;
|
||||
/**< Inform Ethernet device about reduced range of packet types to handle. */
|
||||
|
||||
vlan_filter_set_t vlan_filter_set; /**< Filter VLAN Setup. */
|
||||
vlan_tpid_set_t vlan_tpid_set; /**< Outer/Inner VLAN TPID Setup. */
|
||||
vlan_strip_queue_set_t vlan_strip_queue_set; /**< VLAN Stripping on queue. */
|
||||
vlan_offload_set_t vlan_offload_set; /**< Set VLAN Offload. */
|
||||
vlan_pvid_set_t vlan_pvid_set; /**< Set port based TX VLAN insertion. */
|
||||
/** Get packet types supported and identified by device */
|
||||
eth_dev_supported_ptypes_get_t dev_supported_ptypes_get;
|
||||
/**
|
||||
* Inform Ethernet device about reduced range of packet types to
|
||||
* handle
|
||||
*/
|
||||
eth_dev_ptypes_set_t dev_ptypes_set;
|
||||
|
||||
/** Filter VLAN Setup */
|
||||
vlan_filter_set_t vlan_filter_set;
|
||||
/** Outer/Inner VLAN TPID Setup */
|
||||
vlan_tpid_set_t vlan_tpid_set;
|
||||
/** VLAN Stripping on queue */
|
||||
vlan_strip_queue_set_t vlan_strip_queue_set;
|
||||
/** Set VLAN Offload */
|
||||
vlan_offload_set_t vlan_offload_set;
|
||||
/** Set port based Tx VLAN insertion */
|
||||
vlan_pvid_set_t vlan_pvid_set;
|
||||
|
||||
eth_queue_start_t rx_queue_start;/**< Start RX for a queue. */
|
||||
eth_queue_stop_t rx_queue_stop; /**< Stop RX for a queue. */
|
||||
@ -1038,8 +1058,11 @@ struct eth_dev_ops {
|
||||
eth_rx_queue_setup_t rx_queue_setup;/**< Set up device RX queue. */
|
||||
eth_queue_release_t rx_queue_release; /**< Release RX queue. */
|
||||
|
||||
eth_rx_enable_intr_t rx_queue_intr_enable; /**< Enable Rx queue interrupt. */
|
||||
eth_rx_disable_intr_t rx_queue_intr_disable; /**< Disable Rx queue interrupt. */
|
||||
/** Enable Rx queue interrupt */
|
||||
eth_rx_enable_intr_t rx_queue_intr_enable;
|
||||
/** Disable Rx queue interrupt */
|
||||
eth_rx_disable_intr_t rx_queue_intr_disable;
|
||||
|
||||
eth_tx_queue_setup_t tx_queue_setup;/**< Set up device TX queue. */
|
||||
eth_queue_release_t tx_queue_release; /**< Release TX queue. */
|
||||
eth_tx_done_cleanup_t tx_done_cleanup;/**< Free tx ring mbufs */
|
||||
@ -1049,94 +1072,108 @@ struct eth_dev_ops {
|
||||
|
||||
flow_ctrl_get_t flow_ctrl_get; /**< Get flow control. */
|
||||
flow_ctrl_set_t flow_ctrl_set; /**< Setup flow control. */
|
||||
priority_flow_ctrl_set_t priority_flow_ctrl_set; /**< Setup priority flow control. */
|
||||
/** Setup priority flow control */
|
||||
priority_flow_ctrl_set_t priority_flow_ctrl_set;
|
||||
|
||||
eth_uc_hash_table_set_t uc_hash_table_set; /**< Set Unicast Table Array. */
|
||||
eth_uc_all_hash_table_set_t uc_all_hash_table_set; /**< Set Unicast hash bitmap. */
|
||||
/** Set Unicast Table Array */
|
||||
eth_uc_hash_table_set_t uc_hash_table_set;
|
||||
/** Set Unicast hash bitmap */
|
||||
eth_uc_all_hash_table_set_t uc_all_hash_table_set;
|
||||
|
||||
eth_udp_tunnel_port_add_t udp_tunnel_port_add; /** Add UDP tunnel port. */
|
||||
eth_udp_tunnel_port_del_t udp_tunnel_port_del; /** Del UDP tunnel port. */
|
||||
/** Add UDP tunnel port */
|
||||
eth_udp_tunnel_port_add_t udp_tunnel_port_add;
|
||||
/** Delete UDP tunnel port */
|
||||
eth_udp_tunnel_port_del_t udp_tunnel_port_del;
|
||||
|
||||
eth_set_queue_rate_limit_t set_queue_rate_limit; /**< Set queue rate limit. */
|
||||
/** Set queue rate limit */
|
||||
eth_set_queue_rate_limit_t set_queue_rate_limit;
|
||||
|
||||
rss_hash_update_t rss_hash_update; /** Configure RSS hash protocols. */
|
||||
rss_hash_conf_get_t rss_hash_conf_get; /** Get current RSS hash configuration. */
|
||||
reta_update_t reta_update; /** Update redirection table. */
|
||||
reta_query_t reta_query; /** Query redirection table. */
|
||||
/** Configure RSS hash protocols and hashing key */
|
||||
rss_hash_update_t rss_hash_update;
|
||||
/** Get current RSS hash configuration */
|
||||
rss_hash_conf_get_t rss_hash_conf_get;
|
||||
/** Update redirection table */
|
||||
reta_update_t reta_update;
|
||||
/** Query redirection table */
|
||||
reta_query_t reta_query;
|
||||
|
||||
eth_get_reg_t get_reg; /**< Get registers. */
|
||||
eth_get_eeprom_length_t get_eeprom_length; /**< Get eeprom length. */
|
||||
eth_get_eeprom_t get_eeprom; /**< Get eeprom data. */
|
||||
eth_set_eeprom_t set_eeprom; /**< Set eeprom. */
|
||||
|
||||
/** Get plugin module eeprom attribute */
|
||||
eth_get_module_info_t get_module_info;
|
||||
/** Get plugin module eeprom attribute. */
|
||||
/** Get plugin module eeprom data */
|
||||
eth_get_module_eeprom_t get_module_eeprom;
|
||||
/** Get plugin module eeprom data. */
|
||||
|
||||
eth_flow_ops_get_t flow_ops_get; /**< Get flow operations. */
|
||||
|
||||
eth_get_dcb_info get_dcb_info; /** Get DCB information. */
|
||||
eth_get_dcb_info get_dcb_info; /**< Get DCB information */
|
||||
|
||||
/** Turn IEEE1588/802.1AS timestamping on */
|
||||
eth_timesync_enable_t timesync_enable;
|
||||
/** Turn IEEE1588/802.1AS timestamping on. */
|
||||
/** Turn IEEE1588/802.1AS timestamping off */
|
||||
eth_timesync_disable_t timesync_disable;
|
||||
/** Turn IEEE1588/802.1AS timestamping off. */
|
||||
/** Read the IEEE1588/802.1AS Rx timestamp */
|
||||
eth_timesync_read_rx_timestamp_t timesync_read_rx_timestamp;
|
||||
/** Read the IEEE1588/802.1AS RX timestamp. */
|
||||
/** Read the IEEE1588/802.1AS Tx timestamp */
|
||||
eth_timesync_read_tx_timestamp_t timesync_read_tx_timestamp;
|
||||
/** Read the IEEE1588/802.1AS TX timestamp. */
|
||||
eth_timesync_adjust_time timesync_adjust_time; /** Adjust the device clock. */
|
||||
eth_timesync_read_time timesync_read_time; /** Get the device clock time. */
|
||||
eth_timesync_write_time timesync_write_time; /** Set the device clock time. */
|
||||
/** Adjust the device clock */
|
||||
eth_timesync_adjust_time timesync_adjust_time;
|
||||
/** Get the device clock time */
|
||||
eth_timesync_read_time timesync_read_time;
|
||||
/** Set the device clock time */
|
||||
eth_timesync_write_time timesync_write_time;
|
||||
|
||||
eth_read_clock read_clock;
|
||||
|
||||
/** Get extended device statistic values by ID */
|
||||
eth_xstats_get_by_id_t xstats_get_by_id;
|
||||
/**< Get extended device statistic values by ID. */
|
||||
/** Get name of extended device statistics by ID */
|
||||
eth_xstats_get_names_by_id_t xstats_get_names_by_id;
|
||||
/**< Get name of extended device statistics by ID. */
|
||||
|
||||
/** Get Traffic Management (TM) operations */
|
||||
eth_tm_ops_get_t tm_ops_get;
|
||||
/**< Get Traffic Management (TM) operations. */
|
||||
|
||||
/** Get Traffic Metering and Policing (MTR) operations */
|
||||
eth_mtr_ops_get_t mtr_ops_get;
|
||||
/**< Get Traffic Metering and Policing (MTR) operations. */
|
||||
|
||||
/** Test if a port supports specific mempool ops */
|
||||
eth_pool_ops_supported_t pool_ops_supported;
|
||||
/**< Test if a port supports specific mempool ops */
|
||||
|
||||
/** Returns the hairpin capabilities */
|
||||
eth_hairpin_cap_get_t hairpin_cap_get;
|
||||
/**< Returns the hairpin capabilities. */
|
||||
/** Set up device Rx hairpin queue */
|
||||
eth_rx_hairpin_queue_setup_t rx_hairpin_queue_setup;
|
||||
/**< Set up device RX hairpin queue. */
|
||||
/** Set up device Tx hairpin queue */
|
||||
eth_tx_hairpin_queue_setup_t tx_hairpin_queue_setup;
|
||||
/**< Set up device TX hairpin queue. */
|
||||
|
||||
/** Get Forward Error Correction(FEC) capability */
|
||||
eth_fec_get_capability_t fec_get_capability;
|
||||
/**< Get Forward Error Correction(FEC) capability. */
|
||||
/** Get Forward Error Correction(FEC) mode */
|
||||
eth_fec_get_t fec_get;
|
||||
/**< Get Forward Error Correction(FEC) mode. */
|
||||
/** Set Forward Error Correction(FEC) mode */
|
||||
eth_fec_set_t fec_set;
|
||||
/**< Set Forward Error Correction(FEC) mode. */
|
||||
|
||||
/** Get hairpin peer ports list */
|
||||
hairpin_get_peer_ports_t hairpin_get_peer_ports;
|
||||
/**< Get hairpin peer ports list. */
|
||||
/** Bind all hairpin Tx queues of device to the peer port Rx queues */
|
||||
eth_hairpin_bind_t hairpin_bind;
|
||||
/**< Bind all hairpin Tx queues of device to the peer port Rx queues. */
|
||||
/** Unbind all hairpin Tx queues from the peer port Rx queues */
|
||||
eth_hairpin_unbind_t hairpin_unbind;
|
||||
/**< Unbind all hairpin Tx queues from the peer port Rx queues. */
|
||||
/** Pass the current queue info and get the peer queue info */
|
||||
eth_hairpin_queue_peer_update_t hairpin_queue_peer_update;
|
||||
/**< Pass the current queue info and get the peer queue info. */
|
||||
/** Set up the connection between the pair of hairpin queues */
|
||||
eth_hairpin_queue_peer_bind_t hairpin_queue_peer_bind;
|
||||
/**< Set up the connection between the pair of hairpin queues. */
|
||||
/** Disconnect the hairpin queues of a pair from each other */
|
||||
eth_hairpin_queue_peer_unbind_t hairpin_queue_peer_unbind;
|
||||
/**< Disconnect the hairpin queues of a pair from each other. */
|
||||
|
||||
/** Get power monitoring condition for Rx queue */
|
||||
eth_get_monitor_addr_t get_monitor_addr;
|
||||
/**< Get power monitoring condition for Rx queue. */
|
||||
|
||||
/** Get representor info */
|
||||
eth_representor_info_get_t representor_info_get;
|
||||
/**< Get representor info. */
|
||||
|
||||
/**
|
||||
* Negotiate the NIC's ability to deliver specific
|
||||
|
@ -257,24 +257,25 @@ struct rte_eth_stats {
|
||||
uint64_t opackets; /**< Total number of successfully transmitted packets.*/
|
||||
uint64_t ibytes; /**< Total number of successfully received bytes. */
|
||||
uint64_t obytes; /**< Total number of successfully transmitted bytes. */
|
||||
uint64_t imissed;
|
||||
/**< Total of RX packets dropped by the HW,
|
||||
/**
|
||||
* Total of RX packets dropped by the HW,
|
||||
* because there are no available buffer (i.e. RX queues are full).
|
||||
*/
|
||||
uint64_t imissed;
|
||||
uint64_t ierrors; /**< Total number of erroneous received packets. */
|
||||
uint64_t oerrors; /**< Total number of failed transmitted packets. */
|
||||
uint64_t rx_nombuf; /**< Total number of RX mbuf allocation failures. */
|
||||
/* Queue stats are limited to max 256 queues */
|
||||
/** Total number of queue RX packets. */
|
||||
uint64_t q_ipackets[RTE_ETHDEV_QUEUE_STAT_CNTRS];
|
||||
/**< Total number of queue RX packets. */
|
||||
/** Total number of queue TX packets. */
|
||||
uint64_t q_opackets[RTE_ETHDEV_QUEUE_STAT_CNTRS];
|
||||
/**< Total number of queue TX packets. */
|
||||
/** Total number of successfully received queue bytes. */
|
||||
uint64_t q_ibytes[RTE_ETHDEV_QUEUE_STAT_CNTRS];
|
||||
/**< Total number of successfully received queue bytes. */
|
||||
/** Total number of successfully transmitted queue bytes. */
|
||||
uint64_t q_obytes[RTE_ETHDEV_QUEUE_STAT_CNTRS];
|
||||
/**< Total number of successfully transmitted queue bytes. */
|
||||
/** Total number of queue packets received that are dropped. */
|
||||
uint64_t q_errors[RTE_ETHDEV_QUEUE_STAT_CNTRS];
|
||||
/**< Total number of queue packets received that are dropped. */
|
||||
};
|
||||
|
||||
/**@{@name Link speed capabilities
|
||||
@ -500,8 +501,8 @@ struct rte_eth_rss_conf {
|
||||
#define RTE_ETH_FLOW_IPV6_EX 15
|
||||
#define RTE_ETH_FLOW_IPV6_TCP_EX 16
|
||||
#define RTE_ETH_FLOW_IPV6_UDP_EX 17
|
||||
/** Consider device port number as a flow differentiator */
|
||||
#define RTE_ETH_FLOW_PORT 18
|
||||
/**< Consider device port number as a flow differentiator */
|
||||
#define RTE_ETH_FLOW_VXLAN 19 /**< VXLAN protocol based flow */
|
||||
#define RTE_ETH_FLOW_GENEVE 20 /**< GENEVE protocol based flow */
|
||||
#define RTE_ETH_FLOW_NVGRE 21 /**< NVGRE protocol based flow */
|
||||
@ -769,7 +770,7 @@ rte_eth_rss_hf_refine(uint64_t rss_hf)
|
||||
ETH_RSS_S_VLAN | \
|
||||
ETH_RSS_C_VLAN)
|
||||
|
||||
/**< Mask of valid RSS hash protocols */
|
||||
/** Mask of valid RSS hash protocols */
|
||||
#define ETH_RSS_PROTO_MASK ( \
|
||||
ETH_RSS_IPV4 | \
|
||||
ETH_RSS_FRAG_IPV4 | \
|
||||
@ -852,10 +853,10 @@ rte_eth_rss_hf_refine(uint64_t rss_hf)
|
||||
* is needed.
|
||||
*/
|
||||
struct rte_eth_rss_reta_entry64 {
|
||||
/** Mask bits indicate which entries need to be updated/queried. */
|
||||
uint64_t mask;
|
||||
/**< Mask bits indicate which entries need to be updated/queried. */
|
||||
/** Group of 64 redirection table entries. */
|
||||
uint16_t reta[RTE_RETA_GROUP_SIZE];
|
||||
/**< Group of 64 redirection table entries. */
|
||||
};
|
||||
|
||||
/**
|
||||
@ -921,8 +922,8 @@ struct rte_eth_vmdq_dcb_conf {
|
||||
uint16_t vlan_id; /**< The vlan id of the received frame */
|
||||
uint64_t pools; /**< Bitmask of pools for packet rx */
|
||||
} pool_map[ETH_VMDQ_MAX_VLAN_FILTERS]; /**< VMDq vlan pool maps. */
|
||||
/** Selects a queue in a pool */
|
||||
uint8_t dcb_tc[ETH_DCB_NUM_USER_PRIORITIES];
|
||||
/**< Selects a queue in a pool */
|
||||
};
|
||||
|
||||
/**
|
||||
@ -970,12 +971,12 @@ struct rte_eth_txmode {
|
||||
|
||||
uint16_t pvid;
|
||||
__extension__
|
||||
uint8_t hw_vlan_reject_tagged : 1,
|
||||
/**< If set, reject sending out tagged pkts */
|
||||
uint8_t /** If set, reject sending out tagged pkts */
|
||||
hw_vlan_reject_tagged : 1,
|
||||
/** If set, reject sending out untagged pkts */
|
||||
hw_vlan_reject_untagged : 1,
|
||||
/**< If set, reject sending out untagged pkts */
|
||||
/** If set, enable port based VLAN insertion */
|
||||
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 */
|
||||
@ -1269,8 +1270,8 @@ struct rte_fdir_conf {
|
||||
/** RX queue of packets matching a "drop" filter in perfect mode. */
|
||||
uint8_t drop_queue;
|
||||
struct rte_eth_fdir_masks mask;
|
||||
/** Flex payload configuration. */
|
||||
struct rte_eth_fdir_flex_conf flex_conf;
|
||||
/**< Flex payload configuration. */
|
||||
};
|
||||
|
||||
/**
|
||||
@ -1321,20 +1322,20 @@ struct rte_eth_conf {
|
||||
are defined in implementation of each driver. */
|
||||
struct {
|
||||
struct rte_eth_rss_conf rss_conf; /**< Port RSS configuration */
|
||||
/** Port vmdq+dcb configuration. */
|
||||
struct rte_eth_vmdq_dcb_conf vmdq_dcb_conf;
|
||||
/**< Port vmdq+dcb configuration. */
|
||||
/** Port dcb RX configuration. */
|
||||
struct rte_eth_dcb_rx_conf dcb_rx_conf;
|
||||
/**< Port dcb RX configuration. */
|
||||
/** Port vmdq RX configuration. */
|
||||
struct rte_eth_vmdq_rx_conf vmdq_rx_conf;
|
||||
/**< Port vmdq RX configuration. */
|
||||
} rx_adv_conf; /**< Port RX filtering configuration. */
|
||||
union {
|
||||
/** Port vmdq+dcb TX configuration. */
|
||||
struct rte_eth_vmdq_dcb_tx_conf vmdq_dcb_tx_conf;
|
||||
/**< Port vmdq+dcb TX configuration. */
|
||||
/** Port dcb TX configuration. */
|
||||
struct rte_eth_dcb_tx_conf dcb_tx_conf;
|
||||
/**< Port dcb TX configuration. */
|
||||
/** Port vmdq TX configuration. */
|
||||
struct rte_eth_vmdq_tx_conf vmdq_tx_conf;
|
||||
/**< Port vmdq TX configuration. */
|
||||
} tx_adv_conf; /**< Port TX DCB configuration (union). */
|
||||
/** Currently,Priority Flow Control(PFC) are supported,if DCB with PFC
|
||||
is needed,and the variable must be set ETH_DCB_PFC_SUPPORT. */
|
||||
@ -1401,17 +1402,19 @@ struct rte_eth_conf {
|
||||
#define DEV_TX_OFFLOAD_IPIP_TNL_TSO 0x00000800 /**< Used for tunneling packet. */
|
||||
#define DEV_TX_OFFLOAD_GENEVE_TNL_TSO 0x00001000 /**< Used for tunneling packet. */
|
||||
#define DEV_TX_OFFLOAD_MACSEC_INSERT 0x00002000
|
||||
#define DEV_TX_OFFLOAD_MT_LOCKFREE 0x00004000
|
||||
/**< Multiple threads can invoke rte_eth_tx_burst() concurrently on the same
|
||||
/**
|
||||
* Multiple threads can invoke rte_eth_tx_burst() concurrently on the same
|
||||
* tx queue without SW lock.
|
||||
*/
|
||||
#define DEV_TX_OFFLOAD_MT_LOCKFREE 0x00004000
|
||||
/** Device supports multi segment send. */
|
||||
#define DEV_TX_OFFLOAD_MULTI_SEGS 0x00008000
|
||||
/**< Device supports multi segment send. */
|
||||
#define DEV_TX_OFFLOAD_MBUF_FAST_FREE 0x00010000
|
||||
/**< 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.
|
||||
/**
|
||||
* 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 DEV_TX_OFFLOAD_MBUF_FAST_FREE 0x00010000
|
||||
#define DEV_TX_OFFLOAD_SECURITY 0x00020000
|
||||
/**
|
||||
* Device supports generic UDP tunneled packet TSO.
|
||||
@ -1480,14 +1483,14 @@ struct rte_eth_dev_portconf {
|
||||
struct rte_eth_switch_info {
|
||||
const char *name; /**< switch name */
|
||||
uint16_t domain_id; /**< switch domain id */
|
||||
uint16_t port_id;
|
||||
/**<
|
||||
* mapping to the devices physical switch port as enumerated from the
|
||||
/**
|
||||
* Mapping to the devices physical switch port as enumerated from the
|
||||
* perspective of the embedded interconnect/switch. For SR-IOV enabled
|
||||
* device this may correspond to the VF_ID of each virtual function,
|
||||
* but each driver should explicitly define the mapping of switch
|
||||
* port identifier to that physical interconnect/switch
|
||||
*/
|
||||
uint16_t port_id;
|
||||
};
|
||||
|
||||
/**
|
||||
@ -1544,16 +1547,16 @@ struct rte_eth_dev_info {
|
||||
uint16_t max_vfs; /**< Maximum number of VFs. */
|
||||
uint16_t max_vmdq_pools; /**< Maximum number of VMDq pools. */
|
||||
struct rte_eth_rxseg_capa rx_seg_capa; /**< Segmentation capability.*/
|
||||
/** All RX offload capabilities including all per-queue ones */
|
||||
uint64_t rx_offload_capa;
|
||||
/**< All RX offload capabilities including all per-queue ones */
|
||||
/** All TX offload capabilities including all per-queue ones */
|
||||
uint64_t tx_offload_capa;
|
||||
/**< All TX offload capabilities including all per-queue ones */
|
||||
/** Device per-queue RX offload capabilities. */
|
||||
uint64_t rx_queue_offload_capa;
|
||||
/**< Device per-queue RX offload capabilities. */
|
||||
/** Device per-queue TX offload capabilities. */
|
||||
uint64_t tx_queue_offload_capa;
|
||||
/**< Device per-queue TX offload capabilities. */
|
||||
/** Device redirection table size, the total number of entries. */
|
||||
uint16_t reta_size;
|
||||
/**< Device redirection table size, the total number of entries. */
|
||||
uint8_t hash_key_size; /**< Hash key size in bytes */
|
||||
/** Bit mask of RSS offloads, the bit offset also means flow type */
|
||||
uint64_t flow_type_rss_offloads;
|
||||
@ -1741,13 +1744,13 @@ struct rte_eth_fec_capa {
|
||||
} while (0)
|
||||
|
||||
/**@{@name L2 tunnel configuration */
|
||||
/**< l2 tunnel enable mask */
|
||||
/** L2 tunnel enable mask */
|
||||
#define ETH_L2_TUNNEL_ENABLE_MASK 0x00000001
|
||||
/**< l2 tunnel insertion mask */
|
||||
/** L2 tunnel insertion mask */
|
||||
#define ETH_L2_TUNNEL_INSERTION_MASK 0x00000002
|
||||
/**< l2 tunnel stripping mask */
|
||||
/** L2 tunnel stripping mask */
|
||||
#define ETH_L2_TUNNEL_STRIPPING_MASK 0x00000004
|
||||
/**< l2 tunnel forwarding mask */
|
||||
/** L2 tunnel forwarding mask */
|
||||
#define ETH_L2_TUNNEL_FORWARDING_MASK 0x00000008
|
||||
/**@}*/
|
||||
|
||||
@ -3348,8 +3351,8 @@ struct rte_eth_dev_tx_buffer {
|
||||
void *error_userdata;
|
||||
uint16_t size; /**< Size of buffer for buffered tx */
|
||||
uint16_t length; /**< Number of packets in the array */
|
||||
/** Pending packets to be sent on explicit flush or when full */
|
||||
struct rte_mbuf *pkts[];
|
||||
/**< Pending packets to be sent on explicit flush or when full */
|
||||
};
|
||||
|
||||
/**
|
||||
@ -3488,16 +3491,16 @@ rte_eth_tx_done_cleanup(uint16_t port_id, uint16_t queue_id, uint32_t free_cnt);
|
||||
* eth device.
|
||||
*/
|
||||
enum rte_eth_event_ipsec_subtype {
|
||||
/** Unknown event type */
|
||||
RTE_ETH_EVENT_IPSEC_UNKNOWN = 0,
|
||||
/**< Unknown event type */
|
||||
/** Sequence number overflow */
|
||||
RTE_ETH_EVENT_IPSEC_ESN_OVERFLOW,
|
||||
/**< Sequence number overflow */
|
||||
/** Soft time expiry of SA */
|
||||
RTE_ETH_EVENT_IPSEC_SA_TIME_EXPIRY,
|
||||
/**< Soft time expiry of SA */
|
||||
/** Soft byte expiry of SA */
|
||||
RTE_ETH_EVENT_IPSEC_SA_BYTE_EXPIRY,
|
||||
/**< Soft byte expiry of SA */
|
||||
/** Max value of this enum */
|
||||
RTE_ETH_EVENT_IPSEC_MAX
|
||||
/**< Max value of this enum */
|
||||
};
|
||||
|
||||
/**
|
||||
@ -3505,22 +3508,23 @@ enum rte_eth_event_ipsec_subtype {
|
||||
* information of the IPsec offload event.
|
||||
*/
|
||||
struct rte_eth_event_ipsec_desc {
|
||||
/** Type of RTE_ETH_EVENT_IPSEC_* event */
|
||||
enum rte_eth_event_ipsec_subtype subtype;
|
||||
/**< Type of RTE_ETH_EVENT_IPSEC_* event */
|
||||
/**
|
||||
* Event specific metadata.
|
||||
*
|
||||
* For the following events, *userdata* registered
|
||||
* with the *rte_security_session* would be returned
|
||||
* as metadata,
|
||||
*
|
||||
* - @ref RTE_ETH_EVENT_IPSEC_ESN_OVERFLOW
|
||||
* - @ref RTE_ETH_EVENT_IPSEC_SA_TIME_EXPIRY
|
||||
* - @ref RTE_ETH_EVENT_IPSEC_SA_BYTE_EXPIRY
|
||||
*
|
||||
* @see struct rte_security_session_conf
|
||||
*
|
||||
*/
|
||||
uint64_t metadata;
|
||||
/**< Event specific metadata
|
||||
*
|
||||
* For the following events, *userdata* registered
|
||||
* with the *rte_security_session* would be returned
|
||||
* as metadata,
|
||||
*
|
||||
* - @ref RTE_ETH_EVENT_IPSEC_ESN_OVERFLOW
|
||||
* - @ref RTE_ETH_EVENT_IPSEC_SA_TIME_EXPIRY
|
||||
* - @ref RTE_ETH_EVENT_IPSEC_SA_BYTE_EXPIRY
|
||||
*
|
||||
* @see struct rte_security_session_conf
|
||||
*
|
||||
*/
|
||||
};
|
||||
|
||||
/**
|
||||
@ -3529,10 +3533,10 @@ struct rte_eth_event_ipsec_desc {
|
||||
enum rte_eth_event_type {
|
||||
RTE_ETH_EVENT_UNKNOWN, /**< unknown event type */
|
||||
RTE_ETH_EVENT_INTR_LSC, /**< lsc interrupt event */
|
||||
/** queue state event (enabled/disabled) */
|
||||
RTE_ETH_EVENT_QUEUE_STATE,
|
||||
/**< queue state event (enabled/disabled) */
|
||||
/** reset interrupt event, sent to VF on PF reset */
|
||||
RTE_ETH_EVENT_INTR_RESET,
|
||||
/**< reset interrupt event, sent to VF on PF reset */
|
||||
RTE_ETH_EVENT_VF_MBOX, /**< message from the VF received by PF */
|
||||
RTE_ETH_EVENT_MACSEC, /**< MACsec offload related event */
|
||||
RTE_ETH_EVENT_INTR_RMV, /**< device removal event */
|
||||
@ -3543,9 +3547,9 @@ enum rte_eth_event_type {
|
||||
RTE_ETH_EVENT_MAX /**< max value of this enum */
|
||||
};
|
||||
|
||||
/** User application callback to be registered for interrupts. */
|
||||
typedef int (*rte_eth_dev_cb_fn)(uint16_t port_id,
|
||||
enum rte_eth_event_type event, void *cb_arg, void *ret_param);
|
||||
/**< user application callback to be registered for interrupts */
|
||||
|
||||
/**
|
||||
* Register a callback function for port event.
|
||||
|
@ -25,30 +25,36 @@ RTE_TAILQ_HEAD(rte_eth_dev_cb_list, rte_eth_dev_callback);
|
||||
|
||||
struct rte_eth_dev;
|
||||
|
||||
/**
|
||||
* @internal Retrieve input packets from a receive queue of an Ethernet device.
|
||||
*/
|
||||
typedef uint16_t (*eth_rx_burst_t)(void *rxq,
|
||||
struct rte_mbuf **rx_pkts,
|
||||
uint16_t nb_pkts);
|
||||
/**< @internal Retrieve input packets from a receive queue of an Ethernet device. */
|
||||
|
||||
/**
|
||||
* @internal Send output packets on a transmit queue of an Ethernet device.
|
||||
*/
|
||||
typedef uint16_t (*eth_tx_burst_t)(void *txq,
|
||||
struct rte_mbuf **tx_pkts,
|
||||
uint16_t nb_pkts);
|
||||
/**< @internal Send output packets on a transmit queue of an Ethernet device. */
|
||||
|
||||
/**
|
||||
* @internal Prepare output packets on a transmit queue of an Ethernet device.
|
||||
*/
|
||||
typedef uint16_t (*eth_tx_prep_t)(void *txq,
|
||||
struct rte_mbuf **tx_pkts,
|
||||
uint16_t nb_pkts);
|
||||
/**< @internal Prepare output packets on a transmit queue of an Ethernet device. */
|
||||
|
||||
|
||||
/** @internal Get number of used descriptors on a receive queue. */
|
||||
typedef uint32_t (*eth_rx_queue_count_t)(void *rxq);
|
||||
/**< @internal Get number of used descriptors on a receive queue. */
|
||||
|
||||
/** @internal Check the status of a Rx descriptor */
|
||||
typedef int (*eth_rx_descriptor_status_t)(void *rxq, uint16_t offset);
|
||||
/**< @internal Check the status of a Rx descriptor */
|
||||
|
||||
/** @internal Check the status of a Tx descriptor */
|
||||
typedef int (*eth_tx_descriptor_status_t)(void *txq, uint16_t offset);
|
||||
/**< @internal Check the status of a Tx descriptor */
|
||||
|
||||
/**
|
||||
* @internal
|
||||
|
@ -901,8 +901,8 @@ struct rte_flow_item_vlan {
|
||||
};
|
||||
struct rte_vlan_hdr hdr;
|
||||
};
|
||||
/** Packet header contains at least one more VLAN, after this VLAN. */
|
||||
uint32_t has_more_vlan:1;
|
||||
/**< Packet header contains at least one more VLAN, after this VLAN. */
|
||||
uint32_t reserved:31; /**< Reserved, must be zero. */
|
||||
};
|
||||
|
||||
@ -944,26 +944,26 @@ static const struct rte_flow_item_ipv4 rte_flow_item_ipv4_mask = {
|
||||
*/
|
||||
struct rte_flow_item_ipv6 {
|
||||
struct rte_ipv6_hdr hdr; /**< IPv6 header definition. */
|
||||
/** Header contains Hop-by-Hop Options extension header. */
|
||||
uint32_t has_hop_ext:1;
|
||||
/**< Header contains Hop-by-Hop Options extension header. */
|
||||
/** Header contains Routing extension header. */
|
||||
uint32_t has_route_ext:1;
|
||||
/**< Header contains Routing extension header. */
|
||||
/** Header contains Fragment extension header. */
|
||||
uint32_t has_frag_ext:1;
|
||||
/**< Header contains Fragment extension header. */
|
||||
/** Header contains Authentication extension header. */
|
||||
uint32_t has_auth_ext:1;
|
||||
/**< Header contains Authentication extension header. */
|
||||
/** Header contains Encapsulation Security Payload extension header. */
|
||||
uint32_t has_esp_ext:1;
|
||||
/**< Header contains Encapsulation Security Payload extension header. */
|
||||
/** Header contains Destination Options extension header. */
|
||||
uint32_t has_dest_ext:1;
|
||||
/**< Header contains Destination Options extension header. */
|
||||
/** Header contains Mobility extension header. */
|
||||
uint32_t has_mobil_ext:1;
|
||||
/**< Header contains Mobility extension header. */
|
||||
/** Header contains Host Identity Protocol extension header. */
|
||||
uint32_t has_hip_ext:1;
|
||||
/**< Header contains Host Identity Protocol extension header. */
|
||||
/** Header contains Shim6 Protocol extension header. */
|
||||
uint32_t has_shim6_ext:1;
|
||||
/**< Header contains Shim6 Protocol extension header. */
|
||||
/** Reserved for future extension headers, must be zero. */
|
||||
uint32_t reserved:23;
|
||||
/**< Reserved for future extension headers, must be zero. */
|
||||
};
|
||||
|
||||
/** Default mask for RTE_FLOW_ITEM_TYPE_IPV6. */
|
||||
@ -2777,8 +2777,8 @@ struct rte_flow_action_queue {
|
||||
struct rte_flow_action_age {
|
||||
uint32_t timeout:24; /**< Time in seconds. */
|
||||
uint32_t reserved:8; /**< Reserved, must be zero. */
|
||||
/** The user flow context, NULL means the rte_flow pointer. */
|
||||
void *context;
|
||||
/**< The user flow context, NULL means the rte_flow pointer. */
|
||||
};
|
||||
|
||||
/**
|
||||
@ -2790,8 +2790,8 @@ struct rte_flow_action_age {
|
||||
struct rte_flow_query_age {
|
||||
uint32_t reserved:6; /**< Reserved, must be zero. */
|
||||
uint32_t aged:1; /**< 1 if aging timeout expired, 0 otherwise. */
|
||||
/** sec_since_last_hit value is valid. */
|
||||
uint32_t sec_since_last_hit_valid:1;
|
||||
/**< sec_since_last_hit value is valid. */
|
||||
uint32_t sec_since_last_hit:24; /**< Seconds since last traffic hit. */
|
||||
};
|
||||
|
||||
@ -3422,7 +3422,7 @@ struct rte_flow_action_conntrack {
|
||||
uint32_t last_direction:1;
|
||||
/** No TCP check will be done except the state change. */
|
||||
uint32_t liberal_mode:1;
|
||||
/**<The current state of this connection. */
|
||||
/** The current state of this connection. */
|
||||
enum rte_flow_conntrack_state state;
|
||||
/** Scaling factor for maximal allowed ACK window. */
|
||||
uint8_t max_ack_window;
|
||||
@ -3535,9 +3535,9 @@ struct rte_flow_action_modify_data {
|
||||
RTE_STD_C11
|
||||
union {
|
||||
struct {
|
||||
/**< Encapsulation level or tag index. */
|
||||
/** Encapsulation level or tag index. */
|
||||
uint32_t level;
|
||||
/**< Number of bits to skip from a field. */
|
||||
/** Number of bits to skip from a field. */
|
||||
uint32_t offset;
|
||||
};
|
||||
/**
|
||||
@ -3648,8 +3648,8 @@ struct rte_flow;
|
||||
*/
|
||||
struct rte_flow_action_sample {
|
||||
uint32_t ratio; /**< packets sampled equals to '1/ratio'. */
|
||||
/** sub-action list specific for the sampling hit cases. */
|
||||
const struct rte_flow_action *actions;
|
||||
/**< sub-action list specific for the sampling hit cases. */
|
||||
};
|
||||
|
||||
/**
|
||||
@ -4281,10 +4281,10 @@ struct rte_flow_indir_action_conf {
|
||||
* Action should be valid at least for one flow direction,
|
||||
* otherwise it is invalid for both ingress and egress rules.
|
||||
*/
|
||||
/** Action valid for rules applied to ingress traffic. */
|
||||
uint32_t ingress:1;
|
||||
/**< Action valid for rules applied to ingress traffic. */
|
||||
/** Action valid for rules applied to egress traffic. */
|
||||
uint32_t egress:1;
|
||||
/**< Action valid for rules applied to egress traffic. */
|
||||
/**
|
||||
* When set to 1, indicates that the action is valid for
|
||||
* transfer traffic; otherwise, for non-transfer traffic.
|
||||
|
@ -25,91 +25,91 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** @internal MTR capabilities get. */
|
||||
typedef int (*rte_mtr_capabilities_get_t)(struct rte_eth_dev *dev,
|
||||
struct rte_mtr_capabilities *cap,
|
||||
struct rte_mtr_error *error);
|
||||
/**< @internal MTR capabilities get */
|
||||
|
||||
/** @internal MTR meter profile add. */
|
||||
typedef int (*rte_mtr_meter_profile_add_t)(struct rte_eth_dev *dev,
|
||||
uint32_t meter_profile_id,
|
||||
struct rte_mtr_meter_profile *profile,
|
||||
struct rte_mtr_error *error);
|
||||
/**< @internal MTR meter profile add */
|
||||
|
||||
/** @internal MTR meter profile delete. */
|
||||
typedef int (*rte_mtr_meter_profile_delete_t)(struct rte_eth_dev *dev,
|
||||
uint32_t meter_profile_id,
|
||||
struct rte_mtr_error *error);
|
||||
/**< @internal MTR meter profile delete */
|
||||
|
||||
/** @internal MTR meter policy validate. */
|
||||
typedef int (*rte_mtr_meter_policy_validate_t)(struct rte_eth_dev *dev,
|
||||
struct rte_mtr_meter_policy_params *policy,
|
||||
struct rte_mtr_error *error);
|
||||
/**< @internal MTR meter policy validate */
|
||||
|
||||
/** @internal MTR meter policy add. */
|
||||
typedef int (*rte_mtr_meter_policy_add_t)(struct rte_eth_dev *dev,
|
||||
uint32_t policy_id,
|
||||
struct rte_mtr_meter_policy_params *policy,
|
||||
struct rte_mtr_error *error);
|
||||
/**< @internal MTR meter policy add */
|
||||
|
||||
/** @internal MTR meter policy delete. */
|
||||
typedef int (*rte_mtr_meter_policy_delete_t)(struct rte_eth_dev *dev,
|
||||
uint32_t policy_id,
|
||||
struct rte_mtr_error *error);
|
||||
/**< @internal MTR meter policy delete */
|
||||
|
||||
/** @internal MTR object create. */
|
||||
typedef int (*rte_mtr_create_t)(struct rte_eth_dev *dev,
|
||||
uint32_t mtr_id,
|
||||
struct rte_mtr_params *params,
|
||||
int shared,
|
||||
struct rte_mtr_error *error);
|
||||
/**< @internal MTR object create */
|
||||
|
||||
/** @internal MTR object destroy. */
|
||||
typedef int (*rte_mtr_destroy_t)(struct rte_eth_dev *dev,
|
||||
uint32_t mtr_id,
|
||||
struct rte_mtr_error *error);
|
||||
/**< @internal MTR object destroy */
|
||||
|
||||
/** @internal MTR object meter enable. */
|
||||
typedef int (*rte_mtr_meter_enable_t)(struct rte_eth_dev *dev,
|
||||
uint32_t mtr_id,
|
||||
struct rte_mtr_error *error);
|
||||
/**< @internal MTR object meter enable */
|
||||
|
||||
/** @internal MTR object meter disable. */
|
||||
typedef int (*rte_mtr_meter_disable_t)(struct rte_eth_dev *dev,
|
||||
uint32_t mtr_id,
|
||||
struct rte_mtr_error *error);
|
||||
/**< @internal MTR object meter disable */
|
||||
|
||||
/** @internal MTR object meter profile update. */
|
||||
typedef int (*rte_mtr_meter_profile_update_t)(struct rte_eth_dev *dev,
|
||||
uint32_t mtr_id,
|
||||
uint32_t meter_profile_id,
|
||||
struct rte_mtr_error *error);
|
||||
/**< @internal MTR object meter profile update */
|
||||
|
||||
/** @internal MTR object meter policy update. */
|
||||
typedef int (*rte_mtr_meter_policy_update_t)(struct rte_eth_dev *dev,
|
||||
uint32_t mtr_id,
|
||||
uint32_t meter_policy_id,
|
||||
struct rte_mtr_error *error);
|
||||
/**< @internal MTR object meter policy update */
|
||||
|
||||
/** @internal MTR object meter DSCP table update. */
|
||||
typedef int (*rte_mtr_meter_dscp_table_update_t)(struct rte_eth_dev *dev,
|
||||
uint32_t mtr_id,
|
||||
enum rte_color *dscp_table,
|
||||
struct rte_mtr_error *error);
|
||||
/**< @internal MTR object meter DSCP table update */
|
||||
|
||||
/** @internal MTR object enabled stats update. */
|
||||
typedef int (*rte_mtr_stats_update_t)(struct rte_eth_dev *dev,
|
||||
uint32_t mtr_id,
|
||||
uint64_t stats_mask,
|
||||
struct rte_mtr_error *error);
|
||||
/**< @internal MTR object enabled stats update */
|
||||
|
||||
/** @internal MTR object stats read. */
|
||||
typedef int (*rte_mtr_stats_read_t)(struct rte_eth_dev *dev,
|
||||
uint32_t mtr_id,
|
||||
struct rte_mtr_stats *stats,
|
||||
uint64_t *stats_mask,
|
||||
int clear,
|
||||
struct rte_mtr_error *error);
|
||||
/**< @internal MTR object stats read */
|
||||
|
||||
struct rte_mtr_ops {
|
||||
/** MTR capabilities get */
|
||||
|
Loading…
Reference in New Issue
Block a user