diff --git a/scapy/layers/dhcp6.py b/scapy/layers/dhcp6.py index fba74898b7b61ea1926f6a9425c5620f51461e0d..c55fb9f046d10834ed296dc88e9a336e5b84ebda 100644 --- a/scapy/layers/dhcp6.py +++ b/scapy/layers/dhcp6.py @@ -143,7 +143,8 @@ dhcp6types = { 1:"SOLICIT", duidtypes = { 1: "Link-layer address plus time", 2: "Vendor-assigned unique ID based on Enterprise Number", - 3: "Link-layer Address" } + 3: "Link-layer Address", + 4: "UUID" } # DUID hardware types - RFC 826 - Extracted from # http://www.iana.org/assignments/arp-parameters on 31/10/06 @@ -232,9 +233,15 @@ class DUID_LL(Packet): # sect 9.4 RFC 3315 XShortEnumField("hwtype", 1, duidhwtypes), _LLAddrField("lladdr", ETHER_ANY) ] +class DUID_UUID(Packet): # RFC 6355 + name = "DUID - Based on UUID" + fields_desc = [ ShortEnumField("type", 4, duidtypes), + StrFixedLenField("uuid","", 16) ] + duid_cls = { 1: "DUID_LLT", 2: "DUID_EN", - 3: "DUID_LL"} + 3: "DUID_LL", + 4: "DUID_UUID"} ##################################################################### ### DHCPv6 Options classes ###