Skip to content

Commit a9c7d71

Browse files
committed
Check 'next-hop-self force' on all IBGP sessions in localas-ibgp test
A router a local-as IBGP session MUST force next-hop changes on all IBGP sessions. This change extends the 08-ibgp-localas test to check for the proper propagation of IBGP routes between two non-trivial autonomous systems. Note: all implementations are failing the extended test at the moment. We have to fix the neighbor.next_hop_self attribute in the BGP module.
1 parent fd1814d commit a9c7d71

File tree

1 file changed

+35
-9
lines changed

1 file changed

+35
-9
lines changed

tests/integration/bgp/08-ibgp-localas.yml

Lines changed: 35 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@ groups:
1818
probes:
1919
device: frr
2020
provider: clab
21-
members: [ x1, x2, x3 ]
21+
members: [ x1, x2, x3, x4 ]
2222
ebgp:
23-
members: [ x1, x2 ]
23+
members: [ x1 ]
2424
module: [ bgp ]
2525

2626
defaults.bgp.as: 65000
@@ -37,6 +37,9 @@ nodes:
3737
loopback.ipv4: 172.42.2.1/24
3838
x3:
3939
bgp.originate: 172.42.3.0/24
40+
x4:
41+
bgp.as: 65101
42+
loopback.ipv4: 172.42.4.1/24
4043

4144
links:
4245
- dut:
@@ -46,6 +49,7 @@ links:
4649
bgp.local_as: 65101
4750
x2:
4851
- dut-x3
52+
- x2-x4
4953

5054
validate:
5155
ospf_adj_dut:
@@ -54,25 +58,33 @@ validate:
5458
nodes: [ x3 ]
5559
wait_msg: Waiting for OSPF adjacency process to complete
5660
plugin: ospf_neighbor(nodes.dut.ospf.router_id)
57-
session:
61+
62+
bgp_dut:
5863
description: Check BGP sessions with DUT (wait up to 10 seconds)
5964
wait: ibgp_session
6065
wait_msg: Wait for BGP sessions to be established
6166
nodes: [ x1, x2, x3 ]
6267
plugin: bgp_neighbor(node.bgp.neighbors,'dut')
6368

69+
ibgp_x4:
70+
description: Check IBGP sessions X2-X4
71+
wait: ibgp_session
72+
wait_msg: Wait for BGP sessions to be established
73+
nodes: [ x2 ]
74+
plugin: bgp_neighbor(node.bgp.neighbors,'x4')
75+
6476
prefix:
6577
description: Check whether DUT advertises the beacon prefix
6678
wait: bgp_scan_long
6779
wait_msg: Wait for BGP prefix origination and BGP convergence
68-
nodes: [ x1, x2 ]
80+
nodes: [ x1, x2, x3, x4 ]
6981
plugin: bgp_prefix('172.42.42.0/24')
7082

7183
prop_ebgp:
7284
description: Check whether DUT propagates EBGP routes to IBGP
7385
wait: 3
7486
wait_msg: Wait for BGP convergence
75-
nodes: [ x2 ]
87+
nodes: [ x2, x3, x4 ]
7688
plugin: bgp_prefix('172.42.1.0/24')
7789

7890
prop_ebgp_nh:
@@ -82,23 +94,37 @@ validate:
8294
nodes: [ x2 ]
8395
plugin: bgp_prefix('172.42.1.0/24',best=True)
8496

85-
prop_la_ibgp:
86-
description: Check whether DUT propagates local-as IBGP routes to EBGP
97+
prop_la_ebgp:
98+
description: Check whether DUT propagates local-as IBGP routes to EBGP neighbors
8799
wait: 3
88100
nodes: [ x1 ]
89101
plugin: bgp_prefix('172.42.2.0/24',best=True)
90102

103+
prop_la_ibgp:
104+
description: Check whether DUT propagates local-as IBGP routes to real IBGP neighbors
105+
wait: 3
106+
nodes: [ x3 ]
107+
level: warning
108+
plugin: bgp_prefix('172.42.2.0/24',best=True)
109+
91110
prop_internal:
92111
description: Check whether DUT propagates real IBGP routes over IBGP local-as session
93112
level: warning
94113
wait: 3
95114
wait_msg: Wait for BGP convergence
96-
nodes: [ x2 ]
115+
nodes: [ x2, x4 ]
97116
plugin: bgp_prefix('172.42.3.0/24')
98117

99118
nh_internal:
100119
description: Check whether DUT fixes the next hop of IBGP routes sent over IBGP local-as session
101120
level: warning
102121
wait_msg: Wait for BGP convergence
103-
nodes: [ x2 ]
122+
nodes: [ x2, x4 ]
104123
plugin: bgp_prefix('172.42.3.0/24',best=True)
124+
125+
prop_interas:
126+
description: Check whether all routers receive a prefix from X4
127+
wait: 3
128+
nodes: [ x1, x2, x3 ]
129+
plugin: bgp_prefix('172.42.4.0/24',best=True)
130+
level: warning

0 commit comments

Comments
 (0)