목차

소개

사전 요구 사항

요구 사항

사용되는 구성 요소

배경 정보

네트워크 다이어그램

구성

문제 해결

일관성 검사기

Q-in-Q 문제를 수집하고 확인하는 데 유용한 명령

관련 정보

소개

이 문서에서는 Nexus 9300(EX-FX-GX) 모델에서 Selective Q-in-Q를 구성하고 문제를 해결하는 방법에 대해 설명합니다.

사전 요구 사항

요구 사항

다음 주제에 대한 지식을 보유하고 있으면 유용합니다.

- Q-in-Q 캡슐화

- Dot1q 스위칭

- Nexus 9000

사용되는 구성 요소

이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.

- 하드웨어: N9K-C9336C-FX2

- 버전: 10.2(3)

이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.

배경 정보

Q-in-Q VLAN 터널을 사용하면 통신 사업자는 인프라에서 서로 다른 사용자의 트래픽을 분리할 수 있으며, 이미 태그가 지정된 프레임에 두 번째 802.1Q 태그를 추가하여 내부 사용을 위한 전체 범위의 VLAN을 사용자에게 제공할 수 있습니다.

여러 공급자 VLAN이 있는 선택적 Q-in-Q는 한 포트의 사용자별 VLAN 범위를 하나의 특정 공급자 VLAN과 연결할 수 있는 터널링 기능입니다.

Q-in-Q를 사용하면 한 포트에 여러 사용자 VLAN과 공급자 VLAN 매핑을 가질 수 있습니다.

포트에서 구성된 사용자 VLAN과 일치하는 VLAN 태그가 포함된 패킷은 서비스 공급자 VLAN의 속성을 사용하여 패브릭 전체에서 터널링됩니다. 캡슐화된 패킷은 내부 패킷의 레이어 2 헤더의 일부로서 사용자 VLAN 태그를 전달합니다.

네트워크 다이어그램

구성

선택적 Q-in-Q 구성의 목표는 인터페이스 eth1/1의 N9KFX2 및 N9KFX2-1에서 수신된 트래픽에서 VLAN을 매핑하는 것입니다.

Nexus는 트래픽을 캡슐화하여 DOT1Q 헤더 VLAN 20과 함께 Nexus 93180FX에서 시뮬레이션한 제공자로 전송합니다.

호스트 A

interface Ethernet1/1

switchport

switchport mode trunk

no shutdown

interface Vlan10

no shutdown

ip address 192.168.1.1/24

호스트 B

interface Ethernet1/1

switchport

switchport mode trunk

no shutdown

interface Vlan10

no shutdown

ip address 192.168.1.2/24

N9KFX2

interface Ethernet1/1

switchport

switchport mode trunk

switchport vlan mapping all dot1q-tunnel 20

switchport trunk allowed vlan 20

spanning-tree port type edge trunk

spanning-tree bpdufilter enable

no shutdown

interface Ethernet1/35

switchport

switchport mode trunk

no shutdown

93180FX

system dot1q-tunnel transit

interface Ethernet1/17

switchport

switchport mode trunk

no shutdown

interface Ethernet1/18

switchport

switchport mode trunk

no shutdown

N9KFX2-1

interface Ethernet1/1

switchport

switchport mode trunk

switchport vlan mapping all dot1q-tunnel 20

switchport trunk allowed vlan 20

spanning-tree port type edge trunk

spanning-tree bpdufilter enable

no shutdown

interface Ethernet1/35

switchport

switchport mode trunk

no shutdown

문제 해결

Q-in-Q 프로그래밍은 다음 구성 요소를 통해 컨트롤 플레인에서 하드웨어로 이동합니다.

:

일관성 검사기

최신 버전의 Nexus 스위치에는 프로그래밍이 잘못되었을 때 사용할 수 있는 일관성 검사기가 있습니다.

N9KFX2# show consistency-checker selective-qinq

Box level hardware programming checks      : PASS

Fetching ingressVlanXlate entries from slice: 0 HW

Fetching ingressVlanXlate entries from slice: 1 HW

Fetching ingressVlanXlate TCAM entries

Performing port specific checks for intf Eth1/1

Port specific selective QinQ checks for interface  Eth1/1 : PASS

Selective QinQ Overall status      : PASS

컨트롤 플레인

VLAN이 포트에서 활성 상태인지 확인합니다.

N9KFX2#sh vlan

VLAN Name                             Status    Ports

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

1    default                          active    Eth1/1

20   VLAN0020                         active    Eth1/1, Eth1/35

