목차

소개

배경 정보

일반적인 원인

명령 솔루션

show interface

하드웨어 내부 통계 모듈 표시 패킷 삭제

모듈 연결 하드웨어 내부 qengine 표시

추가 명령

F2e 정보

하드웨어 내부 오류 모드 표시

하드웨어 내부 qengine vqi map 표시

하드웨어 대기열 삭제 이그레스 모듈 표시 (F2e에만 해당)

소개

이 문서에서는 Cisco Nexus 7000 F248 Series(F2/F2e) 라인 카드에 대한 입력 폐기 원인과 해결 방법을 설명합니다. 입력 삭제는 혼잡 때문에 입력 대기열에서 삭제된 패킷 수를 나타냅니다. 이 숫자에는 tail drop 및 WRED(Weighted Random Early Detection)에 의해 발생하는 드롭이 포함됩니다.

배경 정보

F2 라인 카드는 이그레스(egress) 대신 인그레스(ingress)의 패킷을 대기열에 배치하고 모든 인그레스(ingress) 인터페이스에서 VOQ(virtual output queue)를 구현하므로, 혼잡한 이그레스 포트가 다른 이그레스 포트로 향하는 트래픽에 영향을 미치지 않습니다. 시스템에서 VOQ를 광범위하게 사용하면 이그레스 기준으로 최대 처리량을 보장할 수 있습니다. 한 이그레스 포트의 혼잡은 다른 이그레스 인터페이스로 향하는 트래픽에 영향을 주지 않으므로 혼잡을 확산시키는 HOL(head-of-line) 차단을 피할 수 있습니다.

VOQ는 또한 차감 및 차감 없는 트래픽의 개념을 사용합니다. 유니캐스트 트래픽은 크레딧된 트래픽으로 분류됩니다. 브로드캐스트, 멀티캐스트 및 알 수 없는 유니캐스트 트래픽은 차감되지 않은 트래픽으로 분류됩니다. 차감 없는 트래픽은 VOQ를 사용하지 않으며 트래픽은 인그레스 대신 이그레스(egress)에서 대기됩니다. 인그레스 포트에 트래픽을 이그레스 포트로 보낼 크레딧이 없는 경우, 인그레스 포트는 크레딧을 받을 때까지 버퍼링합니다. 인그레스 포트 버퍼가 깊지 않으므로 입력 삭제가 발생할 수 있습니다.

일반적인 원인

입력 폐기 원인은 다음과 같습니다.

- 가장 일반적인 입력 폐기 원인은 F2 라인 카드의 대상 포트와 회선 속도를 초과하는 SPAN 트래픽이 있는 SPAN(Switched Port Analyzer)이 있는 경우에 발생합니다. 결국 인그레스 포트는 패킷을 버퍼링하여 입력을 버립니다.

