diff options
Diffstat (limited to 'src/dpdk22')
-rw-r--r-- | src/dpdk22/drivers/net/i40e/i40e_ethdev.c | 13 | ||||
-rw-r--r-- | src/dpdk22/lib/librte_ether/rte_ethdev.c | 15 | ||||
-rw-r--r-- | src/dpdk22/lib/librte_ether/rte_ethdev.h | 2 |
3 files changed, 30 insertions, 0 deletions
diff --git a/src/dpdk22/drivers/net/i40e/i40e_ethdev.c b/src/dpdk22/drivers/net/i40e/i40e_ethdev.c index 7542ade1..0a1e9efc 100644 --- a/src/dpdk22/drivers/net/i40e/i40e_ethdev.c +++ b/src/dpdk22/drivers/net/i40e/i40e_ethdev.c @@ -2071,6 +2071,19 @@ i40e_read_stats_registers(struct i40e_pf *pf, struct i40e_hw *hw) i40e_update_vsi_stats(pf->main_vsi); } +// TREX_PATCH +int +i40e_trex_get_speed(struct rte_eth_dev *dev) +{ + struct i40e_hw *hw = I40E_DEV_PRIVATE_TO_HW(dev->data->dev_private); + + if (i40e_is_40G_device(hw->device_id)) { + return 40; + } else { + return 10; + } +} + /* Get all statistics of a port */ static void i40e_dev_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats) diff --git a/src/dpdk22/lib/librte_ether/rte_ethdev.c b/src/dpdk22/lib/librte_ether/rte_ethdev.c index ed971b49..43ec0265 100644 --- a/src/dpdk22/lib/librte_ether/rte_ethdev.c +++ b/src/dpdk22/lib/librte_ether/rte_ethdev.c @@ -1430,6 +1430,21 @@ rte_eth_link_get_nowait(uint8_t port_id, struct rte_eth_link *eth_link) } } +// TREX_PATCH +int +rte_eth_get_speed(uint8_t port_id, int *speed) +{ + struct rte_eth_dev *dev; + + RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -EINVAL); + + dev = &rte_eth_devices[port_id]; + + // Only xl710 support this + *speed = i40e_trex_get_speed(dev); + return 0; +} + int rte_eth_stats_get(uint8_t port_id, struct rte_eth_stats *stats) { diff --git a/src/dpdk22/lib/librte_ether/rte_ethdev.h b/src/dpdk22/lib/librte_ether/rte_ethdev.h index f8c7c86d..e4bc9742 100644 --- a/src/dpdk22/lib/librte_ether/rte_ethdev.h +++ b/src/dpdk22/lib/librte_ether/rte_ethdev.h @@ -2150,6 +2150,8 @@ extern void rte_eth_link_get(uint8_t port_id, struct rte_eth_link *link); extern void rte_eth_link_get_nowait(uint8_t port_id, struct rte_eth_link *link); +extern int rte_eth_get_speed(uint8_t port_id, int *speed); + /** * Retrieve the general I/O statistics of an Ethernet device. * |