VLAN 매핑이 명확하게 표시되는지 확인합니다.

N9KFX2# sh vlan internal info mapping

Per Port Vlan Translation Details

================

Entry No                :  0

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

ifindex Eth1/1(0x1a000000)

vlan mapping enabled: TRUE

vlan translation mapping information (count=1):

Original Vlan      Translated Vlan

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

all                  20

Entry No                :  1

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

ifindex Eth1/35(0x1a004400)

vlan mapping enabled: FALSE

vlan translation mapping information (count=0):

Original Vlan      Translated Vlan

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

ELTM

증가하는 오류가 있는지 0이 아닌지 확인합니다.

N9KFX2# show system internal eltm error count

interface config error: 0

dce error: 0

port struct error: 0

port channel error: 0

tunnel error: 0

tlv count error: 0

vpn count error: 0

SI add to DB error: 0

모듈 X 연결 명령을 실행합니다. X는 물리적 인터페이스가 할당된 모듈입니다.

N9KFX2# attach module 1

module-1# show system internal eltm info vlan 20

IFTMC Detailed info for VLAN = 20

cr_flags = VLAN , bd = 21(0x15)  stg-id = 0 type = 1 stp:0

shut_state = 2 , oper_state = 1

vni = 0, ipmc_idx = 0x0 ipmc_remap_idx = 0x0 ipmc_remap_idx2 = 0x0 dvif: 0

ipmc_mrouter_idx = 0x0 ipmc_mrouter_remap_idx = 0x0 ipmc_mrouter_remap_idx2 = 0x0

pbp_idx=0

eid[0] = 0, alt_eid[0] = 0eid[1] = 0, alt_eid[1] = 0eid[2] = 0, alt_eid[2] = 0eid[3] = 0, alt_eid[3] = 0eid[4] = 0, alt_eid[4] = 0eid[5] = 0, alt_eid[5] = 0eid[6] = 0, alt_eid[6] = 0eid[7] = 0, alt_eid[7] = 0

Active ports:                                             <<<<< Confirm Active ports are listed for the vlan

Ethernet1/1(0x1a000000)  Ethernet1/35(0x1a004400)

Active Local ports:

Ethernet1/1(0x1a000000)  Ethernet1/35(0x1a004400)

Ports using this VLAN as Provider:                          <<<<< Displays the interface that is doing the tunneling

Ethernet1/1(0x1a000000)

SDB Active ports:

Ethernet1/1

pbp_idx:0

VLAN Features:

prim_vlan      : 0, prim_intf_vlan  : 0, vlan mode      : 0(CE)

pt_cam_en      : 1, ipv4_igmp_snoop  : 1, ipv4_pim_snoop  : 0

ipv6_mld_snoop : 0, ipv6_pim_snoop  : 0, l2l3_lkup_cfg  : 1

v4_table_id    : 1        (0x00000001), v4_vpn_id        : 1 (0x1)

v6_table_id    : 2147483649 (0x80000001), v6_vpn_id      : 1 (0x1)

age_tmr_sel    : 1, sm_en  : 0 fcf  : 0 omf : 1, dhcp_snoop_en  : 0

proxy_learn    : 0, iic_en : 0, use_oxid : 0, age_grp_sel        : 0

disable_learn  : 0, otv_en : 0, global  : FALSE

bc_uc_ftag    : 4095  , mcast_ftag_num : 1, arp_sup: 0x0 ,icmpv6 nd local proxy: 0x0

isdot1qvlan    : 0  , num_dot1q_ports: 0  num_sel_dot1q_qinvni_ports: 0

num_multi_tag_ports: 0,  eid: 0,  xconnect: 0,  mcast_ftag[1]  : {4095}

is_transit    : 0    mdns_en: 0,

TAH:VLAN_CONTROL:

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

vrf: 0 forwarding_vlan: 0 forwarding mode: 0

Flags: 0x0

up: 0 vni: 0 is_sr_evpn: 0

인터페이스 프로그래밍을 확인할 수 있습니다. 출력은 포트 프로그래밍에 대한 정보를 표시합니다.

N9KFX2# attach module 1

module-1# show system internal eltm info interface e1/1

IFTMC Detailed info for Interface Ethernet1/1(0x1a000000)

CR_flags = INTF LIF  (0x3),  LTL = 6144 (0x1800), (S 0x0, P 0x0)

IF_INDEX = Ethernet1/1(0x1a000000), LIF = 4100 (0x1004), SDB LIF = 4100 (0x1004)