참고: {F2E, F3 및 M3과 같은 Next-Gen I/O 모듈은 인그레스 포트에서 인버링 및 HOB를 일으키는 SPAN 대상 포트 오버서브스크립션 시나리오에 취약하지 않습니다. 이는 SPAN의 지침 및 제한에도 설명되어 있습니다.

- 부적절한 설계(예: 입력 대역폭 10G 및 출력 대역폭 1G)로 인해 F2 하드웨어 제한(HOL 차단)이 트리거됩니다.

- 여러 포트의 트래픽이 동일한 인터페이스(1G~1G 또는 10G~10G 인터페이스)를 벗어나면 라인 속도를 초과할 경우 인그레스 포트에서 입력이 삭제될 수 있습니다.

- VLAN이 일치하지 않으면 입력 폐기가 발생할 수 있습니다. 두 스위치가 동일한 VLAN을 전달하는지 확인하려면 show interface trunk 명령을 사용합니다.

명령 솔루션

이 섹션에서는 컨피그레이션 문제를 해결하는 데 사용할 수 있는 정보를 제공합니다.

참고: 이 섹션에 사용된 명령에 대한 자세한 내용을 보려면 Command Lookup Tool(등록된 고객만 해당)을 사용합니다.

Output Interpreter 도구(등록된 고객만 해당)는 특정 show 명령을 지원합니다. show 명령 출력의 분석을 보려면 [출력 인터프리터 도구]를 사용합니다.

이 예에서 이더넷 2/1(Eth2/1)에는 2개의 1Gbps 스트림을 수신하는 호스트가 연결되어 있습니다. Eth2/1은 1G에서 실행됩니다. 두 스트림은 Eth2/5 및 Eth2/9에서 인그레스(ingress)를 스트리밍합니다.

show interface <ingress interface

인터페이스의 속도를 확인하려면 이 명령을 사용합니다. 인그레스 인터페이스가 10Gbps에서 실행되고 이그레스 인터페이스가 1Gbps에서 실행되는 경우 HOL 차단으로 인해 드롭이 발생할 수 있습니다.

N7K1# show int eth2/5

Ethernet2/5 is up

admin state is up, Dedicated Interface

------

full-duplex, 1000 Mb/s

------

30 seconds input rate 588237960 bits/sec, 73524 packets/sec

30 seconds output rate 216 bits/sec, 0 packets/sec

Load-Interval #2: 5 minute (300 seconds)

input rate 588.56 Mbps, 73.52 Kpps; output rate 156.11 Mbps, 19.45 Kpps

RX

221333142 unicast packets  0 multicast packets  0 broadcast packets

221333128 input packets  221333169400 bytes

0 jumbo packets  0 storm suppression packets

0 runts  0 giants  0 CRC  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  11590977 input discard <-------

0 Rx pause

show hardware internal statistics module <x> pktflow dropped

congestion_drop_bytes의 값이 증가하는지 확인하려면 이 명령을 여러 번 실행합니다. x는 인그레스 포트의 모듈 번호입니다.

모듈 <x> 연결 및 하드웨어 내부 qengine 표시

VQI(Virtual Queue Index) 번호를 식별하려면 다음 명령을 여러 번 실행합니다.

모듈 <x> 추가

module-x# show hardware internal qengine voq status | ex "0 0 0 0 0 0 0 0 0 0 0 0 0 0

또는

module-x# show hardware internal qengine inst 2 voq-status non-empty

VQI에서는 0이 아닌 카운터가 계속 이동됩니다. 혼잡한 포트에서 카운터는 대개 높은 시간을 유지합니다.

N7K1# attach module 2

Attaching to module 2 ...

To exit type 'exit', to abort type '$.'

module-2# show hardware internal qengine inst 2 voq-status non-empty

VQI:CCOS  BYTE_CNT  PKT_CNT  TAIL  HEAD  THR

--------  --------  -------  ----  ----  ---

0036:3    6154      3077     6804  14168 1 <------- VQI is 36 here

module-2# show hardware internal qengine voq-status | ex "0 0 0 0 0 0 0 0 0 0 0 0"

VQI:CCOS CLP0 CLP1 CLP2 CLP3 CLP4 CLP5 CLP6 CLP7 CLP8 CLP9 CLPA CLPB

-------- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----

0036:3   0    0    0    0    0    0    0    1    0    0    0    0

VQI === 36

VQI 번호가 있는 경우 show hardware internal qengine vqi-map 명령을 사용하여 VQI 맵 테이블을 찾습니다. 이그레스 인터페이스를 확인하려면 슬롯 번호 및 LDI(Low-Speed Data Interface) 번호를 검토합니다. 슬롯은 모듈이라고도 하며 LDI는 포트라고도 합니다. 모듈은 0부터 시작하여 매핑 기능을 사용하여 LDI를 확인할 수 있습니다.

module-2# show hardware internal qengine vqi-map

VQI   SUP  SLOT  LDI  EQI  FPOE  NUM  XBAR   IN   ASIC  ASIC  SV  FEA_

NUM   VQI  NUM   NUM  NUM  BASE  DLS  MASK   ORD  TYPE  IDX   ID  TURE

----  ---  ----  ---  ---  ----  ---  -----  ---  ----  ----  --  ----

--snip

36     no   1     0    0    8     1    0x155  0    CLP   0     0   0x81

--snip

LDI에서 물리적 포트 매핑:

LDI

포트

0

2

1

1

2

3

3

4

4

6

5

5

6

7

7

8

8

10

9

9

10

11

11

12

12

14

13

13

14

15

15

16

16

18

17

17

18

19

19

20

20

22

21

21

22

23

23

24

24

26

25

25

26

27

27

28

28

30

29

29

30

31

31

32

32

34

33

33

34

35

35

36

36

38

37

37

38

39

39

40

40

42

41

41

42

43

43

44

44

46

45

45

46

47

47

48

물리적 포트 = Eth 2/2

show system internal ethpm info interface Eth2/2를 통해 VQI 및 LDI 검증 | VQI 포함

테스트 설명에서 병목이 발생한 포트는 2/1이지만 나열된 VQI는 e2/2입니다. 이그레스 버퍼는 F2/F2e 모듈의 4개 포트 그룹인 포트 그룹에서 공유되기 때문입니다. 포트 1-4, 5-8 등은 각 포트 그룹의 일부입니다. 포트 그룹의 단일 포트가 이그레스 방향으로 혼잡할 경우 인그레스 포트에서 역압력이 발생하여 입력이 폐기될 수 있습니다.

추가 명령

입력이 계속 삭제되는 것을 발견하면 다음 명령을 여러 번 실행합니다.

- show interface | in Mbps|이더넷

- 하드웨어 내부 통계 pktflow 삭제

- show hardware internal statistics pktflow dropped congestion

- 하드 내부 통계 pktflow all 표시

- 하드웨어 내부 오류 표시

- 하드웨어 내부 통계 장치 qengine 표시

- show hard internal mac port 38 qos config

- show hard internal statis device mac all port 38

- 모듈 1 연결

- show hardware internal qengine voq status

- 하드웨어 내부 qengine vqi map 표시

F2e 정보

F2e에는 혼잡한 이그레스 인터페이스가 있는 포트 그룹/asic의 첫 번째 포트의 VQI를 가리키는 하드웨어 내부 오류 카운터가 있습니다.

하드웨어 내부 오류 표시 mod <x>

모듈에서 혼잡이 탐지된 횟수를 확인하려면 이 명령을 사용합니다.

N7K2# show hardware internal errors mod 1

|------------------------------------------------------------------------|

| Device:Clipper XBAR             Role:QUE                     Mod: 1    |

| Last cleared @ Wed Jul 10 14:51:56 2013

| Device Statistics Category :: CONGESTION

|------------------------------------------------------------------------|

Instance:1

ID    Name                                          Value             Ports

--    ----                                          -----             -----

16227 Num of times congestion detected on VQI 48    0000000000001296  5-8 -

Instance:2

ID    Name                                          Value             Ports

--    ----                                          -----             -----

16227 Num of times congestion detected on VQI 48    0000000000000590  9-12 -

Instance:3

ID    Name                                          Value             Ports

--    ----                                          -----             -----

16227 Num of times congestion detected on VQI 48    0000000000001213  13-16 -

하드웨어 내부 qengine vqi map 표시

VQI를 물리적 인터페이스에 매핑하려면 이 명령을 사용합니다. 이 예에서는 이전 예제의 VQI 48을 사용합니다. 이그레스 인터페이스를 확인하려면 슬롯 번호와 LDI 번호를 검토합니다. 모듈은 0부터 시작하여 매핑 기능을 사용하여 LDI를 확인할 수 있습니다.

module-1# show hardware internal qengine vqi-map

VQI   SUP  SLOT  LDI  EQI  FPOE  NUM  XBAR   IN   ASIC  ASIC  SV  FEA_

NUM   VQI  NUM   NUM  NUM  BASE  DLS  MASK   ORD  TYPE  IDX   ID  TURE

----  ---  ----  ---  ---  ----  ---  -----  ---  ----  ----  --  ----

--snip

48    no   0     12   0    3     1    0x155  0    CLP   3     0   0x1

--snip

Module Number = SLOT NUM + 1  (zero-based)

Module Number = 0 + 1 = 1

Physical Port = Eth 1/14 (check the LDI to physical port mapping table)

Validate VQI and LDI via "show system internal ethpm info interface Eth1/14 | include VQI"

VQI 48이 Eth1/13에 매핑되지만 포트 그룹/asic의 첫 번째 포트에서 혼잡이 보고됩니다. 하나의 포트 그룹/asic에 4개의 포트가 있으므로, 혼잡을 확인하는 해당 포트 그룹/asic 내의 실제 인터페이스를 표시하려면 다음 명령을 사용합니다.

show hardware queuing drops egress module <x>(F2e에만 해당)

이전 예제의 VQI 48에 속한 포트 그룹/asic에서 혼잡을 확인하는 실제 이그레스 인터페이스를 표시하려면 이 명령을 사용합니다.

N7K2# show hardware queuing drops egress module 1

VQ Drops

--------------------------------------------------------------------------------

|    Output   |     VQ Drops     |  VQ Congestion   | Src | Src  |    Input    |

|  Interface  |                  |                  | Mod | Inst |  Interface  |

--------------------------------------------------------------------------------

|     Eth1/14 | 0000000000000000 | 0000000000001296 |   1 |    1 |    Eth1/5-8 |

|     Eth1/14 | 0000000000000000 | 0000000000000590 |   1 |    2 |   Eth1/9-12 |

|     Eth1/14 | 0000000000000000 | 0000000000001213 |   1 |    3 |  Eth1/13-16 |

|     Eth1/14 | 0000000000000000 | 0000000000000536 |   2 |    1 |    Eth2/5-8 |

|     Eth1/14 | 0000000000000000 | 0000000000000009 |   2 |    2 |   Eth2/9-12 |

|     Eth1/14 | 0000000000000000 | 0000000000000262 |   2 |    3 |  Eth2/13-16 |

--------------------------------------------------------------------------------