aboutsummaryrefslogtreecommitdiff
path: root/vendor/golang.org/x/net/route/interface_announce.go
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2018-04-25 09:28:54 +0200
committerDimitri Sokolyuk <demon@dim13.org>2018-04-25 09:28:54 +0200
commite1e8d058a33f7566f9c565d04b0d8b56f9645c35 (patch)
treeddd8a705efdc02cc8968eac7410aa8fd045e2a28 /vendor/golang.org/x/net/route/interface_announce.go
parent45109e77b62e40bb973b68412b94017bd7130754 (diff)
add vendor
Diffstat (limited to 'vendor/golang.org/x/net/route/interface_announce.go')
-rw-r--r--vendor/golang.org/x/net/route/interface_announce.go32
1 files changed, 32 insertions, 0 deletions
diff --git a/vendor/golang.org/x/net/route/interface_announce.go b/vendor/golang.org/x/net/route/interface_announce.go
new file mode 100644
index 0000000..520d657
--- /dev/null
+++ b/vendor/golang.org/x/net/route/interface_announce.go
@@ -0,0 +1,32 @@
+// Copyright 2016 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// +build dragonfly freebsd netbsd
+
+package route
+
+func (w *wireFormat) parseInterfaceAnnounceMessage(_ RIBType, b []byte) (Message, error) {
+ if len(b) < w.bodyOff {
+ return nil, errMessageTooShort
+ }
+ l := int(nativeEndian.Uint16(b[:2]))
+ if len(b) < l {
+ return nil, errInvalidMessage
+ }
+ m := &InterfaceAnnounceMessage{
+ Version: int(b[2]),
+ Type: int(b[3]),
+ Index: int(nativeEndian.Uint16(b[4:6])),
+ What: int(nativeEndian.Uint16(b[22:24])),
+ raw: b[:l],
+ }
+ for i := 0; i < 16; i++ {
+ if b[6+i] != 0 {
+ continue
+ }
+ m.Name = string(b[6 : 6+i])
+ break
+ }
+ return m, nil
+}