State = UP

Layer = L2, Mode = TRUNK, native_vlan = 1 tag_native_vlan = 0   <<< Confirm mode and Layer

AdminMode = 0x100000 is_monitor = 0 src_if_pruning 1

Operational VLAN's (2):                                         <<< Confirm if the VLAN for tunnel and native are correct

1,20

voice vlan = 4096

MVR Configured VLAN's (0):

local_port = 1, ldb_sharing = 1, ilm_sharing = 0x1

ldb_port_flags = 0x0, dsm = 0, dnl = 0

pc_ifindx = 0x0, fpc = 0x0

Interface Features:

ipv4_en        : 0, ipv4_mcast_en : 0, df_mask : 0, mpls_en : 0

ipv6_en        : 0, ipv6_mcast_en : 0  pim_dr_en :0 ipsg_en  : 0

FC port mode:0 vsan: 0 trunk mode: 0 speed: 0

FCF Enabled : 0 FCF MAC:0000:0000:0000

PTP fid = 0

mpls_strip_en    :0

external port :0

Operational VSAN's (0):

v4_table_id    : 1          (0x00000001), v4_vpn_id    : 1 (0x1)

v6_table_id    : 2147483649 (0x80000001), v6_vpn_id    : 1 (0x1)

per_pkt_ls_en  : 0,  bd              : N/A (0x0)

icmp_redirect  : 1, ipv6_redirect    : 1

v4_same_if_chk : 0, v6_same_if_check : 0

mtu_index      : 1    (0x0001), new_mtu_index  : 1    (0x0001)

mtu            : 1500 (0x05dc), port_trust    : 0

v4_rpf_mode    : 0  , v6_rpf_mode            : 0

v4_rpf_mode (sdb) : 0  , v6_rpf_mode (sdb) : 0

intf_type      : 0x0, intf_flags  : 0x20

sub_flags      : 0x0, port_type  : 0x0, is_aida  : 0x0, vpc_dvp_no  : 0x0

fcoe_mac_ip_chk: 0 buffer_boost: 0 openflow_en: 0 span_buffer_cfg: 0 span_mode: 0 outer_bd = 512

interface mac: 00:00:00:00:00:00 old_mac: 00:00:00:00:00:00 mac_index:0

Src-Idx:1

mc_index : 4100, egress_vsl_drop: 0, pv_en : 0, is_selective_qinvni_port 1 ether_type 0x8100 vlan_bmp_State_change : False, policy flood_l2_local 1.  <<<Confirm the ether type is 8100 and is_selective_qinvni_port is 1

is_multi_tag_port 0, nat_realm_id 0

global_id 0

enm_if_type  : 0

pbp_idx  : 0

pinned_ifindex : 0x0

normal_vlan_bmp (0):

arp_suppress inst[0] 0 arp_suppress inst[1] 0 arp_suppress inst[2] 0 arp_suppress inst[3] 0 arp_suppress inst[4] 0 arp_suppress inst[5] 0 arp_suppress inst[6] 0 arp_suppress inst[7] 0 icmpv6 nd local proxy en inst[0] 0 icmpv6 nd local proxy en inst[1] 0 icmpv6 nd local proxy en inst[2] 0 icmpv6 nd local proxy en inst[3] 0 icmpv6 nd local proxy en inst[4] 0 icmpv6 nd local proxy en inst[5] 0 icmpv6 nd local proxy en inst[6] 0 icmpv6 nd local proxy en inst[7] 0 mdns_en inst[0] 0 mdns_en inst[1] 0 mdns_en ins

t[2] 0 mdns_en inst[3] 0 mdns_en inst[4] 0 mdns_en inst[5] 0 mdns_en inst[6] 0 mdns_en inst[7] 0 arp_suppress inst[0] 0 arp_suppress inst[1] 0 arp_suppress inst[2] 0 arp_suppress inst[3] 0 arp_suppress inst[4] 0 arp_suppress inst[5] 0 arp_suppress inst[6] 0 arp_suppress inst[7] 0 icmpv6 nd local proxy en inst[0] 0 icmpv6 nd local proxy en inst[1] 0 icmpv6 nd local proxy en inst[2] 0 icmpv6 nd local proxy en inst[3] 0 icmpv6 nd local proxy en inst[4] 0 icmpv6 nd local proxy en inst[5] 0 icmpv6 nd local prox

