unix: add nexthop types and consts
Fixes golang/go#38249
Change-Id: Ie8149ac16d09e76d6c5aa4d47edd947a647c381f
Reviewed-on: https://go-review.googlesource.com/c/sys/+/227357
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
Reviewed-by: Matt Layher <mdlayher@gmail.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
diff --git a/unix/linux/types.go b/unix/linux/types.go
index 10f1ea4..8b7ed20 100644
--- a/unix/linux/types.go
+++ b/unix/linux/types.go
@@ -106,6 +106,7 @@
#include <linux/netfilter/nfnetlink.h>
#include <linux/netfilter.h>
#include <linux/netlink.h>
+#include <linux/nexthop.h>
#include <linux/openat2.h>
#include <linux/perf_event.h>
#include <linux/random.h>
@@ -2303,3 +2304,23 @@
type FsverityDigest C.struct_fsverity_digest
type FsverityEnableArg C.struct_fsverity_enable_arg
+
+// nexthop
+
+type Nhmsg C.struct_nhmsg
+
+type NexthopGrp C.struct_nexthop_grp
+
+const (
+ NHA_UNSPEC = C.NHA_UNSPEC
+ NHA_ID = C.NHA_ID
+ NHA_GROUP = C.NHA_GROUP
+ NHA_GROUP_TYPE = C.NHA_GROUP_TYPE
+ NHA_BLACKHOLE = C.NHA_BLACKHOLE
+ NHA_OIF = C.NHA_OIF
+ NHA_GATEWAY = C.NHA_GATEWAY
+ NHA_ENCAP_TYPE = C.NHA_ENCAP_TYPE
+ NHA_ENCAP = C.NHA_ENCAP
+ NHA_GROUPS = C.NHA_GROUPS
+ NHA_MASTER = C.NHA_MASTER
+)
diff --git a/unix/ztypes_linux.go b/unix/ztypes_linux.go
index 781a5ea..1620ad0 100644
--- a/unix/ztypes_linux.go
+++ b/unix/ztypes_linux.go
@@ -2325,3 +2325,32 @@
Sig_ptr uint64
_ [11]uint64
}
+
+type Nhmsg struct {
+ Family uint8
+ Scope uint8
+ Protocol uint8
+ Resvd uint8
+ Flags uint32
+}
+
+type NexthopGrp struct {
+ Id uint32
+ Weight uint8
+ Resvd1 uint8
+ Resvd2 uint16
+}
+
+const (
+ NHA_UNSPEC = 0x0
+ NHA_ID = 0x1
+ NHA_GROUP = 0x2
+ NHA_GROUP_TYPE = 0x3
+ NHA_BLACKHOLE = 0x4
+ NHA_OIF = 0x5
+ NHA_GATEWAY = 0x6
+ NHA_ENCAP_TYPE = 0x7
+ NHA_ENCAP = 0x8
+ NHA_GROUPS = 0x9
+ NHA_MASTER = 0xa
+)