Udld error detected

This document describes how to troubleshoot Uni-Directional Link Detection (UDLD) error messages on a Cisco Nexus 7000 Series switch.

Contents

Introduction

This document describes how to troubleshoot Uni-Directional Link Detection (UDLD) error messages on a Cisco Nexus 7000 Series switch.

Prerequisites

Requirements

Cisco recommends that you have a basic knowledge of these topics:

  • Cisco Nexus Operating System (NX-OS)
  • Basic UDLD operations 

Components Used

The information in this document is based on these software and hardware versions:

  • Cisco Nexus 7000 Series switches
  • Cisco NX-OS Version 6.2(10) 

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.

Background Information 

The ports exchange UDLD packets during the UDLD detection process, to include the originator switch-ID and the originator port-ID. Once a UDLD packet is received, the switch echoes the peer switch-ID and port-ID back to the peer. Once the switches exchange echo packets, a bi-directional relationship is formed. 

The UDLD error conditions exist when the switch does not receive the expected information from its UDLD peer. 

This document describes these UDLD error conditions and how to troubleshoot them:

  • Empty-echo
  • Transmit-Receive (Tx-Rx) Loop
  • Uni-direction
  • Neighbor mismatch
  • Sudden cessation of UDLD frames 

UDLD Error Conditions

This section describes the various types of UDLD error conditions and some probable causes.

Empty Echo 

This condition is present when Switch-A receives a UDLD frame from Switch-B without the expected echo of the Switch-A switch-ID and port-ID. 

When an empty-echo is detected, the UDLD performs these actions:

Mode

Action

Normal Mode err-disable port
Aggressive Mode err-disable port

These syslog messages are then generated:

2015 Mar 19 11:57:56.155 N7kA ETHPORT-2-IF_DOWN_ERROR_DISABLED Interface Ethernet1/2
is down (Error disabled. Reason:UDLD empty echo)
2015 Mar 19 11:57:56.186 N7kA ETH_PORT_CHANNEL-5-PORT_INDIVIDUAL_DOWN individual port
Ethernet1/2 is down
2015 Mar 19 11:57:56.336 N7kA ETHPORT-2-IF_DOWN_ERROR_DISABLED Interface Ethernet1/2
is down (Error disabled. Reason:UDLD empty echo)

Here are some possible causes for this condition

  • The UDLD bi-directional relationship has timed out on Switch-B because it does not receive the UDLD frames from Switch-A.
  • Switch-B received the UDLD frames from Switch-A but did not process them.
  • Switch-A did not send the UDLD frames to Switch-B.

Tx-Rx Loop

This condition occurs when a UDLD frame is received on the same port from which it was transmitted.

When a Tx-Rx loop is detected, UDLD performs these actions:

Mode

Action

Normal Mode err-disable port
Aggressive Mode err-disable port

These syslog messages are then generated:

2015 Mar 20 14:52:30 N7kA   %ETHPORT-2-IF_DOWN_ERROR_DISABLED: Interface Ethernet17/5
is down (Error disabled. Reason:UDLD Tx-Rx Loop)
2015 Mar 20 14:52:30 N7kA %ETHPORT-2-IF_DOWN_ERROR_DISABLED: Interface Ethernet17/5
is down (Error disabled. Reason:UDLD Tx-Rx Loop)

Here are some possible causes for this condition:

  • There might be incorrect wiring or a physical media issue.
  • The intermediate devices reflect the frames back to the sending port.

Neighbor Mismatch 

This condition is present when Port-A on Switch-A receives a frame from a port other than that with which it already formed a UDLD bi-directional relationship. 

When a neighbor mismatch is detected, UDLD performs these actions:

Mode

Action

Normal Mode err-disable port
Aggressive Mode err-disable port

These syslog messages are then generated:

2015 Mar 21 10:23:05.598 N7kA %ETHPORT-2-IF_DOWN_ERROR_DISABLED: Interface Ethernet3/21
is down (Error disabled. Reason:UDLD Neighbor mismatch)
2015 Mar 21 10:24:07.065 N7kA %ETHPORT-2-IF_DOWN_ERROR_DISABLED: Interface Ethernet3/21
is down (Error disabled. Reason:UDLD Neighbor mismatch)

Here are some possible causes for this condition:

  • The UDLD port in question is a member of a port-channel on which a member port has changed states.
  • There is an intermediate device between the two ports that formed the bi-directional relationship.

Sudden Cessation of UDLD Frames

This condition is present when a port that has formed a bi-directional relationship does not receive a UDLD frame during the time-out interval (50 seconds by default). 

When this condition is detected, the UDLD performs these actions:

Mode

Action

Normal Mode UDLD marks port as Undetermined, and the port continues to function in accordance with its spanning-tree port state 
Aggressive Mode err-disable port 

Troubleshoot UDLD Error Conditions

This section describes general troubleshooting steps that you should complete if you encounter a UDLD error-disabled port. 

Since UDLD errors indicate physical layer faults, it is appropriate to troubleshoot at the physical layer. When UDLD error messages are encountered, consider these questions:

  • Does the error persist if the Small Form-Factor Pluggable Transceiver (SFP) is replaced?
  • Does the error persist if the cable is replaced?
  • Does the error persist if the connection is moved to a different physical port on the switch?

Useful Commands

Use this command in order to restore all of the ports that have been placed into error-disable mode by the UDLD:

N7KA(config)# udld reset

Use this command in order to verify the bi-directional relationship:

N7KA-NORTH-AGG(config-if)# show udld eth 3/4

Interface Ethernet3/4
--------------------------------
Port enable administrative configuration setting: enabled
Port enable operational state: enabled
Current bidirectional state: bidirectional
Current operational state: advertisement - Single neighbor detected
Message interval: 7
Timeout interval: 5

Entry 1
----------------
Expiration time: 39
Cache Device index: 1
Current neighbor state: bidirectional
Device ID: JAF1620ABAB
Port ID: Ethernet3/12
Neighbor echo 1 devices: JAF1617BACD
Neighbor echo 1 port: Ethernet3/4

Message interval: 15
Timeout interval: 5
CDP Device name: N7KB-SOUTH-AGG(JAF1620ABAB)

Last pkt send on: 400096, Aug 6 13:58:52 2014
Probe pkt send on: 400096, Aug 6 13:58:52 2014
Echo pkt send on: 395799, Aug 6 13:58:43 2014
Flush pkt send on: None.

Last pkt recv on: 740333, Aug 6 13:58:52 2014
Probe pkt recv on: 740333, Aug 6 13:58:52 2014
Echo pkt recv on: 730454, Aug 6 13:58:43 2014
Flush pkt recv on: None.

Deep pkt inspections done: None.
Mismatched if index found: None.
Deep pkt inspection drops: None.

Use this command in order to verify error counters on the physical interfaces, which determines whether the UDLD frames are dropped due to physical layer hardware faults:

RTP-Agg1# show interface ethernet 4/1 | i error|CRC|discard|drop
0 runts 0 giants 0 CRC/FCS 0 no buffer
0 input error 0 short frame 0 overrun 0 underrun 0 ignored
0 watchdog 0 bad etype drop 0 bad proto drop 0 if down drop
0 input with dribble 0 input discard
0 output error 0 collision 0 deferred 0 late collision
0 lost carrier 0 no carrier 0 babble 0 output discard

Use this command in order to check the CPU utilization, which determines whether high CPU utilization prevents the UDLD frames from being processed:

N7K-A# show system resources
Load average: 1 minute: 0.17 5 minutes: 0.25 15 minutes: 0.20
Processes : 1993 total, 1 running
CPU states : 0.18% user, 0.81% kernel, 98.99% idle

Useful TAC Information

This section describes the outputs that you should collect before you restore the link (if the circumstances permit) in order to provide the Cisco Technical Assistance Center (TAC) the best chance to diagnose the root cause of the link being placed into error-disabled mode by the UDLD:

  • show tech-support lacp all (if the failed interface is a member of a Link Aggregation Control Protocol (LACP) portchannel)
  • show tech-support module <x> (where x is the module where the UDLD error is detected)
  • show tech-support ethpm
  • show tech-support udld 
  • show udld internal event-history errors 
  • show udld internal event-history msgs | grep -a 3 -b 3 L2_RX_DATA
  • show udld internal event-history ethernet <x/y>
  • show log logfile | grep UDLD
  • show log logfile | grep Ethernet<x/y> 
  • show processes cpu history
  • show interface ethernet <x/y>
  • show hardware internal errors module <x>
  • show interface counters errors module <x>

Повторное включение портов, отключенных из-за ошибки

После устранения причины проблемы порты остаются отключенными, если на коммутаторе не настроено восстановление из состояния «errdisabled». В этом случае необходимо включить порты вручную. Выполните команду shutdown , а затем — команду интерфейсного режима no shutdown на соответствующем интерфейсе, чтобы вручную включить порты, если не поможет — команду reload для перезагрузки (иногда помогает)

Содержание

Введение

Предварительные условия

     Требования

     Используемые компоненты

     Условные обозначения

Общие сведения

     Платформы, на которых используется отключение из-за ошибки

Состояние «Errdisabled»

     Назначение состояния «Errdisabled»
     Причины возникновения состояния «Errdisabled»
     Проверка нахождения портов в состоянии «Errdisabled»
     Определение причины состояния «Errdisabled» (сообщения консоли, системный журнал и команда «show errdisable recovery»)
     Восстановление порта из состояния отключения из-за ошибки

Связанные обсуждения сообщества поддержки Cisco
Дополнительные сведения


Введение

В данном документе дается определение состояния отключения из-за ошибки, описывается восстановление из этого состояния и предоставляются примеры такого восстановления. В данном документе взаимозаменяемо используются термины «errdisabled» и «отключенный из-за ошибки». Зачастую клиенты обращаются в службу технической поддержки Cisco, когда замечают, что один или несколько портов коммутатора отключены из-за ошибки, т.е. данные порты находятся в состоянии «errdisabled». Такие клиенты хотят знать, почему произошло отключение из-за ошибки и как восстановить нормальное состояние портов.

Примечание: Состояние порта err-disabled отображается в выходных данных команды show interfaces interface_number status .

Предварительные условия

Требования

Для данного документа нет особых требований.

Используемые компоненты

Для воспроизведения примеров, приведенных в данном документе, необходимы два коммутатора серии Cisco Catalyst 4500/6500 (или эквивалентных) в лабораторной среде с настройками, сброшенными до заводских. На коммутаторах должно быть установлено ПО Cisco IOS®, и у каждого коммутатора должно быть по два порта Fast Ethernet, поддерживающих функции EtherChannel и PortFast.

Данные сведения были получены в результате тестирования приборов в специфической лабораторной среде. В качестве начальной конфигурации для всех описанных в документе устройств использовались стандартные (заводские) настройки. В условиях реально действующей сети при использовании каждой команды необходимо четко понимать, какие последствия может иметь применение той или иной команды.

Условные обозначения

Более подробные сведения о применяемых в документе обозначениях см. в документе Cisco Technical Tips Conventions (Условные обозначения, используемые в технической документации Cisco).

Общие сведения

Платформы, на которых используется отключение из-за ошибки

Функция отключения из-за ошибки поддерживается на следующих коммутаторах Catalyst:

  • коммутаторы Catalyst со следующим программным обеспечением Cisco IOS:

    • 2900XL / 3500XL

    • 2940 / 2950 / 2960 / 2970

    • 3550 / 3560 / 3560-E / 3750 / 3750-E

    • 4000 / 4500

    • 6000 / 6500

  • коммутаторы Catalyst со следующим программным обеспечением Catalyst (CatOS):

    • 2948G

    • 4500 / 4000

    • 5500 / 5000

    • 6500 / 6000

Способ реализации функции отключения из-за ошибки зависит от программной платформы. В этом документе особое внимание уделяется функции отключения из-за ошибки на коммутаторах с программным обеспечением Cisco IOS.

Состояние «Errdisabled»

Назначение состояния «Errdisabled»

