目录

简介

先决条件

要求

使用的组件

背景信息

拓扑

配置

控制平面验证

组播接收器发送IGMP成员报告

PIM稀疏模式共享树创建

重叠中的PIM邻居

任播RP创建(*，G)

组播源注册

MSDP源通告

最短路径树(SPT)切换

数据平面验证（独立于平台）

源端验证

源注册

接收方验证

LHR PIM (*，G)验证

LHR PIM共享树验证

MFIB转发-源端验证

MFIB转发-接收方端验证

数据平面验证（取决于平台）

(S，G)创建- CPU传送路径

Mroute硬件编程- IOS Mroute

Mroute硬件编程- IOS MFIB

Mroute硬件编程- RP MFIB

Mroute硬件编程- FP MFIB

Mroute硬件编程- Mroute对象

Mroute硬件编程- Mlist对象

Mroute硬件编程- FED Mroute

简介

本文档介绍如何对SD-Access (SDA)交换矩阵中的头端复制进行故障排除。

先决条件

要求

Cisco 建议您了解以下主题：

- Internet协议(IP)转发

- 定位器/ID分离协议(LISP)

- 协议无关组播(PIM)稀疏模式

使用的组件

- Cisco IOS® XE 17.10.1上的C9000v

- 思科Catalyst Center版本2.3.5.3

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您的网络处于活动状态，请确保您了解所有命令的潜在影响。

本文档也可用于以下硬件和软件版本：

- C9200

- C9300

- C9400

- C9500

- C9600

- Cisco IOS® XE 16.12及更高版本

背景信息

SDA头端复制是一种重叠组播形式，用于在交换矩阵设备之间传送组播流量，将组播流量封装到单播IP报头中。头端复制可以在同一个VLAN或不同VLAN中的源和接收器之间路由组播流量（可以路由同一个VLAN组播）。

同一交换矩阵边缘上的源和接收器之间的组播流量不是使用重叠组播（VXLAN封装）转发，而是由交换矩阵边缘在本地路由。

任何形式的重叠组播（前端或本地）均无法为224.0.0.0/24范围内的组路由组播流量，或者在TTL=1的情况下，通过第2层泛洪进行处理

注意：表示读者需要注意。“注意”中包含有用的建议或本文档未涵盖的材料的引用。

注意：平台(FED)命令可能有所不同。命令可以是“show platform fed <active|standby>”和“show platform fed switch <active|standby>".如果示例中注明的语法未解析出，请尝试该变体。

拓扑

网络拓扑

在此拓扑中：

- 10.47.10和10.47.1.11是并置边界，在虚拟网络(VN)/VRF中这两个边界之间也用作具有组播源发现协议(MSDP)的任播交汇点(RP)。

- 10.47.1.12和10.47.1.13是交换矩阵边缘节点

- 10.47.7.2是组播源

- 10.47.7.3是组播接收器

- 239.1.1.1是组播组目的地址(GDA)

配置

假设Cisco Catalyst Center用于使用默认设置调配SDA交换矩阵：

- 复制实施是头端复制

- 具有MSDP的任意播RP用于并置边界上的任意源组播(ASM)组播

从Catalyst Center成功配置后，每台设备的相关配置包含以下几个部分：

交换矩阵边缘(10.47.1.12)配置

ip multicast-routing vrf blue_vn

ip multicast vrf blue_vn multipath

!

interface LISP0.4100

vrf forwarding blue_vn

ip pim sparse-mode

end

!

interface Loopback4100

vrf forwarding blue_vn

ip address 10.47.6.4 255.255.255.255

ip pim sparse-mode

end

!

ip pim vrf blue_vn register-source Loopback4100

ip pim vrf blue_vn rp-address 10.47.6.1 ASM_ACL_IPV4_blue_vn_10.47.6.1

!

interface Vlan1025

description Configured from Cisco DNA-Center

mac-address 0000.0c9f.fb87

vrf forwarding blue_vn

ip address 10.47.7.1 255.255.255.0

ip helper-address 10.47.9.9

no ip redirects

ip pim passive

ip route-cache same-interface

ip igmp version 3

ip igmp explicit-tracking

no lisp mobility liveness test

lisp mobility blue-IPV4

end

!

ip access-list standard ASM_ACL_IPV4_blue_vn_10.47.6.1

10 permit 239.0.0.0 0.255.255.255

交换矩阵边缘(10.47.1.13)配置

ip multicast-routing vrf blue_vn

ip multicast vrf blue_vn multipath

!

interface LISP0.4100

vrf forwarding blue_vn

ip pim sparse-mode

end

!

interface Loopback4100

vrf forwarding blue_vn

ip address 10.47.6.4 255.255.255.255

ip pim sparse-mode

end

!

ip pim vrf blue_vn register-source Loopback4100

ip pim vrf blue_vn rp-address 10.47.6.1 ASM_ACL_IPV4_blue_vn_10.47.6.1

!

interface Vlan1025

description Configured from Cisco DNA-Center

mac-address 0000.0c9f.fb87

vrf forwarding blue_vn

ip address 10.47.7.1 255.255.255.0

ip helper-address 10.47.9.9

no ip redirects

ip pim passive

ip route-cache same-interface

ip igmp version 3

ip igmp explicit-tracking

no lisp mobility liveness test

lisp mobility blue-IPV4

end

!

ip access-list standard ASM_ACL_IPV4_blue_vn_10.47.6.1

10 permit 239.0.0.0 0.255.255.255

并置边界/任播RP (10.47.1.10)配置

router bgp 69420

address-family ipv4 vrf blue_vn

aggregate-address 10.47.6.0 255.255.255.0 summary-only

!

router lisp

site site_uci

eid-record instance-id 4100 10.47.6.0/24 accept-more-specifics

!

ip multicast-routing vrf blue_vn

ip multicast vrf blue_vn multipath

!

interface LISP0.4100

vrf forwarding blue_vn

ip pim sparse-mode

end

!

interface Loopback4100

vrf forwarding blue_vn

ip address 10.47.6.1 255.255.255.255

ip pim sparse-mode

end

!

interface Loopback4600

vrf forwarding blue_vn

ip address 10.47.6.6 255.255.255.255

ip pim sparse-mode

end

!

ip pim vrf blue_vn rp-address 10.47.6.1 ASM_ACL_IPV4_blue_vn_10.47.6.1

ip pim vrf blue_vn register-source Loopback4100

!

ip access-list standard ASM_ACL_IPV4_blue_vn_10.47.6.1

10 permit 239.0.0.0 0.255.255.255

!

ip msdp vrf blue_vn peer 10.47.6.7 connect-source Loopback4600

ip msdp vrf blue_vn cache-sa-state

ip msdp vrf blue_vn originator-id Loopback4600

并置边界/任播RP (10.47.1.11)配置

router bgp 69420

address-family ipv4 vrf blue_vn

aggregate-address 10.47.6.0 255.255.255.0 summary-only

!

router lisp

site site_uci

eid-record instance-id 4100 10.47.6.0/24 accept-more-specifics

!

ip multicast-routing vrf blue_vn

ip multicast vrf blue_vn multipath

!

interface LISP0.4100

vrf forwarding blue_vn

ip pim sparse-mode

end

!

interface Loopback4100

vrf forwarding blue_vn

ip address 10.47.6.1 255.255.255.255

ip pim sparse-mode

end

!

interface Loopback4600

vrf forwarding blue_vn

ip address 10.47.6.7 255.255.255.255

ip pim sparse-mode

end

!

ip pim vrf blue_vn rp-address 10.47.6.1 ASM_ACL_IPV4__blue_vn_10.47.6.1

ip pim vrf blue_vn register-source Loopback4100

!

ip access-list standard ASM_ACL_IPV4_blue_vn_10.47.6.1

10 permit 239.0.0.0 0.255.255.255

!

ip msdp vrf blue_vn peer 10.47.6.6 connect-source Loopback4600

ip msdp vrf blue_vn cache-sa-state

ip msdp vrf blue_vn originator-id Loopback4600

控制平面验证

接下来，检验互联网组成员协议(IGMP)和PIM。

组播接收器发送IGMP成员报告

组播接收方(10.47.7.3)发送IGMP成员报告(MR)或IGMP加入以表示对接收组播流量的兴趣。您可以配置嵌入式数据包捕获(EPC)，以确认收到的IGMP MR是：

Edge-2#monitor capture 1 interface GigabitEthernet1/0/5 IN

