Skip to content

Commit

Permalink
tests: Verify PIM RP on an FHR
Browse files Browse the repository at this point in the history
Test PIM on a multi-VRF setup where the FHR is the RP.
Verify the pimreg interface in VRF blue and red,
and multicast stream from H1 goes out on both the VRFs.
Basically, this test verifies RP when the FHR is directly
connected to the sender.

Signed-off-by: Rajesh Varatharaj <[email protected]>
  • Loading branch information
routingrocks committed Dec 16, 2024
1 parent 3bebb7b commit 3a10425
Show file tree
Hide file tree
Showing 24 changed files with 370 additions and 0 deletions.
Empty file.
10 changes: 10 additions & 0 deletions tests/topotests/pim_vrf_fhr_rp/h1/zebra.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
!
hostname h1
log file zebra.log
!
interface h1-eth0
description connection to r1 via sw1
ip address 192.168.100.10/24
!
ip route 0.0.0.0/0 192.168.100.1
!
8 changes: 8 additions & 0 deletions tests/topotests/pim_vrf_fhr_rp/h2/zebra.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
hostname h2
!
interface h2-eth0
description connection to r1 via sw2
ip address 192.168.101.2/24
!
ip route 0.0.0.0/0 192.168.101.1
!
10 changes: 10 additions & 0 deletions tests/topotests/pim_vrf_fhr_rp/h3/zebra.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
!
hostname h3
log file zebra.log
!
interface h3-eth0
description connection to r1 via sw3
ip address 192.168.100.20/24
!
ip route 0.0.0.0/0 192.168.100.1
!
8 changes: 8 additions & 0 deletions tests/topotests/pim_vrf_fhr_rp/h4/zebra.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
hostname h4
!
interface h4-eth0
description connection to r1 via sw4
ip address 192.168.101.4/24
!
ip route 0.0.0.0/0 192.168.101.1
!
15 changes: 15 additions & 0 deletions tests/topotests/pim_vrf_fhr_rp/r1/ospf_blue_neighbor.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"blue":{
"vrfName":"blue",
"neighbors":{
"192.168.0.11":[
{
"nbrPriority":10,
"converged":"Full",
"ifaceAddress":"192.168.101.11",
"ifaceName":"r1-eth1:192.168.101.1"
}
]
}
}
}
16 changes: 16 additions & 0 deletions tests/topotests/pim_vrf_fhr_rp/r1/ospf_red_neighbor.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"red":{
"vrfName":"red",
"neighbors":{
"192.168.0.12":[
{
"nbrPriority":10,
"converged":"Full",
"ifaceAddress":"192.168.101.12",
"ifaceName":"r1-eth3:192.168.101.1"
}
]
}
}
}

26 changes: 26 additions & 0 deletions tests/topotests/pim_vrf_fhr_rp/r1/ospfd.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
hostname r1
!
! debug ospf event
!
!
interface r1-eth1
ip ospf hello-interval 2
ip ospf dead-interval 10
ip ospf priority 20
!
interface r1-eth3
ip ospf hello-interval 2
ip ospf dead-interval 10
ip ospf priority 20
!
router ospf vrf blue
ospf router-id 192.168.0.1
network 192.168.0.1/32 area 0
network 192.168.100.0/24 area 0
network 192.168.101.0/24 area 0
router ospf vrf red
ospf router-id 192.168.0.1
network 192.168.0.1/32 area 0
network 192.168.100.0/24 area 0
network 192.168.101.0/24 area 0
!
22 changes: 22 additions & 0 deletions tests/topotests/pim_vrf_fhr_rp/r1/pim_blue_join.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"r1-eth0":{
"name":"r1-eth0",
"state":"up",
"address":"192.168.100.1",
"flagMulticast":true,
"flagBroadcast":true,
"lanDelayEnabled":true,
"239.100.0.1":{
"*":{
"source":"*",
"group":"239.100.0.1",
"upTime":"--:--:--",
"expire":"--:--",
"prune":"--:--",
"channelJoinName":"NOINFO",
"protocolIgmp":1
}
}
}
}

