summaryrefslogtreecommitdiff
path: root/rdma
diff options
context:
space:
mode:
authorLeon Romanovsky <leonro@nvidia.com>2020-08-11 10:32:01 +0300
committerStephen Hemminger <stephen@networkplumber.org>2020-08-16 15:50:02 -0700
commitdb6d6becb0b39c49a1491a88f965ad188b88e9ee (patch)
tree7f4671d4803edbeebe06e225f1897489b0f35449 /rdma
parent7ded3c97b9836f2ae0bf21fc79d8559357acb190 (diff)
downloadiproute2-db6d6becb0b39c49a1491a88f965ad188b88e9ee.tar.gz
rdma: Properly print device and link names in CLI output
The citied commit broke the CLI output and printed ifindex/ifname instead of dev/link. Before: [leonro@vm ~]$ rdma res show qp link mlx5_0/lqpn 1 type GSI state RTS sq-psn 0 comm ib_core [leonro@vm ~]$ rdma res show cq ifindex 0 ifname rocep0s9 cqn 0 cqe 1023 users 2 poll-ctx WORKQUEUE adaptive-moderation on comm ib_core After: [leonro@vm ~]$ rdma res show qp link mlx5_0/- lqpn 1 type GSI state RTS sq-psn 0 comm [ib_core] [leonro@vm ~]$ rdma res show cq dev rocep0s9 cqn 0 cqe 1023 users 2 poll-ctx WORKQUEUE adaptive-moderation on comm [ib_core] It was missed because rdmatool mostly used in JSON mode. Fixes: b0a688a542cd ("rdma: Rewrite custom JSON and prints logic to use common API") Signed-off-by: Leon Romanovsky <leonro@nvidia.com> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Diffstat (limited to 'rdma')
-rw-r--r--rdma/res.c20
1 files changed, 15 insertions, 5 deletions
diff --git a/rdma/res.c b/rdma/res.c
index b7a703f8..dc12bbe4 100644
--- a/rdma/res.c
+++ b/rdma/res.c
@@ -166,17 +166,27 @@ void print_comm(struct rd *rd, const char *str, struct nlattr **nla_line)
void print_dev(struct rd *rd, uint32_t idx, const char *name)
{
- print_color_int(PRINT_ANY, COLOR_NONE, "ifindex", "ifindex %d ", idx);
- print_color_string(PRINT_ANY, COLOR_NONE, "ifname", "ifname %s ", name);
+ print_color_int(PRINT_ANY, COLOR_NONE, "ifindex", NULL, idx);
+ print_color_string(PRINT_ANY, COLOR_NONE, "ifname", "dev %s ", name);
}
void print_link(struct rd *rd, uint32_t idx, const char *name, uint32_t port,
struct nlattr **nla_line)
{
+ char tmp[64] = {};
+
print_color_uint(PRINT_JSON, COLOR_NONE, "ifindex", NULL, idx);
- print_color_string(PRINT_ANY, COLOR_NONE, "ifname", "link %s/", name);
- if (nla_line[RDMA_NLDEV_ATTR_PORT_INDEX])
- print_color_uint(PRINT_ANY, COLOR_NONE, "port", "%u ", port);
+ print_color_string(PRINT_ANY, COLOR_NONE, "ifname", NULL, name);
+ if (nla_line[RDMA_NLDEV_ATTR_PORT_INDEX]) {
+ print_color_uint(PRINT_ANY, COLOR_NONE, "port", NULL, port);
+ snprintf(tmp, sizeof(tmp), "%s/%d", name, port);
+ } else {
+ snprintf(tmp, sizeof(tmp), "%s/-", name);
+ }
+
+ if (!rd->json_output)
+ print_color_string(PRINT_ANY, COLOR_NONE, NULL, "link %s ",
+ tmp);
}
void print_qp_type(struct rd *rd, uint32_t val)