Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 18 additions & 16 deletions tests/integration/evpn/01-vxlan-bridging.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,16 @@ message: |
Please note it might take a while for the lab to work due to STP learning
phase

defaults.sources.extra: [ ../wait_times.yml, ../warnings.yml ]

groups:
_auto_create: True
hosts:
members: [ h1, h2, h3, h4 ]
device: linux
provider: clab
switches:
members: [ s1, s2 ]
members: [ dut, s2 ]
module: [ vlan, vxlan, ospf, bgp, evpn ]
x_switches:
members: [ s2 ]
Expand All @@ -34,56 +36,56 @@ vlans:
mode: bridge
prefix:
ipv4: 172.31.1.0/24
links: [ s1-h1, s2-h2 ]
links: [ dut-h1, s2-h2 ]
vni: 1000
blue:
mode: bridge
prefix:
ipv4: 172.31.1.0/24
links: [ s1-h3, s2-h4 ]
links: [ dut-h3, s2-h4 ]
vni: 1001

links:
- s1:
- dut:
s2:
mtu: 1600

validate:
ospf_adj_s1:
description: Check OSPF adjacencies with S1
wait: 40
description: Check OSPF adjacencies with DUT
wait: ospfv2_adj_p2p
nodes: [ s2 ]
wait_msg: Waiting for OSPF adjacency process to complete
plugin: ospf_neighbor(nodes.s1.ospf.router_id)
plugin: ospf_neighbor(nodes.dut.ospf.router_id)

ibgp_adj_s1:
description: Check IBGP adjacencies with S1
wait: 40
description: Check IBGP adjacencies with DUT
wait: ibgp_session
nodes: [ s2 ]
wait_msg: Waiting for IGBP session
plugin: bgp_neighbor(node.bgp.neighbors,'s1')
plugin: bgp_neighbor(node.bgp.neighbors,'dut')

ipv4_adj_s1:
description: Check IPv4 AF on IBGP adjacencies with S1
description: Check IPv4 AF on IBGP adjacencies with DUT
nodes: [ s2 ]
plugin: bgp_neighbor(node.bgp.neighbors,'s1',activate='ipv4')
plugin: bgp_neighbor(node.bgp.neighbors,'dut',activate='ipv4')

evpn_adj_s1:
description: Check EVPN AF on IBGP adjacencies with S1
description: Check EVPN AF on IBGP adjacencies with DUT
nodes: [ s2 ]
plugin: bgp_neighbor(node.bgp.neighbors,'s1',activate='evpn')
plugin: bgp_neighbor(node.bgp.neighbors,'dut',activate='evpn')
stop_on_error: True

ping_red:
description: Ping-based reachability test in VLAN red
wait_msg: Waiting for OSFP and STP to wake up
wait: 30
wait: ping_stp
nodes: [ h1 ]
plugin: ping('h2')
ping_blue:
description: Ping-based reachability test in VLAN blue
wait_msg: We might have to wait a bit longer
wait: 10
wait: ping_long
nodes: [ h3 ]
plugin: ping('h4')
inter_vlan:
Expand Down
48 changes: 25 additions & 23 deletions tests/integration/evpn/02-vxlan-asymmetric-irb.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ message: |
Please note it might take a while for the lab to work due to STP learning
phase.

defaults.sources.extra: [ ../wait_times.yml, ../warnings.yml ]

plugin: [ anycast-check ]

groups:
Expand All @@ -18,7 +20,7 @@ groups:
device: linux
provider: clab
switches:
members: [ s1, s2 ]
members: [ dut, s2 ]
module: [ vlan, vxlan, ospf, bgp, evpn, gateway ]
x_switches:
members: [ s2 ]
Expand All @@ -31,17 +33,17 @@ gateway.protocol: anycast
vlans:
red:
role: external
links: [ s1-h1, s2-h2 ]
links: [ dut-h1, s2-h2 ]
vni: 1000
gateway: True
blue:
role: external
links: [ s1-h3, s2-h4 ]
links: [ dut-h3, s2-h4 ]
vni: 1001
gateway: True

links:
- s1:
- dut:
s2:
mtu: 1600

