diff options
Diffstat (limited to 'dhcpv6/ztpv6/parse_vendor_options.go')
-rw-r--r-- | dhcpv6/ztpv6/parse_vendor_options.go | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/dhcpv6/ztpv6/parse_vendor_options.go b/dhcpv6/ztpv6/parse_vendor_options.go index 3aef837..13983f4 100644 --- a/dhcpv6/ztpv6/parse_vendor_options.go +++ b/dhcpv6/ztpv6/parse_vendor_options.go @@ -81,11 +81,11 @@ func ParseVendorData(packet dhcpv6.DHCPv6) (*VendorData, error) { if len(v) < 3 { return nil, errVendorOptionMalformed } - duid := packet.(*dhcpv6.Message).Options.ClientID() - if duid.Type != dhcpv6.DUID_EN { - return nil, errors.New(fmt.Sprintf("Unexpected DUID type %d for Ciena", duid.Type)) + innerMessage, err := packet.GetInnerMessage() + if err != nil { + return nil, fmt.Errorf("Unable to get inner message: %v", err) } - + duid := innerMessage.Options.ClientID() vd.VendorName = iana.EnterpriseIDCienaCorporation.String() vd.Model = v[1] + "-" + v[2] vd.Serial = string(duid.EnterpriseIdentifier) |