diff options
author | Chris Koch <chrisko@google.com> | 2019-12-28 00:57:21 -0800 |
---|---|---|
committer | insomniac <insomniacslk@users.noreply.github.com> | 2020-03-05 15:51:55 +0000 |
commit | c483f8beb41f894c3d9c5adf0781c73ca1fbd7ac (patch) | |
tree | 73f0afcf6f50af83220f4f2d67e7edbc2cb71326 /dhcpv6/dhcpv6message.go | |
parent | 8d3e32a40580e3e227f64d9068f84b321e7921b2 (diff) |
v6: add ClientID getter
Signed-off-by: Chris Koch <chrisko@google.com>
Diffstat (limited to 'dhcpv6/dhcpv6message.go')
-rw-r--r-- | dhcpv6/dhcpv6message.go | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/dhcpv6/dhcpv6message.go b/dhcpv6/dhcpv6message.go index d67882a..00452dc 100644 --- a/dhcpv6/dhcpv6message.go +++ b/dhcpv6/dhcpv6message.go @@ -29,6 +29,15 @@ func (mo MessageOptions) ArchTypes() iana.Archs { return opt.(*optClientArchType).Archs } +// ClientID returns the client identifier option. +func (mo MessageOptions) ClientID() *Duid { + opt := mo.GetOne(OptionClientID) + if opt == nil { + return nil + } + return &opt.(*optClientID).Duid +} + // Message represents a DHCPv6 Message as defined by RFC 3315 Section 6. type Message struct { MessageType MessageType @@ -72,7 +81,7 @@ func NewSolicit(hwaddr net.HardwareAddr, modifiers ...Modifier) (*Message, error return nil, err } m.MessageType = MessageTypeSolicit - m.AddOption(&OptClientId{Cid: duid}) + m.AddOption(OptClientID(duid)) oro := new(OptRequestedOption) oro.SetRequestedOptions([]OptionCode{ OptionDNSRecursiveNameServer, |