Skip to content

Commit acef388

Browse files
Skyb0rg007gopherbot
authored andcommitted
unix/linux: Prefixmsg and PrefixCacheinfo structs
These structs and enumeration constants are used to parse RTM_NEWPREFIX netlink messages. Fixes golang/go#77662 Change-Id: I1e7a92e771701c0c790c15e58ad78cd8fe1e5cf5 Reviewed-on: https://go-review.googlesource.com/c/sys/+/746420 Reviewed-by: Mark Freeman <markfreeman@google.com> Auto-Submit: Tobias Klauser <tobias.klauser@gmail.com> Reviewed-by: Junyang Shao <shaojunyang@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Florian Lehner <lehner.florian86@gmail.com> Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>
1 parent 3687fbd commit acef388

2 files changed

Lines changed: 238 additions & 208 deletions

File tree

unix/linux/types.go

Lines changed: 113 additions & 104 deletions
Original file line numberDiff line numberDiff line change
@@ -841,110 +841,115 @@ const (
841841
// Netlink routing and interface messages
842842

843843
const (
844-
NDA_UNSPEC = C.NDA_UNSPEC
845-
NDA_DST = C.NDA_DST
846-
NDA_LLADDR = C.NDA_LLADDR
847-
NDA_CACHEINFO = C.NDA_CACHEINFO
848-
NDA_PROBES = C.NDA_PROBES
849-
NDA_VLAN = C.NDA_VLAN
850-
NDA_PORT = C.NDA_PORT
851-
NDA_VNI = C.NDA_VNI
852-
NDA_IFINDEX = C.NDA_IFINDEX
853-
NDA_MASTER = C.NDA_MASTER
854-
NDA_LINK_NETNSID = C.NDA_LINK_NETNSID
855-
NDA_SRC_VNI = C.NDA_SRC_VNI
856-
NTF_USE = C.NTF_USE
857-
NTF_SELF = C.NTF_SELF
858-
NTF_MASTER = C.NTF_MASTER
859-
NTF_PROXY = C.NTF_PROXY
860-
NTF_EXT_LEARNED = C.NTF_EXT_LEARNED
861-
NTF_OFFLOADED = C.NTF_OFFLOADED
862-
NTF_ROUTER = C.NTF_ROUTER
863-
NUD_INCOMPLETE = C.NUD_INCOMPLETE
864-
NUD_REACHABLE = C.NUD_REACHABLE
865-
NUD_STALE = C.NUD_STALE
866-
NUD_DELAY = C.NUD_DELAY
867-
NUD_PROBE = C.NUD_PROBE
868-
NUD_FAILED = C.NUD_FAILED
869-
NUD_NOARP = C.NUD_NOARP
870-
NUD_PERMANENT = C.NUD_PERMANENT
871-
NUD_NONE = C.NUD_NONE
872-
IFA_UNSPEC = C.IFA_UNSPEC
873-
IFA_ADDRESS = C.IFA_ADDRESS
874-
IFA_LOCAL = C.IFA_LOCAL
875-
IFA_LABEL = C.IFA_LABEL
876-
IFA_BROADCAST = C.IFA_BROADCAST
877-
IFA_ANYCAST = C.IFA_ANYCAST
878-
IFA_CACHEINFO = C.IFA_CACHEINFO
879-
IFA_MULTICAST = C.IFA_MULTICAST
880-
IFA_FLAGS = C.IFA_FLAGS
881-
IFA_RT_PRIORITY = C.IFA_RT_PRIORITY
882-
IFA_TARGET_NETNSID = C.IFA_TARGET_NETNSID
883-
IFAL_LABEL = C.IFAL_LABEL
884-
IFAL_ADDRESS = C.IFAL_ADDRESS
885-
RT_SCOPE_UNIVERSE = C.RT_SCOPE_UNIVERSE
886-
RT_SCOPE_SITE = C.RT_SCOPE_SITE
887-
RT_SCOPE_LINK = C.RT_SCOPE_LINK
888-
RT_SCOPE_HOST = C.RT_SCOPE_HOST
889-
RT_SCOPE_NOWHERE = C.RT_SCOPE_NOWHERE
890-
RT_TABLE_UNSPEC = C.RT_TABLE_UNSPEC
891-
RT_TABLE_COMPAT = C.RT_TABLE_COMPAT
892-
RT_TABLE_DEFAULT = C.RT_TABLE_DEFAULT
893-
RT_TABLE_MAIN = C.RT_TABLE_MAIN
894-
RT_TABLE_LOCAL = C.RT_TABLE_LOCAL
895-
RT_TABLE_MAX = C.RT_TABLE_MAX
896-
RTA_UNSPEC = C.RTA_UNSPEC
897-
RTA_DST = C.RTA_DST
898-
RTA_SRC = C.RTA_SRC
899-
RTA_IIF = C.RTA_IIF
900-
RTA_OIF = C.RTA_OIF
901-
RTA_GATEWAY = C.RTA_GATEWAY
902-
RTA_PRIORITY = C.RTA_PRIORITY
903-
RTA_PREFSRC = C.RTA_PREFSRC
904-
RTA_METRICS = C.RTA_METRICS
905-
RTA_MULTIPATH = C.RTA_MULTIPATH
906-
RTA_FLOW = C.RTA_FLOW
907-
RTA_CACHEINFO = C.RTA_CACHEINFO
908-
RTA_TABLE = C.RTA_TABLE
909-
RTA_MARK = C.RTA_MARK
910-
RTA_MFC_STATS = C.RTA_MFC_STATS
911-
RTA_VIA = C.RTA_VIA
912-
RTA_NEWDST = C.RTA_NEWDST
913-
RTA_PREF = C.RTA_PREF
914-
RTA_ENCAP_TYPE = C.RTA_ENCAP_TYPE
915-
RTA_ENCAP = C.RTA_ENCAP
916-
RTA_EXPIRES = C.RTA_EXPIRES
917-
RTA_PAD = C.RTA_PAD
918-
RTA_UID = C.RTA_UID
919-
RTA_TTL_PROPAGATE = C.RTA_TTL_PROPAGATE
920-
RTA_IP_PROTO = C.RTA_IP_PROTO
921-
RTA_SPORT = C.RTA_SPORT
922-
RTA_DPORT = C.RTA_DPORT
923-
RTN_UNSPEC = C.RTN_UNSPEC
924-
RTN_UNICAST = C.RTN_UNICAST
925-
RTN_LOCAL = C.RTN_LOCAL
926-
RTN_BROADCAST = C.RTN_BROADCAST
927-
RTN_ANYCAST = C.RTN_ANYCAST
928-
RTN_MULTICAST = C.RTN_MULTICAST
929-
RTN_BLACKHOLE = C.RTN_BLACKHOLE
930-
RTN_UNREACHABLE = C.RTN_UNREACHABLE
931-
RTN_PROHIBIT = C.RTN_PROHIBIT
932-
RTN_THROW = C.RTN_THROW
933-
RTN_NAT = C.RTN_NAT
934-
RTN_XRESOLVE = C.RTN_XRESOLVE
935-
SizeofNlMsghdr = C.sizeof_struct_nlmsghdr
936-
SizeofNlMsgerr = C.sizeof_struct_nlmsgerr
937-
SizeofRtGenmsg = C.sizeof_struct_rtgenmsg
938-
SizeofNlAttr = C.sizeof_struct_nlattr
939-
SizeofRtAttr = C.sizeof_struct_rtattr
940-
SizeofIfInfomsg = C.sizeof_struct_ifinfomsg
941-
SizeofIfAddrmsg = C.sizeof_struct_ifaddrmsg
942-
SizeofIfAddrlblmsg = C.sizeof_struct_ifaddrlblmsg
943-
SizeofIfaCacheinfo = C.sizeof_struct_ifa_cacheinfo
944-
SizeofRtMsg = C.sizeof_struct_rtmsg
945-
SizeofRtNexthop = C.sizeof_struct_rtnexthop
946-
SizeofNdUseroptmsg = C.sizeof_struct_nduseroptmsg
947-
SizeofNdMsg = C.sizeof_struct_ndmsg
844+
NDA_UNSPEC = C.NDA_UNSPEC
845+
NDA_DST = C.NDA_DST
846+
NDA_LLADDR = C.NDA_LLADDR
847+
NDA_CACHEINFO = C.NDA_CACHEINFO
848+
NDA_PROBES = C.NDA_PROBES
849+
NDA_VLAN = C.NDA_VLAN
850+
NDA_PORT = C.NDA_PORT
851+
NDA_VNI = C.NDA_VNI
852+
NDA_IFINDEX = C.NDA_IFINDEX
853+
NDA_MASTER = C.NDA_MASTER
854+
NDA_LINK_NETNSID = C.NDA_LINK_NETNSID
855+
NDA_SRC_VNI = C.NDA_SRC_VNI
856+
NTF_USE = C.NTF_USE
857+
NTF_SELF = C.NTF_SELF
858+
NTF_MASTER = C.NTF_MASTER
859+
NTF_PROXY = C.NTF_PROXY
860+
NTF_EXT_LEARNED = C.NTF_EXT_LEARNED
861+
NTF_OFFLOADED = C.NTF_OFFLOADED
862+
NTF_ROUTER = C.NTF_ROUTER
863+
NUD_INCOMPLETE = C.NUD_INCOMPLETE
864+
NUD_REACHABLE = C.NUD_REACHABLE
865+
NUD_STALE = C.NUD_STALE
866+
NUD_DELAY = C.NUD_DELAY
867+
NUD_PROBE = C.NUD_PROBE
868+
NUD_FAILED = C.NUD_FAILED
869+
NUD_NOARP = C.NUD_NOARP
870+
NUD_PERMANENT = C.NUD_PERMANENT
871+
NUD_NONE = C.NUD_NONE
872+
IFA_UNSPEC = C.IFA_UNSPEC
873+
IFA_ADDRESS = C.IFA_ADDRESS
874+
IFA_LOCAL = C.IFA_LOCAL
875+
IFA_LABEL = C.IFA_LABEL
876+
IFA_BROADCAST = C.IFA_BROADCAST
877+
IFA_ANYCAST = C.IFA_ANYCAST
878+
IFA_CACHEINFO = C.IFA_CACHEINFO
879+
IFA_MULTICAST = C.IFA_MULTICAST
880+
IFA_FLAGS = C.IFA_FLAGS
881+
IFA_RT_PRIORITY = C.IFA_RT_PRIORITY
882+
IFA_TARGET_NETNSID = C.IFA_TARGET_NETNSID
883+
IFAL_LABEL = C.IFAL_LABEL
884+
IFAL_ADDRESS = C.IFAL_ADDRESS
885+
RT_SCOPE_UNIVERSE = C.RT_SCOPE_UNIVERSE
886+
RT_SCOPE_SITE = C.RT_SCOPE_SITE
887+
RT_SCOPE_LINK = C.RT_SCOPE_LINK
888+
RT_SCOPE_HOST = C.RT_SCOPE_HOST
889+
RT_SCOPE_NOWHERE = C.RT_SCOPE_NOWHERE
890+
RT_TABLE_UNSPEC = C.RT_TABLE_UNSPEC
891+
RT_TABLE_COMPAT = C.RT_TABLE_COMPAT
892+
RT_TABLE_DEFAULT = C.RT_TABLE_DEFAULT
893+
RT_TABLE_MAIN = C.RT_TABLE_MAIN
894+
RT_TABLE_LOCAL = C.RT_TABLE_LOCAL
895+
RT_TABLE_MAX = C.RT_TABLE_MAX
896+
RTA_UNSPEC = C.RTA_UNSPEC
897+
RTA_DST = C.RTA_DST
898+
RTA_SRC = C.RTA_SRC
899+
RTA_IIF = C.RTA_IIF
900+
RTA_OIF = C.RTA_OIF
901+
RTA_GATEWAY = C.RTA_GATEWAY
902+
RTA_PRIORITY = C.RTA_PRIORITY
903+
RTA_PREFSRC = C.RTA_PREFSRC
904+
RTA_METRICS = C.RTA_METRICS
905+
RTA_MULTIPATH = C.RTA_MULTIPATH
906+
RTA_FLOW = C.RTA_FLOW
907+
RTA_CACHEINFO = C.RTA_CACHEINFO
908+
RTA_TABLE = C.RTA_TABLE
909+
RTA_MARK = C.RTA_MARK
910+
RTA_MFC_STATS = C.RTA_MFC_STATS
911+
RTA_VIA = C.RTA_VIA
912+
RTA_NEWDST = C.RTA_NEWDST
913+
RTA_PREF = C.RTA_PREF
914+
RTA_ENCAP_TYPE = C.RTA_ENCAP_TYPE
915+
RTA_ENCAP = C.RTA_ENCAP
916+
RTA_EXPIRES = C.RTA_EXPIRES
917+
RTA_PAD = C.RTA_PAD
918+
RTA_UID = C.RTA_UID
919+
RTA_TTL_PROPAGATE = C.RTA_TTL_PROPAGATE
920+
RTA_IP_PROTO = C.RTA_IP_PROTO
921+
RTA_SPORT = C.RTA_SPORT
922+
RTA_DPORT = C.RTA_DPORT
923+
RTN_UNSPEC = C.RTN_UNSPEC
924+
RTN_UNICAST = C.RTN_UNICAST
925+
RTN_LOCAL = C.RTN_LOCAL
926+
RTN_BROADCAST = C.RTN_BROADCAST
927+
RTN_ANYCAST = C.RTN_ANYCAST
928+
RTN_MULTICAST = C.RTN_MULTICAST
929+
RTN_BLACKHOLE = C.RTN_BLACKHOLE
930+
RTN_UNREACHABLE = C.RTN_UNREACHABLE
931+
RTN_PROHIBIT = C.RTN_PROHIBIT
932+
RTN_THROW = C.RTN_THROW
933+
RTN_NAT = C.RTN_NAT
934+
RTN_XRESOLVE = C.RTN_XRESOLVE
935+
PREFIX_UNSPEC = C.PREFIX_UNSPEC
936+
PREFIX_ADDRESS = C.PREFIX_ADDRESS
937+
PREFIX_CACHEINFO = C.PREFIX_CACHEINFO
938+
SizeofNlMsghdr = C.sizeof_struct_nlmsghdr
939+
SizeofNlMsgerr = C.sizeof_struct_nlmsgerr
940+
SizeofRtGenmsg = C.sizeof_struct_rtgenmsg
941+
SizeofNlAttr = C.sizeof_struct_nlattr
942+
SizeofRtAttr = C.sizeof_struct_rtattr
943+
SizeofIfInfomsg = C.sizeof_struct_ifinfomsg
944+
SizeofPrefixmsg = C.sizeof_struct_prefixmsg
945+
SizeofPrefixCacheinfo = C.sizeof_struct_prefix_cacheinfo
946+
SizeofIfAddrmsg = C.sizeof_struct_ifaddrmsg
947+
SizeofIfAddrlblmsg = C.sizeof_struct_ifaddrlblmsg
948+
SizeofIfaCacheinfo = C.sizeof_struct_ifa_cacheinfo
949+
SizeofRtMsg = C.sizeof_struct_rtmsg
950+
SizeofRtNexthop = C.sizeof_struct_rtnexthop
951+
SizeofNdUseroptmsg = C.sizeof_struct_nduseroptmsg
952+
SizeofNdMsg = C.sizeof_struct_ndmsg
948953
)
949954

950955
type NlMsghdr C.struct_nlmsghdr
@@ -959,6 +964,10 @@ type RtAttr C.struct_rtattr
959964

960965
type IfInfomsg C.struct_ifinfomsg
961966

967+
type Prefixmsg C.struct_prefixmsg
968+
969+
type PrefixCacheinfo C.struct_prefix_cacheinfo
970+
962971
type IfAddrmsg C.struct_ifaddrmsg
963972

964973
type IfAddrlblmsg C.struct_ifaddrlblmsg

0 commit comments

Comments
 (0)