aboutsummaryrefslogtreecommitdiffstats
path: root/sys/linux
diff options
context:
space:
mode:
authorAlbert van der Linde <alinde@google.com>2020-08-03 08:58:44 +0000
committerDmitry Vyukov <dvyukov@google.com>2020-08-08 14:12:06 +0200
commitcb9c120a74bbfc083572692616096a4ee5ad11cc (patch)
tree9310ff1750e2591a592a04b3edb8cb4e35f5b561 /sys/linux
parent01975a06cb1a7b426ae17985374f2fff3ec38b62 (diff)
sys/linux: add descriptions for RTM_(NEW|DEL|GET)NEXTHOP
https://elixir.bootlin.com/linux/v5.8-rc4/source/net/ipv4/nexthop.c#L1961
Diffstat (limited to 'sys/linux')
-rw-r--r--sys/linux/socket_netlink_route.txt57
-rw-r--r--sys/linux/socket_netlink_route_386.const21
-rw-r--r--sys/linux/socket_netlink_route_amd64.const21
-rw-r--r--sys/linux/socket_netlink_route_arm.const21
-rw-r--r--sys/linux/socket_netlink_route_arm64.const21
-rw-r--r--sys/linux/socket_netlink_route_mips64le.const21
-rw-r--r--sys/linux/socket_netlink_route_ppc64le.const21
-rw-r--r--sys/linux/socket_netlink_route_riscv64.const21
-rw-r--r--sys/linux/socket_netlink_route_s390x.const21
9 files changed, 225 insertions, 0 deletions
diff --git a/sys/linux/socket_netlink_route.txt b/sys/linux/socket_netlink_route.txt
index 632b8c4f7..fc319f08c 100644
--- a/sys/linux/socket_netlink_route.txt
+++ b/sys/linux/socket_netlink_route.txt
@@ -17,6 +17,7 @@ include <uapi/linux/netconf.h>
include <uapi/linux/rtnetlink.h>
include <uapi/linux/lwtunnel.h>
include <uapi/linux/neighbour.h>
+include <uapi/linux/nexthop.h>
include <uapi/linux/fib_rules.h>
include <uapi/linux/if_tunnel.h>
include <uapi/linux/net_namespace.h>
@@ -56,6 +57,9 @@ netlink_msg_route [
newlinkprop netlink_msg[RTM_NEWLINKPROP, ifinfomsg[AF_UNSPEC], ifla_policy]
# RTM_GETLINKPROP is currently not used by the kernel.
dellinkprop netlink_msg[RTM_DELLINKPROP, ifinfomsg[AF_UNSPEC], ifla_policy]
+ newnexthop netlink_msg[RTM_NEWNEXTHOP, nhmsg_new[AF_UNSPEC], rtm_nh_policy_new]
+ delnexthop netlink_msg[RTM_DELNEXTHOP, nhmsg_get_del[AF_UNSPEC], rtm_nh_policy_del]
+ getnexthop netlink_msg[RTM_GETNEXTHOP, nhmsg_get_del[AF_UNSPEC], rtm_nh_policy_get]
ipv4_newaddr netlink_msg[RTM_NEWADDR, ifaddrmsg[AF_INET], ifa_ipv4_policy]
ipv4_deladdr netlink_msg[RTM_DELADDR, ifaddrmsg[AF_INET], ifa_ipv4_policy]
@@ -67,6 +71,8 @@ netlink_msg_route [
ipv4_newrule netlink_msg[RTM_NEWRULE, fib_rule_hdr[AF_INET], fib4_rule_policy]
ipv4_delrule netlink_msg[RTM_DELRULE, fib_rule_hdr[AF_INET], fib4_rule_policy]
ipv4_getrule netlink_msg[RTM_GETRULE, fib_rule_hdr[AF_INET], void]
+ ipv4_newnexthop netlink_msg[RTM_NEWNEXTHOP, nhmsg_new[AF_INET], rtm_nh_policy_new]
+ ipv4_getnexthop netlink_msg[RTM_GETNEXTHOP, nhmsg_get_del[AF_INET], rtm_nh_policy_get]
ipv6_newaddr netlink_msg[RTM_NEWADDR, ifaddrmsg[AF_INET6], ifa_ipv6_policy]
ipv6_deladdr netlink_msg[RTM_DELADDR, ifaddrmsg[AF_INET6], ifa_ipv6_policy]
@@ -83,6 +89,8 @@ netlink_msg_route [
ipv6_newaddrlabel netlink_msg[RTM_NEWADDRLABEL, ifaddrlblmsg[AF_INET6], ifal_policy]
ipv6_deladdrlabel netlink_msg[RTM_DELADDRLABEL, ifaddrlblmsg[AF_INET6], ifal_policy]
ipv6_getaddrlabel netlink_msg[RTM_GETADDRLABEL, ifaddrlblmsg[AF_INET6], ifal_policy]
+ ipv6_newnexthop netlink_msg[RTM_NEWNEXTHOP, nhmsg_new[AF_INET6], rtm_nh_policy_new]
+ ipv6_getnexthop netlink_msg[RTM_GETNEXTHOP, nhmsg_get_del[AF_INET6], rtm_nh_policy_get]
ipmr_newroute netlink_msg[RTM_NEWROUTE, rtmsg[RTNL_FAMILY_IPMR], rtm_ipv4_policy]
ipmr_delroute netlink_msg[RTM_DELROUTE, rtmsg[RTNL_FAMILY_IPMR], rtm_ipv4_policy]
@@ -196,6 +204,17 @@ type if_stats_msg[FAMILY] {
filter_mask flags[filter_mask, int32]
}
+type nhmsg_get_del[FAMILY] nhmsg[FAMILY, const[0, int8], const[0, int32]]
+type nhmsg_new[FAMILY] nhmsg[FAMILY, flags[rtm_protocol, int8], flags[nh_flags, int32]]
+
+type nhmsg[FAMILY, PROTOCOL, FLAGS] {
+ nh_family const[FAMILY, int8]
+ nh_scope const[0, int8]
+ nh_protocol PROTOCOL
+ resvd const[0, int8]
+ nh_flags FLAGS
+}
+
ifla_policy [
IFLA_IFNAME nlattr[IFLA_IFNAME, devname]
IFLA_ADDRESS nlattr[IFLA_ADDRESS, mac_addr]
@@ -850,6 +869,42 @@ br_mdb_entry_sub_u [
in6_addr ipv6_addr
]
+type rtm_nh_id int32[0:2]
+
+rtm_nh_policy_get [
+ NHA_ID nlattr[NHA_ID, rtm_nh_id]
+ NHA_OIF nlattr[NHA_OIF, ifindex]
+ NHA_GROUPS nlattr[NHA_GROUPS, void]
+ NHA_MASTER nlattr[NHA_MASTER, rtm_nh_id]
+ NHA_FDB nlattr[NHA_FDB, void]
+] [varlen]
+
+rtm_nh_policy_new [
+ NHA_ID nlattr[NHA_ID, rtm_nh_id]
+ NHA_GROUP nlattr[NHA_GROUP, array[nexthop_grp]]
+ NHA_GROUP_TYPE nlattr[NHA_GROUP_TYPE, flags[nha_group_types, int16]]
+ NHA_BLACKHOLE nlattr[NHA_BLACKHOLE, void]
+ NHA_OIF nlattr[NHA_OIF, ifindex]
+ NHA_GATEWAY nlattr[NHA_GATEWAY, nha_gateway]
+ NHA_ENCAP_TYPE nlattr[NHA_ENCAP_TYPE, flags[lwtunnel_encap_types, int16]]
+ NHA_ENCAP nlnest[NHA_ENCAP, lwtunnel_policy]
+ NHA_FDB nlattr[NHA_FDB, void]
+] [varlen]
+
+type rtm_nh_policy_del nlattr[NHA_ID, rtm_nh_id]
+
+nexthop_grp {
+ id int32[0:2]
+ weight int8
+ resvd1 const[0, int8]
+ resvd2 const[0, int16]
+}
+
+nha_gateway [
+ ip4 ipv4_addr
+ in6_addr ipv6_addr
+]
+
devconf_ipv4_policy [
NETCONFA_IFINDEX nlattr[NETCONFA_IFINDEX, ifindex]
NETCONFA_FORWARDING nlattr[NETCONFA_FORWARDING, int32]
@@ -1147,3 +1202,5 @@ br_vlan_tinfo_cmd = RTM_SETLINK, RTM_DELLINK
br_mdb_entry_state = MDB_TEMPORARY, MDB_PERMANENT
br_mdb_entry_flags = MDB_FLAGS_OFFLOAD, MDB_FLAGS_FAST_LEAVE
br_mdb_entry_sub_proto = ETH_P_IP, ETH_P_IPV6
+nh_flags = RTNH_F_DEAD, RTNH_F_PERVASIVE, RTNH_F_ONLINK, RTNH_F_OFFLOAD, RTNH_F_LINKDOWN, RTNH_F_UNRESOLVED
+nha_group_types = NEXTHOP_GRP_TYPE_MPATH
diff --git a/sys/linux/socket_netlink_route_386.const b/sys/linux/socket_netlink_route_386.const
index a1aea6e9e..d472fd706 100644
--- a/sys/linux/socket_netlink_route_386.const
+++ b/sys/linux/socket_netlink_route_386.const
@@ -494,6 +494,18 @@ NETLINK_ROUTE = 0
NETNSA_FD = 3
NETNSA_NSID = 1
NETNSA_PID = 2
+NEXTHOP_GRP_TYPE_MPATH = 0
+NHA_BLACKHOLE = 4
+NHA_ENCAP = 8
+NHA_ENCAP_TYPE = 7
+NHA_FDB = 11
+NHA_GATEWAY = 6
+NHA_GROUP = 2
+NHA_GROUPS = 9
+NHA_GROUP_TYPE = 3
+NHA_ID = 1
+NHA_MASTER = 10
+NHA_OIF = 5
NTF_EXT_LEARNED = 16
NTF_MASTER = 4
NTF_OFFLOADED = 32
@@ -536,6 +548,7 @@ RTM_DELLINK = 17
RTM_DELLINKPROP = 109
RTM_DELMDB = 85
RTM_DELNEIGH = 29
+RTM_DELNEXTHOP = 105
RTM_DELROUTE = 25
RTM_DELRULE = 33
RTM_DELVLAN = 113
@@ -554,6 +567,7 @@ RTM_GETMULTICAST = 58
RTM_GETNEIGH = 30
RTM_GETNEIGHTBL = 66
RTM_GETNETCONF = 82
+RTM_GETNEXTHOP = 106
RTM_GETNSID = 90
RTM_GETROUTE = 26
RTM_GETRULE = 34
@@ -565,12 +579,19 @@ RTM_NEWLINK = 16
RTM_NEWLINKPROP = 108
RTM_NEWMDB = 84
RTM_NEWNEIGH = 28
+RTM_NEWNEXTHOP = 104
RTM_NEWNSID = 88
RTM_NEWROUTE = 24
RTM_NEWRULE = 32
RTM_NEWVLAN = 112
RTM_SETLINK = 19
RTM_SETNEIGHTBL = 67
+RTNH_F_DEAD = 1
+RTNH_F_LINKDOWN = 16
+RTNH_F_OFFLOAD = 8
+RTNH_F_ONLINK = 4
+RTNH_F_PERVASIVE = 2
+RTNH_F_UNRESOLVED = 32
RTNL_FAMILY_IPMR = 128
RTN_ANYCAST = 4
RTN_BLACKHOLE = 6
diff --git a/sys/linux/socket_netlink_route_amd64.const b/sys/linux/socket_netlink_route_amd64.const
index 0658e085c..36f2bef97 100644
--- a/sys/linux/socket_netlink_route_amd64.const
+++ b/sys/linux/socket_netlink_route_amd64.const
@@ -494,6 +494,18 @@ NETLINK_ROUTE = 0
NETNSA_FD = 3
NETNSA_NSID = 1
NETNSA_PID = 2
+NEXTHOP_GRP_TYPE_MPATH = 0
+NHA_BLACKHOLE = 4
+NHA_ENCAP = 8
+NHA_ENCAP_TYPE = 7
+NHA_FDB = 11
+NHA_GATEWAY = 6
+NHA_GROUP = 2
+NHA_GROUPS = 9
+NHA_GROUP_TYPE = 3
+NHA_ID = 1
+NHA_MASTER = 10
+NHA_OIF = 5
NTF_EXT_LEARNED = 16
NTF_MASTER = 4
NTF_OFFLOADED = 32
@@ -536,6 +548,7 @@ RTM_DELLINK = 17
RTM_DELLINKPROP = 109
RTM_DELMDB = 85
RTM_DELNEIGH = 29
+RTM_DELNEXTHOP = 105
RTM_DELROUTE = 25
RTM_DELRULE = 33
RTM_DELVLAN = 113
@@ -554,6 +567,7 @@ RTM_GETMULTICAST = 58
RTM_GETNEIGH = 30
RTM_GETNEIGHTBL = 66
RTM_GETNETCONF = 82
+RTM_GETNEXTHOP = 106
RTM_GETNSID = 90
RTM_GETROUTE = 26
RTM_GETRULE = 34
@@ -565,12 +579,19 @@ RTM_NEWLINK = 16
RTM_NEWLINKPROP = 108
RTM_NEWMDB = 84
RTM_NEWNEIGH = 28
+RTM_NEWNEXTHOP = 104
RTM_NEWNSID = 88
RTM_NEWROUTE = 24
RTM_NEWRULE = 32
RTM_NEWVLAN = 112
RTM_SETLINK = 19
RTM_SETNEIGHTBL = 67
+RTNH_F_DEAD = 1
+RTNH_F_LINKDOWN = 16
+RTNH_F_OFFLOAD = 8
+RTNH_F_ONLINK = 4
+RTNH_F_PERVASIVE = 2
+RTNH_F_UNRESOLVED = 32
RTNL_FAMILY_IPMR = 128
RTN_ANYCAST = 4
RTN_BLACKHOLE = 6
diff --git a/sys/linux/socket_netlink_route_arm.const b/sys/linux/socket_netlink_route_arm.const
index c531c2aa2..bd7859305 100644
--- a/sys/linux/socket_netlink_route_arm.const
+++ b/sys/linux/socket_netlink_route_arm.const
@@ -494,6 +494,18 @@ NETLINK_ROUTE = 0
NETNSA_FD = 3
NETNSA_NSID = 1
NETNSA_PID = 2
+NEXTHOP_GRP_TYPE_MPATH = 0
+NHA_BLACKHOLE = 4
+NHA_ENCAP = 8
+NHA_ENCAP_TYPE = 7
+NHA_FDB = 11
+NHA_GATEWAY = 6
+NHA_GROUP = 2
+NHA_GROUPS = 9
+NHA_GROUP_TYPE = 3
+NHA_ID = 1
+NHA_MASTER = 10
+NHA_OIF = 5
NTF_EXT_LEARNED = 16
NTF_MASTER = 4
NTF_OFFLOADED = 32
@@ -536,6 +548,7 @@ RTM_DELLINK = 17
RTM_DELLINKPROP = 109
RTM_DELMDB = 85
RTM_DELNEIGH = 29
+RTM_DELNEXTHOP = 105
RTM_DELROUTE = 25
RTM_DELRULE = 33
RTM_DELVLAN = 113
@@ -554,6 +567,7 @@ RTM_GETMULTICAST = 58
RTM_GETNEIGH = 30
RTM_GETNEIGHTBL = 66
RTM_GETNETCONF = 82
+RTM_GETNEXTHOP = 106
RTM_GETNSID = 90
RTM_GETROUTE = 26
RTM_GETRULE = 34
@@ -565,12 +579,19 @@ RTM_NEWLINK = 16
RTM_NEWLINKPROP = 108
RTM_NEWMDB = 84
RTM_NEWNEIGH = 28
+RTM_NEWNEXTHOP = 104
RTM_NEWNSID = 88
RTM_NEWROUTE = 24
RTM_NEWRULE = 32
RTM_NEWVLAN = 112
RTM_SETLINK = 19
RTM_SETNEIGHTBL = 67
+RTNH_F_DEAD = 1
+RTNH_F_LINKDOWN = 16
+RTNH_F_OFFLOAD = 8
+RTNH_F_ONLINK = 4
+RTNH_F_PERVASIVE = 2
+RTNH_F_UNRESOLVED = 32
RTNL_FAMILY_IPMR = 128
RTN_ANYCAST = 4
RTN_BLACKHOLE = 6
diff --git a/sys/linux/socket_netlink_route_arm64.const b/sys/linux/socket_netlink_route_arm64.const
index 81093979b..7286a4cbd 100644
--- a/sys/linux/socket_netlink_route_arm64.const
+++ b/sys/linux/socket_netlink_route_arm64.const
@@ -494,6 +494,18 @@ NETLINK_ROUTE = 0
NETNSA_FD = 3
NETNSA_NSID = 1
NETNSA_PID = 2
+NEXTHOP_GRP_TYPE_MPATH = 0
+NHA_BLACKHOLE = 4
+NHA_ENCAP = 8
+NHA_ENCAP_TYPE = 7
+NHA_FDB = 11
+NHA_GATEWAY = 6
+NHA_GROUP = 2
+NHA_GROUPS = 9
+NHA_GROUP_TYPE = 3
+NHA_ID = 1
+NHA_MASTER = 10
+NHA_OIF = 5
NTF_EXT_LEARNED = 16
NTF_MASTER = 4
NTF_OFFLOADED = 32
@@ -536,6 +548,7 @@ RTM_DELLINK = 17
RTM_DELLINKPROP = 109
RTM_DELMDB = 85
RTM_DELNEIGH = 29
+RTM_DELNEXTHOP = 105
RTM_DELROUTE = 25
RTM_DELRULE = 33
RTM_DELVLAN = 113
@@ -554,6 +567,7 @@ RTM_GETMULTICAST = 58
RTM_GETNEIGH = 30
RTM_GETNEIGHTBL = 66
RTM_GETNETCONF = 82
+RTM_GETNEXTHOP = 106
RTM_GETNSID = 90
RTM_GETROUTE = 26
RTM_GETRULE = 34
@@ -565,12 +579,19 @@ RTM_NEWLINK = 16
RTM_NEWLINKPROP = 108
RTM_NEWMDB = 84
RTM_NEWNEIGH = 28
+RTM_NEWNEXTHOP = 104
RTM_NEWNSID = 88
RTM_NEWROUTE = 24
RTM_NEWRULE = 32
RTM_NEWVLAN = 112
RTM_SETLINK = 19
RTM_SETNEIGHTBL = 67
+RTNH_F_DEAD = 1
+RTNH_F_LINKDOWN = 16
+RTNH_F_OFFLOAD = 8
+RTNH_F_ONLINK = 4
+RTNH_F_PERVASIVE = 2
+RTNH_F_UNRESOLVED = 32
RTNL_FAMILY_IPMR = 128
RTN_ANYCAST = 4
RTN_BLACKHOLE = 6
diff --git a/sys/linux/socket_netlink_route_mips64le.const b/sys/linux/socket_netlink_route_mips64le.const
index 340225d9e..9ac47b8d6 100644
--- a/sys/linux/socket_netlink_route_mips64le.const
+++ b/sys/linux/socket_netlink_route_mips64le.const
@@ -494,6 +494,18 @@ NETLINK_ROUTE = 0
NETNSA_FD = 3
NETNSA_NSID = 1
NETNSA_PID = 2
+NEXTHOP_GRP_TYPE_MPATH = 0
+NHA_BLACKHOLE = 4
+NHA_ENCAP = 8
+NHA_ENCAP_TYPE = 7
+NHA_FDB = 11
+NHA_GATEWAY = 6
+NHA_GROUP = 2
+NHA_GROUPS = 9
+NHA_GROUP_TYPE = 3
+NHA_ID = 1
+NHA_MASTER = 10
+NHA_OIF = 5
NTF_EXT_LEARNED = 16
NTF_MASTER = 4
NTF_OFFLOADED = 32
@@ -536,6 +548,7 @@ RTM_DELLINK = 17
RTM_DELLINKPROP = 109
RTM_DELMDB = 85
RTM_DELNEIGH = 29
+RTM_DELNEXTHOP = 105
RTM_DELROUTE = 25
RTM_DELRULE = 33
RTM_DELVLAN = 113
@@ -554,6 +567,7 @@ RTM_GETMULTICAST = 58
RTM_GETNEIGH = 30
RTM_GETNEIGHTBL = 66
RTM_GETNETCONF = 82
+RTM_GETNEXTHOP = 106
RTM_GETNSID = 90
RTM_GETROUTE = 26
RTM_GETRULE = 34
@@ -565,12 +579,19 @@ RTM_NEWLINK = 16
RTM_NEWLINKPROP = 108
RTM_NEWMDB = 84
RTM_NEWNEIGH = 28
+RTM_NEWNEXTHOP = 104
RTM_NEWNSID = 88
RTM_NEWROUTE = 24
RTM_NEWRULE = 32
RTM_NEWVLAN = 112
RTM_SETLINK = 19
RTM_SETNEIGHTBL = 67
+RTNH_F_DEAD = 1
+RTNH_F_LINKDOWN = 16
+RTNH_F_OFFLOAD = 8
+RTNH_F_ONLINK = 4
+RTNH_F_PERVASIVE = 2
+RTNH_F_UNRESOLVED = 32
RTNL_FAMILY_IPMR = 128
RTN_ANYCAST = 4
RTN_BLACKHOLE = 6
diff --git a/sys/linux/socket_netlink_route_ppc64le.const b/sys/linux/socket_netlink_route_ppc64le.const
index f3ec3a7de..0dd4670a0 100644
--- a/sys/linux/socket_netlink_route_ppc64le.const
+++ b/sys/linux/socket_netlink_route_ppc64le.const
@@ -494,6 +494,18 @@ NETLINK_ROUTE = 0
NETNSA_FD = 3
NETNSA_NSID = 1
NETNSA_PID = 2
+NEXTHOP_GRP_TYPE_MPATH = 0
+NHA_BLACKHOLE = 4
+NHA_ENCAP = 8
+NHA_ENCAP_TYPE = 7
+NHA_FDB = 11
+NHA_GATEWAY = 6
+NHA_GROUP = 2
+NHA_GROUPS = 9
+NHA_GROUP_TYPE = 3
+NHA_ID = 1
+NHA_MASTER = 10
+NHA_OIF = 5
NTF_EXT_LEARNED = 16
NTF_MASTER = 4
NTF_OFFLOADED = 32
@@ -536,6 +548,7 @@ RTM_DELLINK = 17
RTM_DELLINKPROP = 109
RTM_DELMDB = 85
RTM_DELNEIGH = 29
+RTM_DELNEXTHOP = 105
RTM_DELROUTE = 25
RTM_DELRULE = 33
RTM_DELVLAN = 113
@@ -554,6 +567,7 @@ RTM_GETMULTICAST = 58
RTM_GETNEIGH = 30
RTM_GETNEIGHTBL = 66
RTM_GETNETCONF = 82
+RTM_GETNEXTHOP = 106
RTM_GETNSID = 90
RTM_GETROUTE = 26
RTM_GETRULE = 34
@@ -565,12 +579,19 @@ RTM_NEWLINK = 16
RTM_NEWLINKPROP = 108
RTM_NEWMDB = 84
RTM_NEWNEIGH = 28
+RTM_NEWNEXTHOP = 104
RTM_NEWNSID = 88
RTM_NEWROUTE = 24
RTM_NEWRULE = 32
RTM_NEWVLAN = 112
RTM_SETLINK = 19
RTM_SETNEIGHTBL = 67
+RTNH_F_DEAD = 1
+RTNH_F_LINKDOWN = 16
+RTNH_F_OFFLOAD = 8
+RTNH_F_ONLINK = 4
+RTNH_F_PERVASIVE = 2
+RTNH_F_UNRESOLVED = 32
RTNL_FAMILY_IPMR = 128
RTN_ANYCAST = 4
RTN_BLACKHOLE = 6
diff --git a/sys/linux/socket_netlink_route_riscv64.const b/sys/linux/socket_netlink_route_riscv64.const
index 81093979b..7286a4cbd 100644
--- a/sys/linux/socket_netlink_route_riscv64.const
+++ b/sys/linux/socket_netlink_route_riscv64.const
@@ -494,6 +494,18 @@ NETLINK_ROUTE = 0
NETNSA_FD = 3
NETNSA_NSID = 1
NETNSA_PID = 2
+NEXTHOP_GRP_TYPE_MPATH = 0
+NHA_BLACKHOLE = 4
+NHA_ENCAP = 8
+NHA_ENCAP_TYPE = 7
+NHA_FDB = 11
+NHA_GATEWAY = 6
+NHA_GROUP = 2
+NHA_GROUPS = 9
+NHA_GROUP_TYPE = 3
+NHA_ID = 1
+NHA_MASTER = 10
+NHA_OIF = 5
NTF_EXT_LEARNED = 16
NTF_MASTER = 4
NTF_OFFLOADED = 32
@@ -536,6 +548,7 @@ RTM_DELLINK = 17
RTM_DELLINKPROP = 109
RTM_DELMDB = 85
RTM_DELNEIGH = 29
+RTM_DELNEXTHOP = 105
RTM_DELROUTE = 25
RTM_DELRULE = 33
RTM_DELVLAN = 113
@@ -554,6 +567,7 @@ RTM_GETMULTICAST = 58
RTM_GETNEIGH = 30
RTM_GETNEIGHTBL = 66
RTM_GETNETCONF = 82
+RTM_GETNEXTHOP = 106
RTM_GETNSID = 90
RTM_GETROUTE = 26
RTM_GETRULE = 34
@@ -565,12 +579,19 @@ RTM_NEWLINK = 16
RTM_NEWLINKPROP = 108
RTM_NEWMDB = 84
RTM_NEWNEIGH = 28
+RTM_NEWNEXTHOP = 104
RTM_NEWNSID = 88
RTM_NEWROUTE = 24
RTM_NEWRULE = 32
RTM_NEWVLAN = 112
RTM_SETLINK = 19
RTM_SETNEIGHTBL = 67
+RTNH_F_DEAD = 1
+RTNH_F_LINKDOWN = 16
+RTNH_F_OFFLOAD = 8
+RTNH_F_ONLINK = 4
+RTNH_F_PERVASIVE = 2
+RTNH_F_UNRESOLVED = 32
RTNL_FAMILY_IPMR = 128
RTN_ANYCAST = 4
RTN_BLACKHOLE = 6
diff --git a/sys/linux/socket_netlink_route_s390x.const b/sys/linux/socket_netlink_route_s390x.const
index 034832058..fad10bc47 100644
--- a/sys/linux/socket_netlink_route_s390x.const
+++ b/sys/linux/socket_netlink_route_s390x.const
@@ -494,6 +494,18 @@ NETLINK_ROUTE = 0
NETNSA_FD = 3
NETNSA_NSID = 1
NETNSA_PID = 2
+NEXTHOP_GRP_TYPE_MPATH = 0
+NHA_BLACKHOLE = 4
+NHA_ENCAP = 8
+NHA_ENCAP_TYPE = 7
+NHA_FDB = 11
+NHA_GATEWAY = 6
+NHA_GROUP = 2
+NHA_GROUPS = 9
+NHA_GROUP_TYPE = 3
+NHA_ID = 1
+NHA_MASTER = 10
+NHA_OIF = 5
NTF_EXT_LEARNED = 16
NTF_MASTER = 4
NTF_OFFLOADED = 32
@@ -536,6 +548,7 @@ RTM_DELLINK = 17
RTM_DELLINKPROP = 109
RTM_DELMDB = 85
RTM_DELNEIGH = 29
+RTM_DELNEXTHOP = 105
RTM_DELROUTE = 25
RTM_DELRULE = 33
RTM_DELVLAN = 113
@@ -554,6 +567,7 @@ RTM_GETMULTICAST = 58
RTM_GETNEIGH = 30
RTM_GETNEIGHTBL = 66
RTM_GETNETCONF = 82
+RTM_GETNEXTHOP = 106
RTM_GETNSID = 90
RTM_GETROUTE = 26
RTM_GETRULE = 34
@@ -565,12 +579,19 @@ RTM_NEWLINK = 16
RTM_NEWLINKPROP = 108
RTM_NEWMDB = 84
RTM_NEWNEIGH = 28
+RTM_NEWNEXTHOP = 104
RTM_NEWNSID = 88
RTM_NEWROUTE = 24
RTM_NEWRULE = 32
RTM_NEWVLAN = 112
RTM_SETLINK = 19
RTM_SETNEIGHTBL = 67
+RTNH_F_DEAD = 1
+RTNH_F_LINKDOWN = 16
+RTNH_F_OFFLOAD = 8
+RTNH_F_ONLINK = 4
+RTNH_F_PERVASIVE = 2
+RTNH_F_UNRESOLVED = 32
RTNL_FAMILY_IPMR = 128
RTN_ANYCAST = 4
RTN_BLACKHOLE = 6