
On Fri, 2023-04-21 at 17:08 -0700, emohandesi@linux.microsoft.com wrote:
«Внимание! Данное письмо от внешнего адресата!»
From: Ehsan Mohandesi emohandesi@linux.microsoft.com
Test the IPv6 network discovery feature if indicated by boardenv file.
Signed-off-by: Ehsan Mohandesi emohandesi@linux.microsoft.com
configs/sandbox64_defconfig | 2 ++ configs/sandbox_defconfig | 2 ++ configs/sandbox_flattree_defconfig | 2 ++ test/py/tests/test_net.py | 31 ++++++++++++++++++++++++++++++- 4 files changed, 36 insertions(+), 1 deletion(-)
diff --git a/configs/sandbox64_defconfig b/configs/sandbox64_defconfig index af2c56a..be36ede 100644 --- a/configs/sandbox64_defconfig +++ b/configs/sandbox64_defconfig @@ -260,3 +260,5 @@ CONFIG_FWU_MULTI_BANK_UPDATE=y CONFIG_UNIT_TEST=y CONFIG_UT_TIME=y CONFIG_UT_DM=y +CONFIG_IPV6=y +CONFIG_IPV6_ROUTER_DISCOVERY=y diff --git a/configs/sandbox_defconfig b/configs/sandbox_defconfig index ca95b2c..0673c69 100644 --- a/configs/sandbox_defconfig +++ b/configs/sandbox_defconfig @@ -341,3 +341,5 @@ CONFIG_UNIT_TEST=y CONFIG_UT_TIME=y CONFIG_UT_DM=y CONFIG_CMD_2048=y +CONFIG_IPV6=y +CONFIG_IPV6_ROUTER_DISCOVERY=y diff --git a/configs/sandbox_flattree_defconfig b/configs/sandbox_flattree_defconfig index e9fcc5b..d6c8dd2 100644 --- a/configs/sandbox_flattree_defconfig +++ b/configs/sandbox_flattree_defconfig @@ -229,3 +229,5 @@ CONFIG_EFI_CAPSULE_FIRMWARE_FIT=y CONFIG_UNIT_TEST=y CONFIG_UT_TIME=y CONFIG_UT_DM=y +CONFIG_IPV6=y +CONFIG_IPV6_ROUTER_DISCOVERY=y diff --git a/test/py/tests/test_net.py b/test/py/tests/test_net.py index 9ca6743..f85071d 100644 --- a/test/py/tests/test_net.py +++ b/test/py/tests/test_net.py @@ -9,7 +9,7 @@ import u_boot_utils
""" Note: This test relies on boardenv_* containing configuration values to define -which the network environment available for testing. Without this, this test +which network environment is available for testing. Without this, this test will be automatically skipped.
For example: @@ -55,6 +55,11 @@ env__net_nfs_readable_file = { 'size': 5058624, 'crc32': 'c2244b26', }
+# True if a router advertisement service is connected to the network, and should +# be tested. If router advertisement testing is not possible or desired, this +variable may be omitted or set to False. +env__router_on_net = True """
net_set_up = False @@ -126,6 +131,30 @@ def test_net_ping(u_boot_console): output = u_boot_console.run_command('ping $serverip') assert 'is alive' in output
+@pytest.mark.buildconfigspec('IPV6_ROUTER_DISCOVERY') +def test_net_network_discovery(u_boot_console):
- """Test the network discovery feature of IPv6.
- An IPv6 network command (ping6 in this case) is run to make U-
Boot send a
- router solicitation packet, receive a router advertisement
message, and
- parse it.
- A router advertisement service needs to be running for this test
to succeed.
- U-Boot receives the RA, processes it, and if successful, assigns
the gateway
- IP and prefix length.
- The configuration is provided by the boardenv_* file; see the
comment at
- the beginning of this file.
- """
- router_on_net =
u_boot_console.config.env.get('env__router_on_net', False)
- if not router_on_net:
pytest.skip('No router on network')
- fake_host_ip = 'fe80::215:5dff:fef6:2ec6'
- output = u_boot_console.run_command('ping6 ' + fake_host_ip)
- assert 'ROUTER SOLICITATION 1' in output
- assert 'Set gatewayip6:' in output
- assert '0000:0000:0000:0000:0000:0000:0000:0000' not in output
@pytest.mark.buildconfigspec('cmd_net') def test_net_tftpboot(u_boot_console): """Test the tftpboot command. -- 1.8.3.1
Reviewed-by: Viacheslav Mitrofanov v.v.mitrofanov@yadro.com