tests/gnrc_dhcpv6_client_6lbr: Add MUD URL test
Co-Authored-By: Jens Bücker <48720000+jbueck@users.noreply.github.com> Co-Authored-By: mauspr <75017188+mauspr@users.noreply.github.com> Co-Authored-By: schulztr <75017039+schulztr@users.noreply.github.com>
This commit is contained in:
parent
2a570cb957
commit
517e082cf5
@ -5,6 +5,7 @@ export TAP ?= tap0
|
|||||||
|
|
||||||
USEMODULE += auto_init_gnrc_netif
|
USEMODULE += auto_init_gnrc_netif
|
||||||
USEMODULE += gnrc_dhcpv6_client_6lbr
|
USEMODULE += gnrc_dhcpv6_client_6lbr
|
||||||
|
USEMODULE += gnrc_dhcpv6_client_mud_url
|
||||||
USEMODULE += gnrc_netdev_default
|
USEMODULE += gnrc_netdev_default
|
||||||
USEMODULE += gnrc_pktdump
|
USEMODULE += gnrc_pktdump
|
||||||
USEMODULE += gnrc_sixlowpan_border_router_default
|
USEMODULE += gnrc_sixlowpan_border_router_default
|
||||||
|
|||||||
@ -14,13 +14,19 @@ import time
|
|||||||
|
|
||||||
from scapy.all import AsyncSniffer, sendp, Ether, IPv6, UDP
|
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 DHCP6_Solicit, DHCP6_Advertise, DHCP6_Request, DHCP6_Reply
|
||||||
from scapy.all import DHCP6OptClientId, DHCP6OptServerId, DHCP6OptIA_PD
|
from scapy.all import DHCP6OptClientId, DHCP6OptServerId, DHCP6OptIA_PD, DHCP6OptUnknown
|
||||||
from scapy.all import DUID_LL, DHCP6OptIAPrefix
|
from scapy.all import DUID_LL, DHCP6OptIAPrefix
|
||||||
from testrunner import run
|
from testrunner import run
|
||||||
|
|
||||||
|
|
||||||
TIMEOUT = 1
|
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):
|
def get_upstream_netif(child):
|
||||||
child.sendline("ifconfig")
|
child.sendline("ifconfig")
|
||||||
@ -123,6 +129,12 @@ def testfunc(child):
|
|||||||
# and it is asking for a prefix delegation
|
# and it is asking for a prefix delegation
|
||||||
assert DHCP6OptIA_PD in pkt
|
assert DHCP6OptIA_PD in pkt
|
||||||
|
|
||||||
|
assert DHCP6OptMUD in pkt
|
||||||
|
mud_packet = pkt[DHCP6OptMUD]
|
||||||
|
assert mud_packet.optcode == 112
|
||||||
|
assert mud_packet.optlen == len(MUD_TEST_URL)
|
||||||
|
assert mud_packet.data == MUD_TEST_URL
|
||||||
|
|
||||||
# reply to solicit with advertise and a prefix provided
|
# reply to solicit with advertise and a prefix provided
|
||||||
trid = pkt[DHCP6_Solicit].trid
|
trid = pkt[DHCP6_Solicit].trid
|
||||||
srv_duid = "aa:bb:cc:dd:ee:ff"
|
srv_duid = "aa:bb:cc:dd:ee:ff"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user