OSDN Git Service

Hulk did something
[bytom/vapor.git] / vendor / golang.org / x / net / route / interface_announce.go
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 (file)
index 0000000..520d657
--- /dev/null
@@ -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
+}