summaryrefslogtreecommitdiff
path: root/print-radius.c
diff options
context:
space:
mode:
authorDenis Ovsienko <denis@ovsienko.info>2018-08-02 16:19:45 +0200
committerDenis Ovsienko <denis@ovsienko.info>2018-08-03 11:28:03 +0100
commitdc691d74de43872a2ef26545a1f35c7d291bff33 (patch)
treee888bbbb2fe019fb1d1a317a29161791b0820575 /print-radius.c
parentfb97fcea2a5c7f1663a9ef7b4dbd64f821c977b5 (diff)
downloadtcpdump-dc691d74de43872a2ef26545a1f35c7d291bff33.tar.gz
Improve printout of MIP6-Feature-Vector
Diffstat (limited to 'print-radius.c')
-rw-r--r--print-radius.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/print-radius.c b/print-radius.c
index 9066d8fe..f8de4069 100644
--- a/print-radius.c
+++ b/print-radius.c
@@ -1021,6 +1021,7 @@ print_attr_vector64(netdissect_options *ndo,
register const u_char *data, u_int length, u_short attr_code _U_)
{
uint64_t data_value, i;
+ const char *sep = "";
if (length != 8)
{
@@ -1028,15 +1029,23 @@ print_attr_vector64(netdissect_options *ndo,
return;
}
+ ND_PRINT("[");
ND_TCHECK_8(data[0]);
data_value = EXTRACT_BE_U_8(data);
+ /* Print the 64-bit field in a format similar to bittok2str(), less
+ * flagging any unknown bits. This way it should be easier to replace
+ * the custom code with a library function later.
+ */
for (i = 0; i < TAM_SIZE(mip6_feature_vector); i++) {
if (data_value & mip6_feature_vector[i].v) {
- ND_PRINT(" %s", mip6_feature_vector[i].s);
+ ND_PRINT("%s%s", sep, mip6_feature_vector[i].s);
+ sep = ", ";
}
}
+ ND_PRINT("]");
+
return;
trunc: