summaryrefslogtreecommitdiff
path: root/vendor/github.com/vishvananda/netlink/xfrm.go
diff options
context:
space:
mode:
authorbaude <bbaude@redhat.com>2019-09-17 12:58:08 -0500
committerbaude <bbaude@redhat.com>2019-09-17 13:02:05 -0500
commit71399a972c12fb3adeac8990ba2ba0afbd5ae3bc (patch)
treed2d1249d4f98611022141b335e988acd794aa2c9 /vendor/github.com/vishvananda/netlink/xfrm.go
parent0fae0bb06923ce3b2b6b7900dc00cfaaad3838fd (diff)
origin dnsname commit
Signed-off-by: baude <bbaude@redhat.com>
Diffstat (limited to 'vendor/github.com/vishvananda/netlink/xfrm.go')
-rw-r--r--vendor/github.com/vishvananda/netlink/xfrm.go75
1 files changed, 75 insertions, 0 deletions
diff --git a/vendor/github.com/vishvananda/netlink/xfrm.go b/vendor/github.com/vishvananda/netlink/xfrm.go
new file mode 100644
index 0000000..02b4184
--- /dev/null
+++ b/vendor/github.com/vishvananda/netlink/xfrm.go
@@ -0,0 +1,75 @@
+package netlink
+
+import (
+ "fmt"
+
+ "golang.org/x/sys/unix"
+)
+
+// Proto is an enum representing an ipsec protocol.
+type Proto uint8
+
+const (
+ XFRM_PROTO_ROUTE2 Proto = unix.IPPROTO_ROUTING
+ XFRM_PROTO_ESP Proto = unix.IPPROTO_ESP
+ XFRM_PROTO_AH Proto = unix.IPPROTO_AH
+ XFRM_PROTO_HAO Proto = unix.IPPROTO_DSTOPTS
+ XFRM_PROTO_COMP Proto = 0x6c // NOTE not defined on darwin
+ XFRM_PROTO_IPSEC_ANY Proto = unix.IPPROTO_RAW
+)
+
+func (p Proto) String() string {
+ switch p {
+ case XFRM_PROTO_ROUTE2:
+ return "route2"
+ case XFRM_PROTO_ESP:
+ return "esp"
+ case XFRM_PROTO_AH:
+ return "ah"
+ case XFRM_PROTO_HAO:
+ return "hao"
+ case XFRM_PROTO_COMP:
+ return "comp"
+ case XFRM_PROTO_IPSEC_ANY:
+ return "ipsec-any"
+ }
+ return fmt.Sprintf("%d", p)
+}
+
+// Mode is an enum representing an ipsec transport.
+type Mode uint8
+
+const (
+ XFRM_MODE_TRANSPORT Mode = iota
+ XFRM_MODE_TUNNEL
+ XFRM_MODE_ROUTEOPTIMIZATION
+ XFRM_MODE_IN_TRIGGER
+ XFRM_MODE_BEET
+ XFRM_MODE_MAX
+)
+
+func (m Mode) String() string {
+ switch m {
+ case XFRM_MODE_TRANSPORT:
+ return "transport"
+ case XFRM_MODE_TUNNEL:
+ return "tunnel"
+ case XFRM_MODE_ROUTEOPTIMIZATION:
+ return "ro"
+ case XFRM_MODE_IN_TRIGGER:
+ return "in_trigger"
+ case XFRM_MODE_BEET:
+ return "beet"
+ }
+ return fmt.Sprintf("%d", m)
+}
+
+// XfrmMark represents the mark associated to the state or policy
+type XfrmMark struct {
+ Value uint32
+ Mask uint32
+}
+
+func (m *XfrmMark) String() string {
+ return fmt.Sprintf("(0x%x,0x%x)", m.Value, m.Mask)
+}