Edge-2#monitor capture 1 match any

Edge-2#monitor capture 1 buffer size 10

Edge-2#monitor capture 1 start

Edge-2#monitor capture 1 stop

Edge-1#show monitor capture 1 buff display-filter igmp brief

Starting the packet display ........ Press Ctrl + Shift + 6 to exi

145 63.730527 10.47.7.4 -> 239.1.1.1 IGMPv2 60 Membership Report group 239.1.1.1

接下来，确保交换矩阵边缘是组播接收器所在的VLAN的PIM指定路由器(DR)。这也称为最后一跳路由器(LHR)。您可以使用命令“show ip pim vrf <VN Name> interface vlan <vlan> detail | include PIM DR”

Edge-2#show ip pim vrf blue_vn interface vlan 1025 detail | i PIM DR

PIM DR: 10.47.7.1 (this system)

使用命令“show ip igmp vrf <VN Name> snooping group”验证IGMP监听是否已获取IGMP MR

Edge-1#show ip igmp vrf blue_vn snooping groups

Vlan Group           Type Version Port List

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

1025 239.255.255.254 igmp v2      Gi1/0/5

PIM稀疏模式共享树创建

Edge-2，是此网段上的DR，向任播RP发送(*，G) PIM加入。如果任播RP地址在LISP映射缓存中未解析，则LISP EID监视进程负责触发LISP映射请求。您可以使用命令“show lisp instance-id <LISP L3 IID> ipv4/ipv6 eid-watch | 开始RLOC”

Edge-2#show lisp instance-id 4100 ipv4 eid-watch | begin RLOC

LISP IPv4 EID Watches for Table (RLOC mapping in vrf blue_vn IPv4) IID (4100), 1 watch entries

Watch entries for prefix 10.47.6.1/32

10.47.6.1, multicast

Edge-2#show lisp instance-id 4100 ipv4 map-cache 10.47.6.1

LISP IPv4 Mapping Cache for LISP 0 EID-table vrf blue_vn (IID 4100), 1 entries

10.47.6.1/32, uptime: 9w1d, expires: 20:19:57, via map-reply, complete

Sources: map-reply

State: complete, last modified: 9w1d, map-source: 10.47.1.10

Active, Packets out: 577721(21849998 bytes), counters are not accurate (~ 00:00:12 ago)

Locator Uptime State Pri/Wgt Encap-IID

10.47.1.10 9w1d up 10/10 -

Last up-down state change: 1w1d, state change count: 3

Last route reachability change: 9w1d, state change count: 1

Last priority / weight change: never/never

RLOC-probing loc-status algorithm:

Last RLOC-probe sent: 1w1d (rtt 272ms)

10.47.1.11 9w1d up 10/10 -

Last up-down state change: 9w1d, state change count: 1

Last route reachability change: 9w1d, state change count: 1

Last priority / weight change: never/never

RLOC-probing loc-status algorithm:

Last RLOC-probe sent: 1w1d (rtt 602ms)

Edge-2#show ip rpf vrf blue_vn 10.47.6.1

RPF information for (10.47.6.1)

RPF interface: LISP0.4100

RPF neighbor: ? (10.47.1.10)

RPF route/mask: 10.47.6.1/32

RPF type: unicast ()

Doing distance-preferred lookups across tables

Multicast Multipath enabled.

RPF topology: ipv4 multicast base

使用命令“show ip mroute vrf <VN Name> <multicast group>”验证Edge-2上的(*，G)条目

Edge-2#show ip mroute vrf blue_vn 239.1.1.1

IP Multicast Routing Table

Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,

L - Local, P - Pruned, R - RP-bit set, F - Register flag,

T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,

X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,

U - URD, I - Received Source Specific Host Report,

Z - Multicast Tunnel, z - MDT-data group sender,

Y - Joined MDT-data group, y - Sending to MDT-data group,

G - Received BGP C-Mroute, g - Sent BGP C-Mroute,

N - Received BGP Shared-Tree Prune, n - BGP C-Mroute suppressed,

Q - Received BGP S-A Route, q - Sent BGP S-A Route,

V - RD & Vector, v - Vector, p - PIM Joins on route,

x - VxLAN group, c - PFP-SA cache created entry,

* - determined by Assert, # - iif-starg configured on rpf intf,

e - encap-helper tunnel flag, l - LISP decap ref count contributor

Outgoing interface flags: H - Hardware switched, A - Assert winner, p - PIM Join

t - LISP transit group

Timers: Uptime/Expires

Interface state: Interface, Next-Hop or VCD, State/Mode

(*, 239.1.1.1), 4d05h/00:02:12, RP 10.47.6.1, flags: SC <-- Anycast RP IP address 10.47.6.1

Incoming interface: LISP0.4100, RPF nbr 10.47.1.10 <-- Reverse Path Forwarding (RPF) neighbor to get to the Anycast RP IP

Outgoing interface list:

Vlan1025, Forward/Sparse-Dense, 4d05h/00:02:12, flags: <-- Outgoing interface list (OIL) is populated via PIM Join or IGMP Membership Report

重叠中的PIM邻居

RPF邻居由其路由定位器(RLOC)表示并可通过LISP接口到达后，即会作为PIM邻居添加到VRF/VN中。

需要注意以下几点：

- RPF检查用于发送PIM (*，G)加入触发使用两分钟过期计时器创建PIM邻居。如果在2分钟内未发送PIM加入消息，则邻居超时。

- 由于PIM Hello消息未在SDA重叠中发送，PIM必须为相应的RLOC显式创建邻居结构

Edge-2#show ip pim vrf blue_vn neighbor

PIM Neighbor Table

Mode: B - Bidir Capable, DR - Designated Router, N - Default DR Priority,

P - Proxy Capable, S - State Refresh Capable, G - GenID Capable,

L - DR Load-balancing Capable

Neighbor    Interface Uptime/Expires Ver DR

Address                                  Prio/Mode

10.47.1.10 LISP0.4100 4d23h/00:01:37 v2  0 /

任播RP创建(*，G)

根据从Edge-2收到的PIM (*，G)连接，Border-1会向Edge-2的RLOC创建(*，G)与OIL

Border-1#show ip mroute vrf blue_vn 239.1.1.1

IP Multicast Routing Table

Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,

L - Local, P - Pruned, R - RP-bit set, F - Register flag,

T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,

X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,

U - URD, I - Received Source Specific Host Report,

Z - Multicast Tunnel, z - MDT-data group sender,

Y - Joined MDT-data group, y - Sending to MDT-data group,

G - Received BGP C-Mroute, g - Sent BGP C-Mroute,

N - Received BGP Shared-Tree Prune, n - BGP C-Mroute suppressed,

Q - Received BGP S-A Route, q - Sent BGP S-A Route,

V - RD & Vector, v - Vector, p - PIM Joins on route,

x - VxLAN group, c - PFP-SA cache created entry,

* - determined by Assert, # - iif-starg configured on rpf intf,

e - encap-helper tunnel flag, l - LISP decap ref count contributor

Outgoing interface flags: H - Hardware switched, A - Assert winner, p - PIM Join

t - LISP transit group

Timers: Uptime/Expires

Interface state: Interface, Next-Hop or VCD, State/Mode

(*, 239.1.1.1), 4d23h/00:02:48, RP 10.47.6.1, flags: S

Incoming interface: Null, RPF nbr 0.0.0.0

Outgoing interface list:

LISP0.4100, 10.47.1.13, Forward/Sparse, 4d23h/00:02:33, flags: <-- RLOC of Edge-2

组播源注册

组播源10.47.7.2发送组播流量，这些流量进入Edge-1。Edge-1将数据包传送到CPU以创建(S，G)状态，Edge-1将源注册到任播RP。

Edge-1#monitor capture 1 interface GigabitEthernet1/0/4 IN

Edge-1#monitor capture 1 match any

Edge-1#monitor capture 1 buffer size 10

Edge-1#monitor capture 1 start

Edge-1#monitor capture 1 stop

Edge-1#show monitor capture 1 buffer brief

Starting the packet display ........ Press Ctrl + Shift + 6 to exit

1 0.000000 10.47.7.2 -> 239.1.1.1 ICMP 98 Echo (ping) request id=0x0007, seq=107/27392, ttl=5

2 0.355071 10.47.7.3 -> 239.1.1.1 ICMP 98 Echo (ping) request id=0x0007, seq=107/27392, ttl=5

3 1.096757 10.47.7.3 -> 239.1.1.1 ICMP 98 Echo (ping) request id=0x0007, seq=108/27648, ttl=5

4 1.102425 10.47.7.3 -> 239.1.1.1 ICMP 98 Echo (ping) request id=0x0007, seq=108/27648, ttl=5

一旦Border-1通过PIM注册接收组播数据包，Border-1将具有(S，G)并通过MSDP将其通告给Border-2

Border-1#show ip mroute vrf blue_vn 239.1.1.1 10.47.7.2

IP Multicast Routing Table

Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,

L - Local, P - Pruned, R - RP-bit set, F - Register flag,

T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,

X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,

U - URD, I - Received Source Specific Host Report,

Z - Multicast Tunnel, z - MDT-data group sender,

Y - Joined MDT-data group, y - Sending to MDT-data group,

G - Received BGP C-Mroute, g - Sent BGP C-Mroute,

N - Received BGP Shared-Tree Prune, n - BGP C-Mroute suppressed,

Q - Received BGP S-A Route, q - Sent BGP S-A Route,

V - RD & Vector, v - Vector, p - PIM Joins on route,

x - VxLAN group, c - PFP-SA cache created entry,

* - determined by Assert, # - iif-starg configured on rpf intf,

e - encap-helper tunnel flag, l - LISP decap ref count contributor

Outgoing interface flags: H - Hardware switched, A - Assert winner, p - PIM Join

t - LISP transit group

Timers: Uptime/Expires

Interface state: Interface, Next-Hop or VCD, State/Mode

(10.47.7.2, 239.1.1.1), 00:02:26/00:00:34, flags: TA <-- A flag indicates that this is a candidate for MSDP advertisement

Incoming interface: LISP0.4100, RPF nbr 10.47.1.12

Outgoing interface list:

LISP0.4100, 10.47.1.13, Forward/Sparse, 00:02:26/00:02:36, flags:

MSDP源通告

使用命令“show ip msdp vrf <VN name> sa-cache”查看源活动缓存。您可以使用命令“show ip msdp vrf <VN name> summary”查看MSDP对等体

Border-1#show ip msdp vrf blue_vn sa-cache

MSDP Source-Active Cache - 1 entries

(10.47.7.2, 239.1.1.1), RP 10.47.6.7, BGP/AS 23456, 00:00:34/00:05:25, Peer 10.47.6.7

Border-1#show ip msdp vrf blue_vn summary

MSDP Peer Status Summary

Peer Address AS    State Uptime/  Reset SA   Peer Name

Downtime Count Count

10.47.6.7    23456 Up    1w1d     0     1

Border-2通过MSDP通告从Border-1接收(S，G)信息。如果Border-2已收到来自Edge-2的PIM (*，G)连接，Border-2会创建(S，G)条目并从指向Edge-2的RLOC的(*，G)继承LISP OIL。经验法则是，如果(*，G)存在，MSDP SA条目仅安装在组播路由信息库(MRIB)中。

Border-2#show ip msdp vrf blue_vn sa-cache

MSDP Source-Active Cache - 1 entries

(10.47.7.2, 239.1.1.1), RP 10.47.6.6, BGP/AS 23456, 00:13:59/00:03:28, Peer 10.47.6.6

Border-2#show ip mroute vrf blue_vn 239.1.1.1

IP Multicast Routing Table

Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,

L - Local, P - Pruned, R - RP-bit set, F - Register flag,

T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,

X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,

U - URD, I - Received Source Specific Host Report,

Z - Multicast Tunnel, z - MDT-data group sender,

Y - Joined MDT-data group, y - Sending to MDT-data group,

G - Received BGP C-Mroute, g - Sent BGP C-Mroute,

N - Received BGP Shared-Tree Prune, n - BGP C-Mroute suppressed,

Q - Received BGP S-A Route, q - Sent BGP S-A Route,

V - RD & Vector, v - Vector, p - PIM Joins on route,

x - VxLAN group, c - PFP-SA cache created entry,

* - determined by Assert, # - iif-starg configured on rpf intf,

e - encap-helper tunnel flag, l - LISP decap ref count contributor

Outgoing interface flags: H - Hardware switched, A - Assert winner, p - PIM Join

t - LISP transit group

Timers: Uptime/Expires

Interface state: Interface, Next-Hop or VCD, State/Mode

(*, 239.1.1.1), 00:21:04/00:00:06, RP 10.47.6.1, flags: SP

Incoming interface: Null, RPF nbr 0.0.0.0

Outgoing interface list: Null <-- Indicates no PIM (*,G) Join received, if there was an OIL, there would be (S,G)

Border-1向源10.47.7.2发送PIM (S，G)加入以吸引本地组播流量，这允许Edge-1更新(S，G) OIL

Edge-1#show ip mroute vrf blue_vn 239.1.1.1 10.47.7.3

IP Multicast Routing Table

Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,

L - Local, P - Pruned, R - RP-bit set, F - Register flag,

T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,

X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,

U - URD, I - Received Source Specific Host Report,

Z - Multicast Tunnel, z - MDT-data group sender,

Y - Joined MDT-data group, y - Sending to MDT-data group,

G - Received BGP C-Mroute, g - Sent BGP C-Mroute,

N - Received BGP Shared-Tree Prune, n - BGP C-Mroute suppressed,

Q - Received BGP S-A Route, q - Sent BGP S-A Route,

V - RD & Vector, v - Vector, p - PIM Joins on route,

x - VxLAN group, c - PFP-SA cache created entry,

* - determined by Assert, # - iif-starg configured on rpf intf,

e - encap-helper tunnel flag, l - LISP decap ref count contributor

Outgoing interface flags: H - Hardware switched, A - Assert winner, p - PIM Join

t - LISP transit group

Timers: Uptime/Expires

Interface state: Interface, Next-Hop or VCD, State/Mode

(10.47.7.2, 239.1.1.1), 01:19:57/00:02:29, flags: FT

Incoming interface: Vlan1025, RPF nbr 0.0.0.0 <-- Multicast source 10.47.7.2 is in VLAN 1025

Outgoing interface list:

LISP0.4100, 10.47.1.10, Forward/Sparse, 01:19:55/00:02:30, flags: <-- RLOC of Border-1

从10.47.7.2到239.1.1.1的组播流量通过单播VXLAN封装从10.47.6.6 (Border-1)转发出去。Border-1解封VXLAN流量，并将其重新封装到Edge-2 (10.47.1.13)

Border-1#show ip mroute vrf blue_vn 239.1.1.1

IP Multicast Routing Table

Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,

L - Local, P - Pruned, R - RP-bit set, F - Register flag,

T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,

X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,

U - URD, I - Received Source Specific Host Report,

Z - Multicast Tunnel, z - MDT-data group sender,

Y - Joined MDT-data group, y - Sending to MDT-data group,

G - Received BGP C-Mroute, g - Sent BGP C-Mroute,

N - Received BGP Shared-Tree Prune, n - BGP C-Mroute suppressed,

Q - Received BGP S-A Route, q - Sent BGP S-A Route,

V - RD & Vector, v - Vector, p - PIM Joins on route,

x - VxLAN group, c - PFP-SA cache created entry,

* - determined by Assert, # - iif-starg configured on rpf intf,

e - encap-helper tunnel flag, l - LISP decap ref count contributor

Outgoing interface flags: H - Hardware switched, A - Assert winner, p - PIM Join

t - LISP transit group

Timers: Uptime/Expires

Interface state: Interface, Next-Hop or VCD, State/Mode

(*, 239.1.1.1), 5d01h/00:03:14, RP 10.47.6.1, flags: S

Incoming interface: Null, RPF nbr 0.0.0.0

Outgoing interface list:

LISP0.4100, 10.47.1.13, Forward/Sparse, 5d01h/00:02:54, flags:

(10.47.7.2, 239.1.1.1), 00:02:28/00:00:30, flags: MT <-- Unicast Source

Incoming interface: LISP0.4100, RPF nbr 10.47.1.12   <-- RPF neighbor to get to the source (Edge-1)

Outgoing interface list:

LISP0.4100, 10.47.1.13, Forward/Sparse, 00:02:28/00:03:14, flags: <-- RLOC of Edge-2

最短路径树(SPT)切换

一旦最后一跳路由器(LHR) Edge-2沿着(*，G)树接收组播数据包，它将尝试执行SPT切换并将PIM (S，G)加入发送到Edge-1。

Edge-2#show ip mroute vrf blue_vn 239.1.1.1

