Pages

Recovering err-disabled ports on Cisco Catalysts IOS platforms

By default, Catalyst switches detect errors that occur on switch ports.
If the errors are serious it can take the action to shut down the switch port until someone will manually enable it or until a
predefined period of time has elapsed. This happens in order to avoid for example unwanted or faulty connections on the switch port.

Serious errors causes include (but are not limited to):

bpduguard — Detects when a Spanning Tree bridge protocol data unit (BPDU) is received on a port configured for STP portfast
link-flap — Detects when the port link state is “flapping” between the up and down states
pagp-flap — Detects when an EtherChannel bundle’s ports no longer have consistent configurations
rootguard — Detects when an STP BPDU is received from the root bridge on an unexpected port

For a complete list of errdisable causes go here.
If you decide that some of the error are not serious enough, you can tune the switch to trigger a port being disabled only for some causes.
Type in global configuration mode:
Switch(config)# errdisable detect cause [all | cause-name]
To check for errdisabled ports run in global EXEC mode:
Switch# show interface status
..........
Port Name     Status   Vlan   Duplex   Speed   Type
Fa0/1     err-disabled   5    full     100   100BaseTX
..........
or
Switch# show interface status err-disabled
Port Name     Status     Reason
Fa0/1     err-disabled   link-flap
Which will show also the cause (Reason) of the error.
You can also check the logs of the switch to check for more detailed information about the reason of the error.
Methods to re-enable errdisabled ports

Manually (default method) - go into interface configuration mode and issue the command shutdown, followed by no shutdown.
Switch(config-if)# shutdown
Switch(config-if)# no shutdown
Automatically - after a configurable period of time (default 300 sec) the switch port will be re-enabled. To do that, the errdisable causes that can be re-enabled must be specified.
Run in global configuration mode:
Switch(config)# errdisable recovery cause [all | cause-name]
To reconfigure the automatic recovery interval, run in global configuration mode:
Switch(config)# errdisable recovery interval interval_seconds
where interval_seconds can be set from 30 to 86400 seconds.

No comments: