route: drops const that x/unix has

For golang/go#54035

Change-Id: I5163bb1d562f0c7f7de16995fcb42ece894d07bf
Reviewed-on: https://go-review.googlesource.com/c/net/+/419180
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Damien Neil <dneil@google.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
Run-TryBot: Ian Lance Taylor <iant@google.com>
Run-TryBot: Meng Zhuo <mzh@golangcn.org>
Auto-Submit: Ian Lance Taylor <iant@google.com>
diff --git a/route/address.go b/route/address.go
index 1898ed0..930bdff 100644
--- a/route/address.go
+++ b/route/address.go
@@ -7,7 +7,11 @@
 
 package route
 
-import "runtime"
+import (
+	"runtime"
+
+	"golang.org/x/sys/unix"
+)
 
 // An Addr represents an address associated with packet routing.
 type Addr interface {
@@ -23,7 +27,7 @@
 }
 
 // Family implements the Family method of Addr interface.
-func (a *LinkAddr) Family() int { return sysAF_LINK }
+func (a *LinkAddr) Family() int { return unix.AF_LINK }
 
 func (a *LinkAddr) lenAndSpace() (int, int) {
 	l := 8 + len(a.Name) + len(a.Addr)
@@ -40,7 +44,7 @@
 		return 0, errInvalidAddr
 	}
 	b[0] = byte(l)
-	b[1] = sysAF_LINK
+	b[1] = unix.AF_LINK
 	if a.Index > 0 {
 		nativeEndian.PutUint16(b[2:4], uint16(a.Index))
 	}
@@ -62,7 +66,7 @@
 	if len(b) < 8 {
 		return nil, errInvalidAddr
 	}
-	_, a, err := parseKernelLinkAddr(sysAF_LINK, b[4:])
+	_, a, err := parseKernelLinkAddr(unix.AF_LINK, b[4:])
 	if err != nil {
 		return nil, err
 	}
@@ -122,7 +126,7 @@
 }
 
 // Family implements the Family method of Addr interface.
-func (a *Inet4Addr) Family() int { return sysAF_INET }
+func (a *Inet4Addr) Family() int { return unix.AF_INET }
 
 func (a *Inet4Addr) lenAndSpace() (int, int) {
 	return sizeofSockaddrInet, roundup(sizeofSockaddrInet)
@@ -134,7 +138,7 @@
 		return 0, errShortBuffer
 	}
 	b[0] = byte(l)
-	b[1] = sysAF_INET
+	b[1] = unix.AF_INET
 	copy(b[4:8], a.IP[:])
 	return ll, nil
 }
@@ -146,7 +150,7 @@
 }
 
 // Family implements the Family method of Addr interface.
-func (a *Inet6Addr) Family() int { return sysAF_INET6 }
+func (a *Inet6Addr) Family() int { return unix.AF_INET6 }
 
 func (a *Inet6Addr) lenAndSpace() (int, int) {
 	return sizeofSockaddrInet6, roundup(sizeofSockaddrInet6)
@@ -158,7 +162,7 @@
 		return 0, errShortBuffer
 	}
 	b[0] = byte(l)
