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