dpdk: tx/rx burst function description refactor
DPDK provides two new APIs to retrieve information about the Tx/Rx packet burst mode: rte_eth_tx_burst_mode_get rte_eth_rx_burst_mode_get This patch leverages these two APIs to describe the tx/rx mode. Currently, Intel X710/E810 and Mellanox Mlx5 support the new APIs. For NICs that don't support the new APIs, still use the original way to print their tx/rx function name Type: refactor Signed-off-by: Chenmin Sun <chenmin.sun@intel.com> Change-Id: Ibe47f5debe3b3f17f462fbf9834394e22845cc08
This commit is contained in:

committed by
Damjan Marion

parent
30fa5d1e17
commit
f3468975d8
@ -568,6 +568,7 @@ format_dpdk_device (u8 * s, va_list * args)
|
||||
u32 indent = format_get_indent (s);
|
||||
f64 now = vlib_time_now (dm->vlib_main);
|
||||
struct rte_eth_dev_info di;
|
||||
struct rte_eth_burst_mode mode;
|
||||
|
||||
dpdk_update_counters (xd, now);
|
||||
dpdk_update_link_state (xd, now);
|
||||
@ -666,12 +667,36 @@ format_dpdk_device (u8 * s, va_list * args)
|
||||
format_dpdk_rss_hf_name, di.flow_type_rss_offloads,
|
||||
format_white_space, indent + 2,
|
||||
format_dpdk_rss_hf_name, rss_conf.rss_hf);
|
||||
s = format (s, "%Utx burst function: %s\n",
|
||||
format_white_space, indent + 2,
|
||||
ptr2sname (rte_eth_devices[xd->port_id].tx_pkt_burst));
|
||||
s = format (s, "%Urx burst function: %s\n",
|
||||
format_white_space, indent + 2,
|
||||
ptr2sname (rte_eth_devices[xd->port_id].rx_pkt_burst));
|
||||
|
||||
if (rte_eth_tx_burst_mode_get (xd->port_id, 0, &mode) == 0)
|
||||
{
|
||||
s = format (s, "%Utx burst mode: %s%s\n",
|
||||
format_white_space, indent + 2,
|
||||
mode.info,
|
||||
mode.flags & RTE_ETH_BURST_FLAG_PER_QUEUE ?
|
||||
" (per queue)" : "");
|
||||
}
|
||||
else
|
||||
{
|
||||
s = format (s, "%Utx burst function: %s\n",
|
||||
format_white_space, indent + 2,
|
||||
ptr2sname (rte_eth_devices[xd->port_id].tx_pkt_burst));
|
||||
}
|
||||
|
||||
if (rte_eth_rx_burst_mode_get (xd->port_id, 0, &mode) == 0)
|
||||
{
|
||||
s = format (s, "%Urx burst mode: %s%s\n",
|
||||
format_white_space, indent + 2,
|
||||
mode.info,
|
||||
mode.flags & RTE_ETH_BURST_FLAG_PER_QUEUE ?
|
||||
" (per queue)" : "");
|
||||
}
|
||||
else
|
||||
{
|
||||
s = format (s, "%Urx burst function: %s\n",
|
||||
format_white_space, indent + 2,
|
||||
ptr2sname (rte_eth_devices[xd->port_id].rx_pkt_burst));
|
||||
}
|
||||
}
|
||||
|
||||
/* $$$ MIB counters */
|
||||
|
Reference in New Issue
Block a user