-	b[1] = sysAF_INET6
+	b[1] = unix.AF_INET6
 	copy(b[8:24], a.IP[:])
 	if a.ZoneID > 0 {
 		nativeEndian.PutUint32(b[24:28], uint32(a.ZoneID))
@@ -169,14 +173,14 @@
 // parseInetAddr parses b as an internet address for IPv4 or IPv6.
 func parseInetAddr(af int, b []byte) (Addr, error) {
 	switch af {
-	case sysAF_INET:
+	case unix.AF_INET:
 		if len(b) < sizeofSockaddrInet {
 			return nil, errInvalidAddr
 		}
 		a := &Inet4Addr{}
 		copy(a.IP[:], b[4:8])
 		return a, nil
-	case sysAF_INET6:
+	case unix.AF_INET6:
 		if len(b) < sizeofSockaddrInet6 {
 			return nil, errInvalidAddr
 		}
@@ -245,7 +249,7 @@
 		a := &Inet6Addr{}
 		copy(a.IP[:], b[off6:off6+16])
 		return int(b[0]), a, nil
-	case af == sysAF_INET6:
+	case af == unix.AF_INET6:
 		a := &Inet6Addr{}
 		if l-1 < off6 {
 			copy(a.IP[:], b[1:l])
@@ -365,15 +369,15 @@
 }
 
 func parseAddrs(attrs uint, fn func(int, []byte) (int, Addr, error), b []byte) ([]Addr, error) {
-	var as [sysRTAX_MAX]Addr
-	af := int(sysAF_UNSPEC)
-	for i := uint(0); i < sysRTAX_MAX && len(b) >= roundup(0); i++ {
+	var as [unix.RTAX_MAX]Addr
+	af := int(unix.AF_UNSPEC)
+	for i := uint(0); i < unix.RTAX_MAX && len(b) >= roundup(0); i++ {
 		if attrs&(1<<i) == 0 {
 			continue
 		}
-		if i <= sysRTAX_BRD {
+		if i <= unix.RTAX_BRD {
 			switch b[1] {
-			case sysAF_LINK:
+			case unix.AF_LINK:
 				a, err := parseLinkAddr(b)
 				if err != nil {
 					return nil, err
@@ -384,7 +388,7 @@
 					return nil, errMessageTooShort
 				}
 				b = b[l:]
-			case sysAF_INET, sysAF_INET6:
+			case unix.AF_INET, unix.AF_INET6:
 				af = int(b[1])
 				a, err := parseInetAddr(af, b)
 				if err != nil {
diff --git a/route/address_darwin_test.go b/route/address_darwin_test.go
index b86bd3d..d367e96 100644
--- a/route/address_darwin_test.go
+++ b/route/address_darwin_test.go
@@ -7,6 +7,8 @@
 import (
 	"reflect"
 	"testing"
+
+	"golang.org/x/sys/unix"
 )
 
 type parseAddrsOnDarwinTest struct {
@@ -18,7 +20,7 @@
 
 var parseAddrsOnDarwinLittleEndianTests = []parseAddrsOnDarwinTest{
 	{
-		sysRTA_DST | sysRTA_GATEWAY | sysRTA_NETMASK,
+		unix.RTA_DST | unix.RTA_GATEWAY | unix.RTA_NETMASK,
 		parseKernelInetAddr,
 		[]byte{
 			0x10, 0x2, 0x0, 0x0, 0xc0, 0xa8, 0x56, 0x0,
diff --git a/route/address_test.go b/route/address_test.go
index 420399b..fbc5838 100644
--- a/route/address_test.go
+++ b/route/address_test.go
@@ -10,6 +10,8 @@
 import (
 	"reflect"
 	"testing"
+
+	"golang.org/x/sys/unix"
 )
 
 type parseAddrsTest struct {
@@ -21,7 +23,7 @@
 
 var parseAddrsLittleEndianTests = []parseAddrsTest{
 	{
-		sysRTA_DST | sysRTA_GATEWAY | sysRTA_NETMASK | sysRTA_BRD,
+		unix.RTA_DST | unix.RTA_GATEWAY | unix.RTA_NETMASK | unix.RTA_BRD,
 		parseKernelInetAddr,
 		[]byte{
 			0x38, 0x12, 0x0, 0x0, 0xff, 0xff, 0xff, 0x0,
@@ -58,7 +60,7 @@
 		},
 	},
 	{
-		sysRTA_NETMASK | sysRTA_IFP | sysRTA_IFA,
+		unix.RTA_NETMASK | unix.RTA_IFP | unix.RTA_IFA,
 		parseKernelInetAddr,
 		[]byte{
 			0x7, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0x0,
diff --git a/route/defs_darwin.go b/route/defs_darwin.go
index 72a995e..8da5845 100644
--- a/route/defs_darwin.go
+++ b/route/defs_darwin.go
@@ -20,83 +20,6 @@
 import "C"
 
 const (
-	sysAF_UNSPEC = C.AF_UNSPEC
-	sysAF_INET   = C.AF_INET
-	sysAF_ROUTE  = C.AF_ROUTE
-	sysAF_LINK   = C.AF_LINK
-	sysAF_INET6  = C.AF_INET6
-
-	sysSOCK_RAW = C.SOCK_RAW
-
-	sysNET_RT_DUMP    = C.NET_RT_DUMP
-	sysNET_RT_FLAGS   = C.NET_RT_FLAGS
-	sysNET_RT_IFLIST  = C.NET_RT_IFLIST
-	sysNET_RT_STAT    = C.NET_RT_STAT
-	sysNET_RT_TRASH   = C.NET_RT_TRASH
-	sysNET_RT_IFLIST2 = C.NET_RT_IFLIST2
-	sysNET_RT_DUMP2   = C.NET_RT_DUMP2
-	sysNET_RT_MAXID   = C.NET_RT_MAXID
-)
-
-const (
-	sysCTL_MAXNAME = C.CTL_MAXNAME
-
-	sysCTL_UNSPEC  = C.CTL_UNSPEC
-	sysCTL_KERN    = C.CTL_KERN
-	sysCTL_VM      = C.CTL_VM
-	sysCTL_VFS     = C.CTL_VFS
-	sysCTL_NET     = C.CTL_NET
-	sysCTL_DEBUG   = C.CTL_DEBUG
-	sysCTL_HW      = C.CTL_HW
-	sysCTL_MACHDEP = C.CTL_MACHDEP
-	sysCTL_USER    = C.CTL_USER
-	sysCTL_MAXID   = C.CTL_MAXID
-)
-
-const (
-	sysRTM_VERSION = C.RTM_VERSION
-
-	sysRTM_ADD       = C.RTM_ADD
-	sysRTM_DELETE    = C.RTM_DELETE
-	sysRTM_CHANGE    = C.RTM_CHANGE
-	sysRTM_GET       = C.RTM_GET
-	sysRTM_LOSING    = C.RTM_LOSING
-	sysRTM_REDIRECT  = C.RTM_REDIRECT
-	sysRTM_MISS      = C.RTM_MISS
-	sysRTM_LOCK      = C.RTM_LOCK
-	sysRTM_OLDADD    = C.RTM_OLDADD
-	sysRTM_OLDDEL    = C.RTM_OLDDEL
-	sysRTM_RESOLVE   = C.RTM_RESOLVE
-	sysRTM_NEWADDR   = C.RTM_NEWADDR
-	sysRTM_DELADDR   = C.RTM_DELADDR
-	sysRTM_IFINFO    = C.RTM_IFINFO
-	sysRTM_NEWMADDR  = C.RTM_NEWMADDR
-	sysRTM_DELMADDR  = C.RTM_DELMADDR
-	sysRTM_IFINFO2   = C.RTM_IFINFO2
-	sysRTM_NEWMADDR2 = C.RTM_NEWMADDR2
-	sysRTM_GET2      = C.RTM_GET2
-
-	sysRTA_DST     = C.RTA_DST
-	sysRTA_GATEWAY = C.RTA_GATEWAY
-	sysRTA_NETMASK = C.RTA_NETMASK
-	sysRTA_GENMASK = C.RTA_GENMASK
-	sysRTA_IFP     = C.RTA_IFP
-	sysRTA_IFA     = C.RTA_IFA
-	sysRTA_AUTHOR  = C.RTA_AUTHOR
-	sysRTA_BRD     = C.RTA_BRD
-
-	sysRTAX_DST     = C.RTAX_DST
-	sysRTAX_GATEWAY = C.RTAX_GATEWAY
-	sysRTAX_NETMASK = C.RTAX_NETMASK
-	sysRTAX_GENMASK = C.RTAX_GENMASK
-	sysRTAX_IFP     = C.RTAX_IFP
-	sysRTAX_IFA     = C.RTAX_IFA
-	sysRTAX_AUTHOR  = C.RTAX_AUTHOR
-	sysRTAX_BRD     = C.RTAX_BRD
-	sysRTAX_MAX     = C.RTAX_MAX
-)
-
-const (
 	sizeofIfMsghdrDarwin15    = C.sizeof_struct_if_msghdr
 	sizeofIfaMsghdrDarwin15   = C.sizeof_struct_ifa_msghdr
 	sizeofIfmaMsghdrDarwin15  = C.sizeof_struct_ifma_msghdr
diff --git a/route/defs_dragonfly.go b/route/defs_dragonfly.go
index d314b73..acf3d1c 100644
--- a/route/defs_dragonfly.go
+++ b/route/defs_dragonfly.go
@@ -41,84 +41,6 @@
 import "C"
 
 const (
-	sysAF_UNSPEC = C.AF_UNSPEC
-	sysAF_INET   = C.AF_INET
-	sysAF_ROUTE  = C.AF_ROUTE
-	sysAF_LINK   = C.AF_LINK
-	sysAF_INET6  = C.AF_INET6
-
-	sysSOCK_RAW = C.SOCK_RAW
-
-	sysNET_RT_DUMP   = C.NET_RT_DUMP
-	sysNET_RT_FLAGS  = C.NET_RT_FLAGS
-	sysNET_RT_IFLIST = C.NET_RT_IFLIST
-	sysNET_RT_MAXID  = C.NET_RT_MAXID
-)
-
-const (
-	sysCTL_MAXNAME = C.CTL_MAXNAME
-
-	sysCTL_UNSPEC   = C.CTL_UNSPEC
-	sysCTL_KERN     = C.CTL_KERN
-	sysCTL_VM       = C.CTL_VM
-	sysCTL_VFS      = C.CTL_VFS
-	sysCTL_NET      = C.CTL_NET
-	sysCTL_DEBUG    = C.CTL_DEBUG
-	sysCTL_HW       = C.CTL_HW
-	sysCTL_MACHDEP  = C.CTL_MACHDEP
-	sysCTL_USER     = C.CTL_USER
-	sysCTL_P1003_1B = C.CTL_P1003_1B
-	sysCTL_LWKT     = C.CTL_LWKT
-	sysCTL_MAXID    = C.CTL_MAXID
-)
-
-const (
-	sysRTM_VERSION = C.RTM_VERSION
-
-	sysRTM_ADD        = C.RTM_ADD
-	sysRTM_DELETE     = C.RTM_DELETE
-	sysRTM_CHANGE     = C.RTM_CHANGE
-	sysRTM_GET        = C.RTM_GET
-	sysRTM_LOSING     = C.RTM_LOSING
-	sysRTM_REDIRECT   = C.RTM_REDIRECT
-	sysRTM_MISS       = C.RTM_MISS
-	sysRTM_LOCK       = C.RTM_LOCK
-	sysRTM_RESOLVE    = C.RTM_RESOLVE
-	sysRTM_NEWADDR    = C.RTM_NEWADDR
-	sysRTM_DELADDR    = C.RTM_DELADDR
-	sysRTM_IFINFO     = C.RTM_IFINFO
-	sysRTM_NEWMADDR   = C.RTM_NEWMADDR
-	sysRTM_DELMADDR   = C.RTM_DELMADDR
-	sysRTM_IFANNOUNCE = C.RTM_IFANNOUNCE
-	sysRTM_IEEE80211  = C.RTM_IEEE80211
-
-	sysRTA_DST     = C.RTA_DST
-	sysRTA_GATEWAY = C.RTA_GATEWAY
-	sysRTA_NETMASK = C.RTA_NETMASK
-	sysRTA_GENMASK = C.RTA_GENMASK
-	sysRTA_IFP     = C.RTA_IFP
-	sysRTA_IFA     = C.RTA_IFA
-	sysRTA_AUTHOR  = C.RTA_AUTHOR
-	sysRTA_BRD     = C.RTA_BRD
-	sysRTA_MPLS1   = C.RTA_MPLS1
-	sysRTA_MPLS2   = C.RTA_MPLS2
-	sysRTA_MPLS3   = C.RTA_MPLS3
-
-	sysRTAX_DST     = C.RTAX_DST
-	sysRTAX_GATEWAY = C.RTAX_GATEWAY
-	sysRTAX_NETMASK = C.RTAX_NETMASK
-	sysRTAX_GENMASK = C.RTAX_GENMASK
-	sysRTAX_IFP     = C.RTAX_IFP
-	sysRTAX_IFA     = C.RTAX_IFA
-	sysRTAX_AUTHOR  = C.RTAX_AUTHOR
-	sysRTAX_BRD     = C.RTAX_BRD
-	sysRTAX_MPLS1   = C.RTAX_MPLS1
-	sysRTAX_MPLS2   = C.RTAX_MPLS2
-	sysRTAX_MPLS3   = C.RTAX_MPLS3
-	sysRTAX_MAX     = C.RTAX_MAX
-)
-
-const (
 	sizeofIfMsghdrDragonFlyBSD4         = C.sizeof_struct_if_msghdr
 	sizeofIfaMsghdrDragonFlyBSD4        = C.sizeof_struct_ifa_msghdr_dfly4
 	sizeofIfmaMsghdrDragonFlyBSD4       = C.sizeof_struct_ifma_msghdr
diff --git a/route/defs_freebsd.go b/route/defs_freebsd.go
index b1c4dbf..3f11512 100644
--- a/route/defs_freebsd.go
+++ b/route/defs_freebsd.go
@@ -219,77 +219,6 @@
 import "C"
 
 const (
-	sysAF_UNSPEC = C.AF_UNSPEC
-	sysAF_INET   = C.AF_INET
-	sysAF_ROUTE  = C.AF_ROUTE
-	sysAF_LINK   = C.AF_LINK
-	sysAF_INET6  = C.AF_INET6
-
-	sysSOCK_RAW = C.SOCK_RAW
-
-	sysNET_RT_DUMP     = C.NET_RT_DUMP
-	sysNET_RT_FLAGS    = C.NET_RT_FLAGS
-	sysNET_RT_IFLIST   = C.NET_RT_IFLIST
-	sysNET_RT_IFMALIST = C.NET_RT_IFMALIST
-	sysNET_RT_IFLISTL  = C.NET_RT_IFLISTL
-)
-
-const (
-	sysCTL_MAXNAME = C.CTL_MAXNAME
-
-	sysCTL_UNSPEC   = C.CTL_UNSPEC
-	sysCTL_KERN     = C.CTL_KERN
-	sysCTL_VM       = C.CTL_VM
-	sysCTL_VFS      = C.CTL_VFS
-	sysCTL_NET      = C.CTL_NET
-	sysCTL_DEBUG    = C.CTL_DEBUG
-	sysCTL_HW       = C.CTL_HW
-	sysCTL_MACHDEP  = C.CTL_MACHDEP
-	sysCTL_USER     = C.CTL_USER
-	sysCTL_P1003_1B = C.CTL_P1003_1B
-)
-
-const (
-	sysRTM_VERSION = C.RTM_VERSION
-
-	sysRTM_ADD        = C.RTM_ADD
-	sysRTM_DELETE     = C.RTM_DELETE
-	sysRTM_CHANGE     = C.RTM_CHANGE
-	sysRTM_GET        = C.RTM_GET
-	sysRTM_LOSING     = C.RTM_LOSING
-	sysRTM_REDIRECT   = C.RTM_REDIRECT
-	sysRTM_MISS       = C.RTM_MISS
-	sysRTM_LOCK       = C.RTM_LOCK
-	sysRTM_RESOLVE    = C.RTM_RESOLVE
-	sysRTM_NEWADDR    = C.RTM_NEWADDR
-	sysRTM_DELADDR    = C.RTM_DELADDR
-	sysRTM_IFINFO     = C.RTM_IFINFO
-	sysRTM_NEWMADDR   = C.RTM_NEWMADDR
-	sysRTM_DELMADDR   = C.RTM_DELMADDR
-	sysRTM_IFANNOUNCE = C.RTM_IFANNOUNCE
-	sysRTM_IEEE80211  = C.RTM_IEEE80211
-
-	sysRTA_DST     = C.RTA_DST
-	sysRTA_GATEWAY = C.RTA_GATEWAY
-	sysRTA_NETMASK = C.RTA_NETMASK
-	sysRTA_GENMASK = C.RTA_GENMASK
-	sysRTA_IFP     = C.RTA_IFP
-	sysRTA_IFA     = C.RTA_IFA
-	sysRTA_AUTHOR  = C.RTA_AUTHOR
-	sysRTA_BRD     = C.RTA_BRD
-
-	sysRTAX_DST     = C.RTAX_DST
-	sysRTAX_GATEWAY = C.RTAX_GATEWAY
-	sysRTAX_NETMASK = C.RTAX_NETMASK
-	sysRTAX_GENMASK = C.RTAX_GENMASK
-	sysRTAX_IFP     = C.RTAX_IFP
-	sysRTAX_IFA     = C.RTAX_IFA
-	sysRTAX_AUTHOR  = C.RTAX_AUTHOR
-	sysRTAX_BRD     = C.RTAX_BRD
-	sysRTAX_MAX     = C.RTAX_MAX
-)
-
-const (
 	sizeofIfMsghdrlFreeBSD10        = C.sizeof_struct_if_msghdrl
 	sizeofIfaMsghdrFreeBSD10        = C.sizeof_struct_ifa_msghdr
 	sizeofIfaMsghdrlFreeBSD10       = C.sizeof_struct_ifa_msghdrl
diff --git a/route/defs_netbsd.go b/route/defs_netbsd.go
index 74d39e3..c4304df 100644
--- a/route/defs_netbsd.go
+++ b/route/defs_netbsd.go
@@ -20,86 +20,6 @@
 import "C"
 
 const (
-	sysAF_UNSPEC = C.AF_UNSPEC
-	sysAF_INET   = C.AF_INET
-	sysAF_ROUTE  = C.AF_ROUTE
-	sysAF_LINK   = C.AF_LINK
-	sysAF_INET6  = C.AF_INET6
-
-	sysSOCK_RAW = C.SOCK_RAW
-
-	sysNET_RT_DUMP   = C.NET_RT_DUMP
-	sysNET_RT_FLAGS  = C.NET_RT_FLAGS
-	sysNET_RT_IFLIST = C.NET_RT_IFLIST
-	sysNET_RT_MAXID  = C.NET_RT_MAXID
-)
-
-const (
-	sysCTL_MAXNAME = C.CTL_MAXNAME
-
-	sysCTL_UNSPEC   = C.CTL_UNSPEC
-	sysCTL_KERN     = C.CTL_KERN
-	sysCTL_VM       = C.CTL_VM
-	sysCTL_VFS      = C.CTL_VFS
-	sysCTL_NET      = C.CTL_NET
-	sysCTL_DEBUG    = C.CTL_DEBUG
-	sysCTL_HW       = C.CTL_HW
-	sysCTL_MACHDEP  = C.CTL_MACHDEP
-	sysCTL_USER     = C.CTL_USER
-	sysCTL_DDB      = C.CTL_DDB
-	sysCTL_PROC     = C.CTL_PROC
-	sysCTL_VENDOR   = C.CTL_VENDOR
-	sysCTL_EMUL     = C.CTL_EMUL
-	sysCTL_SECURITY = C.CTL_SECURITY
-	sysCTL_MAXID    = C.CTL_MAXID
-)
-
-const (
-	sysRTM_VERSION = C.RTM_VERSION
-
-	sysRTM_ADD        = C.RTM_ADD
-	sysRTM_DELETE     = C.RTM_DELETE
-	sysRTM_CHANGE     = C.RTM_CHANGE
-	sysRTM_GET        = C.RTM_GET
-	sysRTM_LOSING     = C.RTM_LOSING
-	sysRTM_REDIRECT   = C.RTM_REDIRECT
-	sysRTM_MISS       = C.RTM_MISS
-	sysRTM_LOCK       = C.RTM_LOCK
-	sysRTM_OLDADD     = C.RTM_OLDADD
-	sysRTM_OLDDEL     = C.RTM_OLDDEL
-	sysRTM_RESOLVE    = C.RTM_RESOLVE
-	sysRTM_NEWADDR    = C.RTM_NEWADDR
-	sysRTM_DELADDR    = C.RTM_DELADDR
-	sysRTM_IFANNOUNCE = C.RTM_IFANNOUNCE
-	sysRTM_IEEE80211  = C.RTM_IEEE80211
-	sysRTM_SETGATE    = C.RTM_SETGATE
-	sysRTM_LLINFO_UPD = C.RTM_LLINFO_UPD
-	sysRTM_IFINFO     = C.RTM_IFINFO
-	sysRTM_CHGADDR    = C.RTM_CHGADDR
-
-	sysRTA_DST     = C.RTA_DST
-	sysRTA_GATEWAY = C.RTA_GATEWAY
-	sysRTA_NETMASK = C.RTA_NETMASK
-	sysRTA_GENMASK = C.RTA_GENMASK
-	sysRTA_IFP     = C.RTA_IFP
-	sysRTA_IFA     = C.RTA_IFA
-	sysRTA_AUTHOR  = C.RTA_AUTHOR
-	sysRTA_BRD     = C.RTA_BRD
-	sysRTA_TAG     = C.RTA_TAG
-
-	sysRTAX_DST     = C.RTAX_DST
-	sysRTAX_GATEWAY = C.RTAX_GATEWAY
-	sysRTAX_NETMASK = C.RTAX_NETMASK
-	sysRTAX_GENMASK = C.RTAX_GENMASK
-	sysRTAX_IFP     = C.RTAX_IFP
-	sysRTAX_IFA     = C.RTAX_IFA
-	sysRTAX_AUTHOR  = C.RTAX_AUTHOR
-	sysRTAX_BRD     = C.RTAX_BRD
-	sysRTAX_TAG     = C.RTAX_TAG
-	sysRTAX_MAX     = C.RTAX_MAX
-)
-
-const (
 	sizeofIfMsghdrNetBSD7         = C.sizeof_struct_if_msghdr
 	sizeofIfaMsghdrNetBSD7        = C.sizeof_struct_ifa_msghdr
 	sizeofIfAnnouncemsghdrNetBSD7 = C.sizeof_struct_if_announcemsghdr
diff --git a/route/defs_openbsd.go b/route/defs_openbsd.go
index 9c02a75..9af0e1a 100644
--- a/route/defs_openbsd.go
+++ b/route/defs_openbsd.go
@@ -20,95 +20,6 @@
 import "C"
 
 const (
-	sysAF_UNSPEC = C.AF_UNSPEC
-	sysAF_INET   = C.AF_INET
-	sysAF_ROUTE  = C.AF_ROUTE
-	sysAF_LINK   = C.AF_LINK
-	sysAF_INET6  = C.AF_INET6
-
-	sysSOCK_RAW = C.SOCK_RAW
-
-	sysNET_RT_DUMP    = C.NET_RT_DUMP
-	sysNET_RT_FLAGS   = C.NET_RT_FLAGS
-	sysNET_RT_IFLIST  = C.NET_RT_IFLIST
-	sysNET_RT_STATS   = C.NET_RT_STATS
-	sysNET_RT_TABLE   = C.NET_RT_TABLE
-	sysNET_RT_IFNAMES = C.NET_RT_IFNAMES
-	sysNET_RT_MAXID   = C.NET_RT_MAXID
-)
-
-const (
-	sysCTL_MAXNAME = C.CTL_MAXNAME
-
-	sysCTL_UNSPEC  = C.CTL_UNSPEC
-	sysCTL_KERN    = C.CTL_KERN
-	sysCTL_VM      = C.CTL_VM
-	sysCTL_FS      = C.CTL_FS
-	sysCTL_NET     = C.CTL_NET
-	sysCTL_DEBUG   = C.CTL_DEBUG
-	sysCTL_HW      = C.CTL_HW
-	sysCTL_MACHDEP = C.CTL_MACHDEP
-	sysCTL_DDB     = C.CTL_DDB
-	sysCTL_VFS     = C.CTL_VFS
-	sysCTL_MAXID   = C.CTL_MAXID
-)
-
-const (
-	sysRTM_VERSION = C.RTM_VERSION
-
-	sysRTM_ADD        = C.RTM_ADD
-	sysRTM_DELETE     = C.RTM_DELETE
-	sysRTM_CHANGE     = C.RTM_CHANGE
-	sysRTM_GET        = C.RTM_GET
-	sysRTM_LOSING     = C.RTM_LOSING
-	sysRTM_REDIRECT   = C.RTM_REDIRECT
-	sysRTM_MISS       = C.RTM_MISS
-	sysRTM_LOCK       = C.RTM_LOCK
-	sysRTM_RESOLVE    = C.RTM_RESOLVE
-	sysRTM_NEWADDR    = C.RTM_NEWADDR
-	sysRTM_DELADDR    = C.RTM_DELADDR
-	sysRTM_IFINFO     = C.RTM_IFINFO
-	sysRTM_IFANNOUNCE = C.RTM_IFANNOUNCE
-	sysRTM_DESYNC     = C.RTM_DESYNC
-	sysRTM_INVALIDATE = C.RTM_INVALIDATE
-	sysRTM_BFD        = C.RTM_BFD
-	sysRTM_PROPOSAL   = C.RTM_PROPOSAL
-
-	sysRTA_DST     = C.RTA_DST
-	sysRTA_GATEWAY = C.RTA_GATEWAY
-	sysRTA_NETMASK = C.RTA_NETMASK
-	sysRTA_GENMASK = C.RTA_GENMASK
-	sysRTA_IFP     = C.RTA_IFP
-	sysRTA_IFA     = C.RTA_IFA
-	sysRTA_AUTHOR  = C.RTA_AUTHOR
-	sysRTA_BRD     = C.RTA_BRD
-	sysRTA_SRC     = C.RTA_SRC
-	sysRTA_SRCMASK = C.RTA_SRCMASK
-	sysRTA_LABEL   = C.RTA_LABEL
-	sysRTA_BFD     = C.RTA_BFD
-	sysRTA_DNS     = C.RTA_DNS
-	sysRTA_STATIC  = C.RTA_STATIC
-	sysRTA_SEARCH  = C.RTA_SEARCH
-
-	sysRTAX_DST     = C.RTAX_DST
-	sysRTAX_GATEWAY = C.RTAX_GATEWAY
-	sysRTAX_NETMASK = C.RTAX_NETMASK
-	sysRTAX_GENMASK = C.RTAX_GENMASK
-	sysRTAX_IFP     = C.RTAX_IFP
-	sysRTAX_IFA     = C.RTAX_IFA
-	sysRTAX_AUTHOR  = C.RTAX_AUTHOR
-	sysRTAX_BRD     = C.RTAX_BRD
-	sysRTAX_SRC     = C.RTAX_SRC
-	sysRTAX_SRCMASK = C.RTAX_SRCMASK
-	sysRTAX_LABEL   = C.RTAX_LABEL
-	sysRTAX_BFD     = C.RTAX_BFD
-	sysRTAX_DNS     = C.RTAX_DNS
-	sysRTAX_STATIC  = C.RTAX_STATIC
-	sysRTAX_SEARCH  = C.RTAX_SEARCH
-	sysRTAX_MAX     = C.RTAX_MAX
-)
-
-const (
 	sizeofRtMsghdr = C.sizeof_struct_rt_msghdr
 
 	sizeofSockaddrStorage = C.sizeof_struct_sockaddr_storage
diff --git a/route/interface_classic.go b/route/interface_classic.go
index 85b7e99..d1d8284 100644
--- a/route/interface_classic.go
+++ b/route/interface_classic.go
@@ -7,7 +7,11 @@
 
 package route
 
-import "runtime"
+import (
+	"runtime"
+
+	"golang.org/x/sys/unix"
+)
 
 func (w *wireFormat) parseInterfaceMessage(_ RIBType, b []byte) (Message, error) {
 	if len(b) < w.bodyOff {
@@ -18,13 +22,13 @@
 		return nil, errInvalidMessage
 	}
 	attrs := uint(nativeEndian.Uint32(b[4:8]))
-	if attrs&sysRTA_IFP == 0 {
+	if attrs&unix.RTA_IFP == 0 {
 		return nil, nil
 	}
 	m := &InterfaceMessage{
 		Version: int(b[2]),
 		Type:    int(b[3]),
-		Addrs:   make([]Addr, sysRTAX_MAX),
+		Addrs:   make([]Addr, unix.RTAX_MAX),
 		Flags:   int(nativeEndian.Uint32(b[8:12])),
 		Index:   int(nativeEndian.Uint16(b[12:14])),
 		extOff:  w.extOff,
@@ -34,7 +38,7 @@
 	if err != nil {
 		return nil, err
 	}
-	m.Addrs[sysRTAX_IFP] = a
+	m.Addrs[unix.RTAX_IFP] = a
 	m.Name = a.(*LinkAddr).Name
 	return m, nil
 }
diff --git a/route/interface_freebsd.go b/route/interface_freebsd.go
index 9f6f50c..7e90b17 100644
--- a/route/interface_freebsd.go
+++ b/route/interface_freebsd.go
@@ -4,9 +4,11 @@
 
 package route
 
+import "golang.org/x/sys/unix"
+
 func (w *wireFormat) parseInterfaceMessage(typ RIBType, b []byte) (Message, error) {
 	var extOff, bodyOff int
-	if typ == sysNET_RT_IFLISTL {
+	if typ == unix.NET_RT_IFLISTL {
 		if len(b) < 20 {
 			return nil, errMessageTooShort
 		}
@@ -24,7 +26,7 @@
 		return nil, errInvalidMessage
 	}
 	attrs := uint(nativeEndian.Uint32(b[4:8]))
-	if attrs&sysRTA_IFP == 0 {
+	if attrs&unix.RTA_IFP == 0 {
 		return nil, nil
 	}
 	m := &InterfaceMessage{
@@ -32,7 +34,7 @@
 		Type:    int(b[3]),
 		Flags:   int(nativeEndian.Uint32(b[8:12])),
 		Index:   int(nativeEndian.Uint16(b[12:14])),
-		Addrs:   make([]Addr, sysRTAX_MAX),
+		Addrs:   make([]Addr, unix.RTAX_MAX),
 		extOff:  extOff,
 		raw:     b[:l],
 	}
@@ -40,14 +42,14 @@
 	if err != nil {
 		return nil, err
 	}
-	m.Addrs[sysRTAX_IFP] = a
+	m.Addrs[unix.RTAX_IFP] = a
 	m.Name = a.(*LinkAddr).Name
 	return m, nil
 }
 
 func (w *wireFormat) parseInterfaceAddrMessage(typ RIBType, b []byte) (Message, error) {
 	var bodyOff int
-	if typ == sysNET_RT_IFLISTL {
+	if typ == unix.NET_RT_IFLISTL {
 		if len(b) < 24 {
 			return nil, errMessageTooShort
 		}
diff --git a/route/interface_openbsd.go b/route/interface_openbsd.go
index e4a143c..fe003e3 100644
--- a/route/interface_openbsd.go
+++ b/route/interface_openbsd.go
@@ -4,6 +4,8 @@
 
 package route
 
+import "golang.org/x/sys/unix"
+
 func (*wireFormat) parseInterfaceMessage(_ RIBType, b []byte) (Message, error) {
 	if len(b) < 32 {
 		return nil, errMessageTooShort
@@ -13,7 +15,7 @@
 		return nil, errInvalidMessage
 	}
 	attrs := uint(nativeEndian.Uint32(b[12:16]))
-	if attrs&sysRTA_IFP == 0 {
+	if attrs&unix.RTA_IFP == 0 {
 		return nil, nil
 	}
 	m := &InterfaceMessage{
@@ -21,7 +23,7 @@
 		Type:    int(b[3]),
 		Flags:   int(nativeEndian.Uint32(b[16:20])),
 		Index:   int(nativeEndian.Uint16(b[6:8])),
-		Addrs:   make([]Addr, sysRTAX_MAX),
+		Addrs:   make([]Addr, unix.RTAX_MAX),
 		raw:     b[:l],
 	}
 	ll := int(nativeEndian.Uint16(b[4:6]))
@@ -32,7 +34,7 @@
 	if err != nil {
 		return nil, err
 	}
-	m.Addrs[sysRTAX_IFP] = a
+	m.Addrs[unix.RTAX_IFP] = a
 	m.Name = a.(*LinkAddr).Name
 	return m, nil
 }
diff --git a/route/message_darwin_test.go b/route/message_darwin_test.go
index 316aa75..debe2e6 100644
--- a/route/message_darwin_test.go
+++ b/route/message_darwin_test.go
@@ -4,13 +4,17 @@
 
 package route
 
-import "testing"
+import (
+	"testing"
+
+	"golang.org/x/sys/unix"
+)
 
 func TestFetchAndParseRIBOnDarwin(t *testing.T) {
-	for _, typ := range []RIBType{sysNET_RT_FLAGS, sysNET_RT_DUMP2, sysNET_RT_IFLIST2} {
+	for _, typ := range []RIBType{unix.NET_RT_FLAGS, unix.NET_RT_DUMP2, unix.NET_RT_IFLIST2} {
 		var lastErr error
 		var ms []Message
-		for _, af := range []int{sysAF_UNSPEC, sysAF_INET, sysAF_INET6} {
+		for _, af := range []int{unix.AF_UNSPEC, unix.AF_INET, unix.AF_INET6} {
 			rs, err := fetchAndParseRIB(af, typ)
 			if err != nil {
 				lastErr = err
diff --git a/route/message_freebsd_test.go b/route/message_freebsd_test.go
index c6d8a5f..9f899c6 100644
--- a/route/message_freebsd_test.go
+++ b/route/message_freebsd_test.go
@@ -4,13 +4,17 @@
 
 package route
 
-import "testing"
+import (
+	"testing"
+
+	"golang.org/x/sys/unix"
+)
 
 func TestFetchAndParseRIBOnFreeBSD(t *testing.T) {
-	for _, typ := range []RIBType{sysNET_RT_IFMALIST} {
+	for _, typ := range []RIBType{unix.NET_RT_IFMALIST} {
 		var lastErr error
 		var ms []Message
-		for _, af := range []int{sysAF_UNSPEC, sysAF_INET, sysAF_INET6} {
+		for _, af := range []int{unix.AF_UNSPEC, unix.AF_INET, unix.AF_INET6} {
 			rs, err := fetchAndParseRIB(af, typ)
 			if err != nil {
 				lastErr = err
@@ -34,7 +38,7 @@
 }
 
 func TestFetchAndParseRIBOnFreeBSD10AndAbove(t *testing.T) {
-	if _, err := FetchRIB(sysAF_UNSPEC, sysNET_RT_IFLISTL, 0); err != nil {
+	if _, err := FetchRIB(unix.AF_UNSPEC, unix.NET_RT_IFLISTL, 0); err != nil {
 		t.Skip("NET_RT_IFLISTL not supported")
 	}
 	if compatFreeBSD32 {
@@ -47,12 +51,12 @@
 		msgs []Message
 		ss   []string
 	}{
-		{typ: sysNET_RT_IFLIST},
-		{typ: sysNET_RT_IFLISTL},
+		{typ: unix.NET_RT_IFLIST},
+		{typ: unix.NET_RT_IFLISTL},
 	}
 	for i := range tests {
 		var lastErr error
-		for _, af := range []int{sysAF_UNSPEC, sysAF_INET, sysAF_INET6} {
+		for _, af := range []int{unix.AF_UNSPEC, unix.AF_INET, unix.AF_INET6} {
 			rs, err := fetchAndParseRIB(af, tests[i].typ)
 			if err != nil {
 				lastErr = err
diff --git a/route/message_test.go b/route/message_test.go
index e5284e4..702d15a 100644
--- a/route/message_test.go
+++ b/route/message_test.go
@@ -12,13 +12,15 @@
 	"syscall"
 	"testing"
 	"time"
+
+	"golang.org/x/sys/unix"
 )
 
 func TestFetchAndParseRIB(t *testing.T) {
-	for _, typ := range []RIBType{sysNET_RT_DUMP, sysNET_RT_IFLIST} {
+	for _, typ := range []RIBType{unix.NET_RT_DUMP, unix.NET_RT_IFLIST} {
 		var lastErr error
 		var ms []Message
-		for _, af := range []int{sysAF_UNSPEC, sysAF_INET, sysAF_INET6} {
+		for _, af := range []int{unix.AF_UNSPEC, unix.AF_INET, unix.AF_INET6} {
 			rs, err := fetchAndParseRIB(af, typ)
 			if err != nil {
 				lastErr = err
@@ -49,7 +51,7 @@
 func init() {
 	// We need to keep rtmonSock alive to avoid treading on
 	// recycled socket descriptors.
-	rtmonSock, rtmonErr = syscall.Socket(sysAF_ROUTE, sysSOCK_RAW, sysAF_UNSPEC)
+	rtmonSock, rtmonErr = syscall.Socket(unix.AF_ROUTE, unix.SOCK_RAW, unix.AF_UNSPEC)
 }
 
 // TestMonitorAndParseRIB leaks a worker goroutine and a socket
@@ -145,60 +147,60 @@
 }
 
 func TestRouteMessage(t *testing.T) {
-	s, err := syscall.Socket(sysAF_ROUTE, sysSOCK_RAW, sysAF_UNSPEC)
+	s, err := syscall.Socket(unix.AF_ROUTE, unix.SOCK_RAW, unix.AF_UNSPEC)
 	if err != nil {
 		t.Fatal(err)
 	}
 	defer syscall.Close(s)
 
 	var ms []RouteMessage
-	for _, af := range []int{sysAF_INET, sysAF_INET6} {
-		if _, err := fetchAndParseRIB(af, sysNET_RT_DUMP); err != nil {
+	for _, af := range []int{unix.AF_INET, unix.AF_INET6} {
+		if _, err := fetchAndParseRIB(af, unix.NET_RT_DUMP); err != nil {
 			t.Log(err)
 			continue
 		}
 		switch af {
-		case sysAF_INET:
+		case unix.AF_INET:
 			ms = append(ms, []RouteMessage{
 				{
-					Type: sysRTM_GET,
+					Type: unix.RTM_GET,
 					Addrs: []Addr{
-						sysRTAX_DST:     &Inet4Addr{IP: [4]byte{127, 0, 0, 1}},
-						sysRTAX_GATEWAY: nil,
-						sysRTAX_NETMASK: nil,
-						sysRTAX_GENMASK: nil,
-						sysRTAX_IFP:     &LinkAddr{},
-						sysRTAX_IFA:     &Inet4Addr{},
-						sysRTAX_AUTHOR:  nil,
-						sysRTAX_BRD:     &Inet4Addr{},
+						unix.RTAX_DST:     &Inet4Addr{IP: [4]byte{127, 0, 0, 1}},
+						unix.RTAX_GATEWAY: nil,
+						unix.RTAX_NETMASK: nil,
+						unix.RTAX_GENMASK: nil,
+						unix.RTAX_IFP:     &LinkAddr{},
+						unix.RTAX_IFA:     &Inet4Addr{},
+						unix.RTAX_AUTHOR:  nil,
+						unix.RTAX_BRD:     &Inet4Addr{},
 					},
 				},
 				{
-					Type: sysRTM_GET,
+					Type: unix.RTM_GET,
 					Addrs: []Addr{
-						sysRTAX_DST: &Inet4Addr{IP: [4]byte{127, 0, 0, 1}},
+						unix.RTAX_DST: &Inet4Addr{IP: [4]byte{127, 0, 0, 1}},
 					},
 				},
 			}...)
-		case sysAF_INET6:
+		case unix.AF_INET6:
 			ms = append(ms, []RouteMessage{
 				{
-					Type: sysRTM_GET,
+					Type: unix.RTM_GET,
 					Addrs: []Addr{
-						sysRTAX_DST:     &Inet6Addr{IP: [16]byte{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}},
-						sysRTAX_GATEWAY: nil,
-						sysRTAX_NETMASK: nil,
-						sysRTAX_GENMASK: nil,
-						sysRTAX_IFP:     &LinkAddr{},
-						sysRTAX_IFA:     &Inet6Addr{},
-						sysRTAX_AUTHOR:  nil,
-						sysRTAX_BRD:     &Inet6Addr{},
+						unix.RTAX_DST:     &Inet6Addr{IP: [16]byte{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}},
+						unix.RTAX_GATEWAY: nil,
+						unix.RTAX_NETMASK: nil,
+						unix.RTAX_GENMASK: nil,
+						unix.RTAX_IFP:     &LinkAddr{},
+						unix.RTAX_IFA:     &Inet6Addr{},
+						unix.RTAX_AUTHOR:  nil,
+						unix.RTAX_BRD:     &Inet6Addr{},
 					},
 				},
 				{
-					Type: sysRTM_GET,
+					Type: unix.RTM_GET,
 					Addrs: []Addr{
-						sysRTAX_DST: &Inet6Addr{IP: [16]byte{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}},
+						unix.RTAX_DST: &Inet6Addr{IP: [16]byte{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}},
 					},
 				},
 			}...)
diff --git a/route/route.go b/route/route.go
index fd0019e..b99cb8f 100644
--- a/route/route.go
+++ b/route/route.go
@@ -17,6 +17,8 @@
 	"errors"
 	"os"
 	"syscall"
+
+	"golang.org/x/sys/unix"
 )
 
 var (
@@ -111,7 +113,7 @@
 	try := 0
 	for {
 		try++
-		mib := [6]int32{sysCTL_NET, sysAF_ROUTE, 0, int32(af), int32(typ), int32(arg)}
+		mib := [6]int32{unix.CTL_NET, unix.AF_ROUTE, 0, int32(af), int32(typ), int32(arg)}
 		n := uintptr(0)
 		if err := sysctl(mib[:], nil, &n, nil, 0); err != nil {
 			return nil, os.NewSyscallError("sysctl", err)
diff --git a/route/route_openbsd.go b/route/route_openbsd.go
index daf2e90..e834fd0 100644
--- a/route/route_openbsd.go
+++ b/route/route_openbsd.go
@@ -4,14 +4,18 @@
 
 package route
 
-import "syscall"
+import (
+	"syscall"
+
+	"golang.org/x/sys/unix"
+)
 
 func (m *RouteMessage) marshal() ([]byte, error) {
 	l := sizeofRtMsghdr + addrsSpace(m.Addrs)
 	b := make([]byte, l)
 	nativeEndian.PutUint16(b[:2], uint16(l))
 	if m.Version == 0 {
-		b[2] = sysRTM_VERSION
+		b[2] = unix.RTM_VERSION
 	} else {
 		b[2] = byte(m.Version)
 	}
diff --git a/route/route_test.go b/route/route_test.go
index 27f05b8..7ade140 100644
--- a/route/route_test.go
+++ b/route/route_test.go
@@ -11,6 +11,8 @@
 	"fmt"
 	"os/exec"
 	"runtime"
+
+	"golang.org/x/sys/unix"
 )
 
 func (m *RouteMessage) String() string {
@@ -176,13 +178,13 @@
 
 func (af addrFamily) String() string {
 	switch af {
-	case sysAF_UNSPEC:
+	case unix.AF_UNSPEC:
 		return "unspec"
-	case sysAF_LINK:
+	case unix.AF_LINK:
 		return "link"
-	case sysAF_INET:
+	case unix.AF_INET:
 		return "inet4"
-	case sysAF_INET6:
+	case unix.AF_INET6:
 		return "inet6"
 	default:
 		return fmt.Sprintf("%d", af)
@@ -281,24 +283,24 @@
 
 func (as addrs) match(attrs addrAttrs) error {
 	var ts addrAttrs
-	af := sysAF_UNSPEC
+	af := unix.AF_UNSPEC
 	for i := range as {
 		if as[i] != nil {
 			ts |= 1 << uint(i)
 		}
 		switch as[i].(type) {
 		case *Inet4Addr:
-			if af == sysAF_UNSPEC {
-				af = sysAF_INET
+			if af == unix.AF_UNSPEC {
+				af = unix.AF_INET
 			}
-			if af != sysAF_INET {
+			if af != unix.AF_INET {
 				return fmt.Errorf("got %v; want %v", addrs(as), addrFamily(af))
 			}
 		case *Inet6Addr:
-			if af == sysAF_UNSPEC {
-				af = sysAF_INET6
+			if af == unix.AF_UNSPEC {
+				af = unix.AF_INET6
 			}
-			if af != sysAF_INET6 {
+			if af != unix.AF_INET6 {
 				return fmt.Errorf("got %v; want %v", addrs(as), addrFamily(af))
 			}
 		}
diff --git a/route/sys.go b/route/sys.go
index 537484a..03e727a 100644
--- a/route/sys.go
+++ b/route/sys.go
@@ -7,7 +7,11 @@
 
 package route
 
-import "unsafe"
+import (
+	"unsafe"
+
+	"golang.org/x/sys/unix"
+)
 
 var (
 	nativeEndian binaryByteOrder
@@ -25,7 +29,7 @@
 		nativeEndian = bigEndian
 	}
 	// might get overridden in probeRoutingStack
-	rtmVersion = sysRTM_VERSION
+	rtmVersion = unix.RTM_VERSION
 	kernelAlign, wireFormats = probeRoutingStack()
 }
 
diff --git a/route/sys_darwin.go b/route/sys_darwin.go
index d2daf5c..b79d94a 100644
--- a/route/sys_darwin.go
+++ b/route/sys_darwin.go
@@ -4,9 +4,11 @@
 
 package route
 
+import "golang.org/x/sys/unix"
+
 func (typ RIBType) parseable() bool {
 	switch typ {
-	case sysNET_RT_STAT, sysNET_RT_TRASH:
+	case unix.NET_RT_STAT, unix.NET_RT_TRASH:
 		return false
 	default:
 		return true
@@ -66,22 +68,22 @@
 	ifmam2.parse = ifmam2.parseInterfaceMulticastAddrMessage
 	// Darwin kernels require 32-bit aligned access to routing facilities.
 	return 4, map[int]*wireFormat{
-		sysRTM_ADD:       rtm,
-		sysRTM_DELETE:    rtm,
-		sysRTM_CHANGE:    rtm,
-		sysRTM_GET:       rtm,
-		sysRTM_LOSING:    rtm,
-		sysRTM_REDIRECT:  rtm,
-		sysRTM_MISS:      rtm,
-		sysRTM_LOCK:      rtm,
-		sysRTM_RESOLVE:   rtm,
-		sysRTM_NEWADDR:   ifam,
-		sysRTM_DELADDR:   ifam,
-		sysRTM_IFINFO:    ifm,
-		sysRTM_NEWMADDR:  ifmam,
-		sysRTM_DELMADDR:  ifmam,
-		sysRTM_IFINFO2:   ifm2,
-		sysRTM_NEWMADDR2: ifmam2,
-		sysRTM_GET2:      rtm2,
+		unix.RTM_ADD:       rtm,
+		unix.RTM_DELETE:    rtm,
+		unix.RTM_CHANGE:    rtm,
+		unix.RTM_GET:       rtm,
+		unix.RTM_LOSING:    rtm,
+		unix.RTM_REDIRECT:  rtm,
+		unix.RTM_MISS:      rtm,
+		unix.RTM_LOCK:      rtm,
+		unix.RTM_RESOLVE:   rtm,
+		unix.RTM_NEWADDR:   ifam,
+		unix.RTM_DELADDR:   ifam,
+		unix.RTM_IFINFO:    ifm,
+		unix.RTM_NEWMADDR:  ifmam,
+		unix.RTM_DELMADDR:  ifmam,
+		unix.RTM_IFINFO2:   ifm2,
+		unix.RTM_NEWMADDR2: ifmam2,
+		unix.RTM_GET2:      rtm2,
 	}
 }
diff --git a/route/sys_dragonfly.go b/route/sys_dragonfly.go
index a138951..db53402 100644
--- a/route/sys_dragonfly.go
+++ b/route/sys_dragonfly.go
@@ -7,6 +7,8 @@
 import (
 	"syscall"
 	"unsafe"
+
+	"golang.org/x/sys/unix"
 )
 
 func (typ RIBType) parseable() bool { return true }
@@ -69,20 +71,20 @@
 	}
 
 	return int(unsafe.Sizeof(p)), map[int]*wireFormat{
-		sysRTM_ADD:        rtm,
-		sysRTM_DELETE:     rtm,
-		sysRTM_CHANGE:     rtm,
-		sysRTM_GET:        rtm,
-		sysRTM_LOSING:     rtm,
-		sysRTM_REDIRECT:   rtm,
-		sysRTM_MISS:       rtm,
-		sysRTM_LOCK:       rtm,
-		sysRTM_RESOLVE:    rtm,
-		sysRTM_NEWADDR:    ifam,
-		sysRTM_DELADDR:    ifam,
-		sysRTM_IFINFO:     ifm,
-		sysRTM_NEWMADDR:   ifmam,
-		sysRTM_DELMADDR:   ifmam,
-		sysRTM_IFANNOUNCE: ifanm,
+		unix.RTM_ADD:        rtm,
+		unix.RTM_DELETE:     rtm,
+		unix.RTM_CHANGE:     rtm,
+		unix.RTM_GET:        rtm,
+		unix.RTM_LOSING:     rtm,
+		unix.RTM_REDIRECT:   rtm,
+		unix.RTM_MISS:       rtm,
+		unix.RTM_LOCK:       rtm,
+		unix.RTM_RESOLVE:    rtm,
+		unix.RTM_NEWADDR:    ifam,
+		unix.RTM_DELADDR:    ifam,
+		unix.RTM_IFINFO:     ifm,
+		unix.RTM_NEWMADDR:   ifmam,
+		unix.RTM_DELMADDR:   ifmam,
+		unix.RTM_IFANNOUNCE: ifanm,
 	}
 }
diff --git a/route/sys_freebsd.go b/route/sys_freebsd.go
index 3599601..a9727de 100644
--- a/route/sys_freebsd.go
+++ b/route/sys_freebsd.go
@@ -7,6 +7,8 @@
 import (
 	"syscall"
 	"unsafe"
+
+	"golang.org/x/sys/unix"
 )
 
 func (typ RIBType) parseable() bool { return true }
@@ -141,20 +143,20 @@
 	ifmam.parse = ifmam.parseInterfaceMulticastAddrMessage
 	ifanm.parse = ifanm.parseInterfaceAnnounceMessage
 	return align, map[int]*wireFormat{
-		sysRTM_ADD:        rtm,
-		sysRTM_DELETE:     rtm,
-		sysRTM_CHANGE:     rtm,
-		sysRTM_GET:        rtm,
-		sysRTM_LOSING:     rtm,
-		sysRTM_REDIRECT:   rtm,
-		sysRTM_MISS:       rtm,
-		sysRTM_LOCK:       rtm,
-		sysRTM_RESOLVE:    rtm,
-		sysRTM_NEWADDR:    ifam,
-		sysRTM_DELADDR:    ifam,
-		sysRTM_IFINFO:     ifm,
-		sysRTM_NEWMADDR:   ifmam,
-		sysRTM_DELMADDR:   ifmam,
-		sysRTM_IFANNOUNCE: ifanm,
+		unix.RTM_ADD:        rtm,
+		unix.RTM_DELETE:     rtm,
+		unix.RTM_CHANGE:     rtm,
+		unix.RTM_GET:        rtm,
+		unix.RTM_LOSING:     rtm,
+		unix.RTM_REDIRECT:   rtm,
+		unix.RTM_MISS:       rtm,
+		unix.RTM_LOCK:       rtm,
+		unix.RTM_RESOLVE:    rtm,
+		unix.RTM_NEWADDR:    ifam,
+		unix.RTM_DELADDR:    ifam,
+		unix.RTM_IFINFO:     ifm,
+		unix.RTM_NEWMADDR:   ifmam,
+		unix.RTM_DELMADDR:   ifmam,
+		unix.RTM_IFANNOUNCE: ifanm,
 	}
 }
diff --git a/route/sys_netbsd.go b/route/sys_netbsd.go
index 02f71d5..23826c4 100644
--- a/route/sys_netbsd.go
+++ b/route/sys_netbsd.go
@@ -4,6 +4,8 @@
 
 package route
 
+import "golang.org/x/sys/unix"
+
 func (typ RIBType) parseable() bool { return true }
 
 // RouteMetrics represents route metrics.
@@ -54,18 +56,18 @@
 	// NetBSD 6 and above kernels require 64-bit aligned access to
 	// routing facilities.
 	return 8, map[int]*wireFormat{
-		sysRTM_ADD:        rtm,
-		sysRTM_DELETE:     rtm,
-		sysRTM_CHANGE:     rtm,
-		sysRTM_GET:        rtm,
-		sysRTM_LOSING:     rtm,
-		sysRTM_REDIRECT:   rtm,
-		sysRTM_MISS:       rtm,
-		sysRTM_LOCK:       rtm,
-		sysRTM_RESOLVE:    rtm,
-		sysRTM_NEWADDR:    ifam,
-		sysRTM_DELADDR:    ifam,
-		sysRTM_IFANNOUNCE: ifanm,
-		sysRTM_IFINFO:     ifm,
+		unix.RTM_ADD:        rtm,
+		unix.RTM_DELETE:     rtm,
+		unix.RTM_CHANGE:     rtm,
+		unix.RTM_GET:        rtm,
+		unix.RTM_LOSING:     rtm,
+		unix.RTM_REDIRECT:   rtm,
+		unix.RTM_MISS:       rtm,
+		unix.RTM_LOCK:       rtm,
+		unix.RTM_RESOLVE:    rtm,
+		unix.RTM_NEWADDR:    ifam,
+		unix.RTM_DELADDR:    ifam,
+		unix.RTM_IFANNOUNCE: ifanm,
+		unix.RTM_IFINFO:     ifm,
 	}
 }
diff --git a/route/sys_openbsd.go b/route/sys_openbsd.go
index c5674e8..038fb77 100644
--- a/route/sys_openbsd.go
+++ b/route/sys_openbsd.go
@@ -4,11 +4,15 @@
 
 package route
 
-import "unsafe"
+import (
+	"unsafe"
+
+	"golang.org/x/sys/unix"
+)
 
 func (typ RIBType) parseable() bool {
 	switch typ {
-	case sysNET_RT_STATS, sysNET_RT_TABLE:
+	case unix.NET_RT_STATS, unix.NET_RT_TABLE:
 		return false
 	default:
 		return true
@@ -62,19 +66,19 @@
 	ifanm := &wireFormat{extOff: -1, bodyOff: -1}
 	ifanm.parse = ifanm.parseInterfaceAnnounceMessage
 	return int(unsafe.Sizeof(p)), map[int]*wireFormat{
-		sysRTM_ADD:        rtm,
-		sysRTM_DELETE:     rtm,
-		sysRTM_CHANGE:     rtm,
-		sysRTM_GET:        rtm,
-		sysRTM_LOSING:     rtm,
-		sysRTM_REDIRECT:   rtm,
-		sysRTM_MISS:       rtm,
-		sysRTM_LOCK:       rtm,
-		sysRTM_RESOLVE:    rtm,
-		sysRTM_NEWADDR:    ifam,
-		sysRTM_DELADDR:    ifam,
-		sysRTM_IFINFO:     ifm,
-		sysRTM_IFANNOUNCE: ifanm,
-		sysRTM_DESYNC:     rtm,
+		unix.RTM_ADD:        rtm,
+		unix.RTM_DELETE:     rtm,
+		unix.RTM_CHANGE:     rtm,
+		unix.RTM_GET:        rtm,
+		unix.RTM_LOSING:     rtm,
+		unix.RTM_REDIRECT:   rtm,
+		unix.RTM_MISS:       rtm,
+		unix.RTM_LOCK:       rtm,
+		unix.RTM_RESOLVE:    rtm,
+		unix.RTM_NEWADDR:    ifam,
+		unix.RTM_DELADDR:    ifam,
+		unix.RTM_IFINFO:     ifm,
+		unix.RTM_IFANNOUNCE: ifanm,
+		unix.RTM_DESYNC:     rtm,
 	}
 }
diff --git a/route/zsys_darwin.go b/route/zsys_darwin.go
index 19e4133..56a0c66 100644
--- a/route/zsys_darwin.go
+++ b/route/zsys_darwin.go
@@ -4,83 +4,6 @@
 package route
 
 const (
-	sysAF_UNSPEC = 0x0
-	sysAF_INET   = 0x2
-	sysAF_ROUTE  = 0x11
-	sysAF_LINK   = 0x12
-	sysAF_INET6  = 0x1e
-
-	sysSOCK_RAW = 0x3
-
-	sysNET_RT_DUMP    = 0x1
-	sysNET_RT_FLAGS   = 0x2
-	sysNET_RT_IFLIST  = 0x3
-	sysNET_RT_STAT    = 0x4
-	sysNET_RT_TRASH   = 0x5
-	sysNET_RT_IFLIST2 = 0x6
-	sysNET_RT_DUMP2   = 0x7
-	sysNET_RT_MAXID   = 0xa
-)
-
-const (
-	sysCTL_MAXNAME = 0xc
-
-	sysCTL_UNSPEC  = 0x0
-	sysCTL_KERN    = 0x1
-	sysCTL_VM      = 0x2
-	sysCTL_VFS     = 0x3
-	sysCTL_NET     = 0x4
-	sysCTL_DEBUG   = 0x5
-	sysCTL_HW      = 0x6
-	sysCTL_MACHDEP = 0x7
-	sysCTL_USER    = 0x8
-	sysCTL_MAXID   = 0x9
-)
-
-const (
-	sysRTM_VERSION = 0x5
-
-	sysRTM_ADD       = 0x1
-	sysRTM_DELETE    = 0x2
-	sysRTM_CHANGE    = 0x3
-	sysRTM_GET       = 0x4
-	sysRTM_LOSING    = 0x5
-	sysRTM_REDIRECT  = 0x6
-	sysRTM_MISS      = 0x7
-	sysRTM_LOCK      = 0x8
-	sysRTM_OLDADD    = 0x9
-	sysRTM_OLDDEL    = 0xa
-	sysRTM_RESOLVE   = 0xb
-	sysRTM_NEWADDR   = 0xc
-	sysRTM_DELADDR   = 0xd
-	sysRTM_IFINFO    = 0xe
-	sysRTM_NEWMADDR  = 0xf
-	sysRTM_DELMADDR  = 0x10
-	sysRTM_IFINFO2   = 0x12
-	sysRTM_NEWMADDR2 = 0x13
-	sysRTM_GET2      = 0x14
-
-	sysRTA_DST     = 0x1
-	sysRTA_GATEWAY = 0x2
-	sysRTA_NETMASK = 0x4
-	sysRTA_GENMASK = 0x8
-	sysRTA_IFP     = 0x10
-	sysRTA_IFA     = 0x20
-	sysRTA_AUTHOR  = 0x40
-	sysRTA_BRD     = 0x80
-
-	sysRTAX_DST     = 0x0
-	sysRTAX_GATEWAY = 0x1
-	sysRTAX_NETMASK = 0x2
-	sysRTAX_GENMASK = 0x3
-	sysRTAX_IFP     = 0x4
-	sysRTAX_IFA     = 0x5
-	sysRTAX_AUTHOR  = 0x6
-	sysRTAX_BRD     = 0x7
-	sysRTAX_MAX     = 0x8
-)
-
-const (
 	sizeofIfMsghdrDarwin15    = 0x70
 	sizeofIfaMsghdrDarwin15   = 0x14
 	sizeofIfmaMsghdrDarwin15  = 0x10
diff --git a/route/zsys_dragonfly.go b/route/zsys_dragonfly.go
index 34f0eaa..f7c7a60 100644
--- a/route/zsys_dragonfly.go
+++ b/route/zsys_dragonfly.go
@@ -4,84 +4,6 @@
 package route
 
 const (
-	sysAF_UNSPEC = 0x0
-	sysAF_INET   = 0x2
-	sysAF_ROUTE  = 0x11
-	sysAF_LINK   = 0x12
-	sysAF_INET6  = 0x1c
-
-	sysSOCK_RAW = 0x3
-
-	sysNET_RT_DUMP   = 0x1
-	sysNET_RT_FLAGS  = 0x2
-	sysNET_RT_IFLIST = 0x3
-	sysNET_RT_MAXID  = 0x4
-)
-
-const (
-	sysCTL_MAXNAME = 0xc
-
-	sysCTL_UNSPEC   = 0x0
-	sysCTL_KERN     = 0x1
-	sysCTL_VM       = 0x2
-	sysCTL_VFS      = 0x3
-	sysCTL_NET      = 0x4
-	sysCTL_DEBUG    = 0x5
-	sysCTL_HW       = 0x6
-	sysCTL_MACHDEP  = 0x7
-	sysCTL_USER     = 0x8
-	sysCTL_P1003_1B = 0x9
-	sysCTL_LWKT     = 0xa
-	sysCTL_MAXID    = 0xb
-)
-
-const (
-	sysRTM_VERSION = 0x6
-
-	sysRTM_ADD        = 0x1
-	sysRTM_DELETE     = 0x2
-	sysRTM_CHANGE     = 0x3
-	sysRTM_GET        = 0x4
-	sysRTM_LOSING     = 0x5
-	sysRTM_REDIRECT   = 0x6
-	sysRTM_MISS       = 0x7
-	sysRTM_LOCK       = 0x8
-	sysRTM_RESOLVE    = 0xb
-	sysRTM_NEWADDR    = 0xc
-	sysRTM_DELADDR    = 0xd
-	sysRTM_IFINFO     = 0xe
-	sysRTM_NEWMADDR   = 0xf
-	sysRTM_DELMADDR   = 0x10
-	sysRTM_IFANNOUNCE = 0x11
-	sysRTM_IEEE80211  = 0x12
-
-	sysRTA_DST     = 0x1
-	sysRTA_GATEWAY = 0x2
-	sysRTA_NETMASK = 0x4
-	sysRTA_GENMASK = 0x8
-	sysRTA_IFP     = 0x10
-	sysRTA_IFA     = 0x20
-	sysRTA_AUTHOR  = 0x40
-	sysRTA_BRD     = 0x80
-	sysRTA_MPLS1   = 0x100
-	sysRTA_MPLS2   = 0x200
-	sysRTA_MPLS3   = 0x400
-
-	sysRTAX_DST     = 0x0
-	sysRTAX_GATEWAY = 0x1
-	sysRTAX_NETMASK = 0x2
-	sysRTAX_GENMASK = 0x3
-	sysRTAX_IFP     = 0x4
-	sysRTAX_IFA     = 0x5
-	sysRTAX_AUTHOR  = 0x6
-	sysRTAX_BRD     = 0x7
-	sysRTAX_MPLS1   = 0x8
-	sysRTAX_MPLS2   = 0x9
-	sysRTAX_MPLS3   = 0xa
-	sysRTAX_MAX     = 0xb
-)
-
-const (
 	sizeofIfMsghdrDragonFlyBSD4         = 0xb0
 	sizeofIfaMsghdrDragonFlyBSD4        = 0x14
 	sizeofIfmaMsghdrDragonFlyBSD4       = 0x10
diff --git a/route/zsys_freebsd_386.go b/route/zsys_freebsd_386.go
index f36aaad..3f985c7 100644
--- a/route/zsys_freebsd_386.go
+++ b/route/zsys_freebsd_386.go
@@ -4,77 +4,6 @@
 package route
 
 const (
-	sysAF_UNSPEC = 0x0
-	sysAF_INET   = 0x2
-	sysAF_ROUTE  = 0x11
-	sysAF_LINK   = 0x12
-	sysAF_INET6  = 0x1c
-
-	sysSOCK_RAW = 0x3
-
-	sysNET_RT_DUMP     = 0x1
-	sysNET_RT_FLAGS    = 0x2
-	sysNET_RT_IFLIST   = 0x3
-	sysNET_RT_IFMALIST = 0x4
-	sysNET_RT_IFLISTL  = 0x5
-)
-
-const (
-	sysCTL_MAXNAME = 0x18
-
-	sysCTL_UNSPEC   = 0x0
-	sysCTL_KERN     = 0x1
-	sysCTL_VM       = 0x2
-	sysCTL_VFS      = 0x3
-	sysCTL_NET      = 0x4
-	sysCTL_DEBUG    = 0x5
-	sysCTL_HW       = 0x6
-	sysCTL_MACHDEP  = 0x7
-	sysCTL_USER     = 0x8
-	sysCTL_P1003_1B = 0x9
-)
-
-const (
-	sysRTM_VERSION = 0x5
-
-	sysRTM_ADD        = 0x1
-	sysRTM_DELETE     = 0x2
-	sysRTM_CHANGE     = 0x3
-	sysRTM_GET        = 0x4
-	sysRTM_LOSING     = 0x5
-	sysRTM_REDIRECT   = 0x6
-	sysRTM_MISS       = 0x7
-	sysRTM_LOCK       = 0x8
-	sysRTM_RESOLVE    = 0xb
-	sysRTM_NEWADDR    = 0xc
-	sysRTM_DELADDR    = 0xd
-	sysRTM_IFINFO     = 0xe
-	sysRTM_NEWMADDR   = 0xf
-	sysRTM_DELMADDR   = 0x10
-	sysRTM_IFANNOUNCE = 0x11
-	sysRTM_IEEE80211  = 0x12
-
-	sysRTA_DST     = 0x1
-	sysRTA_GATEWAY = 0x2
-	sysRTA_NETMASK = 0x4
-	sysRTA_GENMASK = 0x8
-	sysRTA_IFP     = 0x10
-	sysRTA_IFA     = 0x20
-	sysRTA_AUTHOR  = 0x40
-	sysRTA_BRD     = 0x80
-
-	sysRTAX_DST     = 0x0
-	sysRTAX_GATEWAY = 0x1
-	sysRTAX_NETMASK = 0x2
-	sysRTAX_GENMASK = 0x3
-	sysRTAX_IFP     = 0x4
-	sysRTAX_IFA     = 0x5
-	sysRTAX_AUTHOR  = 0x6
-	sysRTAX_BRD     = 0x7
-	sysRTAX_MAX     = 0x8
-)
-
-const (
 	sizeofIfMsghdrlFreeBSD10        = 0x68
 	sizeofIfaMsghdrFreeBSD10        = 0x14
 	sizeofIfaMsghdrlFreeBSD10       = 0x6c
diff --git a/route/zsys_freebsd_amd64.go b/route/zsys_freebsd_amd64.go
index 4c639b8..9293393 100644
--- a/route/zsys_freebsd_amd64.go
+++ b/route/zsys_freebsd_amd64.go
@@ -4,77 +4,6 @@
 package route
 
 const (
-	sysAF_UNSPEC = 0x0
-	sysAF_INET   = 0x2
-	sysAF_ROUTE  = 0x11
-	sysAF_LINK   = 0x12
-	sysAF_INET6  = 0x1c
-
-	sysSOCK_RAW = 0x3
-
-	sysNET_RT_DUMP     = 0x1
-	sysNET_RT_FLAGS    = 0x2
-	sysNET_RT_IFLIST   = 0x3
-	sysNET_RT_IFMALIST = 0x4
-	sysNET_RT_IFLISTL  = 0x5
-)
-
-const (
-	sysCTL_MAXNAME = 0x18
-
-	sysCTL_UNSPEC   = 0x0
-	sysCTL_KERN     = 0x1
-	sysCTL_VM       = 0x2
-	sysCTL_VFS      = 0x3
-	sysCTL_NET      = 0x4
-	sysCTL_DEBUG    = 0x5
-	sysCTL_HW       = 0x6
-	sysCTL_MACHDEP  = 0x7
-	sysCTL_USER     = 0x8
-	sysCTL_P1003_1B = 0x9
-)
-
-const (
-	sysRTM_VERSION = 0x5
-
-	sysRTM_ADD        = 0x1
-	sysRTM_DELETE     = 0x2
-	sysRTM_CHANGE     = 0x3
-	sysRTM_GET        = 0x4
-	sysRTM_LOSING     = 0x5
-	sysRTM_REDIRECT   = 0x6
-	sysRTM_MISS       = 0x7
-	sysRTM_LOCK       = 0x8
-	sysRTM_RESOLVE    = 0xb
-	sysRTM_NEWADDR    = 0xc
-	sysRTM_DELADDR    = 0xd
-	sysRTM_IFINFO     = 0xe
-	sysRTM_NEWMADDR   = 0xf
-	sysRTM_DELMADDR   = 0x10
-	sysRTM_IFANNOUNCE = 0x11
-	sysRTM_IEEE80211  = 0x12
-
-	sysRTA_DST     = 0x1
-	sysRTA_GATEWAY = 0x2
-	sysRTA_NETMASK = 0x4
-	sysRTA_GENMASK = 0x8
-	sysRTA_IFP     = 0x10
-	sysRTA_IFA     = 0x20
-	sysRTA_AUTHOR  = 0x40
-	sysRTA_BRD     = 0x80
-
-	sysRTAX_DST     = 0x0
-	sysRTAX_GATEWAY = 0x1
-	sysRTAX_NETMASK = 0x2
-	sysRTAX_GENMASK = 0x3
-	sysRTAX_IFP     = 0x4
-	sysRTAX_IFA     = 0x5
-	sysRTAX_AUTHOR  = 0x6
-	sysRTAX_BRD     = 0x7
-	sysRTAX_MAX     = 0x8
-)
-
-const (
 	sizeofIfMsghdrlFreeBSD10        = 0xb0
 	sizeofIfaMsghdrFreeBSD10        = 0x14
 	sizeofIfaMsghdrlFreeBSD10       = 0xb0
diff --git a/route/zsys_freebsd_arm.go b/route/zsys_freebsd_arm.go
index 710c147..a2bdb4a 100644
--- a/route/zsys_freebsd_arm.go
+++ b/route/zsys_freebsd_arm.go
@@ -4,77 +4,6 @@
 package route
 
 const (
-	sysAF_UNSPEC = 0x0
-	sysAF_INET   = 0x2
-	sysAF_ROUTE  = 0x11
-	sysAF_LINK   = 0x12
-	sysAF_INET6  = 0x1c
-
-	sysSOCK_RAW = 0x3
-
-	sysNET_RT_DUMP     = 0x1
-	sysNET_RT_FLAGS    = 0x2
-	sysNET_RT_IFLIST   = 0x3
-	sysNET_RT_IFMALIST = 0x4
-	sysNET_RT_IFLISTL  = 0x5
-)
-
-const (
-	sysCTL_MAXNAME = 0x18
-
-	sysCTL_UNSPEC   = 0x0
-	sysCTL_KERN     = 0x1
-	sysCTL_VM       = 0x2
-	sysCTL_VFS      = 0x3
-	sysCTL_NET      = 0x4
-	sysCTL_DEBUG    = 0x5
-	sysCTL_HW       = 0x6
-	sysCTL_MACHDEP  = 0x7
-	sysCTL_USER     = 0x8
-	sysCTL_P1003_1B = 0x9
-)
-
-const (
-	sysRTM_VERSION = 0x5
-
-	sysRTM_ADD        = 0x1
-	sysRTM_DELETE     = 0x2
-	sysRTM_CHANGE     = 0x3
-	sysRTM_GET        = 0x4
-	sysRTM_LOSING     = 0x5
-	sysRTM_REDIRECT   = 0x6
-	sysRTM_MISS       = 0x7
-	sysRTM_LOCK       = 0x8
-	sysRTM_RESOLVE    = 0xb
-	sysRTM_NEWADDR    = 0xc
-	sysRTM_DELADDR    = 0xd
-	sysRTM_IFINFO     = 0xe
-	sysRTM_NEWMADDR   = 0xf
-	sysRTM_DELMADDR   = 0x10
-	sysRTM_IFANNOUNCE = 0x11
-	sysRTM_IEEE80211  = 0x12
-
-	sysRTA_DST     = 0x1
-	sysRTA_GATEWAY = 0x2
-	sysRTA_NETMASK = 0x4
-	sysRTA_GENMASK = 0x8
-	sysRTA_IFP     = 0x10
-	sysRTA_IFA     = 0x20
-	sysRTA_AUTHOR  = 0x40
-	sysRTA_BRD     = 0x80
-
-	sysRTAX_DST     = 0x0
-	sysRTAX_GATEWAY = 0x1
-	sysRTAX_NETMASK = 0x2
-	sysRTAX_GENMASK = 0x3
-	sysRTAX_IFP     = 0x4
-	sysRTAX_IFA     = 0x5
-	sysRTAX_AUTHOR  = 0x6
-	sysRTAX_BRD     = 0x7
-	sysRTAX_MAX     = 0x8
-)
-
-const (
 	sizeofIfMsghdrlFreeBSD10        = 0x68
 	sizeofIfaMsghdrFreeBSD10        = 0x14
 	sizeofIfaMsghdrlFreeBSD10       = 0x6c
diff --git a/route/zsys_freebsd_arm64.go b/route/zsys_freebsd_arm64.go
index 4c639b8..9293393 100644
--- a/route/zsys_freebsd_arm64.go
+++ b/route/zsys_freebsd_arm64.go
@@ -4,77 +4,6 @@
 package route
 
 const (
-	sysAF_UNSPEC = 0x0
-	sysAF_INET   = 0x2
-	sysAF_ROUTE  = 0x11
-	sysAF_LINK   = 0x12
-	sysAF_INET6  = 0x1c
-
-	sysSOCK_RAW = 0x3
-
-	sysNET_RT_DUMP     = 0x1
-	sysNET_RT_FLAGS    = 0x2
-	sysNET_RT_IFLIST   = 0x3
-	sysNET_RT_IFMALIST = 0x4
-	sysNET_RT_IFLISTL  = 0x5
-)
-
-const (
-	sysCTL_MAXNAME = 0x18
-
-	sysCTL_UNSPEC   = 0x0
-	sysCTL_KERN     = 0x1
-	sysCTL_VM       = 0x2
-	sysCTL_VFS      = 0x3
-	sysCTL_NET      = 0x4
-	sysCTL_DEBUG    = 0x5
-	sysCTL_HW       = 0x6
-	sysCTL_MACHDEP  = 0x7
-	sysCTL_USER     = 0x8
-	sysCTL_P1003_1B = 0x9
-)
-
-const (
-	sysRTM_VERSION = 0x5
-
-	sysRTM_ADD        = 0x1
-	sysRTM_DELETE     = 0x2
-	sysRTM_CHANGE     = 0x3
-	sysRTM_GET        = 0x4
-	sysRTM_LOSING     = 0x5
-	sysRTM_REDIRECT   = 0x6
-	sysRTM_MISS       = 0x7
-	sysRTM_LOCK       = 0x8
-	sysRTM_RESOLVE    = 0xb
-	sysRTM_NEWADDR    = 0xc
-	sysRTM_DELADDR    = 0xd
-	sysRTM_IFINFO     = 0xe
-	sysRTM_NEWMADDR   = 0xf
-	sysRTM_DELMADDR   = 0x10
-	sysRTM_IFANNOUNCE = 0x11
-	sysRTM_IEEE80211  = 0x12
-
-	sysRTA_DST     = 0x1
-	sysRTA_GATEWAY = 0x2
-	sysRTA_NETMASK = 0x4
-	sysRTA_GENMASK = 0x8
-	sysRTA_IFP     = 0x10
-	sysRTA_IFA     = 0x20
-	sysRTA_AUTHOR  = 0x40
-	sysRTA_BRD     = 0x80
-
-	sysRTAX_DST     = 0x0
-	sysRTAX_GATEWAY = 0x1
-	sysRTAX_NETMASK = 0x2
-	sysRTAX_GENMASK = 0x3
-	sysRTAX_IFP     = 0x4
-	sysRTAX_IFA     = 0x5
-	sysRTAX_AUTHOR  = 0x6
-	sysRTAX_BRD     = 0x7
-	sysRTAX_MAX     = 0x8
-)
-
-const (
 	sizeofIfMsghdrlFreeBSD10        = 0xb0
 	sizeofIfaMsghdrFreeBSD10        = 0x14
 	sizeofIfaMsghdrlFreeBSD10       = 0xb0
diff --git a/route/zsys_netbsd.go b/route/zsys_netbsd.go
index b4f66ca..eaffe8c 100644
--- a/route/zsys_netbsd.go
+++ b/route/zsys_netbsd.go
@@ -4,86 +4,6 @@
 package route
 
 const (
-	sysAF_UNSPEC = 0x0
-	sysAF_INET   = 0x2
-	sysAF_ROUTE  = 0x22
-	sysAF_LINK   = 0x12
-	sysAF_INET6  = 0x18
-
-	sysSOCK_RAW = 0x3
-
-	sysNET_RT_DUMP   = 0x1
-	sysNET_RT_FLAGS  = 0x2
-	sysNET_RT_IFLIST = 0x5
-	sysNET_RT_MAXID  = 0x6
-)
-
-const (
-	sysCTL_MAXNAME = 0xc
-
-	sysCTL_UNSPEC   = 0x0
-	sysCTL_KERN     = 0x1
-	sysCTL_VM       = 0x2
-	sysCTL_VFS      = 0x3
-	sysCTL_NET      = 0x4
-	sysCTL_DEBUG    = 0x5
-	sysCTL_HW       = 0x6
-	sysCTL_MACHDEP  = 0x7
-	sysCTL_USER     = 0x8
-	sysCTL_DDB      = 0x9
-	sysCTL_PROC     = 0xa
-	sysCTL_VENDOR   = 0xb
-	sysCTL_EMUL     = 0xc
-	sysCTL_SECURITY = 0xd
-	sysCTL_MAXID    = 0xe
-)
-
-const (
-	sysRTM_VERSION = 0x4
-
-	sysRTM_ADD        = 0x1
-	sysRTM_DELETE     = 0x2
-	sysRTM_CHANGE     = 0x3
-	sysRTM_GET        = 0x4
-	sysRTM_LOSING     = 0x5
-	sysRTM_REDIRECT   = 0x6
-	sysRTM_MISS       = 0x7
-	sysRTM_LOCK       = 0x8
-	sysRTM_OLDADD     = 0x9
-	sysRTM_OLDDEL     = 0xa
-	sysRTM_RESOLVE    = 0xb
-	sysRTM_NEWADDR    = 0xc
-	sysRTM_DELADDR    = 0xd
-	sysRTM_IFANNOUNCE = 0x10
-	sysRTM_IEEE80211  = 0x11
-	sysRTM_SETGATE    = 0x12
-	sysRTM_LLINFO_UPD = 0x13
-	sysRTM_IFINFO     = 0x14
-	sysRTM_CHGADDR    = 0x15
-
-	sysRTA_DST     = 0x1
-	sysRTA_GATEWAY = 0x2
-	sysRTA_NETMASK = 0x4
-	sysRTA_GENMASK = 0x8
-	sysRTA_IFP     = 0x10
-	sysRTA_IFA     = 0x20
-	sysRTA_AUTHOR  = 0x40
-	sysRTA_BRD     = 0x80
-	sysRTA_TAG     = 0x100
-
-	sysRTAX_DST     = 0x0
-	sysRTAX_GATEWAY = 0x1
-	sysRTAX_NETMASK = 0x2
-	sysRTAX_GENMASK = 0x3
-	sysRTAX_IFP     = 0x4
-	sysRTAX_IFA     = 0x5
-	sysRTAX_AUTHOR  = 0x6
-	sysRTAX_BRD     = 0x7
-	sysRTAX_TAG     = 0x8
-	sysRTAX_MAX     = 0x9
-)
-
-const (
 	sizeofIfMsghdrNetBSD7         = 0x98
 	sizeofIfaMsghdrNetBSD7        = 0x18
 	sizeofIfAnnouncemsghdrNetBSD7 = 0x18
diff --git a/route/zsys_openbsd.go b/route/zsys_openbsd.go
index 1021b4c..b11b812 100644
--- a/route/zsys_openbsd.go
+++ b/route/zsys_openbsd.go
@@ -4,95 +4,6 @@
 package route
 
 const (
-	sysAF_UNSPEC = 0x0
-	sysAF_INET   = 0x2
-	sysAF_ROUTE  = 0x11
-	sysAF_LINK   = 0x12
-	sysAF_INET6  = 0x18
-
-	sysSOCK_RAW = 0x3
-
-	sysNET_RT_DUMP    = 0x1
-	sysNET_RT_FLAGS   = 0x2
-	sysNET_RT_IFLIST  = 0x3
-	sysNET_RT_STATS   = 0x4
-	sysNET_RT_TABLE   = 0x5
-	sysNET_RT_IFNAMES = 0x6
-	sysNET_RT_MAXID   = 0x7
-)
-
-const (
-	sysCTL_MAXNAME = 0xc
-
-	sysCTL_UNSPEC  = 0x0
-	sysCTL_KERN    = 0x1
-	sysCTL_VM      = 0x2
-	sysCTL_FS      = 0x3
-	sysCTL_NET     = 0x4
-	sysCTL_DEBUG   = 0x5
-	sysCTL_HW      = 0x6
-	sysCTL_MACHDEP = 0x7
-	sysCTL_DDB     = 0x9
-	sysCTL_VFS     = 0xa
-	sysCTL_MAXID   = 0xb
-)
-
-const (
-	sysRTM_VERSION = 0x5
-
-	sysRTM_ADD        = 0x1
-	sysRTM_DELETE     = 0x2
-	sysRTM_CHANGE     = 0x3
-	sysRTM_GET        = 0x4
-	sysRTM_LOSING     = 0x5
-	sysRTM_REDIRECT   = 0x6
-	sysRTM_MISS       = 0x7
-	sysRTM_LOCK       = 0x8
-	sysRTM_RESOLVE    = 0xb
-	sysRTM_NEWADDR    = 0xc
-	sysRTM_DELADDR    = 0xd
-	sysRTM_IFINFO     = 0xe
-	sysRTM_IFANNOUNCE = 0xf
-	sysRTM_DESYNC     = 0x10
-	sysRTM_INVALIDATE = 0x11
-	sysRTM_BFD        = 0x12
-	sysRTM_PROPOSAL   = 0x13
-
-	sysRTA_DST     = 0x1
-	sysRTA_GATEWAY = 0x2
-	sysRTA_NETMASK = 0x4
-	sysRTA_GENMASK = 0x8
-	sysRTA_IFP     = 0x10
-	sysRTA_IFA     = 0x20
-	sysRTA_AUTHOR  = 0x40
-	sysRTA_BRD     = 0x80
-	sysRTA_SRC     = 0x100
-	sysRTA_SRCMASK = 0x200
-	sysRTA_LABEL   = 0x400
-	sysRTA_BFD     = 0x800
-	sysRTA_DNS     = 0x1000
-	sysRTA_STATIC  = 0x2000
-	sysRTA_SEARCH  = 0x4000
-
-	sysRTAX_DST     = 0x0
-	sysRTAX_GATEWAY = 0x1
-	sysRTAX_NETMASK = 0x2
-	sysRTAX_GENMASK = 0x3
-	sysRTAX_IFP     = 0x4
-	sysRTAX_IFA     = 0x5
-	sysRTAX_AUTHOR  = 0x6
-	sysRTAX_BRD     = 0x7
-	sysRTAX_SRC     = 0x8
-	sysRTAX_SRCMASK = 0x9
-	sysRTAX_LABEL   = 0xa
-	sysRTAX_BFD     = 0xb
-	sysRTAX_DNS     = 0xc
-	sysRTAX_STATIC  = 0xd
-	sysRTAX_SEARCH  = 0xe
-	sysRTAX_MAX     = 0xf
-)
-
-const (
 	sizeofRtMsghdr = 0x60
 
 	sizeofSockaddrStorage = 0x100