From 0cd1aaaf7286462ee4946d85f1f4b566cb021356 Mon Sep 17 00:00:00 2001 From: Jan Romann Date: Sat, 1 May 2021 10:50:00 +0200 Subject: [PATCH] tests/dhcpv6_6lbr: Update test for MUD option A new version of scapy (2.4.5) has been released that now allows to test the MUD option directly without a workaround. --- .../tests-as-root/01-run.py | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/tests/gnrc_dhcpv6_client_6lbr/tests-as-root/01-run.py b/tests/gnrc_dhcpv6_client_6lbr/tests-as-root/01-run.py index 28e85b908767..a4b30153213c 100755 --- a/tests/gnrc_dhcpv6_client_6lbr/tests-as-root/01-run.py +++ b/tests/gnrc_dhcpv6_client_6lbr/tests-as-root/01-run.py @@ -14,19 +14,23 @@ from scapy.all import AsyncSniffer, sendp, Ether, IPv6, UDP from scapy.all import DHCP6_Solicit, DHCP6_Advertise, DHCP6_Request, DHCP6_Reply -from scapy.all import DHCP6OptClientId, DHCP6OptServerId, DHCP6OptIA_PD, DHCP6OptUnknown +from scapy.all import DHCP6OptClientId, DHCP6OptServerId, DHCP6OptIA_PD from scapy.all import DUID_LL, DHCP6OptIAPrefix from testrunner import run +try: + from scapy.all import DHCP6OptMudUrl + mud_option_loaded = True +except ImportError: + from scapy.all import DHCP6OptUnknown + DHCP6OptMudUrl = DHCP6OptUnknown + mud_option_loaded = False TIMEOUT = 1 MUD_OPTION_CODE = 112 MUD_TEST_URL = b'https://example.org' -# MUD URL option in DHCPv6 is not yet supported by scapy -DHCP6OptMUD = DHCP6OptUnknown - def get_upstream_netif(child): child.sendline("ifconfig") @@ -161,11 +165,15 @@ def testfunc(child): # and is still asking for a prefix delegation assert DHCP6OptIA_PD in pkt - assert DHCP6OptMUD in pkt - mud_option = pkt[DHCP6OptMUD] - assert mud_option.optcode == 112 + assert DHCP6OptMudUrl in pkt + mud_option = pkt[DHCP6OptMudUrl] assert mud_option.optlen == len(MUD_TEST_URL) - assert mud_option.data == MUD_TEST_URL + + if mud_option_loaded: + assert mud_option.mudstring == MUD_TEST_URL + else: + assert mud_option.optcode == MUD_OPTION_CODE + assert mud_option.data == MUD_TEST_URL # reply to request with reply and a prefix provided trid = pkt[DHCP6_Request].trid