Если в конфигурации отображается порт, который должен быть включен, но программное обеспечение на коммутаторе обнаружило порт в состояние ошибки, то программное обеспечение отключит этот порт. Другими словами, порт автоматически отключается операционной системой коммутатора, так как порт обнаружен в состоянии ошибки.

Когда порт отключается из-за ошибки, он фактически выключается, а прием и отправка трафика через него не выполняются. Цвет индикатора порта становится оранжевым, а при выполнении команды show interfaces
отображается состояние порта err-disabled. Ниже приводится пример вывода данных о порте в состоянии error-disabled из интерфейса командной строки коммутатора:

cat6knative#show interfaces gigabitethernet 4/1 status 

Port    Name       Status       Vlan       Duplex  Speed Type
Gi4/1              err-disabled 100          full   1000 1000BaseSX

Или, если данный интерфейс отключен из-за состояния ошибки, и в консоли, и в системном журнале можно увидеть сообщения, подобные следующим:

%SPANTREE-SP-2-BLOCK_BPDUGUARD: 
   Received BPDU on port GigabitEthernet4/1 with BPDU Guard enabled. Disabling port.
%PM-SP-4-ERR_DISABLE: 
   bpduguard error detected on Gi4/1, putting Gi4/1 in err-disable state

Сообщение данного примера отображается, когда порт хоста принимает блок BPDU. Фактический вид сообщения зависит от причины состояния ошибки.

Функция отключения из-за ошибки решает две задачи.

  • Она позволяет администраторам знать, когда и где возникла проблема с портом.

  • Она исключает возможность того, что данный порт может вызвать сбой других портов модуля (или всего модуля).

    Такой сбой может произойти, когда «неисправный» порт монополизирует буферы или сообщения об ошибках порта монополизируют связи между процессами на плате, что может в итоге вызвать серьезные сетевые проблемы. Функция отключения из-за ошибки помогает предотвратить такие ситуации.

Причины возникновения состояния «Errdisabled»

Эта функция была первоначально реализована для обработки особых конфликтных ситуаций, когда коммутатор обнаруживал в порту избыточные или поздние конфликты. Избыточные конфликты возникают, когда кадр отбрасывается из-за обнаружения 16 конфликтов подряд. Поздние конфликты возникают, когда каждое из подключенных к линии устройств определило, что линия занята. Ниже перечислены некоторые возможные причины ошибок данных типов:

  • кабель, не соответствующий спецификациям (слишком длинный, неправильного типа или поврежденный);

  • неисправная сетевая интерфейсная плата (с физическими неполадками или проблемами драйверов);

  • неправильная конфигурация дуплексного режима порта.

    Неправильная конфигурация дуплексного режима порта является распространенной причиной ошибок из-за невозможности правильного согласования скорости и дуплексного режима между двумя напрямую соединенными устройствами (например, сетевой адаптер, подключенный к коммутатору). Только у полудуплексных соединений могут возникать конфликты в ЛВС. Так как для Ethernet характерен множественный доступ с контролем несущей (CSMA), конфликты являются обычным явлением для полудуплексных соединений, пока они составляют малую часть трафика.

Интерфейс может перейти в состояние «errdisabled» по различным причинам. Среди таких причин могут быть следующие:

  • Несоответствие дуплексных режимов

  • неправильная конфигурация каналов портов

  • нарушение защиты BPDU

  • состояние обнаружения однонаправленной связи (UDLD)

  • обнаружение поздних конфликтов

  • обнаружение переброски канала

  • нарушение безопасности

  • переброска по протоколу агрегации портов (PAgP)

  • защита протокола туннелирования уровня 2 (L2TP)

  • ограничение скорости DHCP-отслеживания

  • неисправный модуль GBIC, подключаемый модуль малого форм-фактора (SFP) или кабель

  • проверка протокола ARP

  • встроенное питание

Примечание: По умолчанию для всех таких причин включено обнаружение отключения из-за ошибки. Чтобы отключить обнаружение отключения из-за ошибки, выполните команду no errdisable detect cause . Команда show errdisable detect отображает состояние обнаружения отключения из-за ошибки.

Проверка нахождения портов в состоянии «Errdisabled»

Чтобы определить, был ли порт отключен из-за ошибки, выполняется команда show interfaces .

Пример данных об активном порте:

cat6knative#show interfaces gigabitethernet 4/1 status 
!--- Refer to show interfaces status for more information on the command.

Port    Name               Status       Vlan       Duplex  Speed Type
Gi4/1                      Connected    100          full   1000 1000BaseSX

Ниже приводится пример данных о том же порте в состоянии отключения из-за ошибки:

cat6knative#show interfaces gigabitethernet 4/1 status 
!--- Refer to show interfaces status for more information on the command.

Port    Name               Status       Vlan       Duplex  Speed Type
Gi4/1                      err-disabled 100          full   1000 1000BaseSX

Примечание: Если порт отключен из-за ошибки, индикатор на передней панели, соответствующей данному порту, будет выключен.

Определение причины состояния «Errdisabled» (сообщения консоли, системный журнал и команда «show errdisable recovery»)

Когда коммутатор переводит порт в состояние отключения из-за ошибки, он отправляет консоли сообщение с описанием причины отключения порта. В данном разделе приведены два примера сообщений с причинами отключения портов.

  • В первом случае отключение вызвано функцией защиты PortFast BPDU.

  • Во втором случае отключение вызвано ошибкой в конфигурации EtherChannel.

Примечание: Эти сообщения можно также увидеть в системном журнале, если выполнить команду show log .

Вот примеры сообщений:

%SPANTREE-SP-2-BLOCK_BPDUGUARD: 
   Received BPDU on port GigabitEthernet4/1 with BPDU Guard enabled. Disabling port.

%PM-SP-4-ERR_DISABLE: 
   bpduguard error detected on Gi4/1, putting Gi4/1 in err-disable state

 %SPANTREE-2-CHNMISCFG: STP loop - channel 11/1-2 is disabled in vlan 1

Если выполнена команда errdisable recovery, можно определить причину состояния «errdisabled» с помощью команды
show errdisable recovery
. Ниже представлен пример:

cat6knative#show errdisable recovery
ErrDisable Reason    Timer Status
-----------------    --------------
udld                 Enabled
bpduguard            Enabled
security-violatio    Enabled
channel-misconfig    Enabled
pagp-flap            Enabled
dtp-flap             Enabled
link-flap            Enabled
l2ptguard            Enabled
psecure-violation    Enabled
gbic-invalid         Enabled
dhcp-rate-limit      Enabled
mac-limit            Enabled
unicast-flood        Enabled
arp-inspection       Enabled

Timer interval: 300 seconds

Interfaces that will be enabled at the next timeout:

Interface      Errdisable reason      Time left(sec)
---------    ---------------------    --------------
  Fa2/4                bpduguard          273

Восстановление порта из состояния отключения из-за ошибки

В этом разделе предоставляются примеры способов обнаружения портов, отключенных из-за ошибки, и их восстановления, а также краткое обсуждение некоторых дополнительных причин отключения портов из-за ошибки. Чтобы восстановить порт из состояния «errdisabled», сначала необходимо установить и устранить основную причину проблемы, а затем включить порт. Если включить порт, не устранив причину проблемы, он снова будет отключен из-за ошибки.

Исправление основной причины

