Skip to contentSkip to conversation

iplink_vlan: add support for VLAN loose binding flag

PATCH Patrick McHardy 2 participants 2 messages Dec 1, 2009 – Dec 26, 2009

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

This patch adds support for the VLAN loose binding flag that is supported in net-next to iplink_vlan.

commit 870970deb6cbea7a5d4881bdd717304d5284d315

Author: Patrick McHardy <[email protected]>
Date:   Tue Dec 1 12:21:15 2009 +0100

iplink_vlan: add support for VLAN loose binding flag

include/linux/if_vlan.h +1 -0
index 2dc4a57..329b354 100644
@@ -33,6 +33,7 @@ enum vlan_ioctl_cmds {
 enum vlan_flags {
 	VLAN_FLAG_REORDER_HDR	= 0x1,
 	VLAN_FLAG_GVRP		= 0x2,
+	VLAN_FLAG_LOOSE_BINDING	= 0x4,
 };
 
 enum vlan_name_types {
ip/iplink_vlan.c +11 -0
index 9724482..223feb3 100644
@@ -27,6 +27,7 @@ static void explain(void)
 		"VLANID := 0-4095\n"
 		"FLAG-LIST := [ FLAG-LIST ] FLAG\n"
 		"FLAG := [ reorder_hdr { on | off } ] [ gvrp { on | off } ]\n"
+		"        [ loose_binding { on | off } ]\n"
 		"QOS-MAP := [ QOS-MAP ] QOS-MAPPING\n"
 		"QOS-MAPPING := FROM:TO\n"
 	);
@@ -102,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");
+		} else if (matches(*argv, "loose_binding") == 0) {
+			NEXT_ARG();
+			flags.mask |= VLAN_FLAG_LOOSE_BINDING;
+			if (strcmp(*argv, "on") == 0)
+				flags.flags |= VLAN_FLAG_LOOSE_BINDING;
+			else if (strcmp(*argv, "off") == 0)
+				flags.flags &= ~VLAN_FLAG_LOOSE_BINDING;
+			else
+				return on_off("loose_binding");
 		} else if (matches(*argv, "ingress-qos-map") == 0) {
 			NEXT_ARG();
 			if (vlan_parse_qos_map(&argc, &argv, n,
@@ -156,6 +166,7 @@ static void vlan_print_flags(FILE *fp, __u32 flags)
 		}
 	_PF(REORDER_HDR);
 	_PF(GVRP);
+	_PF(LOOSE_BINDING);
 #undef _PF
 	if (flags)
 		fprintf(fp, "%x", flags);
#1 lore raw
Quoted 3 lines · On Tue, 01 Dec 2009 12:21:39 +0100 Patrick McHardy <[email protected]> wrote:

This patch adds support for the VLAN loose binding flag that is supported in net-next to iplink_vlan.

Added to repository for next version