Switch – Possibly an issue with MAC aging

mac addressswitch

I've got three switches, one core switch/router (Brocade 6450) and two access switches (HP 2530) which are connected to the core switch. I also have a number of devices connected to the access switches, some lantronix boxes and printers specifically. For the purposes of my testing I have been using an Epson TM-C3500 printer. When I move the printer from one access switch to the other it can take an incredibly long time for the printer to be accessible over the network.

Investigating this I have found that on the switch I move the device to, the MAC address table does not update or contain the device that I have just plugged into the switch. The interface is up and forwarding traffic. This can go on in excess of five minutes. If I do the same process moving a laptop between the same ports there is no issue.

If I look in the MAC address table on the switch I have unplugged the device from, it has been removed. However, there is still a record in the core switch saying the device is still on the switch I unplugged the device from. And in fact most of the time the delay seems slightly longer than the mac-age-time on the core switch. If I reduce the mac-age-time which can be set to 10 seconds the delay is slightly longer than this.

I'm familiar with the process by which switches learn mac addresses but I can't say I've seen much about the aging/expiration of mac addresses. I don't understand why a laptop wouldn't experience an issue when a printer or other (possibly less chatty device) does. Is this an issue or is this to be expected? How can the slow updating of the core switch prevent the MAC table on an access switch updating? Is this a byproduct of spanning tree or possibly another feature? And how low can I safely set the mac-age-time? What is the likely-hood I experience issues?

Best Answer

The moved device needs to send a (preferably) broadcast frame to the network - this will update all switches.

Usually, this is either done by the device itself or accomplished by ARPing the device's IP address. You should be able to force this by clearing the ARP entry from a node's ARP table and then trying to access the IP (by pinging for instance).

However, it might just be easier to use DHCP on the device (with a reserved address) - when it discovers the DHCP servers this is done by a broadcast which at the same time updates the switches. (This is probably why a laptop behaves differently than the (assumed) statically configured printer.)

Setting the MAC-age timer to a very short period causes the self-learning bridges to forget about MAC addresses earlier and possibly prematurely. This in turn causes unicasts to be flooded to all ports instead of just forwarded to the destination port. Flooding unicasts is not desirable and reduces the network's effienciency.

Anything beyond these approaches might be caused by some special configuration on your switches. You might need to post the (sanitized) configs for us to check. You should also post a diagram for easier understanding.