IP Multicast Routing Table

Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,

L - Local, P - Pruned, R - RP-bit set, F - Register flag,

T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,

X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,

U - URD, I - Received Source Specific Host Report,

Z - Multicast Tunnel, z - MDT-data group sender,

Y - Joined MDT-data group, y - Sending to MDT-data group,

G - Received BGP C-Mroute, g - Sent BGP C-Mroute,

N - Received BGP Shared-Tree Prune, n - BGP C-Mroute suppressed,

Q - Received BGP S-A Route, q - Sent BGP S-A Route,

V - RD & Vector, v - Vector, p - PIM Joins on route,

x - VxLAN group, c - PFP-SA cache created entry,

* - determined by Assert, # - iif-starg configured on rpf intf,

e - encap-helper tunnel flag, l - LISP decap ref count contributor

Outgoing interface flags: H - Hardware switched, A - Assert winner, p - PIM Join

t - LISP transit group

Timers: Uptime/Expires

Interface state: Interface, Next-Hop or VCD, State/Mode

(*, 239.1.1.1), 4d23h/stopped, RP 10.47.6.1, flags: SJC

Incoming interface: LISP0.4100, RPF nbr 10.47.1.10

Outgoing interface list:

Vlan1025, Forward/Sparse-Dense, 4d23h/00:02:40, flags: <-- LHR creates the OIL because of receipt of an IGMP MR

(10.47.7.2, 239.1.1.1), 00:00:02/00:02:57, flags: JT <-- Unicast Source

Incoming interface: LISP0.4100, RPF nbr 10.47.1.12   <-- RPF neighbor to get to 10.47.7.2, which is Edge-1 RLOC

Outgoing interface list:

Vlan1025, Forward/Sparse-Dense, 00:00:02/00:02:57, flags: <-- Multicast traffic is forwarded into VLAN 1025, where 10.47.7.3 is

FHR (Edge-1)具有(S，G)直接指向Edge-2的RLOC

Edge-1#show ip mroute vrf blue_vn 239.1.1.1

IP Multicast Routing Table

Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,

L - Local, P - Pruned, R - RP-bit set, F - Register flag,

T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,

X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,

U - URD, I - Received Source Specific Host Report,

Z - Multicast Tunnel, z - MDT-data group sender,

Y - Joined MDT-data group, y - Sending to MDT-data group,

G - Received BGP C-Mroute, g - Sent BGP C-Mroute,

N - Received BGP Shared-Tree Prune, n - BGP C-Mroute suppressed,

Q - Received BGP S-A Route, q - Sent BGP S-A Route,

V - RD & Vector, v - Vector, p - PIM Joins on route,

x - VxLAN group, c - PFP-SA cache created entry,

* - determined by Assert, # - iif-starg configured on rpf intf,

e - encap-helper tunnel flag, l - LISP decap ref count contributor

Outgoing interface flags: H - Hardware switched, A - Assert winner, p - PIM Join

t - LISP transit group

Timers: Uptime/Expires

Interface state: Interface, Next-Hop or VCD, State/Mode

(*, 239.1.1.1), 5d01h/stopped, RP 10.47.6.1, flags: SCF

Incoming interface: LISP0.4100, RPF nbr 10.47.1.10

Outgoing interface list:

Vlan1025, Forward/Sparse-Dense, 5d01h/00:01:40, flags:

(10.47.7.2, 239.1.1.1), 01:53:06/00:02:42, flags: FT <-- Unicast Source

Incoming interface: Vlan1025, RPF nbr 0.0.0.0

Outgoing interface list:

LISP0.4100, 10.47.1.13, Forward/Sparse, 00:14:22/00:03:07, flags: <-- Edge-2's RLOC

数据平面验证（独立于平台）

可能有多种问题阻止组播源或组播接收器发送/接收流量。本节重点介绍如何验证会影响组播源和组播接收器的问题，重点介绍与硬件编程无关的问题。

源端验证

要验证组播源和FHR创建(S，G)的能力，请验证交换机集成安全功能(SISF)、LISP、思科快速转发(CEF)，然后验证RPF。

组播源必须位于SISF/IP设备跟踪(IPDT)中，IPDT驱动LISP的其余部分、CEF以及最终RPF。

您可以使用命令“show device-tracking database address <IP address>”确保组播源具有有效的IPDT条目。

Edge-1#show device-tracking database address 10.47.7.2

Codes: L - Local, S - Static, ND - Neighbor Discovery, ARP - Address Resolution Protocol, DH4 - IPv4 DHCP, DH6 - IPv6 DHCP, PKT - Other Packet, API - API created

Preflevel flags (prlvl):

0001:MAC and LLA match 0002:Orig trunk 0004:Orig access

0008:Orig trusted trunk 0010:Orig trusted access 0020:DHCP assigned

0040:Cga authenticated 0080:Cert authenticated 0100:Statically assigned

Network Layer Address Link Layer Address Interface vlan prlvl age  state     Time left

DH4  10.47.7.2             5254.0012.521d     Gi1/0/4   1025 0024  163s REACHABLE 81 s try 0(84284 s)

接下来，确保FHR上的LISP数据库包含组播源的条目。使用命令“show lisp instance-id <LISP L3 IID> ipv4 database ip address/32”

Edge-1#show lisp instance-id 4100 ipv4 database 10.47.7.2/32

LISP ETR IPv4 Mapping Database for LISP 0 EID-table vrf blue_vn (IID 4100), LSBs: 0x1

Entries total 1, no-route 0, inactive 0, do-not-register 1

10.47.7.3/32, dynamic-eid blue-IPV4, inherited from default locator-set rloc_691b1fe4-5264-44c2-bb1b-0903b3eb2c51

Uptime: 1w2d, Last-change: 1w2d

Domain-ID: local

Service-Insertion: N/A

Locator Pri/Wgt Source State

10.47.1.13 10/10 cfg-intf site-self, reachable

Map-server Uptime ACK Domain-ID

10.47.1.10 1w2d Yes 0

10.47.1.11 1w2d Yes 0

Edge-1#show ip lisp instance-id 4100 forwarding eid local 10.47.7.2

Prefix

10.47.7.2/32

CEF根据LISP创建条目，CEF指向/32主机条目而不是LISP。

Edge-1#show ip cef vrf blue_vn 10.47.7.2

10.47.7.2/32

nexthop 10.47.7.2 Vlan1025

接下来，RPF从CEF导出

Edge-1#show ip rpf vrf blue_vn 10.47.7.2

RPF information for (10.47.7.2)

RPF interface: Vlan1025

RPF neighbor: ? (10.47.7.2) - directly connected

RPF route/mask: 10.47.7.2/32

RPF type: unicast (lisp)

Doing distance-preferred lookups across tables

Multicast Multipath enabled.

RPF topology: ipv4 multicast base, originated from ipv4 unicast base

如果SISF/IPDT中没有有效条目，则会导致FHR上没有LISP数据库映射，从而导致CEF和RPF指向边框。如果组播源将流量RPF点发送到不正确的接口，从而导致RPF故障，则不会形成(S，G)。

Edge-1#show device-tracking database address 10.47.7.2

Codes: L - Local, S - Static, ND - Neighbor Discovery, ARP - Address Resolution Protocol, DH4 - IPv4 DHCP, DH6 - IPv6 DHCP, PKT - Other Packet, API - API created

Preflevel flags (prlvl):

0001:MAC and LLA match 0002:Orig trunk 0004:Orig access

0008:Orig trusted trunk 0010:Orig trusted access 0020:DHCP assigned

0040:Cga authenticated 0080:Cert authenticated 0100:Statically assigned

Network Layer Address Link Layer Address Interface vlan prlvl age state Time left

Edge-1#show lisp instance-id 4100 ipv4 database 10.47.7.2/32

% No database-mapping entry for 10.47.7.2/32.

Edge-1#show ip cef vrf blue_vn 10.47.7.2

10.47.7.0/24

nexthop 10.47.1.10 LISP0.4100 <-- Result of a LISP Negative Map-Reply, so the LISP interface is now the RPF interface

nexthop 10.47.1.11 LISP0.4100 <-- Result of a LISP Negative Map-Reply, so the LISP interface is now the RPF interface

Edge-1#show ip rpf vrf blue_vn 10.47.7.2

RPF information for (10.47.7.2)

RPF interface: LISP0.4100

RPF neighbor: ? (10.47.1.11)