После обнаружения причин отключения портов устраните основную причину проблемы. Устранение зависит от проблемы, вызвавшей состояние. Завершение работы может быть инициировано по самым разным причинам. В данном разделе обсуждаются некоторые из наиболее заметных и распространенных случаев.

  • Неверная конфигурация EtherChannel

    Порты, задействованные в работе EtherChannel, должны обладать согласованными конфигурациями. У портов должны быть одинаковые сети VLAN, режим магистрали, скорость, дуплексный режим и т.д. Большинство отличий конфигураций в рамках одного коммутатора выявляются и заносятся в отчет при создании канала. Если на одной стороне коммутатор настроен для EtherChannel, а на другой — нет, процесс STP может отключить объединенные в канал порты на стороне, настроенной для поддержки режима EtherChannel. В режиме EtherChannel перед объединением портов в канал PAgP-пакеты не отправляются другой стороне для согласования; предполагается, что на другой стороне режим объединения в канал также поддерживается. Кроме того, в данном примере режим EtherChannel не включается на другом коммутаторе, однако соответствующие порты оставляются отдельными, не задействованными в каналах портами. Если оставить другой коммутатор в этом состоянии примерно на минуту, протокол STP коммутатора с включенным режимом EtherChannel считает, что образовалась петля. В результате объединенные в канал порты переводятся в состояние отключения из-за ошибки.

    В данном примере обнаружена петля и отключены порты. В выходных данных команды show etherchannel summary указывается, что Number of channel-groups in use (Число используемых групп каналов) равно 0. Если обратить внимание на один из вовлеченных портов, можно заметить, что он находится в состоянии err-disabled:

    %SPANTREE-2-CHNL_MISCFG: Detected loop due to etherchannel misconfiguration 
    of Gi4/1
    
    
    cat6knative#show etherchannel summary
    !--- Refer to show etherchannel for more information on the command.
    
    Flags:  D - down        P - in port-channel
            I - stand-alone s - suspended
            H - Hot-standby (LACP only)
            R - Layer3      S - Layer2
            U - in use      f - failed to allocate aggregator
    
            u - unsuitable for bundling
    Number of channel-groups in use: 0
    Number of aggregators:           0
    
    Group  Port-channel  Protocol    Ports
    ------+-------------+-----------+-----------------------------------------------

    Режим EtherChannel отключен, так как на данном коммутаторе порты были переведены в состояние «errdisable».

    cat6knative#show interfaces gigabitethernet 4/1 status
    
    Port    Name               Status       Vlan       Duplex  Speed Type
    Gi4/1                      err-disabled 100          full   1000 1000BaseSX

    Чтобы определить характер проблемы, см. соответствующее сообщение об ошибке. В сообщении указывается, что функция EtherChannel обнаружила петлю в дереве STP. В этом разделе описывается возникновение данной проблемы, когда на одном устройстве (в этом случае коммутатор) канал EtherChannel вручную переведен в режим «Включено» (в противоположность режиму согласования), а на другом подключенном устройстве (в этом случае другой коммутатор) канал EtherChannel вообще не включен. Один из способов разрешения этой ситуации заключается в переводе режима канала в состояние «desirable» на обеих сторонах соединения с последующим повторным включением портов. В результате обе стороны формируют канал только после взаимного согласования. Если создание канала не согласовано, обе стороны продолжают функционировать как обычные порты.

    cat6knative(config-terminal)#interface gigabitethernet 4/1
    cat6knative(config-if)#channel-group 3 mode desirable non-silent
    

  • Несоответствие дуплексных режимов

    Несоответствие дуплексных режимов встречается довольно часто из-за неудачного автоматического согласования скорости и дуплексного режима. В отличие от полудуплексного устройства, которому приходится дожидаться освобождения своего сегмента ЛВС другими передающими устройствами, дуплексное устройство при необходимости выполняет передачу независимо от других устройств. Если эта передача выполняется одновременно с передачей полудуплексного устройства, данное устройство будет рассматривать это как конфликт (в течение данного временного интервала) или как поздний конфликт (по истечении данного временного интервала). Так как дуплексное устройство никогда не ожидает конфликтов, на этой стороне никогда не допускается необходимость повторной передачи отброшенных пакетов. Низкий процент конфликтов характерен для полудуплексного режима, но не для дуплексного. Регистрация на порте коммутатора слишком большого количества конфликтов обычно указывает на несоответствие дуплексных режимов. Убедитесь, что на обеих сторонах кабеля порты настроены на одинаковые скорость и дуплексный режим. Команда show interfaces interface_number
    предоставляет данные о скорости и дуплексном режиме портов коммутатора Catalyst. Более поздние версии протокола обнаружения Cisco (CDP) могут предупреждать о несоответствии дуплексных режимов перед переводом порта в состояние отключения из-за ошибки.

    Кроме того, в сетевом адаптере есть настройки, такие как автополярность, которые могут вызвать данную проблему. В случае сомнений отключите такие настройки. Если есть несколько сетевых адаптеров одного производителя и на всех таких сетевых адаптерах проявляется та же проблема, посетите веб-узел производителя, чтобы прочитать заметки о выпуске и получить драйверы последних версий.

    Ниже перечислены другие возможные причины поздних конфликтов:

    • неисправный сетевой адаптер (с физическими неполадками, а не просто с ошибками конфигурации);

    • неисправный кабель

    • слишком длинный сегмент кабеля

  • защита портов BPDU

    В режиме PortFast порт должен подключаться только к конечной станции (рабочей станции или серверу), а не к устройствам, генерирующим BPDU-блоки дерева STP, таким как коммутаторы, мосты или маршрутизаторы, формирующие мостовые соединения. При приеме BPDU-блока дерева STP через порт с включенной STP-функцией PortFast и защитой от пакетов BPDU дерева STP коммутатор переводит порт в состояние «err-disable», чтобы защитить сеть от возможного возникновения петель. Функция PortFast предполагает, что порт коммутатора не может сформировать физическую петлю. Поэтому PortFast пропускает первоначальные проверки протокола STP для данного порта, чтобы избежать тайм-аута конечных станций при загрузке. Сетевые администраторы должны тщательно реализовывать функцию PortFast. На портах с включенной функцией PortFast защита BPDU препятствует образованию петель в ЛВС.

    В следующем примере показано, как включить эту функцию. Этот пример выбран из-за простоты создания ситуации отключения из-за ошибки в данном случае:

    cat6knative(config-if)#spanning-tree bpduguard enable
    !--- Refer to spanning-tree bpduguard for more information on the command.
    
    

    В этом примере коммутатор Catalyst 6509 подключен к другому коммутатору (серии 6509). Коммутатор Catalyst 6500 отправляет блоки BPDU каждые 2 секунды (при использовании настроек STP по умолчанию). При включении режима PortFast для порта коммутатора 6509 функция защиты BPDU отслеживает поступающие в этот порт блоки BPDU. Поступление блока BPDU в порт означает, что устройство не является конечным. В этом случае функция защиты BPDU отключает данный порт во избежание возможного образования петли в дереве STP.

    cat6knative(config-if)#spanning-tree portfast enable
    !--- Refer to spanning-tree portfast (interface configuration mode) 
    !--- for more information on the command.
    
    
    Warning: Spantree port fast start should only be enabled on ports connected
    to a single host.  Connecting hubs, concentrators, switches, bridges, etc. to
    a fast start port can cause temporary spanning tree loops.
    
    %PM-SP-4-ERR_DISABLE: bpduguard error detected on Gi4/1, putting Gi4/1 in 
    err-disable state.

    В этом сообщении коммутатор сообщает о поступлении блока BPDU в порт с поддержкой PortFast, из-за чего коммутатор отключает порт Gi4/1.

    cat6knative#show interfaces gigabitethernet 4/1 status
    
    Port    Name               Status       Vlan       Duplex  Speed Type
    Gi4/1                      err-disabled 100          full   1000 1000BaseSX

    Функцию PortFast необходимо отключить, так как данный порт является портом с непригодным соединением. Соединение является непригодным, так как включена функция PortFast, а коммутатор подключается к другому коммутатору. Необходимо помнить, что функция PortFast используется только на портах, подключенных к конечным станциям.

    cat6knative(config-if)#spanning-tree portfast disable
    

  • UDLD

    Протокол обнаружения однонаправленной связи (UDLD) позволяет устройствам, подключенным с помощью оптоволоконных или медных кабелей Ethernet (например кабелей категории 5), отслеживать физическую конфигурацию кабелей и обнаруживать появление однонаправленных соединений. При обнаружении однонаправленного соединения протокол UDLD отключает соответствующий порт и создает сообщение предупреждения для пользователя. Однонаправленные соединения могут вызвать множество проблем, включая петли в топологии STP.

    Примечание: Работа UDLD основана на обмене пакетами протокола между соседними устройствами. Устройства на обеих сторонах соединения должны поддерживать протокол UDLD. Этот же протокол должен поддерживаться на соответствующих портах. Если UDLD включен только на одном порте, на этом конце соединения может быть настроен переход UDLD в состояние «err-disable».

    Каждый порт коммутатора, настроенный на UDLD, отправляет пакеты протокола UDLD, в которых указывается устройство порта (или идентификатор порта) и соседнее устройство (или идентификаторы портов), которые видны UDLD на данном порте. В полученных с другой стороны пакетах соседние порты должны видеть свои собственные устройство или идентификатор порта (эхо). Если порт не видит собственного устройства или идентификатора порта во входящих UDLD-пакетах в течение заданного времени, такое соединение считается однонаправленным. В результате соответствующий порт отключается, а в консоли печатается сообщение примерно такого содержания:

    PM-SP-4-ERR_DISABLE: udld error detected on Gi4/1, putting Gi4/1 in 
    err-disable state.

    Дополнительные сведения о работе, конфигурации и командах протокола обнаружения однонаправленной связи (UDLD) см. в документе Настройка обнаружения однонаправленной связи (UDLD).

  • Ошибка неустойчивости соединения (link-flap)

    Неустойчивость соединения означает постоянное подключение и отключение интерфейса. Если число таких ошибок за 10 секунд больше пяти, интерфейс переводится в состояние «err-disable». Распространенной причиной неустойчивости соединения являются проблемы первого уровня (L1), такие как неисправность кабеля, несоответствие дуплексных режимов или неисправная плата GBIC. Просмотрите сообщения консоли или сообщения, отправленные на сервер системного журнала, в которых сообщается причина отключения портов.

    %PM-4-ERR_DISABLE: link-flap error detected on Gi4/1, putting Gi4/
    1 in err-disable state

    Чтобы просмотреть данные об ошибках неустойчивости соединения, выполните следующую команду:

    cat6knative#show errdisable flap-values
    !--- Refer to show errdisable flap-values for more information on the command.
    
    ErrDisable Reason    Flaps    Time (sec)
    -----------------    ------   ----------
    pagp-flap              3       30
    dtp-flap               3       30
    link-flap              5       10

  • Ошибка обратной петли (loopback)

    Ошибка обратной петли возникает, когда пакет запроса keepalive возвращается обратно к отправившему его порту. По умолчанию коммутатор отправляет запросы keepalive всем интерфейсам. Устройство может отправлять пакеты обратно исходному интерфейсу по петле, которая обычно возникает из-за наличия в сети логической петли, не заблокированной протоколом STP. Исходный интерфейс принимает отправленный им пакет сообщения keepalive, а коммутатор отключает данный интерфейс (errdisable). Когда пакет keepalive возвращается обратно к отправившему его порту, появляется следующее сообщение:

    %PM-4-ERR_DISABLE: loopback error detected on Gi4/1, putting Gi4/1 in
    err-disable state

    По умолчанию в ПО на базе Cisco IOS версии 12.1EA сообщения keepalive отправляются всеми интерфейсами. В программном обеспечении на базе Cisco IOS 12.2SE или более поздней версии сообщения keepalive по умолчанию не отправляются оптоволоконными и восходящими интерфейсами. Дополнительные сведения см. в описании ошибки с идентификатором CSCea46385

    (registered customers only)
    .

    Предлагаемый обходной путь заключается в отключении запросов keepalive и обновлении до ПО Cisco IOS 12.2SE или более поздней версии.

  • Нарушение защиты порта

    Защиту порта можно использовать вместе со статическими и динамически получаемыми MAC-адресами, чтобы ограничить входящий трафик порта. Чтобы ограничить трафик, можно ограничить MAC-адреса, которым разрешено отправлять трафик данному порту. Чтобы настроить порт коммутатора на отключение из-за ошибки при нарушении безопасности, выполните следующую команду:

    cat6knative(config-if)#switchport port-security violation shutdown
    

    Нарушение безопасности происходит в следующих двух ситуациях:

    • Когда на защищенном порте число защищенных MAC-адресов достигло максимума, а исходный MAC-адрес входящего трафика не совпадает ни с одним из идентифицированных защищенных MAC-адресов.

      В этом случае защитой порта применяется настроенный режим нарушения.

    • Если трафик с защищенным MAC-адресом, настроенный или полученный на одном защищенном порте, пытается получить доступ к другому защищенному порту в той же сети VLAN.

      В этом случае защита порта применяет режим нарушения завершения работы.

    Дополнительные сведения о защите порта см. в документе Настройка защиты порта.

  • Защита L2pt

    Когда блоки PDU уровня 2 входят в туннель или порт доступа на входящем пограничном коммутаторе, коммутатор заменяет пользовательский MAC-адрес PDU-назначения хорошо известным проприетарным адресом многоадресной рассылки Cisco: 01-00-0c-cd-cd-d0. Если включено туннелирование 802.1Q, пакеты также помечаются двумя тегами. Внешний тег является пользовательским тегом муниципальной сети, а внутренний тег — пользовательским тегом сети VLAN. Основные коммутаторы игнорируют внутренние теги и пересылают пакет всем магистральным портам в одной муниципальной сети VLAN. Пограничные коммутаторы на исходящей стороне восстанавливают данные о необходимом протоколе уровня 2 и MAC-адресе и пересылают пакеты всем туннельным портам или портам доступа внутри одной муниципальной сети VLAN. Поэтому блоки PDU уровня 2 сохраняются неизмененными и через инфраструктуру сервис-провайдера доставляются на другую сторону сети заказчика.

    Switch(config)#interface gigabitethernet 0/7
    l2protocol-tunnel {cdp | vtp | stp}
    

    Интерфейс переходит в состояние отключения из-за ошибки. Если инкапсулированный блок PDU (с собственным MAC-адресом назначения) получен из туннельного порта или порта доступа с включенным туннелированием уровня 2, туннельный порт отключается, чтобы предотвратить появление петель. Этот порт также отключается, когда достигается пороговое значение завершения работы для данного протокола. Порт можно снова включить вручную (выполнив последовательность команд shutdown, no shutdown
    ), или если включено восстановление из состояния «errdisabled», данная операция повторяется через указанный интервал времени.

    Интерфейс можно восстановить из состояния «errdisabled» включив порт с помощью команды errdisable recovery cause l2ptguard. Эта команда используется для настройки механизма восстановления после ошибки «максимальной скорости» уровня 2, чтобы интерфейс можно было вывести из отключенного состояния и попытаться снова использовать. Можно также задать временной интервал. Восстановление из состояния «errdisabled» по умолчанию отключено; при включении временной интервал по умолчанию равен 300 секундам.

  • Неисправный SFP-кабель

    Порты переходят в состояние «errdisabled» с сообщением об ошибке %PHY-4-SFP_NOT_SUPPORTED при подключении коммутаторов Catalyst 3560 и Catalyst 3750 с помощью соединительного SFP-кабеля.

    Соединительный SFP-кабель для коммутаторов Cisco Catalyst 3560 (CAB-SFP-50CM=) является бюджетным решением для соединений Gigabit Ethernet типа «точка-точка» между коммутаторами серии Catalyst 3560. 50-сантиметровый кабель является альтернативой использованию трансивера SFP при соединении коммутаторов серии Catalyst 3560 через SFP-порты на небольших расстояниях. Все коммутаторы серии Cisco Catalyst 3560 поддерживают соединительные SFP-кабели.

    При подключении коммутатора Catalyst 3560 к коммутатору Catalyst 3750 или любой другой модели коммутатора Catalyst нельзя использовать кабель CAB-SFP-50CM=. Два коммутатора можно соединить с помощью медного кабеля с SFP (GLC-T) на обоих устройствах вместо кабеля CAB-SFP-50CM=.

Повторное включение портов, отключенных из-за ошибки

После устранения причины проблемы порты остаются отключенными, если на коммутаторе не настроено восстановление из состояния «errdisabled». В этом случае необходимо включить порты вручную. Выполните команду shutdown
, а затем — команду интерфейсного режима no shutdown на соответствующем интерфейсе, чтобы вручную включить порты.

Команда errdisable recovery позволяет выбрать тип ошибок, после которых порты снова автоматически включаются через указанный промежуток времени. Команда show errdisable recovery показывает состояние по умолчанию после восстановления из состояния отключения из-за ошибки для всех возможных условий.

