#define MP_DSS_a 0x02
#define MP_DSS_A 0x01
+static const struct tok mptcp_addr_subecho_bits[] = {
+ { 0x6, "v0-ip6" },
+ { 0x4, "v0-ip4" },
+ { 0x1, "v1-echo" },
+ { 0x0, "v1" },
+ { 0, NULL }
+};
+
struct mp_add_addr {
nd_uint8_t kind;
nd_uint8_t len;
switch (MP_CAPABLE_OPT_VERSION(mpc->sub_ver)) {
case 0: /* fall through */
case 1:
- ND_PRINT(" v%d", MP_CAPABLE_OPT_VERSION(mpc->sub_ver));
+ ND_PRINT(" v%u", MP_CAPABLE_OPT_VERSION(mpc->sub_ver));
break;
default:
- ND_PRINT(" Unknown Version (%d)",
+ ND_PRINT(" Unknown Version (%u)",
MP_CAPABLE_OPT_VERSION(mpc->sub_ver));
return 1;
}
opt_len == 20 || opt_len == 22 || opt_len == 28 || opt_len == 30))
return 0;
+ ND_PRINT(" %s",
+ tok2str(mptcp_addr_subecho_bits, "[bad version/echo]",
+ GET_U_1(add_addr->sub_echo) & 0xF));
ND_PRINT(" id %u", GET_U_1(add_addr->addr_id));
if (opt_len == 8 || opt_len == 10 || opt_len == 16 || opt_len == 18) {
ND_PRINT(" %s", GET_IPADDR_STRING(add_addr->u.v4.addr));
opt = (const struct mptcp_option *) cp;
ND_TCHECK_SIZE(opt);
- subtype = min(MPTCP_OPT_SUBTYPE(opt->sub_etc), MPTCP_SUB_FCLOSE + 1);
+ subtype = ND_MIN(MPTCP_OPT_SUBTYPE(opt->sub_etc), MPTCP_SUB_FCLOSE + 1);
ND_PRINT(" %s", mptcp_options[subtype].name);
return mptcp_options[subtype].print(ndo, cp, len, flags);