RPF route/mask: 10.47.7.2/32

RPF type: unicast ()

Doing distance-preferred lookups across tables

Multicast Multipath enabled.

RPF topology: ipv4 multicast base

为防止发生这种情况，请将组播源视为静默主机，其中IP定向广播、泛洪、静态SISF/IPDT绑定可以解决此问题。

源注册

PIM注册是单播数据包流，它像使用任何其他单播数据包一样使用LISP/VXLAN。通过多项必要检查可以验证FHR是否可以将多播源正确注册到任播RP。

首先，请确保为GDA正确配置任播RP。

Edge-1#show ip pim vrf blue_vn rp 239.1.1.1

Group: 239.1.1.1, RP: 10.47.6.1, uptime 5d22h, expires never

确保PIM寄存器隧道已形成。

Edge-1#show ip pim vrf blue_vn tunnel

Tunnel1

Type : PIM Encap

RP : 10.47.6.1 <-- This is from "ip pim vrf blue_vn rp-address 10.47.6.1 ASM_ACL_IPV4_blue_vn_10.47.6.1"

Source : 10.47.6.4 <-- This is from "ip pim vrf blue_vn register-source Loopback4100"

State : UP

Last event : Created (1w2d)

确保任播RP的IP可达性

Edge-1#show ip cef vrf blue_vn 10.47.6.1

10.47.6.1/32

nexthop 10.47.1.10 LISP0.4100 <-- RLOC of Border-1

nexthop 10.47.1.11 LISP0.4100 <-- RLOC of Border-2

Edge-1#ping vrf blue_vn 10.47.6.1 source lo4100

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 10.47.6.1, timeout is 2 seconds:

Packet sent with a source address of 10.47.6.4

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 257/275/294 ms

接收方验证

- 确保组播接收器正在发送IGMP MR。

- 确保已启用IGMP监听。仅L2 VN是唯一没有启用IGMP监听的VN类型

- 确保没有配置会丢弃IGMP MR的端口ACL、VLAN ACL、路由端口ACL。

- 验证IGMP MR的版本，如果组播接收器是IGMPv3，则默认情况下是IGMPv2，需要“ip igmp version 3”

- 确保未配置“ip option drop”

LHR PIM (*，G)验证

- 确保LHR是接收方子网/网段的PIM DR

- 确保未配置“ip multicast group-range”

- 确保没有配置会丢弃IGMP MR的端口ACL、VLAN ACL、路由端口ACL。

- 确保没有丢弃该IGMP MR的高CPU或控制平面策略(CoPP)。

LHR PIM共享树验证

确保为组播组配置RP

Edge-2#show ip mroute vrf blue_vn 239.1.1.1

IP Multicast Routing Table

Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,

L - Local, P - Pruned, R - RP-bit set, F - Register flag,

T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,

X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,

U - URD, I - Received Source Specific Host Report,

Z - Multicast Tunnel, z - MDT-data group sender,

Y - Joined MDT-data group, y - Sending to MDT-data group,

G - Received BGP C-Mroute, g - Sent BGP C-Mroute,

N - Received BGP Shared-Tree Prune, n - BGP C-Mroute suppressed,

Q - Received BGP S-A Route, q - Sent BGP S-A Route,

V - RD & Vector, v - Vector, p - PIM Joins on route,

x - VxLAN group, c - PFP-SA cache created entry,

* - determined by Assert, # - iif-starg configured on rpf intf,

e - encap-helper tunnel flag, l - LISP decap ref count contributor

Outgoing interface flags: H - Hardware switched, A - Assert winner, p - PIM Join

t - LISP transit group

Timers: Uptime/Expires

Interface state: Interface, Next-Hop or VCD, State/Mode

(*, 239.1.1.1), 6d01h/stopped, RP 10.47.6.1, flags: SCF

Incoming interface: LISP0.4100, RPF nbr 10.47.1.10

Outgoing interface list:

Vlan1025, Forward/Sparse-Dense, 6d01h/00:01:34, flags:

确保任意播RP的RPF是正确的

Edge-2#show ip cef vrf blue_vn 10.47.6.1

10.47.6.1/32

nexthop 10.47.1.10 LISP0.4100

nexthop 10.47.1.11 LISP0.4100

Edge-2#show ip rpf vrf blue_vn 10.47.6.1

RPF information for (10.47.6.1)

RPF interface: LISP0.4100

RPF neighbor: ? (10.47.1.10)

RPF route/mask: 10.47.6.1/32

RPF type: unicast ()

Doing distance-preferred lookups across tables

Multicast Multipath enabled.

RPF topology: ipv4 multicast base

MFIB转发-源端验证

您可以使用命令“show ip mfib vrf <VN Name> <multicast group> <unicast source> verbose”获取有关数据包转发的其他信息

Edge-1#show ip mfib vrf blue_vn 239.1.1.1 10.47.7.2 verbose

Entry Flags: C - Directly Connected, S - Signal, IA - Inherit A flag,

ET - Data Rate Exceeds Threshold, K - Keepalive

DDE - Data Driven Event, HW - Hardware Installed

ME - MoFRR ECMP entry, MNE - MoFRR Non-ECMP entry, MP - MFIB

MoFRR Primary, RP - MRIB MoFRR Primary, P - MoFRR Primary

MS - MoFRR Entry in Sync, MC - MoFRR entry in MoFRR Client,

e - Encap helper tunnel flag.

I/O Item Flags: IC - Internal Copy, NP - Not platform switched,

NS - Negate Signalling, SP - Signal Present,

A - Accept, F - Forward, RA - MRIB Accept, RF - MRIB Forward,

MA - MFIB Accept, A2 - Accept backup,

RA2 - MRIB Accept backup, MA2 - MFIB Accept backup

Forwarding Counts: Pkt Count/Pkts per second/Avg Pkt Size/Kbits per second

Other counts: Total/RPF failed/Other drops

I/O Item Counts: HW Pkt Count/FS Pkt Count/PS Pkt Count Egress Rate in pps

VRF blue_vn

(10.47.7.2,239.1.1.1) Flags: K HW DDE

0x42 OIF-IC count: 0, OIF-A count: 1

SW Forwarding: 0/0/0/0, Other: 272/272/0

HW Forwarding: 7431223059161284608/0/0/0, Other: 0/0/0

Vlan1025 Flags: RA A MA NS

LISP0.4100, 10.47.1.13 Flags: RF F NS <-- RLOC of Edge-2

CEF: Adjacency with MAC: 4500000000004000001164770A2F010D0A2F010C000012B5000000000840000000100400BA25CDF4AD3852540017FE730000

Pkts: 0/0/0 Rate: 0 pps

Edge-1#show adjacency lisp0.4100

Protocol Interface Address

IP LISP0.4100 10.47.1.10(23)

IP LISP0.4100 10.47.1.11(27)

IP LISP0.4100 10.47.1.13(8)

Edge-2#show adjacency lisp0.4100 10.47.1.13 detail

Protocol Interface Address

IP LISP0.4100 10.47.1.13(8)

0 packets, 0 bytes

epoch 0

sourced in sev-epoch 14

Encap length 50

4500000000004000001164770A2F010D

0A2F010C000012B50000000008400000

00100400BA25CDF4AD3852540017FE73

0000

L2 destination address byte offset 0

L2 destination address byte length 0

Link-type after encap: ip

LISP

Next chain element:

IP adj out of GigabitEthernet1/0/1, addr 10.47.1.6

EPC可用于验证组播数据包的VXLAN封装

Edge-1#monitor capture 1 interface GigabitEthernet1/0/4 IN

Edge-1#monitor capture 1 interface GigabitEthernet1/0/1 OUT

Edge-1#monitor capture 1 match any

Edge-1#monitor capture 1 buffer size 10

Edge-1#monitor capture 1 limit pps 1000

Edge-1#monitor capture 1 start

Edge-1#monitor capture 1 stop

Edge-1#show monitor capture 1 buffer brief

Starting the packet display ........ Press Ctrl + Shift + 6 to exit

1 0.000000 10.47.7.2 -> 239.1.1.1 ICMP 98 Echo (ping) request id=0x0008, seq=28213/13678, ttl=5 <-- Packet as it ingresses the FHR, TTL is 5

2 0.014254 10.47.7.2 -> 239.1.1.1 ICMP 148 Echo (ping) request id=0x0008, seq=28213/13678, ttl=4 <-- Packet as it leaves the FHR, TTL is 4 as is it decremented