cat6knative#show errdisable recovery
ErrDisable Reason    Timer Status
-----------------    --------------
udld                 Disabled
bpduguard            Disabled
security-violatio    Disabled
channel-misconfig    Disabled
pagp-flap            Disabled
dtp-flap             Disabled
link-flap            Disabled
l2ptguard            Disabled
psecure-violation    Disabled
gbic-invalid         Disabled
dhcp-rate-limit      Disabled
mac-limit            Disabled
unicast-flood        Disabled
arp-inspection       Disabled

Timer interval: 300 seconds

Interfaces that will be enabled at the next timeout:

Примечание: Стандартный интервал тайм-аута равен 300 секундам, и по умолчанию он отключен.

Чтобы включить errdisable recovery и выбрать состояния отключения из-за ошибки, выполните следующую команду:

cat6knative#errdisable recovery cause ?
  all                 Enable timer to recover from all causes
  arp-inspection      Enable timer to recover from arp inspection error disable
                      state
  bpduguard           Enable timer to recover from BPDU Guard error disable
                      state
  channel-misconfig   Enable timer to recover from channel misconfig disable
                      state
  dhcp-rate-limit     Enable timer to recover from dhcp-rate-limit error
                      disable state
  dtp-flap            Enable timer to recover from dtp-flap error disable state
  gbic-invalid        Enable timer to recover from invalid GBIC error disable
                      state
  l2ptguard           Enable timer to recover from l2protocol-tunnel error
                      disable state
  link-flap           Enable timer to recover from link-flap error disable
                      state
  mac-limit           Enable timer to recover from mac limit disable state
  pagp-flap           Enable timer to recover from pagp-flap error disable
                      state
  psecure-violation   Enable timer to recover from psecure violation disable
                      state
  security-violation  Enable timer to recover from 802.1x violation disable
                      state
  udld                Enable timer to recover from udld error disable state
  unicast-flood       Enable timer to recover from unicast flood disable state

В этом примере показано, как разрешить условие восстановления из состояния «errdisabled» при включенной защите BPDU:

cat6knative(Config)#errdisable recovery cause bpduguard

Полезное свойство этой команды состоит в том, что при включении восстановления из состояния «errdisabled», команда выдает список общих причин перевода портов в состояние отключения из-за ошибки. В следующем примере обратите внимание на то, что функция защиты BPDU была причиной отключения порта 2/4:

cat6knative#show errdisable recovery
ErrDisable Reason    Timer Status
-----------------    --------------
udld                 Disabled
bpduguard            Enabled
security-violatio    Disabled
channel-misconfig    Disabled
pagp-flap            Disabled
dtp-flap             Disabled
link-flap            Disabled
l2ptguard            Disabled
psecure-violation    Disabled
gbic-invalid         Disabled
dhcp-rate-limit      Disabled
mac-limit            Disabled
unicast-flood        Disabled
arp-inspection       Disabled

Timer interval: 300 seconds

Interfaces that will be enabled at the next timeout:

Interface      Errdisable reason      Time left(sec)
---------    ---------------------    --------------
  Fa2/4                bpduguard          290

Если разрешено любое из условий восстановления из состояния «errdisabled», порты с таким условием снова включаются через 300 секунд. Это значение по умолчанию (300 секунд) можно изменить, выполнив следующую команду:

cat6knative(Config)#errdisable recovery interval timer_interval_in_seconds

В следующем примере длительность интервала восстановления из состояния «errdisabled» изменяется с 300 на 400 секунд:

cat6knative(Config)#errdisable recovery interval 400

Проверка

  • show version— отображение версии программного обеспечения, используемого на данном коммутаторе.

  • show interfaces interface interface_number status— отображение текущего состояния порта коммутатора.

  • show errdisable detect— отображение текущих настроек функции тайм-аута состояния «err-disable» и, если в данный момент есть порты, отключенные из-за ошибки, причины их отключения.

Устранение неполадок

  • show interfaces status err-disabled— отображение локальных портов в состоянии отключения из-за ошибки.

  • show etherchannel summary— отображение текущего состояния EtherChannel.

  • show errdisable recovery— отображение периода времени, по истечении которого интерфейсы восстанавливаются из состояния «errdisabled».

  • show errdisable detect— отображение причины состояния «err-disable».

Дополнительные сведения об устранении неполадок с портами коммутаторов см. в документе Устранение интерфейсных проблем и неполадок портов коммутатора.

http://www.cisco.com/cisco/web/support/RU/10/105/105416_errdisable_recovery.html

В этой статье мы рассмотрим определение состояния отключения из-за ошибки, опишем восстановление из этого состояния и предоставим примеры такого восстановления. В данной статье взаимозаменяемо используются термины «errdisabled» и «отключенный из-за ошибки».

Примечание: Состояние порта err-disabled отображается в выходных данных команды show interfaces interface_number status.

Для воспроизведения примеров, приведенных в данном документе, необходимы два коммутатора серии Cisco Catalyst 4500/6500 (или эквивалентных) в лабораторной среде с настройками, сброшенными до заводских. На коммутаторах должно быть установлено ПО Cisco IOS®, и у каждого коммутатора должно быть по два порта Fast Ethernet, поддерживающих функции EtherChannel и PortFast.

Данные сведения были получены в результате тестирования приборов в специфической лабораторной среде. В качестве начальной конфигурации для всех описанных в документе устройств использовались стандартные (заводские) настройки. В условиях реально действующей сети при использовании каждой команды необходимо четко понимать, какие последствия может иметь применение той или иной команды.

Платформы, на которых используется отключение из-за ошибки

Функция отключения из-за ошибки поддерживается на следующих коммутаторах Catalyst:

  • коммутаторы Catalyst со следующим программным обеспечением Cisco IOS:
    • 2900XL / 3500XL
    • 2940 / 2950 / 2960 / 2970
    • 3550 / 3560 / 3560-E / 3750 / 3750-E
    • 4000 / 4500
    • 6000 / 6500
  • коммутаторы Catalyst со следующим программным обеспечением Catalyst (CatOS):
    • 2948G
    • 4500 / 4000
    • 5500 / 5000
    • 6500 / 6000

Способ реализации функции отключения из-за ошибки зависит от программной платформы. В этом документе особое внимание уделяется функции отключения из-за ошибки на коммутаторах с программным обеспечением Cisco IOS.

Состояние «Errdisabled»

Назначение состояния «Errdisabled»

Если в конфигурации отображается порт, который должен быть включен, но программное обеспечение на коммутаторе обнаружило порт в состояние ошибки, то программное обеспечение отключит этот порт. Другими словами, порт автоматически отключается операционной системой коммутатора, так как порт обнаружен в состоянии ошибки.

Когда порт отключается из-за ошибки, он фактически выключается, а прием и отправка трафика через него не выполняются. Цвет индикатора порта становится оранжевым, а при выполнении команды show interfaces отображается состояние порта err-disabled. Ниже приводится пример вывода данных о порте в состоянии error-disabled из интерфейса командной строки коммутатора:

cat6knative#show interfaces gigabitethernet 4/1 status

Port Name Status Vlanv Duplex Speed Type
Gi4/1 err-disabled 100 full 1000 1000BaseSX

Или, если данный интерфейс отключен из-за состояния ошибки, и в консоли, и в системном журнале можно увидеть сообщения, подобные следующим:

%SPANTREE-SP-2-BLOCK_BPDUGUARD:
Received BPDU on port GigabitEthernet4/1 with BPDU Guard enabled. Disabling port.
%PM-SP-4-ERR_DISABLE:
bpduguard error detected on Gi4/1, putting Gi4/1 in err-disable state

Сообщение данного примера отображается, когда порт хоста принимает блок BPDU. Фактический вид сообщения зависит от причины состояния ошибки.

Функция отключения из-за ошибки решает две задачи.

  • Она позволяет администраторам знать, когда и где возникла проблема с портом.
  • Она исключает возможность того, что данный порт может вызвать сбой других портов модуля (или всего модуля). Такой сбой может произойти, когда «неисправный» порт монополизирует буферы или сообщения об ошибках порта монополизируют связи между процессами на плате, что может в итоге вызвать серьезные сетевые проблемы. Функция отключения из-за ошибки помогает предотвратить такие ситуации.

Причины возникновения состояния «Errdisabled»

Эта функция была первоначально реализована для обработки особых конфликтных ситуаций, когда коммутатор обнаруживал в порту избыточные или поздние конфликты. Избыточные конфликты возникают, когда кадр отбрасывается из-за обнаружения 16 конфликтов подряд. Поздние конфликты возникают, когда каждое из подключенных к линии устройств определило, что линия занята. Ниже перечислены некоторые возможные причины ошибок данных типов:

  • кабель, не соответствующий спецификациям (слишком длинный, неправильного типа или поврежденный);
  • неисправная сетевая интерфейсная плата (с физическими неполадками или проблемами драйверов);
  • неправильная конфигурация дуплексного режима порта.
    Неправильная конфигурация дуплексного режима порта является распространенной причиной ошибок из-за невозможности правильного согласования скорости и дуплексного режима между двумя напрямую соединенными устройствами (например, сетевой адаптер, подключенный к коммутатору). Только у полудуплексных соединений могут возникать конфликты в ЛВС. Так как для Ethernet характерен множественный доступ с контролем несущей (CSMA), конфликты являются обычным явлением для полудуплексных соединений, пока они составляют малую часть трафика.

Интерфейс может перейти в состояние «errdisabled» по различным причинам. Среди таких причин могут быть следующие:

  • Несоответствие дуплексных режимов
  • неправильная конфигурация каналов портов
  • нарушение защиты BPDU
  • состояние обнаружения однонаправленной связи (UDLD)
  • обнаружение поздних конфликтов
  • обнаружение переброски канала
  • нарушение безопасности
  • переброска по протоколу агрегации портов (PAgP)
  • защита протокола туннелирования уровня 2 (L2TP)
  • ограничение скорости DHCP-отслеживания
  • неисправный модуль GBIC, подключаемый модуль малого форм-фактора (SFP) или кабель
  • проверка протокола ARP
  • встроенное питание

Примечание: По умолчанию для всех таких причин включено обнаружение отключения из-за ошибки. Чтобы отключить обнаружение отключения из-за ошибки, выполните команду no errdisable detect cause. Команда show errdisable detect отображает состояние обнаружения отключения из-за ошибки.

Проверка нахождения портов в состоянии «Errdisabled»

Чтобы определить, был ли порт отключен из-за ошибки, выполняется команда show interfaces.

Пример данных об активном порте:

cat6knative#show interfaces gigabitethernet 4/1 status

Port Name Status Vlan Duplex Speed Type
Gi4/1 Connected 100 full 1000 1000BaseSX

Ниже приводится пример данных о том же порте в состоянии отключения из-за ошибки:

cat6knative#show interfaces gigabitethernet 4/1 status

Примечание: Если порт отключен из-за ошибки, индикатор на передней панели, соответствующей данному порту, будет выключен.

Определение причины состояния «Errdisabled» (сообщения консоли, системный журнал и команда «show errdisable recovery»)

Когда коммутатор переводит порт в состояние отключения из-за ошибки, он отправляет консоли сообщение с описанием причины отключения порта. В данном разделе приведены два примера сообщений с причинами отключения портов.

  • В первом случае отключение вызвано функцией защиты PortFast BPDU.
  • Во втором случае отключение вызвано ошибкой в конфигурации EtherChannel.

Примечание: Эти сообщения можно также увидеть в системном журнале, если выполнить команду show log .

Вот примеры сообщений:

%SPANTREE-SP-2-BLOCK_BPDUGUARD:
Received BPDU on port GigabitEthernet4/1 with BPDU Guard enabled. Disabling port.

%PM-SP-4-ERR_DISABLE:
bpduguard error detected on Gi4/1, putting Gi4/1 in err-disable state

%SPANTREE-2-CHNMISCFG: STP loop — channel 11/1-2 is disabled in vlan 1

