diff options
author | Jesse Gross <jesse@nicira.com> | 2009-11-06 17:13:51 -0800 |
---|---|---|
committer | Jesse Gross <jesse@nicira.com> | 2009-11-10 13:37:08 -0800 |
commit | f2d7fd66cf51b83acbe509f8ef6d4b34538d0646 (patch) | |
tree | 6bd64d88ec02cfad33c57b9171a66f367282f06b /lib/mac-learning.h | |
parent | 93dfc06772a722abf3362606307bab9a9bf33292 (diff) | |
download | openvswitch-f2d7fd66cf51b83acbe509f8ef6d4b34538d0646.tar.gz |
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
Diffstat (limited to 'lib/mac-learning.h')
-rw-r--r-- | lib/mac-learning.h | 3 |
1 files changed, 3 insertions, 0 deletions
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); |