MFIB转发-接收方端验证

底层网络使用单播路由将此数据包从Edge-1路由到Edge-2。

Edge-2#show ip mroute vrf blue_vn 239.1.1.1 10.47.7.2

IP Multicast Routing Table

Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,

L - Local, P - Pruned, R - RP-bit set, F - Register flag,

T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,

X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,

U - URD, I - Received Source Specific Host Report,

Z - Multicast Tunnel, z - MDT-data group sender,

Y - Joined MDT-data group, y - Sending to MDT-data group,

G - Received BGP C-Mroute, g - Sent BGP C-Mroute,

N - Received BGP Shared-Tree Prune, n - BGP C-Mroute suppressed,

Q - Received BGP S-A Route, q - Sent BGP S-A Route,

V - RD & Vector, v - Vector, p - PIM Joins on route,

x - VxLAN group, c - PFP-SA cache created entry,

* - determined by Assert, # - iif-starg configured on rpf intf,

e - encap-helper tunnel flag, l - LISP decap ref count contributor

Outgoing interface flags: H - Hardware switched, A - Assert winner, p - PIM Join

t - LISP transit group

Timers: Uptime/Expires

Interface state: Interface, Next-Hop or VCD, State/Mode

(10.47.7.2, 239.1.1.1), 00:01:39/00:01:20, flags: JT

Incoming interface: LISP0.4100, RPF nbr 10.47.1.12

Outgoing interface list:

Vlan1025, Forward/Sparse-Dense, 00:01:39/00:02:45, flags:

使用show ip mfib vrf <VN Name> <group address> <unicast source> counters命令可以确保硬件转发计数器增加

Edge-2#show ip mfib vrf blue_vn 239.1.1.1 counters

Forwarding Counts: Pkt Count/Pkts per second/Avg Pkt Size/Kilobits per second

Other counts: Total/RPF failed/Other drops(OIF-null, rate-limit etc)

VRF blue_vn

12 routes, 7 (*,G)s, 4 (*,G/m)s

Group: 239.1.1.1

RP-tree,

SW Forwarding: 0/0/0/0, Other: 0/0/0

HW Forwarding: 0/0/2/0, Other: 0/0/0

Source: 10.47.7.2,

SW Forwarding: 0/0/0/0, Other: 2/1/1

HW Forwarding: 6118996613340856320/0/0/0, Other: 0/0/0

Totals - Source count: 1, Packet count: 6118996613340856320

Edge-2#show ip igmp snooping groups vlan 1025 239.1.1.1

Vlan Group     Type Version Port List

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

1025 239.1.1.1 igmp v2      Gi1/0/4

您可以使用出口组播计数器验证组播流量是否已离开LHR并流向组播接收器。使用命令“show controllers ethernet-controller <interface> | include Multicast|Transmit”

Edge-2#show controllers ethernet-controller g1/0/4 | include Multicast|Transmit

Transmit                  GigabitEthernet1/0/5          Receive

426729240 Total bytes                                   100803109 Total bytes

5732 Unicast frames                                     949355 Unicast frames

5732 Unicast bytes                                      93563018 Unicast bytes

4388433 Multicast frames                                32346 Multicast frames

4388433 Multicast bytes                                 7236178 Multicast bytes

<snip>

Edge-2#show controllers ethernet-controller g1/0/5 | include |Multicast|Transmit

Transmit                  GigabitEthernet1/0/5          Receive

426742895 Total bytes                                   100813570 Total bytes

5733 Unicast frames                                     949456 Unicast frames

5733 Unicast bytes                                      93573016 Unicast bytes

4388569 Multicast frames                                32348 Multicast frames

4388569 Multicast bytes                                 7236641 Multicast bytes

验证离开LHR的组播流量的另一种方式是对组播接收器执行EPC。

Edge-2#show monitor capture 1 buffer brief

Starting the packet display ........ Press Ctrl + Shift + 6 to exit

1 0.168401 10.47.7.2 -> 239.1.1.1 ICMP 106 Echo (ping) request id=0x0008, seq=35903/16268, ttl=3

2 0.969138 10.47.7.2 -> 239.1.1.1 ICMP 106 Echo (ping) request id=0x0008, seq=35904/16524, ttl=3

数据平面验证（取决于平台）

(S，G)创建- CPU传送路径

为了使FHR创建(S，G)状态，从多播源发送的一些多播数据包被传送到CPU以由MFIB处理。组播数据包将发送到FED队列“CPU_Q_MCAST_DATA”

Edge-1#show platform software fed switch active punt cpuq 30

Punt CPU Q Statistics

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

CPU Q Id : 30

CPU Q Name : CPU_Q_MCAST_DATA

Packets received from ASIC : 27124

Send to IOSd total attempts : 27124

Send to IOSd failed count : 0

RX suspend count : 0

RX unsuspend count : 0

RX unsuspend send count : 0

RX unsuspend send failed count : 0

RX consumed count : 0

RX dropped count : 0

RX non-active dropped count : 0

RX conversion failure dropped : 0

RX INTACK count : 0

RX packets dq'd after intack : 0

Active RxQ event : 0

RX spurious interrupt : 0

RX phy_idb fetch failed: 0

RX table_id fetch failed: 0

RX invalid punt cause: 0

Replenish Stats for all rxq:

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

Number of replenish : 0

Number of replenish suspend : 0

Number of replenish un-suspend : 0

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

此外，用于MCAST数据的CoPP队列不能有任何丢失。使用命令“show platform hardware fed active qos queue stats internal cpu policer | 包括MCAST Data|QId"

Edge-1#show platform hardware fed active qos queue stats internal cpu policer | include MCAST Data|QId

QId PlcIdx                                   Queue  Name               Enabled   Rate     Rate      Drop(Bytes) Drop(Frames)

30   9                                       MCAST  Data                 No      500      400       0           0

如果流量来自直接连接的源，则它由“直接连接的源”的Linux共享内存传送接口(LSMPI)队列处理，如果它来自(S，G)加入，则它是“Mcast PIM信令”

使用命令“show platform software infrastructure lsmpi punt | include Cause|Mcast"

Edge-1#show platform software infrastructure lsmpi punt | include Cause|Mcast

Cause                           Total        Total      Length        Dot1q encap        Other        SKB

Mcast Directly Connected Source 0            27038      0             0                  0            0

Mcast IPv4 Options data packet  0            0          0             0                  0            0

Mcast Internal Copy             0            0          0             0                  0            0

Mcast IGMP Unroutable           0            0          0             0                  0            0

Mcast PIM signaling             0            0          0             0                  0            0

Mcast punt to RP                0            0          0             0                  0            0

Mcast UDLR                      0            0          0             0                  0            0

接下来，可以执行FED Punject数据包捕获，以查看CPU上来自源和组的组播数据包，从而确认传入接口和CPU队列。

Edge-1#debug platform software fed switch active punt packet-capture set-filter "ip.addr==239.1.1.1"

Edge-1#debug platform software fed switch active punt packet-capture start

Edge-1#debug platform software fed switch active punt packet-capture stop

Punt packet capturing stopped. Captured 2 packet(s)

Edge-1#show platform software fed switch active punt packet-capture brief

Punt packet capturing: disabled. Buffer wrapping: disabled

Total captured so far: 2 packets. Capture capacity : 4096 packets

Capture filter : "ip.addr==239.255.255.254"

------ Punt Packet Number: 1, Timestamp: 2024/08/26 15:38:27.341 ------

interface : physical: GigabitEthernet1/0/4[if-id: 0x0000000c], pal: Vlan1025 [if-id: 0x0000001d]

metadata : cause: 12 [Mcast Directly Connected Source], sub-cause: 0, q-no: 30, linktype: MCP_LINK_TYPE_IP [1]

ether hdr : dest mac: 0100.5e7f.fffe, src mac: 5254.0012.521d

ether hdr : ethertype: 0x0800 (IPv4)

ipv4 hdr : dest ip: 239.1.1.1, src ip: 10.47.7.2

ipv4 hdr : packet len: 84, ttl: 5, protocol: 1 (ICMP)

icmp hdr : icmp type: 8, code: 0

Mroute硬件编程- IOS Mroute

(S，G)的硬件编程使用与任何其他编程路径相同的结构：IOS到FMAN RP到FMAN FP、FED。

Edge-1#show ip mroute vrf blue_vn 239.1.1.1

IP Multicast Routing Table

Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,

L - Local, P - Pruned, R - RP-bit set, F - Register flag,

