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
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
=== Interface Speed Duplex (Copper)
==== Description
Verify that auto-negotiation results in expected speed/duplex mode.
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
2. Auto-negotiation – host advertises selectable modes and the target negotiates
to the highest common speed/duplex.

==== Topology
ifdef::topdoc[]
Expand All @@ -17,17 +21,17 @@ endif::topdoc[]
==== Test sequence
. Set up topology and attach to target DUT
. Enable target interface
. Set fixed 10/full
. Set fixed 10/half
. Set fixed 100/full
. Set fixed 100/half
. Verify fixed 10/full
. Verify fixed 10/half
. Verify fixed 100/full
. Verify fixed 100/half
. Switch to auto-negotiation mode for target and host
. Configure host to advertise 10/Full only
. Configure host to advertise 10/Half only
. Configure host to advertise 100/Full only
. Configure host to advertise 100/Half only
. Configure host to advertise 10/half + 10/full + 100/half
. Configure host to advertise 10/half + 10/full + 100/half + 100/full + 1000/full
. Verify auto-negotiation to 10/Full only
. Verify auto-negotiation to 10/Half only
. Verify auto-negotiation to 100/Full only
. Verify auto-negotiation to 100/Half only
. Verify auto-negotiation to 10/half + 10/full + 100/half
. Verify auto-negotiation to 10/half + 10/full + 100/half + 100/full + 1000/full


<<<
Expand Down
26 changes: 15 additions & 11 deletions test/case/ietf_interfaces/speed_duplex_copper/test.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,11 @@
"""
Interface Speed Duplex (Copper)

Verify that auto-negotiation results in expected speed/duplex mode.
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
2. Auto-negotiation – host advertises selectable modes and the target negotiates
to the highest common speed/duplex.
"""

import infamy
Expand Down Expand Up @@ -164,22 +168,22 @@ def cleanup(target, hdata, tdata):
ns.addip("10.0.0.1")

# Fixed mode tests
with test.step("Set fixed 10/full"):
with test.step("Verify fixed 10/full"):
set_host_speed_duplex(hdata, 10, "full")
set_target_speed_duplex(target, tdata, 10, "full")
verify_speed_duplex(target, ns, tdata, 10, "full")

with test.step("Set fixed 10/half"):
with test.step("Verify fixed 10/half"):
set_host_speed_duplex(hdata, 10, "half")
set_target_speed_duplex(target, tdata, 10, "half")
verify_speed_duplex(target, ns, tdata, 10, "half")

with test.step("Set fixed 100/full"):
with test.step("Verify fixed 100/full"):
set_host_speed_duplex(hdata, 100, "full")
set_target_speed_duplex(target, tdata, 100, "full")
verify_speed_duplex(target, ns, tdata, 100, "full")

with test.step("Set fixed 100/half"):
with test.step("Verify fixed 100/half"):
set_host_speed_duplex(hdata, 100, "half")
set_target_speed_duplex(target, tdata, 100, "half")
verify_speed_duplex(target, ns, tdata, 100, "half")
Expand All @@ -189,27 +193,27 @@ def cleanup(target, hdata, tdata):
enable_host_autoneg(hdata)
enable_target_autoneg(target, tdata)

with test.step("Configure host to advertise 10/Full only"):
with test.step("Verify auto-negotiation to 10/Full only"):
advertise_host_modes(hdata, ["10full"])
verify_speed_duplex(target, ns, tdata, 10, "full")

with test.step("Configure host to advertise 10/Half only"):
with test.step("Verify auto-negotiation to 10/Half only"):
advertise_host_modes(hdata, ["10half"])
verify_speed_duplex(target, ns, tdata, 10, "half")

with test.step("Configure host to advertise 100/Full only"):
with test.step("Verify auto-negotiation to 100/Full only"):
advertise_host_modes(hdata, ["100full"])
verify_speed_duplex(target, ns, tdata, 100, "full")

with test.step("Configure host to advertise 100/Half only"):
with test.step("Verify auto-negotiation to 100/Half only"):
advertise_host_modes(hdata, ["100half"])
verify_speed_duplex(target, ns, tdata, 100, "half")

with test.step("Configure host to advertise 10/half + 10/full + 100/half"):
with test.step("Verify auto-negotiation to 10/half + 10/full + 100/half"):
advertise_host_modes(hdata, ["10half", "10full", "100half"])
verify_speed_duplex(target, ns, tdata, 100, "half")

with test.step("Configure host to advertise 10/half + 10/full + 100/half + 100/full + 1000/full"):
with test.step("Verify auto-negotiation to 10/half + 10/full + 100/half + 100/full + 1000/full"):
advertise_host_modes(hdata, ["10half", "10full", "100half", "100full", "1000full"])
verify_speed_duplex(target, ns, tdata, 1000, "full")

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
=== Host Command Execution from Container
==== Description
This test verifies that a container running on Infix can execute commands
that affect the host system. Specifically, it confirms that the container
can change the hostname of the host.

==== Topology
ifdef::topdoc[]
image::{topdoc}../../test/case/infix_containers/container_host_commands/topology.svg[Host Command Execution from Container topology]
endif::topdoc[]
ifndef::topdoc[]
ifdef::testgroup[]
image::container_host_commands/topology.svg[Host Command Execution from Container topology]
endif::testgroup[]
ifndef::testgroup[]
image::topology.svg[Host Command Execution from Container topology]
endif::testgroup[]
endif::topdoc[]
==== Test sequence
. Set up topology and attach to target DUT
. Set initial hostname
. Verify initial hostname in operational
. Include script in OCI image to modify host hostname
. Verify container has started
. Verify the new hostname set by the container


<<<

33 changes: 33 additions & 0 deletions test/case/infix_containers/container_host_commands/topology.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.