diff options
| author | Ben Pfaff <blp@nicira.com> | 2011-07-21 17:03:03 -0700 |
|---|---|---|
| committer | Ben Pfaff <blp@nicira.com> | 2011-07-26 17:09:07 -0700 |
| commit | 82062a2047923e5c403fe42646e1c9eacbc73752 (patch) | |
| tree | c0ca3129e4703affa5793b00fa696e0d689274e3 /lib | |
| parent | 13b630579b8b7c67356f46b963e1256d66db0abc (diff) | |
| download | openvswitch-82062a2047923e5c403fe42646e1c9eacbc73752.tar.gz | |
mac-learning: Fix inverted logic in is_learning_vlan().
When a bit is set in flood_vlans, that VLAN must be flooded, but the logic
here was reversed in the case where there were any flooded VLANs at all.
Thus, if a single VLAN was configured to be flooded, all VLANs except that
one were actually flooded.
The common case where no VLANs were to be flooded was handled correctly.
Reported-by: David Tsai <dtsai@nicira.com>
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/mac-learning.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/mac-learning.c b/lib/mac-learning.c index bb84cfcc0..efd1dd4b8 100644 --- a/lib/mac-learning.c +++ b/lib/mac-learning.c @@ -149,7 +149,7 @@ mac_learning_set_flood_vlans(struct mac_learning *ml, static bool is_learning_vlan(const struct mac_learning *ml, uint16_t vlan) { - return vlan_bitmap_contains(ml->flood_vlans, vlan); + return !ml->flood_vlans || !bitmap_is_set(ml->flood_vlans, vlan); } /* Returns true if 'src_mac' may be learned on 'vlan' for 'ml'. |