T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,

X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,

U - URD, I - Received Source Specific Host Report,

Z - Multicast Tunnel, z - MDT-data group sender,

Y - Joined MDT-data group, y - Sending to MDT-data group,

G - Received BGP C-Mroute, g - Sent BGP C-Mroute,

N - Received BGP Shared-Tree Prune, n - BGP C-Mroute suppressed,

Q - Received BGP S-A Route, q - Sent BGP S-A Route,

V - RD & Vector, v - Vector, p - PIM Joins on route,

x - VxLAN group, c - PFP-SA cache created entry,

* - determined by Assert, # - iif-starg configured on rpf intf,

e - encap-helper tunnel flag, l - LISP decap ref count contributor

Outgoing interface flags: H - Hardware switched, A - Assert winner, p - PIM Join

t - LISP transit group

Timers: Uptime/Expires

Interface state: Interface, Next-Hop or VCD, State/Mode

(*, 239.255.255.254), 00:08:29/stopped, RP 10.47.6.1, flags: SCF <-- Anycast RP address

Incoming interface: LISP0.4100, RPF nbr 10.47.1.10 <-- RLOC of Border-1

Outgoing interface list:

Vlan1025, Forward/Sparse-Dense, 00:08:29/00:00:30, flags:

(10.47.7.2, 239.1.1.1), 00:08:28/00:02:54, flags: FT <-- Unicast source

Incoming interface: Vlan1025, RPF nbr 0.0.0.0 <-- Multicast source is in VLAN 1025

Outgoing interface list:

LISP0.4100, 10.47.1.13, Forward/Sparse, 00:08:23/00:03:07, flags: <-- Forwarding to Edge-2

Mroute硬件编程- IOS MFIB

然后，组播路由将添加到组播转发信息库(MFIB)，这类似于路由信息库(RIB)添加到思科快速转发(CEF)的方式，组播等效项是MFIB。

Edge-1#show ip mfib vrf blue_vn 239.1.1.1 10.47.7.2 verbose

Entry Flags: C - Directly Connected, S - Signal, IA - Inherit A flag,

ET - Data Rate Exceeds Threshold, K - Keepalive

DDE - Data Driven Event, HW - Hardware Installed

ME - MoFRR ECMP entry, MNE - MoFRR Non-ECMP entry, MP - MFIB

MoFRR Primary, RP - MRIB MoFRR Primary, P - MoFRR Primary

MS - MoFRR Entry in Sync, MC - MoFRR entry in MoFRR Client,

e - Encap helper tunnel flag.

I/O Item Flags: IC - Internal Copy, NP - Not platform switched,

NS - Negate Signalling, SP - Signal Present,

A - Accept, F - Forward, RA - MRIB Accept, RF - MRIB Forward,

MA - MFIB Accept, A2 - Accept backup,

RA2 - MRIB Accept backup, MA2 - MFIB Accept backup

Forwarding Counts: Pkt Count/Pkts per second/Avg Pkt Size/Kbits per second

Other counts: Total/RPF failed/Other drops

I/O Item Counts: HW Pkt Count/FS Pkt Count/PS Pkt Count Egress Rate in pps

VRF blue_vn

(10.47.7.2,239.1.1.1) Flags: K HW DDE <-- Multicast source and GDA

0x21 OIF-IC count: 0, OIF-A count: 1

SW Forwarding: 0/0/0/0, Other: 2/2/0

HW Forwarding: 0/0/0/0, Other: 0/0/0

Vlan1025 Flags: RA A MA NS

LISP0.4100, 10.47.1.13 Flags: RF F NS <-- RLOC of Edge-2 and the RPF interface to reach 10.47.1.13

CEF: Adjacency with MAC: 4500000000004000001164770A2F010D0A2F010C000012B5000000000840000000100400BA25CDF4AD3852540017FE730000

Pkts: 0/0/0 Rate: 0 pps

Mroute硬件编程- RP MFIB

使用命令“show platform software ip switch active r0 mfib vrf index <VRF index> group <GDA/32>”

Edge-1#show vrf detail blue_vn | inc Id

VRF blue_vn (VRF Id = 2); default RD <not set>; default VPNID <not set>

Edge-1#show platform software ip switch active r0 mfib vrf index 2 group 239.1.1.1/32

Route flags:

S - Signal; C - Directly connected;

IA - Inherit A Flag; L - Local;

BR - Bidir route

*, 239.1.1.1/32 --> OBJ_INTF_LIST (0x6b)

Obj id: 0x6b, Flags: C

OM handle: 0x34803c47f0

Edge-2#show platform software ip switch active r0 mfib vrf index 2 group address 239.1.1.1 10.47.7.2

Route flags:

S - Signal; C - Directly connected;

IA - Inherit A Flag; L - Local;

BR - Bidir route

239.1.1.1, 10.47.7.2/64 --> OBJ_INTF_LIST (0x21)

Obj id: 0x21, Flags: unknown

OM handle: 0x34803c4088

Mroute硬件编程- FP MFIB

相同路由的FMAN RP条目包括异步对象管理器(AOM) ID，此AOM ID用于验证进一步的编程。

使用命令“show platform software ip switch active f0 mfib vrf index <VRF Index> group <GDA/32>”

Edge-1#show platform software ip switch active f0 mfib vrf index 2 group 239.1.1.1/32

Route flags:

S - Signal; C - Directly connected;

IA - Inherit A Flag; L - Local;

BR - Bidir route

*, 239.1.1.1/32 --> OBJ_INTF_LIST (0x6b)

Obj id: 0x6b, Flags: C

aom id: 29154, HW handle: (nil) (created)

Edge-1#show platform software ip switch active f0 mfib vrf index 2 group address 239.1.1.1 10.47.7.2

Route flags:

S - Signal; C - Directly connected;

IA - Inherit A Flag; L - Local;

BR - Bidir route

239.1.1.1., 10.47.7.2/64 --> OBJ_INTF_LIST (0x21)

Obj id: 0x21, Flags: unknown

aom id: 36933, HW handle: (nil) (created)

Mroute硬件编程- Mroute对象

使用AOM ID，使用object-manager命令检查(*，G)和(S，G)的对象和父对象。 您可以使用命令“show platform software object-manager switch active f0 object <AOM ID>”或“show platform software object-manager switch active f0 object <AOM ID> parents”

每个mroute有两个父对象。其中一个对象引用ipv4_mcast表，另一个对象是mlist，用于后续命令。

Edge-1#show platform software object-manager switch active f0 object 29154

Object identifier: 29154

Description: PREFIX 0.0.0.0 , 239.1.1.1/32 (Table id 2)

Obj type id: 72

Obj type: mroute-pfx

Status: Done, Epoch: 0, Client data: 0xa3e23c48

Edge-1#show platform software object-manager switch active f0 object 29154 parents

Object identifier: 26509

Description: ipv4_mcast table 2 (blue_vn), vrf id 2

Status: Done

Object identifier: 29153

Description: mlist 107

Status: Done

Edge-1#show platform software object-manager switch active f0 object 36933

Object identifier: 36933

Description: PREFIX 10.47.7.2 , 239.1.1.164 (Table id 2)

Obj type id: 72

Obj type: mroute-pfx

Status: Done, Epoch: 0, Client data: 0xa413c928

Edge-1#show platform software object-manager switch active f0 object 36933 parents

Object identifier: 26509

Description: ipv4_mcast table 2 (blue_vn), vrf id 2

Status: Done

Object identifier: 47695

Description: mlist 33

Status: Done

Mroute硬件编程- Mlist对象

MLIST对象是传入接口和传出接口列表的组合。您可以使用命令“show platform software mlist switch active f0 index <index>”

This is for (*,G)

Edge-1#show platform software mlist switch active f0 index 107

Multicast List entries

OCE Flags:

NS - Negate Signalling; IC - Internal copy;

A - Accept; F - Forward;

OCE         Type                   OCE Flags   Interface

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

0xf8000171  OBJ_ADJACENCY          A           LISP0.4100 <-- A Flag indicates an Incoming interface for (*,G)

0xf80001d1  OBJ_ADJACENCY          NS, F       Vlan1025   <-- F Flag indicates an Outgoing interface for (*,G)

This is for (S,G)

Edge-1#show platform software mlist switch active f0 index 33

Multicast List entries

OCE Flags:

NS - Negate Signalling; IC - Internal copy;

A - Accept; F - Forward;

