test/case: rename foo.adoc -> test.adoc and update all Readme.adoc

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
This commit is contained in:
Joachim Wiberg
2025-09-15 14:26:05 +02:00
parent 2171fd12ca
commit eb3e64d243
153 changed files with 465 additions and 357 deletions
+1 -1
View File
@@ -1 +1 @@
usb.adoc
test.adoc
@@ -1,7 +1,9 @@
=== USB configuration
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_hardware/usb]
=== USB configuration
==== Description
This test checks if the configuration is consistent with hardware state,
and verifies whether the USB ports are correctly _locked_ (restricted from
use) and _unlocked_ (available for use) when they should. It also verifies
@@ -13,9 +15,11 @@ If this pass you can be certain that the configuration of the USB
port is handled correctly.
==== Topology
image::topology.svg[USB configuration topology, align=center, scaledwidth=75%]
==== Sequence
. Set up topology and attach to target DUT
. Unlock all USB ports
. Verify that all USB ports are unlocked
@@ -1 +1 @@
usb_two_ports.adoc
test.adoc
@@ -1,14 +1,18 @@
=== USB configuration with two USB ports
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_hardware/usb_two_ports]
=== USB configuration with two USB ports
==== Description
Test that the USB locked/unlocked configuration is consistent
when having two USB ports.
==== Topology
image::topology.svg[USB configuration with two USB ports topology, align=center, scaledwidth=75%]
==== Sequence
. Set up topology and attach to target DUTs
. Lock the first USB port and unlock the second USB port
. Verify that the correct port is locked and the correct one is unlocked
@@ -1 +1 @@
bridge_basic.adoc
test.adoc
@@ -1,7 +1,9 @@
=== Bridge basic
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/bridge_basic]
=== Bridge basic
==== Description
Test basic connectivity to a bridge
....
@@ -13,9 +15,11 @@ Test basic connectivity to a bridge
....
==== Topology
image::topology.svg[Bridge basic topology, align=center, scaledwidth=75%]
==== Sequence
. Set up topology and attach to target DUT
. Configure single bridge with a single physical port, bridge @ IP 10.0.0.2
. Verify ping 10.0.0.2 is possible from host:data
@@ -1 +1 @@
bridge_fwd_dual_dut.adoc
test.adoc
@@ -1,7 +1,9 @@
=== Bridge forwarding dual DUTs
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/bridge_fwd_dual_dut]
=== Bridge forwarding dual DUTs
==== Description
Ping through two bridges on two different DUTs.
....
@@ -25,9 +27,11 @@ Ping through two bridges on two different DUTs.
....
==== Topology
image::topology.svg[Bridge forwarding dual DUTs topology, align=center, scaledwidth=75%]
==== Sequence
. Set up topology and attach to target DUT
. Configure a bridge with triple physical port
. Verify ping 10.0.0.3 and 10.0.0.4 from host:data11
@@ -1 +1 @@
bridge_fwd_sgl_dut.adoc
test.adoc
@@ -1,7 +1,9 @@
=== Bridge forwarding single DUTs
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/bridge_fwd_sgl_dut]
=== Bridge forwarding single DUTs
==== Description
Tests forwarding through a DUT with two bridged interfaces on one DUT.
....
@@ -25,9 +27,11 @@ Tests forwarding through a DUT with two bridged interfaces on one DUT.
....
==== Topology
image::topology.svg[Bridge forwarding single DUTs topology, align=center, scaledwidth=75%]
==== Sequence
. Set up topology and attach to target DUT
. Configure a bridge with dual physical port
. Verify ping from host:data1 to 10.0.0.2
@@ -1 +1 @@
bridge_stp_basic.adoc
test.adoc
@@ -1,7 +1,9 @@
=== Bridge STP Basic
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/bridge_stp_basic]
=== Bridge STP Basic
==== Description
First, verify that a fully connected mesh of 4 DUTs is pruned to a
spanning tree.
@@ -14,9 +16,11 @@ that a spanning tree rooted at A is formed, with B, C, and D all
directly connected to A.
==== Topology
image::topology.svg[Bridge STP Basic topology, align=center, scaledwidth=75%]
==== Sequence
. Set up topology and attach to target DUT
. Configure a bridge with spanning tree eneabled on dut a, b, c, and d
. Add an IP address to each host interface in the 10.0.0.0/24 subnet
@@ -1 +1 @@
bridge_veth.adoc
test.adoc
@@ -1,7 +1,9 @@
=== Bridge with a physical port and a veth
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/bridge_veth]
=== Bridge with a physical port and a veth
==== Description
This tests the possibility to add software added interfaces, in this case
VETH and bridge it with a physical interface
@@ -15,9 +17,11 @@ PING --> br0
....
==== Topology
image::topology.svg[Bridge with a physical port and a veth topology, align=center, scaledwidth=75%]
==== Sequence
. Set up topology and attach to target DUT
. Configure bridged eth port and veth pair with IP 10.0.0.2
. Verify ping from host:data to 10.0.0.2
@@ -1 +1 @@
bridge_vlan.adoc
test.adoc
@@ -1,7 +1,9 @@
=== Bridge VLAN
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/bridge_vlan]
=== Bridge VLAN
==== Description
Verify VLAN filtering bridge, with a VLAN trunk to a neighboring device,
which in turn untags one VLAN outisde a non-VLAN filtering bridge.
@@ -9,9 +11,11 @@ which in turn untags one VLAN outisde a non-VLAN filtering bridge.
image::bridge-vlan.svg[align=center, scaledwidth=75%]
==== Topology
image::topology.svg[Bridge VLAN topology, align=center, scaledwidth=75%]
==== Sequence
. Set up topology and attach to target DUT
. Configure DUTs
. Verify ping from host:data to 10.0.0.2 and 10.0.0.3
@@ -1 +1 @@
bridge_vlan_separation.adoc
test.adoc
@@ -1,7 +1,9 @@
=== Bridge VLAN separation
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/bridge_vlan_separation]
=== Bridge VLAN separation
==== Description
Test that two VLANs are correctly separated in the bridge
....
@@ -24,9 +26,11 @@ Test that two VLANs are correctly separated in the bridge
....
==== Topology
image::topology.svg[Bridge VLAN separation topology, align=center, scaledwidth=75%]
==== Sequence
. Set up topology and attach to target DUT
. Configure DUTs
. Verify ping 10.0.0.3 from host:data10
@@ -1 +1 @@
dual_bridge.adoc
test.adoc
@@ -1,7 +1,9 @@
=== Dual bridges on one device
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/dual_bridge]
=== Dual bridges on one device
==== Description
Verify that it is possible to ping through a bridge to another bridge
via a VETH pair connected to both.
@@ -12,9 +14,11 @@ PC - target:data veth0a - veth0b
....
==== Topology
image::topology.svg[Dual bridges on one device topology, align=center, scaledwidth=75%]
==== Sequence
. Set up topology and attach to target DUTs
. Configure two bridges linked and a veth pair
. Verify ping from host:data to 10.0.0.2
@@ -1 +1 @@
iface_enable_disable.adoc
test.adoc
@@ -1,16 +1,20 @@
=== Interface status
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/iface_enable_disable]
=== Interface status
==== Description
Verify interface status properly propagate changes when an interface
is disabled and then re-enabled.
Both admin-status and oper-status are verified.
==== Topology
image::topology.svg[Interface status topology, align=center, scaledwidth=75%]
==== Sequence
. Set up topology and attach to target DUTs
. Configure bridge and associated interfaces in target1
. Disable interface in target2
@@ -1 +1 @@
iface_phys_address.adoc
test.adoc
@@ -1,15 +1,19 @@
=== Custom MAC address on interface
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/iface_phys_address]
=== Custom MAC address on interface
==== Description
Verify support for setting and removing a custom MAC address on interfaces.
Both static MAC address and derived from the chassis MAC with, or without,
an offset applied.
==== Topology
image::topology.svg[Custom MAC address on interface topology, align=center, scaledwidth=75%]
==== Sequence
. Set up topology and attach to target DUT
. Set target:data static MAC address '02:01:00:c0:ff:ee'
. Verify target:data has MAC address '02:01:00:c0:ff:ee'
@@ -1 +1 @@
ifalias.adoc
test.adoc
@@ -1,14 +1,18 @@
=== Interface Description (ifAlias)
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/ifalias]
=== Interface Description (ifAlias)
==== Description
Verify interface description (ifAlias) can be set on an interface and
then be read back from the operational datastore.
==== Topology
image::topology.svg[Interface Description (ifAlias) topology, align=center, scaledwidth=75%]
==== Sequence
. Set up topology and attach to target DUT
. Set up interface target:data with description
. Verify description can be read back from operational
@@ -1 +1 @@
igmp_basic.adoc
test.adoc
@@ -1,7 +1,9 @@
=== IGMP basic
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/igmp_basic]
=== IGMP basic
==== Description
Verify that all multicast get flooded when no IGMP join exists in the system and
the flooding stops as soon a join arrives
@@ -19,9 +21,11 @@ the flooding stops as soon a join arrives
HOST
==== Topology
image::topology.svg[IGMP basic topology, align=center, scaledwidth=75%]
==== Sequence
. Set up topology and attach to target DUTs
. Configure device
. Start multicast sender on host:data0, group 224.1.1.1
@@ -1 +1 @@
igmp_vlan.adoc
test.adoc
@@ -1,7 +1,9 @@
=== IGMP VLAN
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/igmp_vlan]
=== IGMP VLAN
==== Description
Test tagged IGMP control traffic and that VLAN separation is respected for multicast
....
@@ -22,9 +24,11 @@ Test tagged IGMP control traffic and that VLAN separation is respected for multi
....
==== Topology
image::topology.svg[IGMP VLAN topology, align=center, scaledwidth=75%]
==== Sequence
. Set up topology and attach to target DUT
. Configure device
. Start multicast sender on host:data11, group 224.2.2.2
@@ -1 +1 @@
ipv4_address.adoc
test.adoc
@@ -1,13 +1,17 @@
=== Interface with IPv4
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/ipv4_address]
=== Interface with IPv4
==== Description
Test that it is possible to set and remove the IPv4 address on an interface
==== Topology
image::topology.svg[Interface with IPv4 topology, align=center, scaledwidth=75%]
==== Sequence
. Set up topology and attach to target DUT
. Configure IPv4 address 10.10.10.20/24 on target:mgmt
. Verify '10.10.10.20/24' exists on target:mgmt
@@ -1 +1 @@
ipv4_autoconf.adoc
test.adoc
@@ -1,15 +1,19 @@
=== IPv4 link-local
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/ipv4_autoconf]
=== IPv4 link-local
==== Description
Verifies that link-local (IPv4LL/ZeroConf) address assignment work as
expected. Checks random address, the request-address setting, and
address removal on autoconf disable.
==== Topology
image::topology.svg[IPv4 link-local topology, align=center, scaledwidth=75%]
==== Sequence
. Set up topology and attach to target DUT
. Configure interface target:data with IPv4 ZeroConf IP
. Verify link-local address exist on target:data
@@ -1 +1 @@
ipv6_address.adoc
test.adoc
@@ -1,14 +1,18 @@
=== Interface IPv6 autoconf for bridges
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/ipv6_address]
=== Interface IPv6 autoconf for bridges
==== Description
Verify IPv6 autoconf on a bridge is properly set up for global prefix.
See issue #473 for details.
==== Topology
image::topology.svg[Interface IPv6 autoconf for bridges topology, align=center, scaledwidth=75%]
==== Sequence
. Set up topology and attach to target DUT
. Setting up bridge with IPv6 SLAAC for global prefix on target:data
. Verify using sysctl that 'net.ipv6.conf.br0.autoconf' is 1 on target
@@ -1 +1 @@
lag_basic.adoc
test.adoc
@@ -1,7 +1,9 @@
=== Ling Aggregation Basic
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/lag_basic]
=== Ling Aggregation Basic
==== Description
Verify communication over a link aggregate in static and LACP operating
modes during basic failure scenarios.
@@ -12,9 +14,11 @@ The host verifies connectivity with dut2 via dut1 over the aggregate for
each test step using the `mon` interface.
==== Topology
image::topology.svg[Ling Aggregation Basic topology, align=center, scaledwidth=75%]
==== Sequence
. Set up topology and attach to target DUTs
. Set up LACP link aggregate, lag0, on dut1 and dut2
. Verify failure modes for lacp mode
@@ -1 +1 @@
lag_failure.adoc
test.adoc
@@ -1,7 +1,9 @@
=== LACP Aggregate w/ Degraded Link
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/lag_failure]
=== LACP Aggregate w/ Degraded Link
==== Description
Verify communication over an LACP link aggregate when individual member
links stop forwarding traffic, without carrier loss.
@@ -12,9 +14,11 @@ The host verifies connectivity with dut2 via dut1 over the aggregate for
each failure mode step using the `mon` interface.
==== Topology
image::topology.svg[LACP Aggregate w/ Degraded Link topology, align=center, scaledwidth=75%]
==== Sequence
. Set up topology and attach to target DUTs
. Set up link aggregate, lag0, between dut1 and dut2
. Initial connectivity check ...
@@ -1 +1 @@
routing_basic.adoc
test.adoc
@@ -1,14 +1,18 @@
=== Routing basic
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/routing_basic]
=== Routing basic
==== Description
Verify routing between interfaces is possible. That enable/disable routing
in configuration has the expected result.
==== Topology
image::topology.svg[Routing basic topology, align=center, scaledwidth=75%]
==== Sequence
. Set up topology and attach to target DUTs
. Setup host
. Enable forwarding on target:data1 and target:data2
@@ -1 +1 @@
speed_duplex_copper.adoc
test.adoc
@@ -1,7 +1,9 @@
=== Interface Speed Duplex (Copper)
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/speed_duplex_copper]
=== Interface Speed Duplex (Copper)
==== Description
Verify that the interface operates at the expected speed/duplex in two scenarios:
1. Fixed configuration host and target are both manually set to a specific speed/duplex
@@ -9,9 +11,11 @@ Verify that the interface operates at the expected speed/duplex in two scenarios
to the highest common speed/duplex.
==== Topology
image::topology.svg[Interface Speed Duplex (Copper) topology, align=center, scaledwidth=75%]
==== Sequence
. Set up topology and attach to target DUT
. Enable target interface
. Verify fixed 10/full
@@ -1 +1 @@
static_multicast_filters.adoc
test.adoc
@@ -1,7 +1,9 @@
=== Static multicast filters
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/static_multicast_filters]
=== Static multicast filters
==== Description
Verify that static multicast filters work (remember that snooping needs to
enabled when using static multicast filters)
@@ -21,9 +23,11 @@ enabled when using static multicast filters)
....
==== Topology
image::topology.svg[Static multicast filters topology, align=center, scaledwidth=75%]
==== Sequence
. Set up topology and attach to target DUTs
. Configure device without static filter
. Start multicast sender on host:data1, group 224.1.1.1
@@ -1,10 +1,10 @@
include::gre_basic.adoc[]
include::gre.adoc[]
<<<
include::gretap_basic.adoc[]
include::gretap.adoc[]
<<<
include::vxlan_basic.adoc[]
include::vxlan.adoc[]
@@ -1,17 +0,0 @@
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/tunnel_basic]
=== GRE point-to-point
==== Description
Test setting up gre tunnels using IPv4 and IPv6,
and ends with a connectivity test.
==== Topology
image::topology.svg[GRE point-to-point topology, align=center, scaledwidth=75%]
==== Sequence
. Set up topology and attach to target DUTs
. Configure DUTs
. Verify connectivity host:data to 10.0.0.2
. Verify connectivity host:data to 2001:db8::c0a8:0a02
@@ -1,17 +0,0 @@
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/tunnel_basic]
=== GRETAP point-to-point
==== Description
Test setting up gretap tunnels using IPv4 and IPv6,
and ends with a connectivity test.
==== Topology
image::topology.svg[GRETAP point-to-point topology, align=center, scaledwidth=75%]
==== Sequence
. Set up topology and attach to target DUTs
. Configure DUTs
. Verify connectivity host:data to 10.0.0.2
. Verify connectivity host:data to 2001:db8::c0a8:0a02
@@ -1,17 +0,0 @@
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/tunnel_basic]
=== VXLAN point-to-point
==== Description
Test setting up vxlan tunnels using IPv4 and IPv6,
and ends with a connectivity test.
==== Topology
image::topology.svg[VXLAN point-to-point topology, align=center, scaledwidth=75%]
==== Sequence
. Set up topology and attach to target DUTs
. Configure DUTs
. Verify connectivity host:data to 10.0.0.2
. Verify connectivity host:data to 2001:db8::c0a8:0a02
@@ -1,6 +1,6 @@
include::gretap_bridged.adoc[]
include::gretap.adoc[]
<<<
include::vxlan_bridged.adoc[]
include::vxlan.adoc[]
@@ -1,15 +0,0 @@
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/tunnel_bridged]
=== GRETAP bridged with physical interface
==== Description
Test that gretap works as it should and that it possible to bridge it.
==== Topology
image::topology.svg[GRETAP bridged with physical interface topology, align=center, scaledwidth=75%]
==== Sequence
. Set up topology and attach to target DUTs
. Configure DUTs
. Test connectivity host:data to right:gretap0 at 192.168.10.2
@@ -1,15 +0,0 @@
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/tunnel_bridged]
=== VXLAN bridged with physical interface
==== Description
Test that vxlan works as it should and that it possible to bridge it.
==== Topology
image::topology.svg[VXLAN bridged with physical interface topology, align=center, scaledwidth=75%]
==== Sequence
. Set up topology and attach to target DUTs
. Configure DUTs
. Test connectivity host:data to right:vxlan0 at 192.168.10.2
@@ -1 +1 @@
verify_all_interface_types.adoc
test.adoc
@@ -1,7 +1,9 @@
=== Verify that all interface types can be created
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/verify_all_interface_types]
=== Verify that all interface types can be created
==== Description
This test verifies that all interface types can be created and also
checks the configuration when applied sequentially. This method takes
slightly longer than sending the entire configuration at once.
@@ -17,9 +19,11 @@ slightly longer than sending the entire configuration at once.
....
==== Topology
image::topology.svg[Verify that all interface types can be created topology, align=center, scaledwidth=75%]
==== Sequence
. Set up topology and attach to target DUT
. Configure an empty bridge br-0
. Configure bridge br-X and associated interfaces
@@ -1 +1 @@
veth_delete.adoc
test.adoc
@@ -1,7 +1,9 @@
=== Verify that VETH pairs can be deleted
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/veth_delete]
=== Verify that VETH pairs can be deleted
==== Description
```
veth0b veth0a data1 data2
`---------'
@@ -11,9 +13,11 @@ Each test step to create, add address, or delete an interace is distinct
from any other step. This to trigger a new configuration "generation".
==== Topology
image::topology.svg[Verify that VETH pairs can be deleted topology, align=center, scaledwidth=75%]
==== Sequence
. Set up topology and attach to target DUT
. Create VETH pair
. Verify interfaces 'veth0a' and 'veth0b' exist
@@ -1 +1 @@
vlan_iface_termination.adoc
test.adoc
@@ -1,7 +1,9 @@
=== VLAN Interface Termination
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/vlan_iface_termination]
=== VLAN Interface Termination
==== Description
Verify that VLANs stacked on top of an interfaces that are also
attached to a VLAN filtering bridge are always locally terminated.
@@ -28,9 +30,11 @@ both `data1` and `data2`, _bridging_ of packets from one to the other
must _not_ be allowed.
==== Topology
image::topology.svg[VLAN Interface Termination topology, align=center, scaledwidth=75%]
==== Sequence
. Set up topology and attach to target
. Configure bridge and VLAN interfaces on target
. Configure IP addresses and VLAN interfaces on host
@@ -1 +1 @@
vlan_ping.adoc
test.adoc
@@ -1,13 +1,17 @@
=== VLAN ping connectivity
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/vlan_ping]
=== VLAN ping connectivity
==== Description
Very basic test if the VLAN interface configuration works.
==== Topology
image::topology.svg[VLAN ping connectivity topology, align=center, scaledwidth=75%]
==== Sequence
. Set up topology and attach to target DUT
. Set up VLAN interface on host:data with IP 10.0.0.1
. Configure VLAN 10 interface on target:data with IP 10.0.0.2
@@ -1 +1 @@
vlan_qos.adoc
test.adoc
@@ -1,7 +1,9 @@
=== VLAN Interface Ingress/Egress QoS
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/vlan_qos]
=== VLAN Interface Ingress/Egress QoS
==== Description
Inject different packets from the host and verify that the VLAN priority
is handled correctly for traffic ingressing and egressing a VLAN interface.
@@ -17,9 +19,11 @@ correctly to PCP on egress ('from internal priority' or static '0..7').
{ "id": 6, "pcp": 6, "ingress": "from-pcp", "egress": "from-priority", "expect": 6 },
==== Topology
image::topology.svg[VLAN Interface Ingress/Egress QoS topology, align=center, scaledwidth=75%]
==== Sequence
. Set up topology and attach to target DUT
. Apply initial config without priority mapping
. Setup host VLANs
@@ -22,4 +22,4 @@ graph "1x3" {
host:mgmt -- target:mgmt [requires="mgmt", color=lightgrey]
host:data0 -- target:data0 [color=black, fontcolor=black, fontsize=12, taillabel="(vlan10) 192.168.10.2/24", headlabel="192.168.10.1/24 (vlan10)"]
host:data1 -- target:data1 [color=black, fontcolor=black, fontsize=12, taillabel="(vlan11) 192.168.11.2/24", headlabel="192.168.11.1/24 (vlan11)"]
}
}
@@ -1 +1 @@
ospf_basic.adoc
test.adoc
@@ -1,14 +1,18 @@
=== OSPF Basic
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_routing/ospf_basic]
=== OSPF Basic
==== Description
Very basic OSPF test just test that OSPF sends HELLO packets between the DUTs
and that they exchange routes, ending with a simple connectivity check.
==== Topology
image::topology.svg[OSPF Basic topology, align=center, scaledwidth=75%]
==== Sequence
. Set up topology and attach to target DUTs
. Configure targets
. Wait for OSPF routes
+1 -1
View File
@@ -1 +1 @@
ospf_bfd.adoc
test.adoc
@@ -1,7 +1,9 @@
=== OSPF BFD
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_routing/ospf_bfd]
=== OSPF BFD
==== Description
Verify that a router running OSPF, with Bidirectional Forwarding
Detection (BFD) enabled, will detect link faults even when the
physical layer is still operational.
@@ -11,9 +13,11 @@ perspective, is made up of multiple physical links containing media
converters without link fault forwarding.
==== Topology
image::topology.svg[OSPF BFD topology, align=center, scaledwidth=75%]
==== Sequence
. Set up topology and attach to target DUTs
. Setup TPMR between R1fast and R2fast
. Configure R1 and R2
@@ -1 +1 @@
ospf_default_route_advertise.adoc
test.adoc
@@ -1,7 +1,9 @@
=== OSPF Default route advertise
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_routing/ospf_default_route_advertise]
=== OSPF Default route advertise
==== Description
Verify _default-route-advertising_ in OSPF, sometimes called 'redistribute origin'. Verify both
always (regardless if a local default route exist or not) and only redistribute
when local default route exist.
@@ -30,9 +32,11 @@ unless _always_ is set for _default-route-advertising_.
....
==== Topology
image::topology.svg[OSPF Default route advertise topology, align=center, scaledwidth=75%]
==== Sequence
. Set up topology and attach to target DUTs
. Configure targets
. Verify R2 has a default route and 192.168.100.1/32 from OSPF
@@ -1 +1 @@
ospf_multiarea.adoc
test.adoc
@@ -1,7 +1,9 @@
=== OSPF with multiple areas
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_routing/ospf_multiarea]
=== OSPF with multiple areas
==== Description
This test evaluates various OSPF features across three areas (one NSSA area, with no summary)
to ensure that route distribution is deterministic (based on cost). It also tests link
failures using BFD, though BFD is not yet implemented in test framework (Infamy).
@@ -25,9 +27,11 @@ explicit router-id.
....
==== Topology
image::topology.svg[OSPF with multiple areas topology, align=center, scaledwidth=75%]
==== Sequence
. Set up topology and attach to target DUTs
. Configure targets
. Wait for all neighbors to peer
@@ -1 +1 @@
ospf_unnumbered_interface.adoc
test.adoc
@@ -1,7 +1,9 @@
=== OSPF unnumbered interfaces
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_routing/ospf_unnumbered_interface]
=== OSPF unnumbered interfaces
==== Description
This test that a configuration expecting unnumbered interfaces
get that also in OSPF. Also verify that passive interface in
the configuration gets activated in OSPF.
@@ -10,9 +12,11 @@ When this test pass, you can expect unnumbered interfaces, interface type
configuration and passive to function
==== Topology
image::topology.svg[OSPF unnumbered interfaces topology, align=center, scaledwidth=75%]
==== Sequence
. Set up topology and attach to target DUTs
. Configure targets
. Wait for OSPF routes
@@ -1 +1 @@
route_pref_255.adoc
test.adoc
@@ -1,16 +1,20 @@
=== Route preference: Static Route Activation and Maximum Distance
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_routing/route_pref_255]
=== Route preference: Static Route Activation and Maximum Distance
==== Description
This test configures a device with a static route to a destination with
a moderate routing preference (254), verifying that it becomes active.
Then, the routing preference is increased to the maximum value (255),
which should prevent the route from becoming active.
==== Topology
image::topology.svg[Route preference: Static Route Activation and Maximum Distance topology, align=center, scaledwidth=75%]
==== Sequence
. Set up topology and attach to target DUTs
. Configure targets with active static route
. Verify that static route with preference 254 is active
@@ -1 +1 @@
route_pref_dhcp.adoc
test.adoc
@@ -1,7 +1,9 @@
=== Route preference: DHCP vs Static
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_routing/route_pref_dhcp]
=== Route preference: DHCP vs Static
==== Description
This test configures a device with both a DHCP-acquired route on a
dedicated interface and a static route to the same destination on
another interface.
@@ -11,9 +13,11 @@ route takes precedence by adjusting the routing preference value
to the one lower than DHCP.
==== Topology
image::topology.svg[Route preference: DHCP vs Static topology, align=center, scaledwidth=75%]
==== Sequence
. Set up topology and attach to target DUTs
. Configure targets. Assign higher priority to the dhcp route
. Wait for DHCP and static routes
@@ -1 +1 @@
route_pref_ospf.adoc
test.adoc
@@ -1,7 +1,9 @@
=== Route preference: OSPF vs Static
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_routing/route_pref_ospf]
=== Route preference: OSPF vs Static
==== Description
This test configures a device with both an OSPF-acquired route on a
dedicated interface and a static route to the same destination on
another interface. The static route has a higher preference value than
@@ -11,9 +13,11 @@ Initially, the device should prefer the OSPF route; if the OSPF route
becomes unavailable, the static route should take over.
==== Topology
image::topology.svg[Route preference: OSPF vs Static topology, align=center, scaledwidth=75%]
==== Sequence
. Set up topology and attach to target DUTs
. Set up TPMR between R1ospf and R2ospf
. Configure targets
@@ -1 +1 @@
static_routing.adoc
test.adoc
@@ -1,14 +1,18 @@
=== Static routing
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_routing/static_routing]
=== Static routing
==== Description
Verify that it is possible to add static routes, both IPv4 and IPv6, and
that data forwarding works as expected via an intermediate device.
==== Topology
image::topology.svg[Static routing topology, align=center, scaledwidth=75%]
==== Sequence
. Set up topology and attach to target DUTs
. Configure targets
. Wait for routes
+1 -1
View File
@@ -1 +1 @@
basic.adoc
test.adoc
@@ -1,13 +1,17 @@
=== Syslog Basic
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_syslog/basic]
=== Syslog Basic
==== Description
Add syslog actions to log to local files, then verify new log files have been created.
==== Topology
image::topology.svg[Syslog Basic topology, align=center, scaledwidth=75%]
==== Sequence
. Set up topology and attach to target DUT
. Configure syslog on DUT to log to files '/log/bar.log' (absolute path) and 'foo' (non-absolute).
. Verify log files /var/log/foo and /var/log/bar.log have been created
+1 -1
View File
@@ -1 +1 @@
remote.adoc
test.adoc
@@ -1,13 +1,17 @@
=== Remote syslog
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_syslog/remote]
=== Remote syslog
==== Description
Verify logging to remote, acting as a remote, and RFC5424 log format.
==== Topology
image::topology.svg[Remote syslog topology, align=center, scaledwidth=75%]
==== Sequence
. Set up topology and attach to client and server DUTs
. Configure client DUT as syslog client with server DUT as remote, and configure server DUT as syslog server
. Send security:notice log message from client
+1 -1
View File
@@ -1,7 +1,7 @@
graph "2x2" {
layout="neato";
overlap="false";
esep="+60";
esep="+80";
node [shape=record, fontname="DejaVu Sans Mono, Book"];
edge [color="cornflowerblue", penwidth="2", fontname="DejaVu Serif, Book"];
+27 -27
View File
@@ -3,57 +3,57 @@
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Title: 2x2 Pages: 1 -->
<svg width="382pt" height="265pt"
viewBox="0.00 0.00 382.03 264.62" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 260.62)">
<svg width="432pt" height="305pt"
viewBox="0.00 0.00 432.03 304.62" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 300.62)">
<title>2x2</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-260.62 378.03,-260.62 378.03,4 -4,4"/>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-300.62 428.03,-300.62 428.03,4 -4,4"/>
<!-- host -->
<g id="node1" class="node">
<title>host</title>
<polygon fill="none" stroke="black" points="0,-105.31 0,-151.31 108,-151.31 108,-105.31 0,-105.31"/>
<text text-anchor="middle" x="25" y="-124.61" font-family="DejaVu Sans Mono, Book" font-size="14.00">host</text>
<polyline fill="none" stroke="black" points="50,-105.31 50,-151.31 "/>
<text text-anchor="middle" x="79" y="-136.11" font-family="DejaVu Sans Mono, Book" font-size="14.00">mgmt1</text>
<polyline fill="none" stroke="black" points="50,-128.31 108,-128.31 "/>
<text text-anchor="middle" x="79" y="-113.11" font-family="DejaVu Sans Mono, Book" font-size="14.00">mgmt2</text>
<polygon fill="none" stroke="black" points="0,-125.31 0,-171.31 108,-171.31 108,-125.31 0,-125.31"/>
<text text-anchor="middle" x="25" y="-144.61" font-family="DejaVu Sans Mono, Book" font-size="14.00">host</text>
<polyline fill="none" stroke="black" points="50,-125.31 50,-171.31 "/>
<text text-anchor="middle" x="79" y="-156.11" font-family="DejaVu Sans Mono, Book" font-size="14.00">mgmt1</text>
<polyline fill="none" stroke="black" points="50,-148.31 108,-148.31 "/>
<text text-anchor="middle" x="79" y="-133.11" font-family="DejaVu Sans Mono, Book" font-size="14.00">mgmt2</text>
</g>
<!-- client -->
<g id="node2" class="node">
<title>client</title>
<polygon fill="none" stroke="black" points="258.03,-210.12 258.03,-256.12 374.03,-256.12 374.03,-210.12 258.03,-210.12"/>
<text text-anchor="middle" x="283.03" y="-240.92" font-family="DejaVu Sans Mono, Book" font-size="14.00">mgmt</text>
<polyline fill="none" stroke="black" points="258.03,-233.12 308.03,-233.12 "/>
<text text-anchor="middle" x="283.03" y="-217.92" font-family="DejaVu Sans Mono, Book" font-size="14.00">link</text>
<polyline fill="none" stroke="black" points="308.03,-210.12 308.03,-256.12 "/>
<text text-anchor="middle" x="341.03" y="-229.42" font-family="DejaVu Sans Mono, Book" font-size="14.00">client</text>
<polygon fill="none" stroke="black" points="308.03,-250.12 308.03,-296.12 424.03,-296.12 424.03,-250.12 308.03,-250.12"/>
<text text-anchor="middle" x="333.03" y="-280.92" font-family="DejaVu Sans Mono, Book" font-size="14.00">mgmt</text>
<polyline fill="none" stroke="black" points="308.03,-273.12 358.03,-273.12 "/>
<text text-anchor="middle" x="333.03" y="-257.92" font-family="DejaVu Sans Mono, Book" font-size="14.00">link</text>
<polyline fill="none" stroke="black" points="358.03,-250.12 358.03,-296.12 "/>
<text text-anchor="middle" x="391.03" y="-269.42" font-family="DejaVu Sans Mono, Book" font-size="14.00">client</text>
</g>
<!-- host&#45;&#45;client -->
<g id="edge1" class="edge">
<title>host:mgmt1&#45;&#45;client:mgmt</title>
<path fill="none" stroke="lightgrey" stroke-width="2" d="M108,-140.31C108,-140.31 258.03,-245.12 258.03,-245.12"/>
<path fill="none" stroke="lightgrey" stroke-width="2" d="M108,-160.31C108,-160.31 308.03,-285.12 308.03,-285.12"/>
</g>
<!-- server -->
<g id="node3" class="node">
<title>server</title>
<polygon fill="none" stroke="black" points="258.03,-0.5 258.03,-46.5 374.03,-46.5 374.03,-0.5 258.03,-0.5"/>
<text text-anchor="middle" x="283.03" y="-31.3" font-family="DejaVu Sans Mono, Book" font-size="14.00">link</text>
<polyline fill="none" stroke="black" points="258.03,-23.5 308.03,-23.5 "/>
<text text-anchor="middle" x="283.03" y="-8.3" font-family="DejaVu Sans Mono, Book" font-size="14.00">mgmt</text>
<polyline fill="none" stroke="black" points="308.03,-0.5 308.03,-46.5 "/>
<text text-anchor="middle" x="341.03" y="-19.8" font-family="DejaVu Sans Mono, Book" font-size="14.00">server</text>
<polygon fill="none" stroke="black" points="308.03,-0.5 308.03,-46.5 424.03,-46.5 424.03,-0.5 308.03,-0.5"/>
<text text-anchor="middle" x="333.03" y="-31.3" font-family="DejaVu Sans Mono, Book" font-size="14.00">link</text>
<polyline fill="none" stroke="black" points="308.03,-23.5 358.03,-23.5 "/>
<text text-anchor="middle" x="333.03" y="-8.3" font-family="DejaVu Sans Mono, Book" font-size="14.00">mgmt</text>
<polyline fill="none" stroke="black" points="358.03,-0.5 358.03,-46.5 "/>
<text text-anchor="middle" x="391.03" y="-19.8" font-family="DejaVu Sans Mono, Book" font-size="14.00">server</text>
</g>
<!-- host&#45;&#45;server -->
<g id="edge2" class="edge">
<title>host:mgmt2&#45;&#45;server:mgmt</title>
<path fill="none" stroke="lightgrey" stroke-width="2" d="M108,-116.31C108,-116.31 258.03,-11.5 258.03,-11.5"/>
<path fill="none" stroke="lightgrey" stroke-width="2" d="M108,-136.31C108,-136.31 308.03,-11.5 308.03,-11.5"/>
</g>
<!-- client&#45;&#45;server -->
<g id="edge3" class="edge">
<title>client:link&#45;&#45;server:link</title>
<path fill="none" stroke="black" stroke-width="2" d="M283.03,-210.12C283.03,-210.12 283.03,-46.5 283.03,-46.5"/>
<text text-anchor="middle" x="242.03" y="-50.3" font-family="DejaVu Serif, Book" font-size="14.00">10.0.0.1/24</text>
<text text-anchor="middle" x="242.03" y="-198.92" font-family="DejaVu Serif, Book" font-size="14.00">10.0.0.2/24</text>
<path fill="none" stroke="black" stroke-width="2" d="M333.03,-250.12C333.03,-250.12 333.03,-46.5 333.03,-46.5"/>
<text text-anchor="middle" x="292.03" y="-50.3" font-family="DejaVu Serif, Book" font-size="14.00">10.0.0.1/24</text>
<text text-anchor="middle" x="292.03" y="-238.92" font-family="DejaVu Serif, Book" font-size="14.00">10.0.0.2/24</text>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