y en inst[6] 0 icmpv6 nd local proxy en inst[7] 0 mdns_en inst[0] 0 mdns_en inst[1] 0 mdns_en inst[2] 0 mdns_en inst[3] 0 mdns_en inst[4] 0 mdns_en inst[5] 0 mdns_en inst[6] 0 mdns_en inst[7]

service provider Vlans 0

vlan_xlt_tlb_en_ingress : 1  num_vlan_xlt_ingr : 1

Vlan Translation Table (INGRESS)         <<< This table displays xlt the vlan used to send to the provider

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

in_vlan  xlt_vlan

1      20

SDB INFO:

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

MVR VLAN's (0):

STATE = UP, is_mcec = 0, is_mct = 0

TAH:L2 INFO: 4100

----------

Flags : 0x41

NIV Index: 1 Source Chip: 1 Source Port: 72

slice: 1 slice_port: 0

is_monitor: 0 lif: 4100 phy_intf_id: 1 vnic_if: 0 learn_en: 1 native_vlan 1

trunk_port: 1 src_if_check: 1

FC info: intf_type = 0x0 port_mode = 0x0 port_vsan = 0 port_speed = 0 fcf_mac = 0:0:0:0:0:0

IFTMC

IFTMC의 경우 2개의 명령을 실행할 수 있습니다. 다음 명령을 실행하기 전에 attach module 1 명령을 실행합니다.

N9KFX2# attach module 1

module-1# show system internal iftmc info interface e1/1

module-1# show system internal iftmc info vlan 20

두 명령 모두

- show system internal iftmc info interface ethernet1/1

- 시스템 내부 iftmc info vlan 20 표시

ELTM 출력과 유사한 정보를 표시합니다. ELTM과 IFTMC 모듈 간에 동일한 값이 있는지 확인합니다.

하드웨어

하드웨어에 출력이 올바르게 프로그래밍되었는지 확인하려면 show hardware internal tah interface ethernet 1/1 명령을 실행할 수 있습니다. 명령 출력에서 BdStateTable 부분으로 이동할 수 있습니다.

N9KFX2-1(config-if)# show hardware internal tah interface ethernet 1/1

BdStateTable:

ENTRY: 1

info_leaf_flood_dst_ptr : 1                 <<<Displays native vlan

info_leaf_igmp_mld_dst_ptr : 4098

info_leaf_fid : 1                           <<<Displays native vlan

info_leaf_vrf : 1

info_leaf_igmp_snp_en : 1

info_leaf_l3_bind_check_en : 1

info_leaf_v4_omf : 1

info_leaf_unknown_uc_flood : 1

info_leaf_unknown_mc_flood : 1

info_leaf_ecn_mark_en : 1

info_leaf_l2_bind_check_en : 1

info_leaf_bd_profile_idx : 1

info_leaf_analytics_en : 1

info_leaf_flow_collect_en : 1

info_spine_info0_gipo_idx : 1              <<<Displays native vlan

info_spine_info0_scope : 64

info_spine_info0_spare : 0x00000000:0x00100044

info_spine_info1_spare : 0x00001000:0x00000000

info_spine_info2_gipo_idx : 512

info_spine_info2_scope : 12416

info_spine_info2_spare : 0x00005000:0x10000000

info_spine_info3_gipo_idx : 384

info_spine_info3_spare : 0x00000000:0x00000000

=========================================

Q-in-Q 문제를 수집하고 확인하는 데 유용한 명령

- vlan 내부 정보 매핑 표시

- show consistency-checker selective-qinq

- show consistency-checker selective-qinq interface <ethX/Y, port-channel X>

- show hardware internal tah interface ethernet x/y

- show hardware internal tah interface all

- show hardware internal tah sdk event-history error

- show system internal iftmc info interface <>

Nexus 플랫폼에서 show tech-support를 일반적인 것보다 더 구체적으로 수집할 수 있으며, 이 경우 일련의 명령을 제공합니다.

- 기술 세부사항 표시

- 기술 vlan 표시

- show tech usd-all

- show tech eltm

- 모듈 1 첨부; show tech iftmc

참고: Nexus가 실행 중인 버전에 대한 관련 정보에 나열된 컨피그레이션 가이드의 지침 및 제한 섹션을 참조하여 컨피그레이션이 하드웨어 또는 소프트웨어 제한에 도달하지 않는지 확인하십시오.

관련 정보

- 릴리스 9.3.X

- 릴리스 10.1.X

- 릴리스 10.2.X

- 릴리스 10.3.X

- 릴리스 10.4.X

- Cisco 기술 지원 및 다운로드