]> git.ipfire.org Git - thirdparty/iw.git/commitdiff
iw: print hop_count and path_change info of mpath
authorTamizh Chelvam <tamizhr@codeaurora.org>
Thu, 20 Aug 2020 05:14:45 +0000 (10:44 +0530)
committerJohannes Berg <johannes.berg@intel.com>
Thu, 27 Aug 2020 11:36:07 +0000 (13:36 +0200)
Print hop_count and path_change info which is already providing
by Driver for all mpath through mpath dump command.

Signed-off-by: Tamizh Chelvam <tamizhr@codeaurora.org>
Link: https://lore.kernel.org/r/1597900485-673-1-git-send-email-tamizhr@codeaurora.org
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
mpath.c

diff --git a/mpath.c b/mpath.c
index e39c24ba4403f50f01d3151989bd6663c3e48570..a88f89faa3f871561eb557c429f2ea365c366b16 100644 (file)
--- a/mpath.c
+++ b/mpath.c
@@ -38,6 +38,8 @@ static int print_mpath_handler(struct nl_msg *msg, void *arg)
                [NL80211_MPATH_INFO_DISCOVERY_TIMEOUT] = { .type = NLA_U32 },
                [NL80211_MPATH_INFO_DISCOVERY_RETRIES] = { .type = NLA_U8 },
                [NL80211_MPATH_INFO_FLAGS] = { .type = NLA_U8 },
+               [NL80211_MPATH_INFO_HOP_COUNT] = { .type = NLA_U8 },
+               [NL80211_MPATH_INFO_PATH_CHANGE] = { .type = NLA_U32 },
        };
 
        nla_parse(tb, NL80211_ATTR_MAX, genlmsg_attrdata(gnlh, 0),
@@ -85,6 +87,12 @@ static int print_mpath_handler(struct nl_msg *msg, void *arg)
        if (pinfo[NL80211_MPATH_INFO_FLAGS])
                printf("\t0x%x",
                        nla_get_u8(pinfo[NL80211_MPATH_INFO_FLAGS]));
+       if (pinfo[NL80211_MPATH_INFO_HOP_COUNT])
+               printf("\t%u",
+                      nla_get_u8(pinfo[NL80211_MPATH_INFO_HOP_COUNT]));
+       if (pinfo[NL80211_MPATH_INFO_PATH_CHANGE])
+               printf("\t%u",
+                      nla_get_u32(pinfo[NL80211_MPATH_INFO_PATH_CHANGE]));
 
        printf("\n");
        return NL_SKIP;
@@ -218,7 +226,7 @@ static int handle_mpath_dump(struct nl80211_state *state,
                             enum id_input id)
 {
        printf("DEST ADDR         NEXT HOP          IFACE\tSN\tMETRIC\tQLEN\t"
-              "EXPTIME\t\tDTIM\tDRET\tFLAGS\n");
+              "EXPTIME\t\tDTIM\tDRET\tFLAGS\tHOP_COUNT\tPATH_CHANGE\n");
        register_handler(print_mpath_handler, NULL);
        return 0;
 }