Если выполнена команда errdisable recovery, можно определить причину состояния «errdisabled» с помощью команды show errdisable recovery.

Ниже представлен пример:

cat6knative#show errdisable recovery

ErrDisable Reason Timer Status
udld Enabled
bpduguard Enabled
security-violatio Enabled
channel-misconfig Enabled
pagp-flap Enabled
dtp-flap Enabled
link-flap Enabled
2ptguardl Enabled
psecure-violation Enabled
gbic-invalid Enabled
mac-limit Enabled
unicast-flood Enabled
arp-inspection Enabled

Timer interval: 300 seconds

Interfaces that will be enabled at the next timeout:

Interface Errdisable reason Time left(sec)
Fa2/4 bpduguard 273

Восстановление порта из состояния отключения из-за ошибки

В этом разделе предоставляются примеры способов обнаружения портов, отключенных из-за ошибки, и их восстановления, а также краткое обсуждение некоторых дополнительных причин отключения портов из-за ошибки. Чтобы восстановить порт из состояния «errdisabled», сначала необходимо установить и устранить основную причину проблемы, а затем включить порт. Если включить порт, не устранив причину проблемы, он снова будет отключен из-за ошибки.

Исправление основной причины

После обнаружения причин отключения портов устраните основную причину проблемы. Устранение зависит от проблемы, вызвавшей состояние. Завершение работы может быть инициировано по самым разным причинам. В данном разделе обсуждаются некоторые из наиболее заметных и распространенных случаев.

  • Неверная конфигурация EtherChannel
    Порты, задействованные в работе EtherChannel, должны обладать согласованными конфигурациями. У портов должны быть одинаковые сети VLAN, режим магистрали, скорость, дуплексный режим и т.д. Большинство отличий конфигураций в рамках одного коммутатора выявляются и заносятся в отчет при создании канала. Если на одной стороне коммутатор настроен для EtherChannel, а на другой — нет, процесс STP может отключить объединенные в канал порты на стороне, настроенной для поддержки режима EtherChannel. В режиме EtherChannel перед объединением портов в канал PAgP-пакеты не отправляются другой стороне для согласования; предполагается, что на другой стороне режим объединения в канал также поддерживается. Кроме того, в данном примере режим EtherChannel не включается на другом коммутаторе, однако соответствующие порты оставляются отдельными, не задействованными в каналах портами. Если оставить другой коммутатор в этом состоянии примерно на минуту, протокол STP коммутатора с включенным режимом EtherChannel считает, что образовалась петля. В результате объединенные в канал порты переводятся в состояние отключения из-за ошибки.В данном примере обнаружена петля и отключены порты. В выходных данных команды show etherchannel summary указывается, что Number of channel-groups in use (Число используемых групп каналов) равно 0. Если обратить внимание на один из вовлеченных портов, можно заметить, что он находится в состоянии err-disabled:%SPANTREE-2-CHNL_MISCFG: Detected loop due to etherchannel misconfiguration
    of Gi4/1cat6knative#show etherchannel summaryFlags: D — down P — in port-channel
    I — stand-alone s — suspended
    H — Hot-standby (LACP only)
    R — Layer3 S — Layer2
    U — in use f — failed to allocate aggregator                u — unsuitable for bundling
    Number of channel-groups in use: 0
    Number of aggregators: 0

    Group Port-channel Protocol Ports
    ——+————-+————+————————————————

    Режим EtherChannel отключен, так как на данном коммутаторе порты были переведены в состояние «errdisable».

    cat6knative#show interfaces gigabitethernet 4/1 status

    Port Name Status Vlan Duplex Speed Type
    Gi4/1 err-disabled 100 full 1000 1000BaseSX

    Чтобы определить характер проблемы, см. соответствующее сообщение об ошибке. В сообщении указывается, что функция EtherChannel обнаружила петлю в дереве STP. В этом разделе описывается возникновение данной проблемы, когда на одном устройстве (в этом случае коммутатор) канал EtherChannel вручную переведен в режим «Включено» (в противоположность режиму согласования), а на другом подключенном устройстве (в этом случае другой коммутатор) канал EtherChannel вообще не включен. Один из способов разрешения этой ситуации заключается в переводе режима канала в состояние «desirable» на обеих сторонах соединения с последующим повторным включением портов. В результате обе стороны формируют канал только после взаимного согласования. Если создание канала не согласовано, обе стороны продолжают функционировать как обычные порты.

    cat6knative(config-terminal)#interface gigabitethernet 4/1
    cat6knative(config-if)#channel-group 3 mode desirable non-silent

  • Несоответствие дуплексных режимов
    Несоответствие дуплексных режимов встречается довольно часто из-за неудачного автоматического согласования скорости и дуплексного режима. В отличие от полудуплексного устройства, которому приходится дожидаться освобождения своего сегмента ЛВС другими передающими устройствами, дуплексное устройство при необходимости выполняет передачу независимо от других устройств. Если эта передача выполняется одновременно с передачей полудуплексного устройства, данное устройство будет рассматривать это как конфликт (в течение данного временного интервала) или как поздний конфликт (по истечении данного временного интервала). Так как дуплексное устройство никогда не ожидает конфликтов, на этой стороне никогда не допускается необходимость повторной передачи отброшенных пакетов. Низкий процент конфликтов характерен для полудуплексного режима, но не для дуплексного. Регистрация на порте коммутатора слишком большого количества конфликтов обычно указывает на несоответствие дуплексных режимов. Убедитесь, что на обеих сторонах кабеля порты настроены на одинаковые скорость и дуплексный режим. Командаshow interfaces interface_number предоставляет данные о скорости и дуплексном режиме портов коммутатора Catalyst. Более поздние версии протокола обнаружения Cisco (CDP) могут предупреждать о несоответствии дуплексных режимов перед переводом порта в состояние отключения из-за ошибки.Кроме того, в сетевом адаптере есть настройки, такие как автополярность, которые могут вызвать данную проблему. В случае сомнений отключите такие настройки. Если есть несколько сетевых адаптеров одного производителя и на всех таких сетевых адаптерах проявляется та же проблема, посетите веб-узел производителя, чтобы прочитать заметки о выпуске и получить драйверы последних версий.Ниже перечислены другие возможные причины поздних конфликтов:
    • неисправный сетевой адаптер (с физическими неполадками, а не просто с ошибками конфигурации);
    • неисправный кабель
    • слишком длинный сегмент кабеля
  • защита портов BPDU
    В режиме PortFast порт должен подключаться только к конечной станции (рабочей станции или серверу), а не к устройствам, генерирующим BPDU-блоки дерева STP, таким как коммутаторы, мосты или маршрутизаторы, формирующие мостовые соединения. При приеме BPDU-блока дерева STP через порт с включенной STP-функцией PortFast и защитой от пакетов BPDU дерева STP коммутатор переводит порт в состояние «err-disable», чтобы защитить сеть от возможного возникновения петель. Функция PortFast предполагает, что порт коммутатора не может сформировать физическую петлю. Поэтому PortFast пропускает первоначальные проверки протокола STP для данного порта, чтобы избежать тайм-аута конечных станций при загрузке. Сетевые администраторы должны тщательно реализовывать функцию PortFast. На портах с включенной функцией PortFast защита BPDU препятствует образованию петель в ЛВС.В следующем примере показано, как включить эту функцию. Этот пример выбран из-за простоты создания ситуации отключения из-за ошибки в данном случае:cat6knative(config-if)#spanning-tree bpduguard enableВ этом примере коммутатор Catalyst 6509 подключен к другому коммутатору (серии 6509). Коммутатор Catalyst 6500 отправляет блоки BPDU каждые 2 секунды (при использовании настроек STP по умолчанию). При включении режима PortFast для порта коммутатора 6509 функция защиты BPDU отслеживает поступающие в этот порт блоки BPDU. Поступление блока BPDU в порт означает, что устройство не является конечным. В этом случае функция защиты BPDU отключает данный порт во избежание возможного образования петли в дереве STP.cat6knative(config-if)#spanning-tree portfast enable

    Warning: Spantree port fast start should only be enabled on ports connected
    to a single host. Connecting hubs, concentrators, switches, bridges, etc. to
    a fast start port can cause temporary spanning tree loops.

    %PM-SP-4-ERR_DISABLE: bpduguard error detected on Gi4/1, putting Gi4/1 in
    err-disable state.

    В этом сообщении коммутатор сообщает о поступлении блока BPDU в порт с поддержкой PortFast, из-за чего коммутатор отключает порт Gi4/1.

    cat6knative#show interfaces gigabitethernet 4/1 status

    Port Name Status Vlan Duplex Speed Type
    Gi4/1 err-disabled 100 full 1000 1000BaseSX

    Функцию PortFast необходимо отключить, так как данный порт является портом с непригодным соединением. Соединение является непригодным, так как включена функция PortFast, а коммутатор подключается к другому коммутатору. Необходимо помнить, что функция PortFast используется только на портах, подключенных к конечным станциям.

    cat6knative(config-if)#spanning-tree portfast disable

  • UDLD
    Протокол обнаружения однонаправленной связи (UDLD) позволяет устройствам, подключенным с помощью оптоволоконных или медных кабелей Ethernet (например кабелей категории 5), отслеживать физическую конфигурацию кабелей и обнаруживать появление однонаправленных соединений. При обнаружении однонаправленного соединения протокол UDLD отключает соответствующий порт и создает сообщение предупреждения для пользователя. Однонаправленные соединения могут вызвать множество проблем, включая петли в топологии STP.Примечание: Работа UDLD основана на обмене пакетами протокола между соседними устройствами. Устройства на обеих сторонах соединения должны поддерживать протокол UDLD. Этот же протокол должен поддерживаться на соответствующих портах. Если UDLD включен только на одном порте, на этом конце соединения может быть настроен переход UDLD в состояние «err-disable».Каждый порт коммутатора, настроенный на UDLD, отправляет пакеты протокола UDLD, в которых указывается устройство порта (или идентификатор порта) и соседнее устройство (или идентификаторы портов), которые видны UDLD на данном порте. В полученных с другой стороны пакетах соседние порты должны видеть свои собственные устройство или идентификатор порта (эхо). Если порт не видит собственного устройства или идентификатора порта во входящих UDLD-пакетах в течение заданного времени, такое соединение считается однонаправленным. В результате соответствующий порт отключается, а в консоли печатается сообщение примерно такого содержания:PM-SP-4-ERR_DISABLE: udld error detected on Gi4/1, putting Gi4/1 in err-disable state.
  • Ошибка неустойчивости соединения (link-flap)
    Неустойчивость соединения означает постоянное подключение и отключение интерфейса. Если число таких ошибок за 10 секунд больше пяти, интерфейс переводится в состояние «err-disable». Распространенной причиной неустойчивости соединения являются проблемы первого уровня (L1), такие как неисправность кабеля, несоответствие дуплексных режимов или неисправная плата GBIC. Просмотрите сообщения консоли или сообщения, отправленные на сервер системного журнала, в которых сообщается причина отключения портов.%PM-4-ERR_DISABLE: link-flap error detected on Gi4/1, putting Gi4/ 1 in err-disable stateЧтобы просмотреть данные об ошибках неустойчивости соединения, выполните следующую команду:cat6knative#show errdisable flap-values
    ErrDisable Reason Flaps Time (sec)
    pagp-flap 3 30
    dtp-flap 3 30
    link-flap 5 10
  • Ошибка обратной петли (loopback)
    Ошибка обратной петли возникает, когда пакет запроса keepalive возвращается обратно к отправившему его порту. По умолчанию коммутатор отправляет запросы keepalive всем интерфейсам. Устройство может отправлять пакеты обратно исходному интерфейсу по петле, которая обычно возникает из-за наличия в сети логической петли, не заблокированной протоколом STP. Исходный интерфейс принимает отправленный им пакет сообщения keepalive, а коммутатор отключает данный интерфейс (errdisable). Когда пакет keepalive возвращается обратно к отправившему его порту, появляется следующее сообщение:%PM-4-ERR_DISABLE: loopback error detected on Gi4/1, putting Gi4/1 in err-disable stateПо умолчанию в ПО на базе Cisco IOS версии 12.1EA сообщения keepalive отправляются всеми интерфейсами. В программном обеспечении на базе Cisco IOS 12.2SE или более поздней версии сообщения keepalive по умолчанию не отправляются оптоволоконными и восходящими интерфейсами. Предлагаемый обходной путь заключается в отключении запросов keepalive и обновлении до ПО Cisco IOS 12.2SE или более поздней версии.
  • Нарушение защиты порта
    Защиту порта можно использовать вместе со статическими и динамически получаемыми MAC-адресами, чтобы ограничить входящий трафик порта. Чтобы ограничить трафик, можно ограничить MAC-адреса, которым разрешено отправлять трафик данному порту. Чтобы настроить порт коммутатора на отключение из-за ошибки при нарушении безопасности, выполните следующую команду:cat6knative(config-if)#switchport port-security violation shutdownНарушение безопасности происходит в следующих двух ситуациях:
    • Когда на защищенном порте число защищенных MAC-адресов достигло максимума, а исходный MAC-адрес входящего трафика не совпадает ни с одним из идентифицированных защищенных MAC-адресов.
      В этом случае защитой порта применяется настроенный режим нарушения.
    • Если трафик с защищенным MAC-адресом, настроенный или полученный на одном защищенном порте, пытается получить доступ к другому защищенному порту в той же сети VLAN.
      В этом случае защита порта применяет режим нарушения завершения работы.
  • Защита L2pt
    Когда блоки PDU уровня 2 входят в туннель или порт доступа на входящем пограничном коммутаторе, коммутатор заменяет пользовательский MAC-адрес PDU-назначения хорошо известным проприетарным адресом многоадресной рассылки Cisco: 01-00-0c-cd-cd-d0. Если включено туннелирование 802.1Q, пакеты также помечаются двумя тегами. Внешний тег является пользовательским тегом муниципальной сети, а внутренний тег — пользовательским тегом сети VLAN. Основные коммутаторы игнорируют внутренние теги и пересылают пакет всем магистральным портам в одной муниципальной сети VLAN. Пограничные коммутаторы на исходящей стороне восстанавливают данные о необходимом протоколе уровня 2 и MAC-адресе и пересылают пакеты всем туннельным портам или портам доступа внутри одной муниципальной сети VLAN. Поэтому блоки PDU уровня 2 сохраняются неизмененными и через инфраструктуру сервис-провайдера доставляются на другую сторону сети заказчика.Switch(config)#interface gigabitethernet 0/7
    l2protocol-tunnel {cdp | vtp | stp}Интерфейс переходит в состояние отключения из-за ошибки. Если инкапсулированный блок PDU (с собственным MAC-адресом назначения) получен из туннельного порта или порта доступа с включенным туннелированием уровня 2, туннельный порт отключается, чтобы предотвратить появление петель. Этот порт также отключается, когда достигается пороговое значение завершения работы для данного протокола. Порт можно снова включить вручную (выполнив последовательность команд shutdownno shutdown), или если включено восстановление из состояния «errdisabled», данная операция повторяется через указанный интервал времени.Интерфейс можно восстановить из состояния «errdisabled» включив порт с помощью команды errdisable recovery cause l2ptguard. Эта команда используется для настройки механизма восстановления после ошибки «максимальной скорости» уровня 2, чтобы интерфейс можно было вывести из отключенного состояния и попытаться снова использовать. Можно также задать временной интервал. Восстановление из состояния «errdisabled» по умолчанию отключено; при включении временной интервал по умолчанию равен 300 секундам.
  • Неисправный SFP-кабель
    Порты переходят в состояние «errdisabled» с сообщением об ошибке %PHY-4-SFP_NOT_SUPPORTED при подключении коммутаторов Catalyst 3560 и Catalyst 3750 с помощью соединительного SFP-кабеля.Соединительный SFP-кабель для коммутаторов Cisco Catalyst 3560 (CAB-SFP-50CM=) является бюджетным решением для соединений Gigabit Ethernet типа «точка-точка» между коммутаторами серии Catalyst 3560. 50-сантиметровый кабель является альтернативой использованию трансивера SFP при соединении коммутаторов серии Catalyst 3560 через SFP-порты на небольших расстояниях. Все коммутаторы серии Cisco Catalyst 3560 поддерживают соединительные SFP-кабели.<BR\P>При подключении коммутатора Catalyst 3560 к коммутатору Catalyst 3750 или любой другой модели коммутатора Catalyst нельзя использовать кабель CAB-SFP-50CM=. Два коммутатора можно соединить с помощью медного кабеля с SFP (GLC-T) на обоих устройствах вместо кабеля CAB-SFP-50CM=.