Expand All @@ -50,55 +52,55 @@ validate:
description: Placeholder to check anycast support
wait: 1

ospf_adj_s1:
description: Check OSPF adjacencies with S1
wait: 40
ospf_adj:
description: Check OSPF adjacencies with DUT
wait: ospfv2_adj_p2p
nodes: [ s2 ]
wait_msg: Waiting for OSPF adjacency process to complete
plugin: ospf_neighbor(nodes.s1.ospf.router_id)
plugin: ospf_neighbor(nodes.dut.ospf.router_id)

ibgp_adj_s1:
description: Check IBGP adjacencies with S1
wait: 40
ibgp_adj:
description: Check IBGP adjacencies with DUT
wait: ibgp_session
nodes: [ s2 ]
wait_msg: Waiting for IGBP session
plugin: bgp_neighbor(node.bgp.neighbors,'s1')
plugin: bgp_neighbor(node.bgp.neighbors,'dut')

ipv4_adj_s1:
description: Check IPv4 AF on IBGP adjacencies with S1
ipv4_af:
description: Check IPv4 AF on IBGP adjacencies with DUT
nodes: [ s2 ]
plugin: bgp_neighbor(node.bgp.neighbors,'s1',activate='ipv4')
plugin: bgp_neighbor(node.bgp.neighbors,'dut',activate='ipv4')

evpn_adj_s1:
description: Check EVPN AF on IBGP adjacencies with S1
evpn_af:
description: Check EVPN AF on IBGP adjacencies with DUT
nodes: [ s2 ]
plugin: bgp_neighbor(node.bgp.neighbors,'s1',activate='evpn')
plugin: bgp_neighbor(node.bgp.neighbors,'dut',activate='evpn')
stop_on_error: True

ping_gw_red:
description: Pinging default gateway in red VLAN
nodes: [ h1, h2 ]
wait: 40
wait: ping_irb
wait_msg: Waiting for STP and IRB interfaces to wake up
plugin: ping(nodes.h1.interfaces[0].gateway.ipv4)

ping_gw_blue:
description: Pinging default gateway in blue VLAN
nodes: [ h3, h4 ]
wait: 20
wait: ping_irb
wait_msg: Waiting for STP and IRB interfaces to wake up
plugin: ping(nodes.h3.interfaces[0].gateway.ipv4)

ping_h3:
description: Host-to-host ping-based reachability test
wait_msg: We might have to wait a bit longer
wait: 10
wait: ping_long
nodes: [ h1, h2 ]
plugin: ping('h3')

ping_sw:
description: Host-to-switch ping-based reachability test
wait_msg: We might have to wait a bit longer
wait: 10
wait: ping_long
nodes: [ h1, h2, h3, h4 ]
plugin: ping('s1')
plugin: ping('dut')
38 changes: 20 additions & 18 deletions tests/integration/evpn/03-vxlan-symmetric-irb.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ message: |
Please note it might take a while for the lab to work due to STP learning
phase.

defaults.sources.extra: [ ../wait_times.yml, ../warnings.yml ]

plugin: [ anycast-check ]

groups:
Expand All @@ -18,7 +20,7 @@ groups:
device: linux
provider: clab
switches:
members: [ s1, s2 ]
members: [ dut, s2 ]
module: [ vlan, vxlan, vrf, ospf, bgp, evpn, gateway ]
x_switches:
members: [ s2 ]
Expand All @@ -35,12 +37,12 @@ vrfs:
vlans:
red:
role: external
links: [ s1-h1, s2-h2 ]
links: [ dut-h1, s2-h2 ]
vrf: customer
gateway: True
blue:
role: external
links: [ s1-h3 ]
links: [ dut-h3 ]
vrf: customer
gateway: True
green:
Expand All @@ -50,55 +52,55 @@ vlans:
gateway: True

links:
- s1:
- dut:
s2:
mtu: 1600

defaults.devices.vjunos-switch.netlab_validate.ping_irb_h3.wait: 40

validate:
anycast:
description: Placeholder to check anycast support
wait: 1