13 changes: 13 additions & 0 deletions tests/topotests/pim_vrf_fhr_rp/r1/pim_blue_neighbor.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"blue":{
},
"r1-eth0":{
},
"r1-eth1":{
"192.168.101.11":{
"interface":"r1-eth1",
"neighbor":"192.168.101.11",
"drPriority":1
}
}
}
14 changes: 14 additions & 0 deletions tests/topotests/pim_vrf_fhr_rp/r1/pim_blue_pimreg11.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"pimreg11":{
"name":"pimreg11",
"state":"up",
"address":"0.0.0.0",
"flagAllMulticast":true,
"lanDelayEnabled":true,
"drAddress":"*",
"drPriority":1,
"drUptime":"--:--:--",
"drElections":0,
"drChanges":0
}
}
21 changes: 21 additions & 0 deletions tests/topotests/pim_vrf_fhr_rp/r1/pim_red_join.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"r1-eth2":{
"name":"r1-eth2",
"state":"up",
"address":"192.168.100.1",
"flagMulticast":true,
"flagBroadcast":true,
"lanDelayEnabled":true,
"239.100.0.1":{
"*":{
"source":"*",
"group":"239.100.0.1",
"upTime":"--:--:--",
"expire":"--:--",
"prune":"--:--",
"channelJoinName":"NOINFO",
"protocolIgmp":1
}
}
}
}
13 changes: 13 additions & 0 deletions tests/topotests/pim_vrf_fhr_rp/r1/pim_red_neighbor.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"r1-eth2":{
},
"r1-eth3":{
"192.168.101.12":{
"interface":"r1-eth3",
"neighbor":"192.168.101.12",
"drPriority":1
}
},
"red":{
}
}
14 changes: 14 additions & 0 deletions tests/topotests/pim_vrf_fhr_rp/r1/pim_red_pimreg12.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"pimreg12":{
"name":"pimreg12",
"state":"up",
"address":"0.0.0.0",
"flagAllMulticast":true,
"lanDelayEnabled":true,
"drAddress":"*",
"drPriority":1,
"drUptime":"--:--:--",
"drElections":0,
"drChanges":0
}
}
30 changes: 30 additions & 0 deletions tests/topotests/pim_vrf_fhr_rp/r1/pimd.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
hostname r1
!
! debug igmp events
! debug igmp packets
! debug pim events
! debug pim packets
! debug pim trace
! debug pim zebra
! debug pim bsm
!
ip pim rp 192.168.0.1 239.100.0.0/28
ip pim join-prune-interval 5
!
interface r1-eth0
ip igmp
ip igmp version 2
ip pim
!
interface r1-eth1
ip pim
!
interface r1-eth2
ip igmp
ip igmp version 2
ip pim
!
interface r1-eth3
ip pim
!
ip pim join-prune-interval 5
30 changes: 30 additions & 0 deletions tests/topotests/pim_vrf_fhr_rp/r1/zebra.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
!
hostname r1
log file zebra.log
!
ip forwarding
ipv6 forwarding
!
interface blue vrf blue
ip address 192.168.0.1/32
!
interface red vrf red
ip address 192.168.0.1/32
!
interface r1-eth0 vrf blue
description connection to h1 via sw1
ip address 192.168.100.1/24
!
interface r1-eth1 vrf blue
description connection to r11 via sw2
ip address 192.168.101.1/24
!
interface r1-eth2 vrf red
description connection to h1 via sw3
ip address 192.168.100.1/24
!
interface r1-eth3 vrf red
description connection to r12 via sw4
ip address 192.168.101.1/24
!

14 changes: 14 additions & 0 deletions tests/topotests/pim_vrf_fhr_rp/r11/ospfd.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
hostname r11
!
! debug ospf event
!
interface r11-eth0
ip ospf hello-interval 2
ip ospf dead-interval 10
ip ospf priority 10
!
router ospf
ospf router-id 192.168.0.11
network 192.168.0.11/32 area 0
network 192.168.101.0/24 area 0
!
19 changes: 19 additions & 0 deletions tests/topotests/pim_vrf_fhr_rp/r11/pim_blue_join.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"r11-eth0":{
"name":"r11-eth0",
"state":"up",
"address":"192.168.101.11",
"flagMulticast":true,
"flagBroadcast":true,
"lanDelayEnabled":true,
"239.100.0.1":{
"*":{
"source":"*",
"group":"239.100.0.1",
"prune":"--:--",
"channelJoinName":"JOIN",
"protocolPim":1
}
}
}
}
14 changes: 14 additions & 0 deletions tests/topotests/pim_vrf_fhr_rp/r11/pimd.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
hostname r11
!
! debug pim events
! debug pim packets
! debug pim trace
! debug pim zebra
! debug pim bsm
!
interface lo
ip pim
!
interface r11-eth0
ip pim
!
13 changes: 13 additions & 0 deletions tests/topotests/pim_vrf_fhr_rp/r11/zebra.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
!
hostname r11
log file zebra.log
!
interface lo
ip address 192.168.0.11/32
!
interface r11-eth0
description connection to r1 via sw1
ip address 192.168.101.11/24
!
ip route 0.0.0.0/0 192.168.101.1
!
14 changes: 14 additions & 0 deletions tests/topotests/pim_vrf_fhr_rp/r12/ospfd.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
hostname r12
!
! debug ospf event
!
interface r12-eth0
ip ospf hello-interval 2
ip ospf dead-interval 10
ip ospf priority 10
!
router ospf
ospf router-id 192.168.0.12
network 192.168.0.12/32 area 0
network 192.168.101.0/24 area 0
!
19 changes: 19 additions & 0 deletions tests/topotests/pim_vrf_fhr_rp/r12/pim_red_join.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"r12-eth0":{
"name":"r12-eth0",
"state":"up",
"address":"192.168.101.12",
"flagMulticast":true,
"flagBroadcast":true,
"lanDelayEnabled":true,
"239.100.0.1":{
"*":{
"source":"*",
"group":"239.100.0.1",
"prune":"--:--",
"channelJoinName":"JOIN",
"protocolPim":1
}
}
}
}
14 changes: 14 additions & 0 deletions tests/topotests/pim_vrf_fhr_rp/r12/pimd.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
hostname r12
!
! debug pim events
! debug pim packets
! debug pim trace
! debug pim zebra
! debug pim bsm
!
interface lo
ip pim
!
interface r12-eth0
ip pim
!
13 changes: 13 additions & 0 deletions tests/topotests/pim_vrf_fhr_rp/r12/zebra.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
!
hostname r12
log file zebra.log
!
interface lo
ip address 192.168.0.12/32
!
interface r12-eth0
description connection to r1 via sw1
ip address 192.168.101.12/24
!
ip route 0.0.0.0/0 192.168.101.1
!

0 comments on commit 3a10425

Please sign in to comment.