Повторное включение портов, отключенных из-за ошибки

После устранения причины проблемы порты остаются отключенными, если на коммутаторе не настроено восстановление из состояния «errdisabled». В этом случае необходимо включить порты вручную. Выполните команду shutdown, а затем — команду интерфейсного режима no shutdownна соответствующем интерфейсе, чтобы вручную включить порты.

Команда errdisable recovery позволяет выбрать тип ошибок, после которых порты снова автоматически включаются через указанный промежуток времени. Команда show errdisablerecovery показывает состояние по умолчанию после восстановления из состояния отключения из-за ошибки для всех возможных условий.

cat6knative#show errdisable recovery

ErrDisable Reason Timer Status
udld Disabled
bpduguard Disabled
security-violatio Disabled
channel-misconfig Disabled
pagp-flap Disabled
dtp-flap Disabled
link-flap Disabled
2ptguardl Disabled
psecure-violation Disabled
gbic-invalid Disabled
mac-limit Disabled
unicast-flood Disabled
arp-inspection Disabled

Timer interval: 300 seconds

Interfaces that will be enabled at the next timeout:

Примечание: Стандартный интервал тайм-аута равен 300 секундам, и по умолчанию он отключен.

Чтобы включить errdisable recovery и выбрать состояния отключения из-за ошибки, выполните следующую команду:

cat6knative#errdisable recovery cause?

all Enable timer to recover from all causes
arp-inspection Enable timer to recover from arp inspection error disable
state
bpduguard Enable timer to recover from BPDU Guard error disable
state
channel-misconfig Enable timer to recover from channel misconfig disable
state
dhcp-rate-limit Enable timer to recover from dhcp-rate-limit error disable
state
dtp-flap Enable timer to recover from dtp-flap error disable
state
gbic-invalid Enable timer to recover from invalid GBIC error disable
state
l2ptguard Enable timer to recover from l2protocol-tunnel error
disable
state
link-flap Enable timer to recover from link-flap error disable
state
mac-limit Enable timer to recover from mac limit disable
state
pagp-flap Enable timer to recover from pagp-flap error disable
state
psecure-violation Enable timer to recover from psecure violation disable
state
udld Enable timer to recover from udld error disable
state
unicast-flood Enable timer to recover from unicast flood disable
state

В этом примере показано, как разрешить условие восстановления из состояния «errdisabled» при включенной защите BPDU:

cat6knative(Config)#errdisable recovery cause bpduguard

Полезное свойство этой команды состоит в том, что при включении восстановления из состояния «errdisabled», команда выдает список общих причин перевода портов в состояние отключения из-за ошибки. В следующем примере обратите внимание на то, что функция защиты BPDU была причиной отключения порта 2/4:

cat6knative#show errdisable recovery

ErrDisable Reason Timer Status
udld Disabled
bpduguard Enabled
security-violatio Disabled
channel-misconfig Disabled
pagp-flap Disabled
dtp-flap Disabled
link-flap Disabled
2ptguardl Disabled
psecure-violation Disabled
gbic-invalid Disabled
mac-limit Disabled
unicast-flood Disabled
arp-inspection Disabled

Timer interval: 300 seconds

Interfaces that will be enabled at the next timeout:

Interface

Errdisable reason

Time left(sec)

Fa2/4

bpduguard

290

Если разрешено любое из условий восстановления из состояния «errdisabled», порты с таким условием снова включаются через 300 секунд. Это значение по умолчанию (300 секунд) можно изменить, выполнив следующую команду:

cat6knative(Config)#errdisable recovery interval timer_interval_in_seconds

В следующем примере длительность интервала восстановления из состояния «errdisabled» изменяется с 300 на 400 секунд:

cat6knative(Config)#errdisable recovery interval 400

Проверка

  • show version— отображение версии программного обеспечения, используемого на данном коммутаторе.
  • show interfaces interface interface_number status— отображение текущего состояния порта коммутатора.
  • show errdisable detect— отображение текущих настроек функции тайм-аута состояния «err-disable» и, если в данный момент есть порты, отключенные из-за ошибки, причины их отключения.

Устранение неполадок

  • show interfaces status err-disabled— отображение локальных портов в состоянии отключения из-за ошибки.
  • show etherchannel summary— отображение текущего состояния EtherChannel.
  • show errdisable recovery— отображение периода времени, по истечении которого интерфейсы восстанавливаются из состояния «errdisabled».
  • show errdisable detect— отображение причины состояния «err-disable».

Errdisabled

Источник: blogsvazista.ru/vosstanovlenue-porta-cisco-errdisabled/

Ну например:

version 12.1

no service pad

service tcp-keepalives-in

service tcp-keepalives-out

service timestamps debug datetime msec localtime show-timezone

service timestamps log datetime msec localtime show-timezone

no service password-encryption

service sequence-numbers

!

hostname ИмяХоста

!

logging buffered 51200 warnings

enable secret 0 EnableSecret

!

username admin privilege 15 secret 0 AdminSecret

clock timezone ВашаЧасоваяЗона 6(ВашеСмещениеотГринвича)

errdisable recovery cause udld

errdisable recovery cause bpduguard

errdisable recovery cause security-violation

errdisable recovery cause channel-misconfig

errdisable recovery cause pagp-flap

errdisable recovery cause dtp-flap

errdisable recovery cause link-flap

errdisable recovery cause psecure-violation

errdisable recovery cause gbic-invalid

errdisable recovery cause dhcp-rate-limit

errdisable recovery cause unicast-flood

errdisable recovery cause vmps

errdisable recovery cause loopback

errdisable recovery interval 60

ip subnet-zero

!

ip tcp synwait-time 10

ip ssh time-out 120

ip ssh authentication-retries 3

vtp mode transparent

!

!

spanning-tree mode rapid-pvst

no spanning-tree optimize bpdu transmission

spanning-tree extend system-id

spanning-tree pathcost method long

vlan 50,2005

interface FastEthernet0/1

switchport access vlan 2005

switchport mode access

storm-control broadcast level 20.00

storm-control multicast level 20.00

storm-control action shutdown

down-when-looped

no cdp enable

spanning-tree portfast

spanning-tree bpdufilter enable

interface GigabitEthernet0/1

switchport trunk allowed vlan 50,2005

switchport mode trunk

spanning-tree link-type point-to-point

!

!

interface Vlan1

no ip address

no ip route-cache

shutdown

interface Vlan50

ip address ManageIP ManageIPMask

no ip route-cache

!

ip default-gateway ManageNetGate

ip http server

ip http authentication local

snmp-server community public RO

!

line con 0

logging synchronous

login local

line vty 0 4

logging synchronous

login local

transport input telnet ssh

line vty 5 15

logging synchronous

login local

transport input telnet ssh

!

scheduler max-task-time 5000

ntp clock-period 17180175

ntp server NTP_Server

!

end

Troubleshoot Err-disable recovery

Continuing on part 1.1c of the CCNP SWITCH 300-115 exam blueprint, we have Err-disable state, the configuration for detection, troubleshooting and recovery process of a switchport or more than one switchport from this condition.

Platforms that use Errdisable feature

Switches running Cisco IOS Software:

2900XL / 3500XL, 2940 / 2950 / 2960 / 2970, 3550 / 3560 / 3560-E / 3750 / 3750-E, 4000 / 4500, 6000 / 6500

Switches running CatOS software:

2948G, 4500 / 4000, 5500 / 5000, 6500 / 6000

The way in which errdisable is implemented varies between software platforms, I’ll be covering on errdisable for switches that run Cisco IOS Software only.

