Disabling MAC Address Learning on Bridge Domains
In certain bridge domains, the MAC address learning function can be disabled in order to achieve better scalability, or because it is not strictly required (for example on point-to-point connections).
For these cases, starting from NetVisor OS release 6.0.0, it is possible to disable MAC address learning as part of a bridge domain configuration. For this purpose, a new configuration option is added, mac-learning | no-mac-learning, to the following commands:
bridge-domain-create scope local mac-learning | no-mac-learning
bridge-domain-modify scope local mac-learning | no-mac-learning
By default, MAC address learning is enabled at the bridge domain level.
Moreover, to support more granular per-port configurability, a new option, l2-learning enable | disable | none, is also added to the bridge-domain-port-add and bridge-domain-port-modify commands.
The default configuration is l2-learning none. In such case, at the port level the MAC address learning state is directly derived from the one of the encompassing bridge domain.
On the other hand, the enable and disable options can be used to take precedence over the per-bridge domain configuration to achieve port-level granularity.
The bridge-domain-show and bridge-domain-port-show commands are extended to
display the mac-learning/l2-learning state.
For example, to disable MAC address learning for an entire bridge domain at creation, use the command:
CLI (network-admin@switch) > bridge-domain-create name bd1 scope local vxlan 100101 no-mac-learning
CLI (network-admin@switch) > bridge-domain-show
switch name scope vxlan auto-vxlan rsvd-vlan ports mac-learning
------ ---- ----- ------ ---------- -------- ---- ------------
switch bd1 local 100101 no off
To reenable MAC address learning only on port 17, while leaving it disabled on port 21, you can use the commands:
CLI (network-admin@switch) > bridge-domain-port-add name bd1 port
17 vlans 100 l2-learning enable
CLI (network-admin@switch) > bridge-domain-port-add name bd1 port 21 vlans 200
CLI (network-admin@switch) > bridge-domain-port-show name bd1
switch name port vlans l2-learning
------- ---- ---- ----- -----------
switch bd1 17 100 enable
switch bd1 21 200 none
To re-enable MAC address learning on the entire bridge domain:
CLI (network-admin@switch) > bridge-domain-modify name bd1 mac-learning
CLI (network-admin@switch) > bridge-domain-show name bd1
switch name scope vxlan auto-vxlan ports mac-learning
------ ----- ----- ----- ---------- ----- ------------
switch bd1 local 100101 no 17,21 on
CLI (network-admin@switch) > bridge-domain-port-show name bd1
switch name port vlans l2-learning
------ ----- ---- ----- -----------
switch bd1 17 100 enable
switch bd1 21 200 none
Then to revert to the default per-port configuration on port 17 you can use:
CLI (network-admin@switch) > bridge-domain-port-modify name bd1 port 17 l2-learning none