iplink_vlan: Add flag for Multiple VLAN Registration Protocol (MVRP)

Signed-off-by: David Ward <david.ward@ll.mit.edu>
Acked-by: Patrick McHardy <kaber@trash.net>
This commit is contained in:
David Ward 2013-02-27 13:00:40 +00:00 committed by Stephen Hemminger
parent daa45caddb
commit 4e9a686020
1 changed files with 11 additions and 1 deletions

View File

@ -26,7 +26,7 @@ static void explain(void)
"\n"
"VLANID := 0-4095\n"
"FLAG-LIST := [ FLAG-LIST ] FLAG\n"
"FLAG := [ reorder_hdr { on | off } ] [ gvrp { on | off } ]\n"
"FLAG := [ reorder_hdr { on | off } ] [ gvrp { on | off } ] [ mvrp { on | off } ]\n"
" [ loose_binding { on | off } ]\n"
"QOS-MAP := [ QOS-MAP ] QOS-MAPPING\n"
"QOS-MAPPING := FROM:TO\n"
@ -103,6 +103,15 @@ static int vlan_parse_opt(struct link_util *lu, int argc, char **argv,
flags.flags &= ~VLAN_FLAG_GVRP;
else
return on_off("gvrp", *argv);
} else if (matches(*argv, "mvrp") == 0) {
NEXT_ARG();
flags.mask |= VLAN_FLAG_MVRP;
if (strcmp(*argv, "on") == 0)
flags.flags |= VLAN_FLAG_MVRP;
else if (strcmp(*argv, "off") == 0)
flags.flags &= ~VLAN_FLAG_MVRP;
else
return on_off("mvrp", *argv);
} else if (matches(*argv, "loose_binding") == 0) {
NEXT_ARG();
flags.mask |= VLAN_FLAG_LOOSE_BINDING;
@ -166,6 +175,7 @@ static void vlan_print_flags(FILE *fp, __u32 flags)
}
_PF(REORDER_HDR);
_PF(GVRP);
_PF(MVRP);
_PF(LOOSE_BINDING);
#undef _PF
if (flags)