@@ -1 +1 @@
add_delete_user.adoc
test.adoc
@@ -1,14 +1,18 @@
=== Add/delete user
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_system/add_delete_user]
=== Add/delete user
==== Description
Verify that it is possible to add/delete a user. The user password is hashed
with yescrypt.
==== Topology
image::topology.svg[Add/delete user topology, align=center, scaledwidth=75%]
==== Sequence
. Set up topology and attach to target DUT
. Add new user 'newuser01' with password 'newuser01password'
. Verify user 'newuser01' exist in operational
+1 -1
View File
@@ -1 +1 @@
hostname.adoc
test.adoc
@@ -1,19 +1,20 @@
=== Set hostname
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_system/hostname]
=== Set hostname
==== Description
Verify that it is possible to change hostname both normal
and using format %h-%m.
The %h-%m format expands to <default hostname>-<MAC>,
where MAC is the last three bytes of the base MAC address.
e.g. ix-01-01-01.
Verify that it is possible to set hostname using both regular text and
format specificers, like '%h-%m'. These format specifiers expand to
'<default hostname>-<MAC>', where MAC is the last three bytes of the
base MAC address. E.g., ix-01-01-01.
==== Topology
image::topology.svg[Set hostname topology, align=center, scaledwidth=75%]
==== Sequence
. Set up topology and attach to target DUT
. Set hostname to 'h0stn4m3'
. Verify new hostname 'h0stn4m3'
+1 -1
View File
@@ -1 +1 @@
ntp_client.adoc
test.adoc
@@ -1,13 +1,17 @@
=== Basic NTP client test
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_system/ntp_client]
=== Basic NTP client test
==== Description
Verify NTP client with multiple servers, ensure one get selected.
==== Topology
image::topology.svg[Basic NTP client test topology, align=center, scaledwidth=75%]
==== Sequence
. Set up topology and attach to target DUT
. Configure NTP client on 'target'
. Verify one source is in 'selected' state on 'target'
+1 -1
View File
@@ -1 +1 @@
timezone.adoc
test.adoc
@@ -1,13 +1,17 @@
=== Set timezone using timezone name
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_system/timezone]
=== Set timezone using timezone name
==== Description
Verify that it is possible to set timezone using timezone names.
==== Topology
image::topology.svg[Set timezone using timezone name topology, align=center, scaledwidth=75%]
==== Sequence
. Set up topology and attach to target DUT
. Set timezone to Australia/Perth
. Verify timezone is Australia/Perth
@@ -1 +1 @@
timezone_utc_offset.adoc
test.adoc
@@ -1,13 +1,17 @@
=== Set timezone with UTC offset
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_system/timezone_utc_offset]
=== Set timezone with UTC offset
==== Description
Verify that it is possible to set timezone using UTC offset
==== Topology
image::topology.svg[Set timezone with UTC offset topology, align=center, scaledwidth=75%]
==== Sequence
. Set up topology and attach to target DUT
. Set timezone UTC offset to +12
. Verify current timezone is UTC+12:00
+1 -1
View File
@@ -1 +1 @@
upgrade.adoc
test.adoc
@@ -1,13 +1,17 @@
=== System upgrade
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_system/upgrade]
=== Upgrade
==== Description
Verify it is possible to upgrade.
Verify system upgrade functionality.
==== Topology
image::topology.svg[Upgrade topology, align=center, scaledwidth=75%]
image::topology.svg[System upgrade topology, align=center, scaledwidth=75%]
==== Sequence
. Set up topology and attach to target DUT
. Start installation of selected package
. Wait for upgrade to finish

Some files were not shown because too many files have changed in this diff Show More