Function of Errdisable

If the configuration shows a port to be enabled, but software on the switch detects an error situation on the port, the software shuts down that port. The port is automatically disabled by the switch IOS because of an error condition that is encountered on the port.

When a port is error disabled, it is effectively shut down and no traffic is sent or received on that port. The port LED is set to the color orange and, when you issue the show interfaces command, the port status shows err-disabled. Here is an example of what an error-disabled port looks like from the command-line:

Switch# show interfaces gigabitethernet 4/1 status

Port    Name       Status       Vlan       Duplex  Speed Type
Gi4/1              err-disabled 100          full   1000 1000BaseSX

If the interface has been disabled because of an error condition, you can see log messages that are similar to these in both the console and the syslog:

%SPANTREE-SP-2-BLOCK_BPDUGUARD:
   Received BPDU on port GigabitEthernet4/1 with BPDU Guard enabled. Disabling port.
%PM-SP-4-ERR_DISABLE:
   bpduguard error detected on Gi4/1, putting Gi4/1 in err-disable state

This message is displayed when a host port receives the BPDU. The actual message depends on the reason for the error condition. The error disable function serves two purposes:

1- It lets the administrator know when and where there is a port problem.

2- It eliminates the possibility that this port can cause other ports on the module (or the entire module) to fail.

Such a failure can occur when a bad port monopolizes buffers or port error messages monopolize interprocess communications on the card, which can ultimately cause serious network issues. The error disable feature helps prevent these situations.

Causes of Errdisable Condition

This feature was first implemented to handle special collision situations in which the switch detected excessive or late collisions on a port. Excessive collisions occur when a frame is dropped because the switch encounters 16 collisions in a row. Late collisions occur after every device on the wire should have recognized that the wire was in use. Possible causes of these types of errors include:

  • A cable that is out of specification (either too long, the wrong type, or defective)
  • A bad network interface card with physical problems or driver problems
  • A port duplex misconfiguration

A port duplex misconfiguration is a common cause of the errors because of failures to negotiate the speed and duplex properly between two directly connected devices. Only half-duplex connections should have collisions in a LAN. Because of the carrier sense multiple access (CSMA) nature of Ethernet, collisions are normal for half duplex, as long as the collisions do not exceed a small percentage of traffic.

There are various reasons for the interface to go into errdisable status:

  • Duplex mismatch
  • Port channel misconfiguration
  • BPDU guard violation
  • UniDirectional Link Detection (UDLD) condition
  • Late-collision detection
  • Link-flap detection
  • Security violation
  • Port Aggregation Protocol (PAgP) flap
  • Layer 2 Tunneling Protocol (L2TP) guard
  • DHCP snooping rate-limit
  • Incorrect GBIC / SFP module or cable
  • ARP inspection
  • Inline power

NoteError-disable detection is enabled for all of these reasons by default. In order to disable error-disable detection, use the no errdisable detect cause command. The show errdisable detect command displays the error-disable detection status.

Managing Error Conditions on a Switch Port

A network-management application can be used to detect a serious error condition on a switch port. A switch can be polled periodically with SNMP so that its port error counters can be examined to see whether an error condition has occurred. If so, an alert can be issued so that someone can take action to correct the problem. Switches can detect error conditions automatically, without any further help. If a serious error occurs on a switch port, that port can be shut down automatically until someone manually enables the port again, or until a predetermined time has elapsed.

Detecting Error Conditions

By default, a switch detects an error condition on every switch port for every possible cause. If an error condition is detected, the switch port is put into the “errdisable” state and is disabled. You can tune this behavior so that only certain causes trigger any port being disabled. Use the following command in global configuration mode, here is the command syntax:  Switch(config)# [no] errdisable detect cause [all | cause-name]

You can repeat this command to enable or disable more than one cause. One of the following triggers the errdisable state:

all: Detects every possible cause
arp-inspection: Detects errors with dynamic ARP inspection
bpduguard: Detects when a spanning-tree bridge protocol data unit (BPDU) is received on a port configured for STP PortFast
dhcp-rate-limit: Detects an error with DHCP snooping
dtp-flap: Detects when trunking encapsulation is changing from one type to another
gbic-invalid: Detects the presence of an invalid GBIC or SFP module
inline-power: Detects an error with offering PoE inline power
l2ptguard: Detects an error with Layer 2 Protocol Tunneling
link-flap: Detects when the port link state is “flapping” between the up and down states
loopback: Detects when an interface has been looped back
pagp-flap: Detects when an EtherChannel bundle’s ports no longer have consistent configurations
pppoe-ia-rate-limit: Detects errors with PPPoE Intermediate Agent rate limiting
psecure-violation: Detects conditions that trigger port security configured on a port
psp: Detects an error related to protocol storm protection
security-violation: Detects errors related to 802.1X security
sfp-config-mismatch: Detects errors related to SFP configuration mismatches
small-frame: Detects errors when VLAN-tagged packets are too small and arrive above a certain rate
storm-control: Detects when a storm control theshhold has been exceeded on a port
udld: Detects when a link is seen to be unidirectional (data passing in only one direction)

Determine If Ports Are in the Errdisabled State

You can determine if a port has been error disabled using the show interfaces command. Here is an example of an active port:

Switch# show interfaces gigabitethernet 4/1 status

Port    Name               Status       Vlan       Duplex  Speed Type
Gi4/1                      Connected    100          full   1000 1000BaseSX

And here is an example of the same port in the error disabled state:

Switch# show interfaces gigabitethernet 4/1 status

Port    Name              Status       Vlan       Duplex  Speed Type
Gi4/1                    err-disabled    100          full   1000 1000BaseSX

Note: When a port is error disabled, the LED on the front panel that is associated with the port is off.

Determine the Reason for the Errdisabled State (Console Messages, Syslog, and the show errdisable recovery Command)

When the switch puts a port in the error-disabled state, the switch sends a message to the console that describes why it disabled the port. The example in this section provides two sample messages that show the reason for port disablement:

One disablement is because of the PortFast BPDU guard feature. The other disablement is because of an EtherChannel configuration problem.

Here are the sample messages:

%SPANTREE-SP-2-BLOCK_BPDUGUARD:
  Received BPDU on port GigabitEthernet4/1 with BPDU Guard enabled. Disabling port.
%PM-SP-4-ERR_DISABLE:
  bpduguard error detected on Gi4/1, putting Gi4/1 in err-disable state
 %SPANTREE-2-CHNMISCFG: STP loop - channel 11/1-2 is disabled in vlan 1

If you have enabled errdisable recovery, you can determine the reason for the errdisable status with the following command:

Switch# show errdisable recovery
ErrDisable Reason    Timer Status
-----------------    --------------
udld                 Enabled
bpduguard            Enabled
security-violatio    Enabled
channel-misconfig    Enabled
pagp-flap            Enabled
dtp-flap             Enabled
link-flap            Enabled
l2ptguard            Enabled
psecure-violation    Enabled
gbic-invalid         Enabled
dhcp-rate-limit      Enabled
mac-limit            Enabled
unicast-flood        Enabled
arp-inspection       Enabled

Timer interval: 300 seconds

Interfaces that will be enabled at the next timeout:

Interface      Errdisable reason      Time left(sec)
---------    ---------------------    --------------
  Fa2/4                bpduguard          273

Recover a Port from Errdisabled State

This section provides examples of how you can encounter an error-disabled port and how to fix it, as well as a brief of a few additional reasons that a port can become error disabled. In order to recover a port from the errdisable state, first identify and correct the root problem, and then reenable the port. If you reenable the port before you fix the root problem, the ports just become error disabled again.

Correct the Root Problem

After discovering why the ports were disabled, fix the root problem. The fix depends on the triggering problem. There are numerous things that can trigger the shutdown. Some of the most noticeable and common causes:

EtherChannel misconfiguration

In order for EtherChannel to work, the ports that are involved must have consistent configurations. The ports must have the same VLAN, the same trunk mode, the same speed, the same duplex, and so on. Most of the configuration differences within a switch are caught and reported when you create the channel. If one switch is configured for EtherChannel and the other switch is not configured for EtherChannel, the spanning tree process can shut down the channeled ports on the side that is configured for EtherChannel.

The ON mode of EtherChannel does not negotiate or send PAgP packets to negotiate with the other side before channeling, it just assumes that the other side is channeling. In addition, this example does not turn on EtherChannel for the other switch, but leaves these ports as individual, unchanneled ports. If you leave the other switch in this state for a minute or so, Spanning Tree Protocol on the switch where the EtherChannel is turned on thinks that there is a loop. This puts the channeling ports in the errdisabled state.

A loop was detected and the ports were disabled. The output of the show etherchannel summary command shows that the Number of channel-groups in use is 0. When you look at one of the ports that are involved, you can see that the status is err-disabled:

%SPANTREE-2-CHNL_MISCFG: Detected loop due to etherchannel misconfiguration 
of Gi4/1
Switch# show etherchannel summary

Flags:  D - down        P - in port-channel
        I - stand-alone s - suspended
        H - Hot-standby (LACP only)
        R - Layer3      S - Layer2
        U - in use      f - failed to allocate aggregator

        u - unsuitable for bundling

Number of channel-groups in use: 0
Number of aggregators:           0

Group  Port-channel  Protocol    Ports
------+-------------+-----------+------------------------

The EtherChannel was torn down because the ports were placed in errdisable on this switch.

Switch# show interfaces gigabitethernet 4/1 status

Port    Name               Status       Vlan       Duplex  Speed Type
Gi4/1                     err-disabled 100          full   1000 1000BaseSX

In order to determine what the problem was, look at the syslog error message. The message indicates that the EtherChannel encountered a spanning tree loop. This problem can occur when one device has EtherChannel turned on manually with use of the on mode and the other connected device does not have EtherChannel turned on at all. One way to fix the situation is to set the channel mode to desirable on both sides of the connection, and then reenable the ports. Then, each side forms a channel only if both sides agree to channel. If they do not agree to channel, both sides continue to function as normal ports.

Switch(config-terminal)# interface gigabitethernet 4/1
Switch(config-if)# channel-group 3 mode desirable non-silent

Duplex mismatch

Duplex mismatches are common because of failures to autonegotiate speed and duplex properly. Unlike a half duplex device, which must wait until there are no other devices that transmit on the same LAN segment, a full-duplex device transmits whenever the device has something to send, regardless of other devices.

If this transmission occurs while the half-duplex device transmits, the half-duplex device considers this either a collision or a late collision. Because the full-duplex side never expects collisions, this side never realizes that it must retransmit that dropped packet. A low percentage rate of collisions is normal with half duplex but is not normal with full duplex. A switch port that receives many late collisions usually indicates a duplex mismatch problem.

Be sure that the ports on both sides of the cable are set to the same speed and duplex. The show interfaces interface_number command tells you the speed and duplex for Catalyst switch ports. Later versions of Cisco Discovery Protocol (CDP) can warn you about a duplex mismatch before the port is put in the error-disabled state.

There are also settings on a NIC, autopolarity features, that can cause the problem. If you are in doubt, turn these settings off. If you have multiple NICs from a vendor and the NICs all appear to have the same problem, check the manufacturer website for the release notes and be sure that you have the latest drivers.

Other causes of late collisions with Half-Duplex nics include:

  • A bad NIC (with physical problems, not just configuration problems)
  • A bad cable
  • A cable segment that is too long

BPDU port guard

A port that uses PortFast must only connect to an end station and not to devices that generate spanning tree BPDUs, such as switches, or bridges and routers that do bridging.

If the switch receives a spanning tree BPDU on a port that has spanning tree PortFast and spanning tree BPDU guard enabled, the switch puts the port in errdisabled mode in order to guard against potential loops. PortFast assumes that a port on a switch cannot generate a physical loop. Therefore, PortFast skips the initial spanning tree checks for that port, which avoids the timeout of end stations at bootup. The network administrator must carefully implement PortFast. On ports that have PortFast enabled, BPDU guard helps ensure that the LAN stays loop-free.

This example shows how to turn on this feature:

Switch(config-if)# spanning-tree bpduguard enable