ospf_adj_s1:
description: Check OSPF adjacencies with S1
wait: 40
ospf_adj:
description: Check OSPF adjacencies with DUT
wait: ospfv2_adj_p2p
nodes: [ s2 ]
wait_msg: Waiting for OSPF adjacency process to complete
plugin: ospf_neighbor(nodes.s1.ospf.router_id)
plugin: ospf_neighbor(nodes.dut.ospf.router_id)
stop_on_error: True

ibgp_adj_s1:
description: Check IBGP adjacencies with S1
wait: 40
ibgp_adj:
description: Check IBGP adjacencies with DUT
wait: ibgp_session
nodes: [ s2 ]
wait_msg: Waiting for IGBP session
plugin: bgp_neighbor(node.bgp.neighbors,'s1')
plugin: bgp_neighbor(node.bgp.neighbors,'dut')
stop_on_error: True

ping_vlan:
description: Intra-VLAN ping-based reachability test
wait_msg: Waiting for OSFP and STP to wake up
wait: 50
wait: ping_stp
nodes: [ h1 ]
plugin: ping('h2')

ping_gw:
description: Ping anycast gateway in VLAN red
wait_msg: Waiting for the anycast gateway to wake up
wait: 10
wait: ping_irb
nodes: [ h1, h2 ]
plugin: ping(nodes.h1.interfaces[0].gateway.ipv4)

ping_irb_h3:
description: IRB ping-based reachability test (VLAN Blue)
wait_msg: Waiting for OSFP and STP to wake up
wait: 20
wait: ping_long
nodes: [ h1, h2, h4 ]
plugin: ping('h3')

ping_irb_h4:
description: IRB ping-based reachability test (VLAN Green)
wait_msg: Waiting for OSFP and STP to wake up
wait: 10
wait: ping_long
nodes: [ h1, h2, h3 ]
plugin: ping('h4')
30 changes: 24 additions & 6 deletions tests/integration/evpn/04-vxlan-central-routing.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ message: |
Please note it might take a while for the lab to work due to STP learning
phase.

defaults.sources.extra: [ ../wait_times.yml, ../warnings.yml ]

module: [ vlan, vxlan, vrf, ospf, bgp, evpn ]

groups:
Expand Down Expand Up @@ -60,30 +62,46 @@ links:
mtu: 1600

validate:
ospf_spine:
description: Check OSPF adjacencies with spine
wait: ospfv2_adj_p2p
nodes: [ l2 ]
wait_msg: Waiting for OSPF adjacency process to complete
plugin: ospf_neighbor(nodes.spine.ospf.router_id)
stop_on_error: True

ibgp_spine:
description: Check IBGP adjacencies with spine
wait: ibgp_session
nodes: [ l2 ]
wait_msg: Waiting for IGBP session
Copy link

Copilot AI Jan 3, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo in wait message: "IGBP" should be "IBGP"

Suggested change
wait_msg: Waiting for IGBP session
wait_msg: Waiting for IBGP session

Copilot uses AI. Check for mistakes.
plugin: bgp_neighbor(node.bgp.neighbors,'spine')
stop_on_error: True

ping_red:
description: Intra-VLAN ping-based reachability test (red)
wait_msg: Waiting for OSFP and STP to wake up
wait: 50
wait_msg: Waiting for STP to wake up
wait: ping_stp
nodes: [ h1 ]
plugin: ping('h2')

ping_blue:
description: Intra-VLAN ping-based reachability test (blue)
wait_msg: Waiting for OSFP and STP to wake up
wait: 20
wait_msg: Waiting for STP to wake up
wait: ping_stp
nodes: [ h3 ]
plugin: ping('h4')

ping_h3:
description: Inter-VLAN ping-based reachability test (red-to-blue)
wait_msg: Waiting for EVPN convergence
wait: 3
wait: ping_irb
nodes: [ h1, h2 ]
plugin: ping('h3')

ping_h1:
description: Inter-VLAN ping-based reachability test (blue-to-red)
wait_msg: Waiting for EVPN convergence
wait: 3
wait: ping
nodes: [ h3, h4 ]
plugin: ping('h1')
Loading