diff options
Diffstat (limited to 'util/linuxfw')
| -rw-r--r-- | util/linuxfw/linuxfwtest/linuxfwtest.go | 62 | ||||
| -rw-r--r-- | util/linuxfw/linuxfwtest/linuxfwtest_unsupported.go | 36 | ||||
| -rw-r--r-- | util/linuxfw/nftables_types.go | 190 |
3 files changed, 144 insertions, 144 deletions
diff --git a/util/linuxfw/linuxfwtest/linuxfwtest.go b/util/linuxfw/linuxfwtest/linuxfwtest.go index ee2cbd1b2..04f179199 100644 --- a/util/linuxfw/linuxfwtest/linuxfwtest.go +++ b/util/linuxfw/linuxfwtest/linuxfwtest.go @@ -1,31 +1,31 @@ -// Copyright (c) Tailscale Inc & AUTHORS -// SPDX-License-Identifier: BSD-3-Clause - -//go:build cgo && linux - -// Package linuxfwtest contains tests for the linuxfw package. Go does not -// support cgo in tests, and we don't want the main package to have a cgo -// dependency, so we put all the tests here and call them from the main package -// in tests intead. -package linuxfwtest - -import ( - "testing" - "unsafe" -) - -/* -#include <sys/socket.h> // socket() -*/ -import "C" - -type SizeInfo struct { - SizeofSocklen uintptr -} - -func TestSizes(t *testing.T, si *SizeInfo) { - want := unsafe.Sizeof(C.socklen_t(0)) - if want != si.SizeofSocklen { - t.Errorf("sockLen has wrong size; want=%d got=%d", want, si.SizeofSocklen) - } -} +// Copyright (c) Tailscale Inc & AUTHORS
+// SPDX-License-Identifier: BSD-3-Clause
+
+//go:build cgo && linux
+
+// Package linuxfwtest contains tests for the linuxfw package. Go does not
+// support cgo in tests, and we don't want the main package to have a cgo
+// dependency, so we put all the tests here and call them from the main package
+// in tests intead.
+package linuxfwtest
+
+import (
+ "testing"
+ "unsafe"
+)
+
+/*
+#include <sys/socket.h> // socket()
+*/
+import "C"
+
+type SizeInfo struct {
+ SizeofSocklen uintptr
+}
+
+func TestSizes(t *testing.T, si *SizeInfo) {
+ want := unsafe.Sizeof(C.socklen_t(0))
+ if want != si.SizeofSocklen {
+ t.Errorf("sockLen has wrong size; want=%d got=%d", want, si.SizeofSocklen)
+ }
+}
diff --git a/util/linuxfw/linuxfwtest/linuxfwtest_unsupported.go b/util/linuxfw/linuxfwtest/linuxfwtest_unsupported.go index 6e9569900..d5e297da7 100644 --- a/util/linuxfw/linuxfwtest/linuxfwtest_unsupported.go +++ b/util/linuxfw/linuxfwtest/linuxfwtest_unsupported.go @@ -1,18 +1,18 @@ -// Copyright (c) Tailscale Inc & AUTHORS -// SPDX-License-Identifier: BSD-3-Clause - -//go:build !cgo || !linux - -package linuxfwtest - -import ( - "testing" -) - -type SizeInfo struct { - SizeofSocklen uintptr -} - -func TestSizes(t *testing.T, si *SizeInfo) { - t.Skip("not supported without cgo") -} +// Copyright (c) Tailscale Inc & AUTHORS
+// SPDX-License-Identifier: BSD-3-Clause
+
+//go:build !cgo || !linux
+
+package linuxfwtest
+
+import (
+ "testing"
+)
+
+type SizeInfo struct {
+ SizeofSocklen uintptr
+}
+
+func TestSizes(t *testing.T, si *SizeInfo) {
+ t.Skip("not supported without cgo")
+}
diff --git a/util/linuxfw/nftables_types.go b/util/linuxfw/nftables_types.go index b6e24d2a6..a8c5a0730 100644 --- a/util/linuxfw/nftables_types.go +++ b/util/linuxfw/nftables_types.go @@ -1,95 +1,95 @@ -// Copyright (c) Tailscale Inc & AUTHORS -// SPDX-License-Identifier: BSD-3-Clause - -// TODO(#8502): add support for more architectures -//go:build linux && (arm64 || amd64) - -package linuxfw - -import ( - "github.com/google/nftables/expr" - "github.com/google/nftables/xt" -) - -var metaKeyNames = map[expr.MetaKey]string{ - expr.MetaKeyLEN: "LEN", - expr.MetaKeyPROTOCOL: "PROTOCOL", - expr.MetaKeyPRIORITY: "PRIORITY", - expr.MetaKeyMARK: "MARK", - expr.MetaKeyIIF: "IIF", - expr.MetaKeyOIF: "OIF", - expr.MetaKeyIIFNAME: "IIFNAME", - expr.MetaKeyOIFNAME: "OIFNAME", - expr.MetaKeyIIFTYPE: "IIFTYPE", - expr.MetaKeyOIFTYPE: "OIFTYPE", - expr.MetaKeySKUID: "SKUID", - expr.MetaKeySKGID: "SKGID", - expr.MetaKeyNFTRACE: "NFTRACE", - expr.MetaKeyRTCLASSID: "RTCLASSID", - expr.MetaKeySECMARK: "SECMARK", - expr.MetaKeyNFPROTO: "NFPROTO", - expr.MetaKeyL4PROTO: "L4PROTO", - expr.MetaKeyBRIIIFNAME: "BRIIIFNAME", - expr.MetaKeyBRIOIFNAME: "BRIOIFNAME", - expr.MetaKeyPKTTYPE: "PKTTYPE", - expr.MetaKeyCPU: "CPU", - expr.MetaKeyIIFGROUP: "IIFGROUP", - expr.MetaKeyOIFGROUP: "OIFGROUP", - expr.MetaKeyCGROUP: "CGROUP", - expr.MetaKeyPRANDOM: "PRANDOM", -} - -var cmpOpNames = map[expr.CmpOp]string{ - expr.CmpOpEq: "EQ", - expr.CmpOpNeq: "NEQ", - expr.CmpOpLt: "LT", - expr.CmpOpLte: "LTE", - expr.CmpOpGt: "GT", - expr.CmpOpGte: "GTE", -} - -var verdictNames = map[expr.VerdictKind]string{ - expr.VerdictReturn: "RETURN", - expr.VerdictGoto: "GOTO", - expr.VerdictJump: "JUMP", - expr.VerdictBreak: "BREAK", - expr.VerdictContinue: "CONTINUE", - expr.VerdictDrop: "DROP", - expr.VerdictAccept: "ACCEPT", - expr.VerdictStolen: "STOLEN", - expr.VerdictQueue: "QUEUE", - expr.VerdictRepeat: "REPEAT", - expr.VerdictStop: "STOP", -} - -var payloadOperationTypeNames = map[expr.PayloadOperationType]string{ - expr.PayloadLoad: "LOAD", - expr.PayloadWrite: "WRITE", -} - -var payloadBaseNames = map[expr.PayloadBase]string{ - expr.PayloadBaseLLHeader: "ll-header", - expr.PayloadBaseNetworkHeader: "network-header", - expr.PayloadBaseTransportHeader: "transport-header", -} - -var packetTypeNames = map[int]string{ - 0 /* PACKET_HOST */ : "unicast", - 1 /* PACKET_BROADCAST */ : "broadcast", - 2 /* PACKET_MULTICAST */ : "multicast", -} - -var addrTypeFlagNames = map[xt.AddrTypeFlags]string{ - xt.AddrTypeUnspec: "unspec", - xt.AddrTypeUnicast: "unicast", - xt.AddrTypeLocal: "local", - xt.AddrTypeBroadcast: "broadcast", - xt.AddrTypeAnycast: "anycast", - xt.AddrTypeMulticast: "multicast", - xt.AddrTypeBlackhole: "blackhole", - xt.AddrTypeUnreachable: "unreachable", - xt.AddrTypeProhibit: "prohibit", - xt.AddrTypeThrow: "throw", - xt.AddrTypeNat: "nat", - xt.AddrTypeXresolve: "xresolve", -} +// Copyright (c) Tailscale Inc & AUTHORS
+// SPDX-License-Identifier: BSD-3-Clause
+
+// TODO(#8502): add support for more architectures
+//go:build linux && (arm64 || amd64)
+
+package linuxfw
+
+import (
+ "github.com/google/nftables/expr"
+ "github.com/google/nftables/xt"
+)
+
+var metaKeyNames = map[expr.MetaKey]string{
+ expr.MetaKeyLEN: "LEN",
+ expr.MetaKeyPROTOCOL: "PROTOCOL",
+ expr.MetaKeyPRIORITY: "PRIORITY",
+ expr.MetaKeyMARK: "MARK",
+ expr.MetaKeyIIF: "IIF",
+ expr.MetaKeyOIF: "OIF",
+ expr.MetaKeyIIFNAME: "IIFNAME",
+ expr.MetaKeyOIFNAME: "OIFNAME",
+ expr.MetaKeyIIFTYPE: "IIFTYPE",
+ expr.MetaKeyOIFTYPE: "OIFTYPE",
+ expr.MetaKeySKUID: "SKUID",
+ expr.MetaKeySKGID: "SKGID",
+ expr.MetaKeyNFTRACE: "NFTRACE",
+ expr.MetaKeyRTCLASSID: "RTCLASSID",
+ expr.MetaKeySECMARK: "SECMARK",
+ expr.MetaKeyNFPROTO: "NFPROTO",
+ expr.MetaKeyL4PROTO: "L4PROTO",
+ expr.MetaKeyBRIIIFNAME: "BRIIIFNAME",
+ expr.MetaKeyBRIOIFNAME: "BRIOIFNAME",
+ expr.MetaKeyPKTTYPE: "PKTTYPE",
+ expr.MetaKeyCPU: "CPU",
+ expr.MetaKeyIIFGROUP: "IIFGROUP",
+ expr.MetaKeyOIFGROUP: "OIFGROUP",
+ expr.MetaKeyCGROUP: "CGROUP",
+ expr.MetaKeyPRANDOM: "PRANDOM",
+}
+
+var cmpOpNames = map[expr.CmpOp]string{
+ expr.CmpOpEq: "EQ",
+ expr.CmpOpNeq: "NEQ",
+ expr.CmpOpLt: "LT",
+ expr.CmpOpLte: "LTE",
+ expr.CmpOpGt: "GT",
+ expr.CmpOpGte: "GTE",
+}
+
+var verdictNames = map[expr.VerdictKind]string{
+ expr.VerdictReturn: "RETURN",
+ expr.VerdictGoto: "GOTO",
+ expr.VerdictJump: "JUMP",
+ expr.VerdictBreak: "BREAK",
+ expr.VerdictContinue: "CONTINUE",
+ expr.VerdictDrop: "DROP",
+ expr.VerdictAccept: "ACCEPT",
+ expr.VerdictStolen: "STOLEN",
+ expr.VerdictQueue: "QUEUE",
+ expr.VerdictRepeat: "REPEAT",
+ expr.VerdictStop: "STOP",
+}
+
+var payloadOperationTypeNames = map[expr.PayloadOperationType]string{
+ expr.PayloadLoad: "LOAD",
+ expr.PayloadWrite: "WRITE",
+}
+
+var payloadBaseNames = map[expr.PayloadBase]string{
+ expr.PayloadBaseLLHeader: "ll-header",
+ expr.PayloadBaseNetworkHeader: "network-header",
+ expr.PayloadBaseTransportHeader: "transport-header",
+}
+
+var packetTypeNames = map[int]string{
+ 0 /* PACKET_HOST */ : "unicast",
+ 1 /* PACKET_BROADCAST */ : "broadcast",
+ 2 /* PACKET_MULTICAST */ : "multicast",
+}
+
+var addrTypeFlagNames = map[xt.AddrTypeFlags]string{
+ xt.AddrTypeUnspec: "unspec",
+ xt.AddrTypeUnicast: "unicast",
+ xt.AddrTypeLocal: "local",
+ xt.AddrTypeBroadcast: "broadcast",
+ xt.AddrTypeAnycast: "anycast",
+ xt.AddrTypeMulticast: "multicast",
+ xt.AddrTypeBlackhole: "blackhole",
+ xt.AddrTypeUnreachable: "unreachable",
+ xt.AddrTypeProhibit: "prohibit",
+ xt.AddrTypeThrow: "throw",
+ xt.AddrTypeNat: "nat",
+ xt.AddrTypeXresolve: "xresolve",
+}
|