A Catalyst switch is connected to another switch. One of the switches sends BPDUs every 2 seconds (default spanning tree settings). When you enable PortFast on the switch port, the BPDU guard feature watches for BPDUs that come in on this port. When a BPDU comes into the port, which means that a device that is not an end device, is detected on that port, the BPDU guard feature error disables the port in order to avoid the possibility of a spanning tree loop.

Switch(config-if)# spanning-tree portfast enable

Warning: Spantree port fast start should only be enabled on ports connected
to a single host.  Connecting hubs, concentrators, switches, bridges, etc. to
a fast start port can cause temporary spanning tree loops.

%PM-SP-4-ERR_DISABLE: bpduguard error detected on Gi4/1, putting Gi4/1 in 
err-disable state.

Note: In this message, the switch indicates that it received a BPDU on a PortFast-enabled port, and so the switch shuts down port Gi4/1.

Switch# show interfaces gigabitethernet 4/1 status

Port    Name               Status       Vlan       Duplex  Speed Type
Gi4/1                     err-disabled 100          full   1000 1000BaseSX

Note: You need to turn off the PortFast feature because the connection is improper duo to PortFast being enabled, and the switch connects to another switch. PortFast is only for use on ports that connect to end stations.

Switch(config-if)# spanning-tree portfast disable

UDLD

UDLD protocol allows devices that are connected through fiber-optic or copper Ethernet cables to monitor the physical configuration of the cables and detect when a unidirectional link exists. When a unidirectional link is detected, UDLD shuts down the affected port and alerts the user. Unidirectional links can cause a variety of problems, which include spanning-tree topology loops.

Note: UDLD works by exchanging protocol packets between the neighboring devices. Both devices on the link must support UDLD and have UDLD enabled on the respective ports. If you have UDLD enabled on only one port of a link, it can also leave the end configured with UDLD to go to errdisable state.

Each switch port that is configured for UDLD sends UDLD protocol packets that contain the port device (or port ID) and the neighbor device (or port IDs) that are seen by UDLD on that port. The neighboring ports must see their own device or port ID (echo) in the packets that are received from the other side. If the port does not see its own device or port ID in the incoming UDLD packets for a specific duration of time, the link is considered unidirectional. Therefore, the respective port is disabled and a message that is similar to this is printed on the console:

PM-SP-4-ERR_DISABLE: udld error detected on Gi4/1, putting Gi4/1 in 
err-disable state.

Link-flap error

Link flap is one common error found in production environments specially in edge networks connected to provider edge but also common in datacenters top of racks. It means that the interface continually goes up and down. The interface is put into the errdisabled state if it flaps more than five times in 10 seconds.

The common cause of link flap is a Layer 1 issue such as a bad cable, duplex mismatch, or bad GBIC) card or SFP module. Look at the console messages or the messages that were sent to the syslog server that state the reason for the port shutdown.

%PM-4-ERR_DISABLE: link-flap error detected on Gi4/1, putting Gi4/
1 in err-disable state

You can check the flap values with:

Switch# show errdisable flap-values

ErrDisable Reason    Flaps    Time (sec)
-----------------    ------   ----------
pagp-flap              3       30
dtp-flap               3       30
link-flap              5       10

Loopback error

A loopback error occurs when the keepalive packet is looped back to the port that sent the keepalive. The switch sends keepalives out all the interfaces by default. A device can loop the packets back to the source interface, which occurs because there is a logical loop in the network that the spanning tree has not blocked.

The source interface receives the keepalive packet that it sent out, and the switch disables the interface (errdisable). This message occurs because the keepalive packet is looped back to the port that sent the keepalive:

%PM-4-ERR_DISABLE: loopback error detected on Gi4/1, putting Gi4/1 in
err-disable state

Note: The suggested workaround is to disable keepalives and/or upgrade to IOS Release 12.2SE or later.

Port security violation

You can use port security with dynamically learned and static MAC addresses in order to restrict the ingress traffic of a port. In order to restrict the traffic, you can limit the MAC addresses that are allowed to send traffic into the port. In order to configure the switch port to error disable if there is a security violation, issue this command:

Switch(config-if)# switchport port-security violation shutdown

A security violation occurs in either of these two situations:

  • When the maximum number of secure MAC addresses is reached on a secure port and the source MAC address of the ingress traffic differs from any of the identified secure MAC addresses. In this case, port security applies the configured violation mode.
  • If traffic with a secure MAC address that is configured or learned on one secure port attempts to access another secure port in the same VLAN, In this case, port security applies the shutdown violation mode.

L2pt guard

When the Layer 2 PDUs enter the tunnel or access port on the inbound edge switch, the switch overwrites the customer PDU-destination MAC address with a well-known Cisco proprietary multicast address (01-00-0c-cd-cd-d0). If 802.1Q tunneling is enabled, packets are also double-tagged. The outer tag is the customer metro tag and the inner tag is the customer VLAN tag.

The core switches ignore the inner tags and forward the packet to all trunk ports in the same metro VLAN. The edge switches on the outbound side restore the proper Layer 2 protocol and MAC address information and forward the packets to all tunnel or access ports in the same metro VLAN. Therefore, the Layer 2 PDUs are kept intact and delivered across the service-provider infrastructure to the other side of the customer network.

Switch(config)# interface gigabitethernet 0/7 l2protocol-tunnel {cdp | vtp | stp}

The interface goes to errdisabled state. If an encapsulated PDU (with the proprietary destination MAC address) is received from a tunnel port or access port with Layer 2 tunneling enabled, the tunnel port is shut down to prevent loops. The port also shuts down when a configured shutdown threshold for the protocol is reached. You can manually reenable the port (by issuing a shutdown, no shutdown command sequence) or if errdisable recovery is enabled, the operation is retried after a specified time interval.

Incorrect SFP cable

Ports go into errdisable state with the %PHY-4-SFP_NOT_SUPPORTED error message when you connect Catalyst 3560 and Catalyst 3750 Switches using an SFP Interconnect Cable.

The Cisco Catalyst 3560 SFP Interconnect Cable (CAB-SFP-50CM=) provides for a low-cost, point-to-point, Gigabit Ethernet connection between Catalyst 3560 Series Switches. The 50-centimeter (cm) cable is an alternative to using SFP transceivers when interconnecting Catalyst 3560 Series Switches through their SFP ports over a short distance. All Cisco Catalyst 3560 Series Switches support the SFP Interconnect Cable.

When a Catalyst 3560 Switch is connected to a Catalyst 3750 or any other type of Catalyst switch model, you cannot use the CAB-SFP-50CM= cable. You can connect both switches using a copper cable with SFP (GLC-T) on both devices instead of a CAB-SFP-50CM= cable

802.1X Security Violation

DOT1X-SP-5-SECURITY_VIOLATION: Security violation on interface GigabitEthernet4/8,
New MAC address 0080.ad00.c2e4 is seen on the interface in Single host mode
%PM-SP-4-ERR_DISABLE: security-violation error detected on Gi4/8, putting Gi4/8 in
err-disable state

This message indicates that the port on the specified interface is configured in single-host mode. Any new host that is detected on the interface is treated as a security violation. The port has been error disabled. Ensure that only one host is connected to the port. If you need to connect to an IP phone and a host behind it, configure Multidomain Authentication Mode on that switchport.

The Multidomain authentication (MDA) mode allows an IP phone and a single host behind the IP phone to authenticate independently, with 802.1X, MAC authentication bypass (MAB), or (for the host only) web-based authentication. In this application, Multidomain refers to two domains — data and voice — and only two MAC addresses are allowed per port.

Reenable the Errdisabled Ports

After you fix the root problem, the ports are still disabled if you have not configured errdisable recovery on the switch. In this case, you must reenable the ports manually. Issue the shutdown and then the no shutdown command on the associated interface in order to manually reenable the ports.

The errdisable recovery command allows you to choose the type of errors that automatically reenable the ports after a specified amount of time. The show errdisable recovery command shows the default error-disable recovery state for all the possible conditions.

Switch# show errdisable recovery

ErrDisable Reason    Timer Status
-----------------    --------------
udld                 Disabled
bpduguard            Disabled
security-violatio    Disabled
channel-misconfig    Disabled
pagp-flap            Disabled
dtp-flap             Disabled
link-flap            Disabled
l2ptguard            Disabled
psecure-violation    Disabled
gbic-invalid         Disabled
dhcp-rate-limit      Disabled
mac-limit            Disabled
unicast-flood        Disabled
arp-inspection       Disabled

Timer interval: 300 seconds

Interfaces that will be enabled at the next timeout:

Note: The default timeout interval is 300 seconds and, by default, the timeout feature is disabled. In order to turn on errdisable recovery and choose the errdisable conditions, issue this command:

Switch# errdisable recovery cause ?
  all                 Enable timer to recover from all causes
  arp-inspection      Enable timer to recover from arp inspection error disable
                      state
  bpduguard           Enable timer to recover from BPDU Guard error disable
                      state
  channel-misconfig   Enable timer to recover from channel misconfig disable
                      state
  dhcp-rate-limit     Enable timer to recover from dhcp-rate-limit error
                      disable state
  dtp-flap            Enable timer to recover from dtp-flap error disable state
  gbic-invalid        Enable timer to recover from invalid GBIC error disable
                      state
  l2ptguard           Enable timer to recover from l2protocol-tunnel error
                      disable state
  link-flap           Enable timer to recover from link-flap error disable
                      state
  mac-limit           Enable timer to recover from mac limit disable state
  pagp-flap           Enable timer to recover from pagp-flap error disable
                      state
  psecure-violation   Enable timer to recover from psecure violation disable
                      state
  security-violation  Enable timer to recover from 802.1x violation disable
                      state
  udld                Enable timer to recover from udld error disable state
  unicast-flood       Enable timer to recover from unicast flood disable state

This example explains how to enable the BPDU guard errdisable recovery condition:

Switch(Config)# errdisable recovery cause bpduguard

A nice feature of this command is that, if you enable errdisable recovery, the command lists general reasons that the ports have been put into the error-disable state. In this example, notice that the BPDU guard feature was the reason for the shutdown of port 2/4:

Switch# show errdisable recovery
ErrDisable Reason    Timer Status
-----------------    --------------
udld                 Disabled
bpduguard            Enabled
security-violatio    Disabled
channel-misconfig    Disabled
pagp-flap            Disabled
dtp-flap             Disabled
link-flap            Disabled
l2ptguard            Disabled
psecure-violation    Disabled
gbic-invalid         Disabled
dhcp-rate-limit      Disabled
mac-limit            Disabled
unicast-flood        Disabled
arp-inspection       Disabled

Timer interval: 300 seconds
Interfaces that will be enabled at the next timeout:

Interface      Errdisable reason      Time left(sec)
---------    ---------------------    --------------
  Fa2/4                bpduguard          290

If any one of the errdisable recovery conditions is enabled, the ports with this condition are reenabled after 300 seconds. You can also change this default of 300 seconds if you issue this command:

Switch(Config)# errdisable recovery interval timer_interval_in_seconds

This example changes the errdisable recovery interval from 300 to 400 seconds:

Switch(Config)# errdisable recovery interval 400

Summary Commands

Verify

  • show version — Displays the version of the software that is used on the switch.
  • show interfaces interface interface_number status — Shows the current status of the switch port.
  • show errdisable detect — Displays the current settings of the errdisable timeout feature and, if any of the ports are currently error disabled, the reason that they are error disabled.

Troubleshoot

  • show interfaces status err-disabled — Shows which local ports are involved in the errdisabled state.
  • show etherchannel summary — Shows the current status of the EtherChannel.
  • show errdisable recovery — Shows the time period after which the interfaces are enabled for errdisable conditions.
  • show errdisable detect — Shows the reason for the errdisable status.

Hope this helps anybody else.

Понравилась статья? Поделить с друзьями:
  • Udisks error quark 0 ubuntu
  • Udisk error quark 0 что делать
  • Ubuntu job for apache2 service failed because the control process exited with error code
  • Ubuntu initramfs ошибка
  • Ubuntu i2c error