diff options
author | Andrea Barberio <insomniac@slackware.it> | 2018-12-08 22:29:57 +0000 |
---|---|---|
committer | Andrea Barberio <insomniac@slackware.it> | 2018-12-08 22:29:57 +0000 |
commit | 1faed9deece4fd3d0503bc67ab8b71fe253ef682 (patch) | |
tree | 2455764e7b1945a5f4d5d7818128a146d78e2070 /dhcpv6/modifiers.go | |
parent | 08c8b272d33662a5448d4b789466a3de79050ed8 (diff) |
Also simplified corresponding v6 modifiers
Diffstat (limited to 'dhcpv6/modifiers.go')
-rw-r--r-- | dhcpv6/modifiers.go | 29 |
1 files changed, 9 insertions, 20 deletions
diff --git a/dhcpv6/modifiers.go b/dhcpv6/modifiers.go index d0d3268..fc6d87b 100644 --- a/dhcpv6/modifiers.go +++ b/dhcpv6/modifiers.go @@ -69,11 +69,7 @@ func WithArchType(at iana.ArchType) Modifier { // options func WithIANA(addrs ...OptIAAddress) Modifier { return func(d DHCPv6) DHCPv6 { - opt := d.GetOneOption(OptionIANA) - if opt == nil { - opt = &OptIANA{} - } - iaNa := opt.(*OptIANA) + iaNa := &OptIANA{} for _, addr := range addrs { iaNa.AddOption(&addr) } @@ -85,13 +81,10 @@ func WithIANA(addrs ...OptIAAddress) Modifier { // WithDNS adds or updates an OptDNSRecursiveNameServer func WithDNS(dnses ...net.IP) Modifier { return func(d DHCPv6) DHCPv6 { - opt := d.GetOneOption(OptionDNSRecursiveNameServer) - if opt == nil { - opt = &OptDNSRecursiveNameServer{} + odns := OptDNSRecursiveNameServer{ + NameServers: append([]net.IP{}, dnses[:]...), } - odns := opt.(*OptDNSRecursiveNameServer) - odns.NameServers = append(odns.NameServers, dnses[:]...) - d.UpdateOption(odns) + d.UpdateOption(&odns) return d } } @@ -99,16 +92,12 @@ func WithDNS(dnses ...net.IP) Modifier { // WithDomainSearchList adds or updates an OptDomainSearchList func WithDomainSearchList(searchlist ...string) Modifier { return func(d DHCPv6) DHCPv6 { - opt := d.GetOneOption(OptionDomainSearchList) - if opt == nil { - opt = &OptDomainSearchList{} - } - osl := opt.(*OptDomainSearchList) - labels := rfc1035label.Labels{ - Labels: searchlist, + osl := OptDomainSearchList{ + DomainSearchList: &rfc1035label.Labels{ + Labels: searchlist, + }, } - osl.DomainSearchList = &labels - d.UpdateOption(osl) + d.UpdateOption(&osl) return d } } |