Troubleshooting VLANs & Trunks

Maybe a stupid question

show interface Ethernet1/51 switchport
Name: Ethernet1/51
  Switchport: Enabled
  Switchport Monitor: Not enabled
  Switchport Isolated : Not enabled
  Switchport Block Multicast: Not enabled
  Switchport Block Unicast: Not enabled
  Mac learning: Enabled  !<-- 
  Operational Mode: trunk
  Access Mode VLAN: 1 (default)
  Trunking Native Mode VLAN: 1 (default)
  Trunking VLANs Allowed: 10
  Pruning VLANs Enabled: 2-1001
  Voice VLAN: none
  Extended Trust State : not trusted [COS = 0]
  Administrative private-vlan primary host-association: none
  Administrative private-vlan secondary host-association: none
  Administrative private-vlan primary mapping: none
  Administrative private-vlan secondary mapping: none
  Administrative private-vlan trunk native VLAN: none
  Administrative private-vlan trunk encapsulation: dot1q
  Administrative private-vlan trunk normal VLANs: none
  Administrative private-vlan trunk private VLANs: none
  Operational private-vlan: none

but on my other switch the Mac learning: Disabled

I can t find a way to enable it.. Any idea?

running on a cisco nexus
Thnx

Hello TvdB

Hmm, that’s actually an interesting question. From the little research I’ve done, depending on the platform, the MAC Address learning feature may or may not have the capability of being disabled.

There is the switchport mac-learn disable command, which will disable MAC learning at the switchport level. To enable it, you use the ā€œnoā€ version of that command. On the physical interface itself or, on a VLAN/SVI, you can configure the mac learn disable command. The ā€œnoā€ version once again enables it.

On the 9000 series devices, I believe these commands may be available only for portchannels. For other Nexus platforms, you may be able to apply them to interfaces. You may need to do some experimentation.

But the question is, why would it be disabled on the other end? I am assuming that you’re talking about the other end of the trunk link, correct? Check out these commands and see if you get anywhere with them. Let us know how you get along, and if we can be of further help…

I hope this has been helpful!

Laz

hi @lagapidis

The platform is a Nexus 3048 Chassis

Ive litteraly tried every command which i could think about. Funny part is that also in the terminal logging nothing pops out which could be related to this problem

Hello TvdB

I don’t have a definitive answer for you, but I’d like to ask, do you find that the switch is ā€œmisbehavingā€ in some way or you just see the indication on the output? For example, do you find that frames entering the port are not populating the MAC address table, and are being flooded out of all ports? Because this is the practical result of what would happen if MAC address learning is disabled. If you are not seeing this behavior, then it’s a bit of a discrepancy as to what that indicator actually means. Check to see if incoming frames do populate the MAC address table. If entries appear when traffic flows, MAC learning is working despite what the output says, and it could just be a bug that affects the display/output of the command.

Looking into the 3048 platform, it does not support the explicit disabling of MAC address learning at all. However, MAC address learning may automatically take place when certain other features are enabled. For example, if SPAN is being used, MAC address learning is disabled on the SPAN destination port. Otherwise it could be a hardware or ASIC limitation related to the mode or port role.

Another interesting nugget that I found is that in Nexus devices, by default, if the switch detects the movement of a MAC address from one port to another too many times, MAC address learning would be disabled for 180s on those ports. You can find more info about the MAC address table for the 3000 series nexus devices at this document:

If you do discover anything new or if you have some feedback on my suggestions, let us know!

I hope this has been helpful!

Laz