diff options
author | Anatole Denis <natolumin@unverle.fr> | 2020-08-05 20:15:27 +0200 |
---|---|---|
committer | Anatole Denis <Natolumin@users.noreply.github.com> | 2020-08-06 23:07:22 +0200 |
commit | 3f14f7f8bd9cd69eb47abcc82768498a03d1e74a (patch) | |
tree | 41d1af21c245d428dd62f53b8c10417521ba332a /dhcpv6/dhcpv6message.go | |
parent | 5197d6147699e3f568d2f1dca695a9aec3cb9f23 (diff) |
dhcpv6: Handle IA_TA options
This creates support for IA_TA options, based on and reusing the blocks
from IA_NA, to which it is extremely similar
Signed-off-by: Anatole Denis <natolumin@unverle.fr>
Diffstat (limited to 'dhcpv6/dhcpv6message.go')
-rw-r--r-- | dhcpv6/dhcpv6message.go | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/dhcpv6/dhcpv6message.go b/dhcpv6/dhcpv6message.go index a4da0a4..f3ed4ef 100644 --- a/dhcpv6/dhcpv6message.go +++ b/dhcpv6/dhcpv6message.go @@ -67,6 +67,25 @@ func (mo MessageOptions) OneIANA() *OptIANA { return ianas[0] } +// IATA returns all Identity Association for Temporary Address options. +func (mo MessageOptions) IATA() []*OptIATA { + opts := mo.Get(OptionIANA) + var iatas []*OptIATA + for _, o := range opts { + iatas = append(iatas, o.(*OptIATA)) + } + return iatas +} + +// OneIATA returns the first IATA option. +func (mo MessageOptions) OneIATA() *OptIATA { + iatas := mo.IATA() + if len(iatas) == 0 { + return nil + } + return iatas[0] +} + // IAPD returns all Identity Association for Prefix Delegation options. func (mo MessageOptions) IAPD() []*OptIAPD { opts := mo.Get(OptionIAPD) |