summaryrefslogtreecommitdiff
path: root/netlink.go
diff options
context:
space:
mode:
Diffstat (limited to 'netlink.go')
-rw-r--r--netlink.go24
1 files changed, 24 insertions, 0 deletions
diff --git a/netlink.go b/netlink.go
new file mode 100644
index 0000000..e701dd3
--- /dev/null
+++ b/netlink.go
@@ -0,0 +1,24 @@
+package main
+
+import (
+ "github.com/vishvananda/netlink"
+ "fmt"
+)
+
+// zero value is unspec=all
+type Family int
+
+func (f *Family) UnmarshalFlag(value string) error {
+ switch (value) {
+ case "inet", "ipv4":
+ *f = netlink.FAMILY_V4
+ case "inet6", "ipv6":
+ *f = netlink.FAMILY_V6
+ default:
+ return fmt.Errorf("Invalid --family=%v", value)
+ }
+
+ return nil
+}
+
+