History log of /dpdk/lib/ethdev/rte_ethdev_telemetry.c (Results 1 – 18 of 18)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: v24.11, v24.11-rc4, v24.11-rc3, v24.11-rc2, v24.11-rc1
# d916d27e 26-Sep-2024 Jie Hai <haijie1@huawei.com>

ethdev: add telemetry command for registers

This patch adds a telemetry command for registers dump,
and supports obtaining the registers of a specified module.

In one way, the number of registers t

ethdev: add telemetry command for registers

This patch adds a telemetry command for registers dump,
and supports obtaining the registers of a specified module.

In one way, the number of registers that can be exported
is limited by the number of elements carried by dict and
container. In another way, the length of the string
exported by telemetry is limited by MAX_OUTPUT_LEN.
Therefore, when the number of registers to be exported
exceeds, some information will be lost. Warn on the former
case.

An example usage is shown below:
--> /ethdev/regs,0,ring
{
"/ethdev/regs": {
"registers_length": 318,
"registers_width": 4,
"register_offset": "0x0",
"version": "0x1140011",
"group_0": {
"Q0_ring_rx_bd_num": "0x0",
"Q0_ring_rx_bd_len": "0x0",
...
},
"group_1": {
...
},
...
}

Signed-off-by: Jie Hai <haijie1@huawei.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@amd.com>
Acked-by: Chengwen Feng <fengchengwen@huawei.com>

show more ...


# 6f96937d 14-Oct-2024 Robin Jarry <rjarry@redhat.com>

ethdev: fix race on ports in telemetry endpoints

While invoking telemetry commands (which may happen at any time, out of
control of the application), an application thread may concurrently
add/remov

ethdev: fix race on ports in telemetry endpoints

While invoking telemetry commands (which may happen at any time, out of
control of the application), an application thread may concurrently
add/remove ports. The telemetry callbacks may then access partially
initialized/uninitialised ethdev data.

Reuse the ethdev lock that protects port allocation/destruction and the
new telemetry callback register api that takes an additional private
argument. Pass eth_dev_telemetry_do as the main callback and the actual
endpoint callbacks as private argument.

Fixes: c190daedb9b1 ("ethdev: add telemetry callbacks")
Cc: stable@dpdk.org

Signed-off-by: Robin Jarry <rjarry@redhat.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>

show more ...


Revision tags: v24.07, v24.07-rc4, v24.07-rc3, v24.07-rc2, v24.07-rc1, v24.03, v24.03-rc4, v24.03-rc3, v24.03-rc2, v24.03-rc1
# 0e21c7c0 07-Dec-2023 David Marchand <david.marchand@redhat.com>

lib: replace logging helpers

This is a preparation step before the next change.

Many libraries have their own logging helpers that do not add a newline
in their format string.
Some previous changes

lib: replace logging helpers

This is a preparation step before the next change.

Many libraries have their own logging helpers that do not add a newline
in their format string.
Some previous changes fixed places where some of those helpers are
called without a trailing newline.
Using RTE_LOG_LINE in the existing helpers will ensure we don't
introduce new issues in the future.

The problem is that if we simply convert to the RTE_LOG_LINE helper,
a future fix may introduce a regression since the logging helper
change won't be backported.

To address this concern, rename existing helpers: backporting a call to
them will trigger some conflict or build issue in LTS branches.

Note:
- bpf and vhost that still has some debug multilines messages, a direct
call to RTE_LOG/RTE_LOG_DP is used: this will make it easier to notice
such special cases,
- about previously publicly exposed logging helpers, when such helper is
not publicly used (iow in public inline API), it is removed from the
public API (this is the case for the member library),

Signed-off-by: David Marchand <david.marchand@redhat.com>
Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>

show more ...


Revision tags: v23.11, v23.11-rc4, v23.11-rc3, v23.11-rc2
# 70b1ab3f 18-Oct-2023 Jie Hai <haijie1@huawei.com>

ethdev: add telemetry command for TM node capabilities

This patch adds a telemetry command for traffic management node
capabilities, using (port_id, node_id) as parameters. An example
usage is shown

ethdev: add telemetry command for TM node capabilities

This patch adds a telemetry command for traffic management node
capabilities, using (port_id, node_id) as parameters. An example
usage is shown below:

--> /ethdev/tm_node_capability,0,264
{
"/ethdev/tm_node_capability": {
"shaper_private_supported": 1,
"shaper_private_dual_rate_supported": 0,
"shaper_private_rate_min": 0,
"shaper_private_rate_max": 25000000000,
"shaper_private_packet_mode_supported": 0,
"shaper_private_byte_mode_supported": 0,
"shaper_shared_n_max": 0,
"shaper_shared_packet_mode_supported": 0,
"shaper_shared_byte_mode_supported": 0,
"stats_mask": "0x0",
"node_type": "nonleaf",
"children_max": 8,
"priorities_max": 1,
"sched_wfq_n_children_per_group_max": 0,
"sched_wfq_n_groups_max": 0,
"sched_wfq_weight_max": 1,
"sched_wfq_packet_mode_supported": 0,
"sched_wfq_byte_mode_supported": 0
}
}

Signed-off-by: Jie Hai <haijie1@huawei.com>
Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>

show more ...


# 9e7533ae 18-Oct-2023 Jie Hai <haijie1@huawei.com>

ethdev: add telemetry command for TM level capabilities

This patch adds a telemetry command for traffic management level
capabilities, using (port_id,level_id) as parameters. An
example usage is sho

ethdev: add telemetry command for TM level capabilities

This patch adds a telemetry command for traffic management level
capabilities, using (port_id,level_id) as parameters. An
example usage is shown below:

--> /ethdev/tm_level_capability,0,0
{
"/ethdev/tm_level_capability": {
"n_nodes_max": 1,
"n_nodes_nonleaf_max": 1,
"n_nodes_leaf_max": 0,
"non_leaf_nodes_identical": 1,
"leaf_nodes_identical": 1,
"nonleaf_cap": {
"shaper_private_supported": 1,
"shaper_private_dual_rate_supported": 0,
"shaper_private_rate_min": 0,
"shaper_private_rate_max": 25000000000,
"shaper_private_packet_mode_supported": 0,
"shaper_private_byte_mode_supported": 0,
"shaper_shared_n_max": 0,
"shaper_shared_packet_mode_supported": 0,
"shaper_shared_byte_mode_supported": 0,
"sched_n_children_max": 8,
"sched_sp_n_priorities_max": 1,
"sched_wfq_n_children_per_group_max": 0,
"sched_wfq_n_groups_max": 0,
"sched_wfq_weight_max": 1,
"sched_wfq_packet_mode_supported": 0,
"sched_wfq_byte_mode_supported": 0,
"stats_mask": "0x0"
},
"leaf_cap": {
"shaper_private_supported": 1,
"shaper_private_dual_rate_supported": 0,
"shaper_private_rate_min": 0,
"shaper_private_rate_max": 25000000000,
"shaper_private_packet_mode_supported": 0,
"shaper_private_byte_mode_supported": 0,
"shaper_shared_n_max": 0,
"shaper_shared_packet_mode_supported": 0,
"shaper_shared_byte_mode_supported": 0,
"cman_wred_packet_mode_supported": 8,
"cman_wred_byte_mode_supported": 1,
"cman_head_drop_supported": 0,
"cman_wred_context_private_supported": 0,
"cman_wred_context_shared_n_max": 1,
"stats_mask": "0x0"
}
}
}

Signed-off-by: Jie Hai <haijie1@huawei.com>
Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>

show more ...


# a590d564 18-Oct-2023 Jie Hai <haijie1@huawei.com>

ethdev: add telemetry command for TM capabilities

This patch adds a telemetry command for traffic management
capabilities. An example usage is shown below:

--> /ethdev/tm_capability,0
{
"/ethdev/

ethdev: add telemetry command for TM capabilities

This patch adds a telemetry command for traffic management
capabilities. An example usage is shown below:

--> /ethdev/tm_capability,0
{
"/ethdev/tm_capability": {
"n_nodes_max": 265,
"n_levels_max": 3,
"non_leaf_nodes_identical": 1,
"leaf_nodes_identical": 1,
"shaper_n_max": 9,
"shaper_private_n_max": 9,
"shaper_private_dual_rate_n_max": 0,
"shaper_private_rate_min": 0,
"shaper_private_rate_max": 25000000000,
"shaper_private_packet_mode_supported": 0,
"shaper_private_byte_mode_supported": 0,
"shaper_shared_n_max": 0,
"shaper_shared_n_nodes_per_shaper_max": 0,
"shaper_shared_n_shapers_per_node_max": 0,
"shaper_share_dual_rate_n_max": 0,
"shaper_shared_rate_min": 0,
"shaper_shared_rate_max": 0,
"shaper_shared_packet_mode_supported": 0,
"shaper_shared_byte_mode_supported": 0,
"shaper_pkt_length_adjust_min": 20,
"shaper_pkt_length_adjust_max": 24,
"sched_n_children_max": 256,
"sched_sp_n_priorities_max": 1,
"sched_wfq_n_children_per_group_max": 0,
"sched_wfq_n_groups_max": 0,
"sched_wfq_weight_max": 1,
"sched_wfq_packet_mode_supported": 0,
"sched_wfq_byte_mode_supported": 0,
"cman_wred_packet_mode_supported": 0,
"cman_wred_byte_mode_supported": 0,
"cman_head_drop_supported": 0,
"cman_wred_context_n_max": 0,
"cman_wred_context_private_n_max": 0,
"cman_wred_context_shared_n_max": 0,
"cman_wred_context_shared_n_nodes_per_context_max": 0,
"cman_wred_context_shared_n_contexts_per_node_max": 0,
"dynamic_update": "0x0",
"stats_mask": "0x0"
}
}

Signed-off-by: Jie Hai <haijie1@huawei.com>
Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>

show more ...


Revision tags: v23.11-rc1, v23.07, v23.07-rc4, v23.07-rc3, v23.07-rc2, v23.07-rc1
# 19f39522 07-Jun-2023 Jie Hai <haijie1@huawei.com>

ethdev: add VLAN telemetry query

This patch supports querying VLAN information by telemetry.
The command is like:
--> /ethdev/vlan,0
{
"/ethdev/vlan": {
"pvid": 0,
"hw_vlan_reject_tagged":

ethdev: add VLAN telemetry query

This patch supports querying VLAN information by telemetry.
The command is like:
--> /ethdev/vlan,0
{
"/ethdev/vlan": {
"pvid": 0,
"hw_vlan_reject_tagged": 0,
"hw_vlan_reject_untagged": 0,
"hw_vlan_insert_pvid": 0,
"VLAN_STRIP": "off",
"VLAN_EXTEND": "off",
"QINQ_STRIP": "off",
"VLAN_FILTER": "on",
"vlan_num": 3,
"vlan_ids": {
"vlan_0_to_63": [
1,
20
],
"vlan_192_to_255": [
200
]
}
}
}

Signed-off-by: Jie Hai <haijie1@huawei.com>
Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>

show more ...


# 85576ba6 07-Jun-2023 Jie Hai <haijie1@huawei.com>

ethdev: add FEC telemetry query

This patch supports getting FEC information by telemetry.
The command is like:
--> /ethdev/fec,0
{
"/ethdev/fec": {
"fec_mode": "off",
"fec_capability": {

ethdev: add FEC telemetry query

This patch supports getting FEC information by telemetry.
The command is like:
--> /ethdev/fec,0
{
"/ethdev/fec": {
"fec_mode": "off",
"fec_capability": {
"10_Gbps": "off auto baser"
}
}
}

Signed-off-by: Jie Hai <haijie1@huawei.com>
Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>

show more ...


# fde1adbf 07-Jun-2023 Jie Hai <haijie1@huawei.com>

ethdev: add RSS telemetry query

This patch supports querying RSS info by telemetry command.
The command is like:
--> /ethdev/rss_info,0
{
"/ethdev/rss_info": {
"rss_hf": "0x238c",
"rss_ke

ethdev: add RSS telemetry query

This patch supports querying RSS info by telemetry command.
The command is like:
--> /ethdev/rss_info,0
{
"/ethdev/rss_info": {
"rss_hf": "0x238c",
"rss_key_len": 40,
"rss_key": "6d5a56da255b0ec24167253d43a38fb0d0ca2b\
cbae7b30b477cb2da38030f20c6a42b73bbeac01fa"
}
}

Signed-off-by: Jie Hai <haijie1@huawei.com>
Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>

show more ...


# 66f3e047 07-Jun-2023 Jie Hai <haijie1@huawei.com>

ethdev: add DCB telemetry query

This patch supports querying DCB info.

The command is like:
--> /ethdev/dcb,0
{
"/ethdev/dcb": {
"tc_num": 1,
"tc0": {
"priority": 0,
"bw_perce

ethdev: add DCB telemetry query

This patch supports querying DCB info.

The command is like:
--> /ethdev/dcb,0
{
"/ethdev/dcb": {
"tc_num": 1,
"tc0": {
"priority": 0,
"bw_percent": "100%",
"rxq_base": 0,
"txq_base": 0,
"nb_rxq": 4,
"nb_txq": 4
}
}
}

Signed-off-by: Jie Hai <haijie1@huawei.com>
Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>

show more ...


# 4b5f5fa9 07-Jun-2023 Jie Hai <haijie1@huawei.com>

ethdev: add firmware version in telemetry info

This patch adds firmware version in telemetry info command.
An example is like:
--> /ethdev/info,0
{
"/ethdev/info": {
"name": "0000:bd:00.0",

ethdev: add firmware version in telemetry info

This patch adds firmware version in telemetry info command.
An example is like:
--> /ethdev/info,0
{
"/ethdev/info": {
"name": "0000:bd:00.0",
"fw_version": "1.20.0.17",
....
}
}

Signed-off-by: Jie Hai <haijie1@huawei.com>
Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>

show more ...


# 1a479610 07-Jun-2023 Jie Hai <haijie1@huawei.com>

ethdev: add Tx queue telemetry query

This patch support querying information of Tx queues.
The command is like:
--> /ethdev/tx_queue,0,0
{
"/ethdev/tx_queue": {
"host_threshold": 0,
"prefe

ethdev: add Tx queue telemetry query

This patch support querying information of Tx queues.
The command is like:
--> /ethdev/tx_queue,0,0
{
"/ethdev/tx_queue": {
"host_threshold": 0,
"prefetch_threshold": 0,
"writeback_threshold": 0,
"rs_threshold": 32,
"free_threshold": 928,
"deferred_start": "off",
"offloads": [
"MBUF_FAST_FREE"
],
"queue_state": 1,
"nb_desc": 1024,
"burst_flags": 0,
"burst_mode": "Vector Neon"
}
}

Signed-off-by: Jie Hai <haijie1@huawei.com>
Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>

show more ...


# f38f6265 07-Jun-2023 Jie Hai <haijie1@huawei.com>

ethdev: add Rx queue telemetry query

This patch support querying information of Rx queues.
The command is like:
--> /ethdev/rx_queue,0,0
{
"/ethdev/rx_queue": {
"mempool_name": "mb_pool_0",

ethdev: add Rx queue telemetry query

This patch support querying information of Rx queues.
The command is like:
--> /ethdev/rx_queue,0,0
{
"/ethdev/rx_queue": {
"mempool_name": "mb_pool_0",
"socket_id": 0,
"host_threshold": 0,
"prefetch_threshold": 0,
"writeback_threshold": 0,
"free_threshold": 32,
"rx_drop_en": "on",
"deferred_start": "off",
"rx_nseg": 0,
"share_group": 0,
"share_qid": 0,
"offloads": [
"RSS_HASH"
],
"rx_nmempool": 0,
"scattered_rx": "off",
"queue_state": 1,
"nb_desc": 1024,
"rx_buf_size": 2048,
"avail_thresh": 0,
"burst_flags": 0,
"burst_mode": "Vector Neon"
}
}

Signed-off-by: Jie Hai <haijie1@huawei.com>
Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>

show more ...


# 499c8486 07-Jun-2023 Jie Hai <haijie1@huawei.com>

ethdev: add flow control telemetry query

This patch supports telemetry querying flow control info.
The command is like:
--> /ethdev/flow_ctrl,0
{
"/ethdev/flow_ctrl": {
"high_waterline": "0x0"

ethdev: add flow control telemetry query

This patch supports telemetry querying flow control info.
The command is like:
--> /ethdev/flow_ctrl,0
{
"/ethdev/flow_ctrl": {
"high_waterline": "0x0",
"low_waterline": "0x0",
"pause_time": "0xffff",
"send_xon": "off",
"mac_ctrl_frame_fwd": "off",
"rx_pause": "off",
"tx_pause": "off",
"autoneg": "off"
}
}

Signed-off-by: Jie Hai <haijie1@huawei.com>
Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>

show more ...


# aea48618 07-Jun-2023 Jie Hai <haijie1@huawei.com>

ethdev: improve Rx/Tx offloads telemetry display

Currently, Rx/Tx offloads are displayed in numeric format,
which is not easy to understand. This patch fixes it.

Signed-off-by: Jie Hai <haijie1@hua

ethdev: improve Rx/Tx offloads telemetry display

Currently, Rx/Tx offloads are displayed in numeric format,
which is not easy to understand. This patch fixes it.

Signed-off-by: Jie Hai <haijie1@huawei.com>
Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>

show more ...


# 6732ae1c 07-Jun-2023 Dengdui Huang <huangdengdui@huawei.com>

ethdev: add MAC addresses telemetry query

This patch support telemetry query MAC addresses for a specific port.

The command is like:
--> /ethdev/macs,0
{
"/ethdev/macs": [
"00:18:2D:00:00:79"

ethdev: add MAC addresses telemetry query

This patch support telemetry query MAC addresses for a specific port.

The command is like:
--> /ethdev/macs,0
{
"/ethdev/macs": [
"00:18:2D:00:00:79",
"00:18:2D:00:00:78",
"00:18:2D:00:00:77"
]
}

Signed-off-by: Dengdui Huang <huangdengdui@huawei.com>
Signed-off-by: Jie Hai <haijie1@huawei.com>
Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>

show more ...


# 6ca32611 07-Jun-2023 Jie Hai <haijie1@huawei.com>

ethdev: extract telemetry parsing of port ID as a function

This patch extracts codes parsing port_id as a function.
The port id of 'int' or 'unsigned long' type passing as
'uint16_t' may cause trunc

ethdev: extract telemetry parsing of port ID as a function

This patch extracts codes parsing port_id as a function.
The port id of 'int' or 'unsigned long' type passing as
'uint16_t' may cause truncation, fix it.

Signed-off-by: Jie Hai <haijie1@huawei.com>
Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>

show more ...


# 4fe767ac 07-Jun-2023 Jie Hai <haijie1@huawei.com>

ethdev: extract telemetry code to a file

This patch extracts telemetry related codes in rte_ethdev.c
to a new file rte_ethdev_telemetry.c.

Signed-off-by: Jie Hai <haijie1@huawei.com>
Acked-by: Ferr

ethdev: extract telemetry code to a file

This patch extracts telemetry related codes in rte_ethdev.c
to a new file rte_ethdev_telemetry.c.

Signed-off-by: Jie Hai <haijie1@huawei.com>
Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>

show more ...