From f2d7fd66cf51b83acbe509f8ef6d4b34538d0646 Mon Sep 17 00:00:00 2001 From: Jesse Gross Date: Fri, 6 Nov 2009 17:13:51 -0800 Subject: mirroring: Allow learning to be disabled on a VLAN. RSPAN does not work properly unless MAC learning for the VLAN is disabled on all switches between the origin and monitoring point. This allows learning to be disabled on a given VLAN so vSwitch can acts as an intermediate switch. Feature #2136 --- lib/mac-learning.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'lib/mac-learning.h') diff --git a/lib/mac-learning.h b/lib/mac-learning.h index e2ee74ba4..ed843cd45 100644 --- a/lib/mac-learning.h +++ b/lib/mac-learning.h @@ -52,10 +52,13 @@ struct mac_learning { struct list table[MAC_HASH_SIZE]; /* Hash table. */ struct mac_entry entries[MAC_MAX]; /* All entries. */ uint32_t secret; /* Secret for */ + unsigned long *non_learning_vlans; /* Bitmap of learning disabled VLANs. */ }; struct mac_learning *mac_learning_create(void); void mac_learning_destroy(struct mac_learning *); +bool mac_learning_set_disabled_vlans(struct mac_learning *, + unsigned long *bitmap); tag_type mac_learning_learn(struct mac_learning *, const uint8_t src[ETH_ADDR_LEN], uint16_t vlan, uint16_t src_port); -- cgit v1.2.1