OCE         Type                   OCE Flags      Interface

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

0x5c        OBJ_ADJACENCY          NS, F          LISP0.4100  <-- F Flag indicates an Outgoing interface(s), for (S,G)

0xf80001d1  OBJ_ADJACENCY          A              Vlan1025    <-- A Flag indicates an Incoming interface, for (S,G)

Mroute硬件编程- FED Mroute

要验证FED编程，请使用命令“show platform software fed switch active ip mfib vrf <VN Name> <GDA> <unicast source>”

Edge-1#show platform software fed switch active ip mfib vrf blue_vn 239.1.1.1 10.47.7.2

Multicast (S,G) Information

VRF : 2

Source Address : 10.47.7.2

HTM Handler : 0x7f45d98c7728

SI Handler : 0x7f45d9a44a28

DI Handler : 0x7f45d9bcb2d8

REP RI handler : 0x7f45d97e7188

Flags :

Packet count : 0

State : 4

RPF :

Vlan1025 A

OIF :

Vlan1025 A

LISP0.4100 F NS

(Adj: 0x5c )

重写索引提供关于组播流量封装的信息，即头端复制所利用的信息。您可以使用命令“show platform hardware fed switch active fwd-asic abstraction print-resource-handle <REP RI Handle> 1”

Edge-1#show platform hardware fed switch active fwd-asic abstraction print-resource-handle 0x7f45d97e7188 1

Handle:0x7f45d97e7188 Res-Type:ASIC_RSC_RI_REP Res-Switch-Num:255 Asic-Num:255 Feature-ID:AL_FID_L3_MULTICAST_IPV4 Lkp-ftr-id:LKP_FEAT_INVALID ref_count:1

priv_ri/priv_si Handle: (nil)Hardware Indices/Handles: index0:0x19 mtu_index/l3u_ri_index0:0x0 index1:0x19 mtu_index/l3u_ri_index1:0x0

Cookie length: 56

00 00 00 00 00 00 00 00 02 00 00 00 03 07 2f 0a fe ff ff ef 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Detailed Resource Information (ASIC_INSTANCE# 0)

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

Replication list RI handle = 7f45d97e7188

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

ASIC [0] Replication Expansion Handle [0x7f45d9b9c048]

Replication list :

Number of RIs = 6

Start RI = 25

Common rewrite = No

Replication REP_RI 0x19 [elements = 1]

[0] ri_list[0]=4 RI_MCAST_BRIDGE_V6 port=88 ri_ref_count:1 dirty=0

RIL first:4 last:4 start:4 ril_total:4 ref_count:0

RI list this:4 num_pairs:4 free:3 next:0 prev:0 ---->

uri1:50 ri_ref_count_1:1 uri0:26 ri_ref_count_0:1 ptr_type:0 last:1 dirty:1

uri1:49151 ri_ref_count_1:0 uri0:49151 ri_ref_count_0:1 ptr_type:1 last:1 dirty:1

uri1:49151 ri_ref_count_1:0 uri0:49151 ri_ref_count_0:0 ptr_type:1 last:1 dirty:0

uri1:49151 ri_ref_count_1:0 uri0:49151 ri_ref_count_0:0 ptr_type:1 last:1 dirty:0

<snip>

接下来，使用URI值验证重写索引范围。使用命令“show platform hardware fed switch active fwd-asic resource asic all rewrite-index range <URI> <URI>”

Edge-1#show platform hardware fed switch active fwd-asic resource asic all rewrite-index range 50 50

ASIC#:0 RI:50 Rewrite_type:AL_RRM_REWRITE_IPV4_VXLAN_INNER_IPV4_ENCAP(110) Mapped_rii:LVX_L3_ENCAP_L2_PAYLOAD(123)

Dst Mac: MAC Addr: ba:25:cd:f4:ad:38,

Src IP: 10.47.1.12 <-- RLOC of Edge-1

Dst IP: 10.47.1.13 <-- RLOC of Edge-2

IPv4 TTL: 0

LISP INSTANCEID: 0

L3IF LE Index: 49

ASIC#:1 RI:50 Rewrite_type:AL_RRM_REWRITE_IPV4_VXLAN_INNER_IPV4_ENCAP(110) Mapped_rii:LVX_L3_ENCAP_L2_PAYLOAD(123)

Dst Mac: MAC Addr: ba:25:cd:f4:ad:38,

Src IP: 10.47.1.12 <-- RLOC of Edge-1

Dst IP: 10.47.1.13 <-- RLOC of Edge-2

IPv4 TTL: 0

LISP INSTANCEID: 0

L3IF LE Index: 49

接下来，从上一个命令获取RI以进行进一步验证。使用命令“show platform software fed switch active ip mfib vrf <VN Name> <GDA> <source>”

Edge-1#show platform software fed switch active ip mfib vrf blue_vn 239.1.1.1 10.47.7.2

Multicast (S,G) Information

VRF : 2

Source Address : 10.47.7.2

HTM Handler : 0x7f45d98c7728

SI Handler : 0x7f45d9a44a28

DI Handler : 0x7f45d9bcb2d8

REP RI handler : 0x7f45d97e7188

Flags :

Packet count : 0

State : 4

RPF :

Vlan1025 A

OIF :

Vlan1025 A

LISP0.4100 F NS

(Adj: 0x5c )

使用命令“show platofmr software fed switch active ip adj | include <destination RLOC>"

Edge-1#show platform software fed switch active ip adj 10.47.1.12

IPV4 Adj entries

dest       if_name    dst_mac        si_hdl         ri_hdl          pd_flags adj_id Last-modified

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

10.47.1.12 LISP0.4100 4500.0000.0000 0x7f45d9a4a5e8 0x7f45d9a4a798  0x60     0x5c   2024/08/21 16:18:58.948 <-- 0x5c matches the Adj in the previous command

在LHR上，您可以验证目标索引以查看组播数据包转发到的位置，即组播接收方。您可以使用命令“show platform software fed switch active ip mfib vrf <VN Name> <GDA> <source>”

Edge-2#show platform software fed switch active ip mfib vrf blue_vn 239.1.1.1 10.47.7.2

Multicast (S,G) Information

VRF : 2

Source Address : 10.47.7.2

HTM Handler : 0x7f0efdad33a8

SI Handler : 0x7f0efdad2648

DI Handler : 0x7f0efdad7668

REP RI handler : 0x7f0efdad4858

Flags :

Packet count : 0

State : 4

RPF :

LISP0.4100 A

OIF :

Vlan1025 F NS

LISP0.4100 A

(Adj: 0xf8000171 )

使用DI处理程序并在命令“show platform hardware fed switch active fwd-asic abstraction print-resource-handle <DI handle> 1”中使用

Edge-2#show platform hardware fed switch active fwd-asic abstraction print-resource-handle 0x7f0efdad7668 1

Handle:0x7f0efdad7668 Res-Type:ASIC_RSC_DI Res-Switch-Num:255 Asic-Num:255 Feature-ID:AL_FID_L3_MULTICAST_IPV4 Lkp-ftr-id:LKP_FEAT_INVALID ref_count:1

priv_ri/priv_si Handle: (nil)Hardware Indices/Handles: index0:0x527c mtu_index/l3u_ri_index0:0x0 index1:0x527c mtu_index/l3u_ri_index1:0x0

Cookie length: 56

00 00 00 00 00 00 00 00 02 00 00 00 03 07 2f 0a fe ff ff ef 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Detailed Resource Information (ASIC_INSTANCE# 0)

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

Destination index = 0x527c

pmap = 0x00000000 0x00000010

pmap_intf : [GigabitEthernet1/0/4]

cmi = 0x0

rcp_pmap = 0x0

al_rsc_cmi

CPU Map Index (CMI) [0]

ctiLo0 = 0

ctiLo1 = 0

ctiLo2 = 0

cpuQNum0 = 0

cpuQNum1 = 0

cpuQNum2 = 0

npuIndex = 0

stripSeg = 0

copySeg = 0

Detailed Resource Information (ASIC_INSTANCE# 1)

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

Destination index = 0x527c

pmap = 0x00000000 0x00000000

cmi = 0x0

rcp_pmap = 0x0

al_rsc_cmi

CPU Map Index (CMI) [0]

ctiLo0 = 0

ctiLo1 = 0

ctiLo2 = 0

cpuQNum0 = 0

cpuQNum1 = 0

cpuQNum2 = 0

npuIndex = 0

stripSeg = 0

copySeg = 0

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