summaryrefslogtreecommitdiffhomepage
path: root/dhcpv6/dhcpv6message.go
diff options
context:
space:
mode:
authorAnatole Denis <natolumin@unverle.fr>2020-08-05 20:15:27 +0200
committerAnatole Denis <Natolumin@users.noreply.github.com>2020-08-06 23:07:22 +0200
commit3f14f7f8bd9cd69eb47abcc82768498a03d1e74a (patch)
tree41d1af21c245d428dd62f53b8c10417521ba332a /dhcpv6/dhcpv6message.go
parent5197d6147699e3f568d2f1dca695a9aec3cb9f23 (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.go19
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)