From 3e3b15df7ecb36b232f8d1a33ec92999691e8511 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Fri, 21 Dec 2018 18:22:22 +0100 Subject: sys/linux: add RTM_NEWNSID/RTM_GETNSID --- sys/linux/socket_netlink_route.txt | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'sys/linux/socket_netlink_route.txt') diff --git a/sys/linux/socket_netlink_route.txt b/sys/linux/socket_netlink_route.txt index e6eea25f3..8c03227d3 100644 --- a/sys/linux/socket_netlink_route.txt +++ b/sys/linux/socket_netlink_route.txt @@ -15,9 +15,11 @@ include include include include +include include resource sock_nl_route[sock_netlink] +type netns_id int32[0:4] socket$nl_route(domain const[AF_NETLINK], type const[SOCK_RAW], proto const[NETLINK_ROUTE]) sock_nl_route @@ -78,6 +80,9 @@ netlink_msg_route [ bridge_getlink netlink_msg[RTM_GETLINK, ifinfomsg[AF_BRIDGE], ifla_policy] bridge_setlink netlink_msg[RTM_SETLINK, ifinfomsg[AF_BRIDGE], ifla_policy] bridge_dellink netlink_msg[RTM_DELLINK, ifinfomsg[AF_BRIDGE], ifla_policy] + + RTM_NEWNSID netlink_msg[RTM_NEWNSID, rtgenmsg[AF_UNSPEC], rtnl_net_policy] + RTM_GETNSID netlink_msg[RTM_GETNSID, rtgenmsg[AF_UNSPEC], rtnl_net_policy] ] [varlen] type rtgenmsg[FAMILY] { @@ -171,14 +176,12 @@ ifla_policy [ IFLA_PHYS_PORT_ID nlattr[IFLA_PHYS_PORT_ID, array[int8, 0:MAX_PHYS_ITEM_ID_LEN]] IFLA_CARRIER_CHANGES nlattr[IFLA_CARRIER_CHANGES, int32] IFLA_PHYS_SWITCH_ID nlattr[IFLA_PHYS_SWITCH_ID, array[int8, 0:MAX_PHYS_ITEM_ID_LEN]] -# TODO: this is some net namespace id. - IFLA_LINK_NETNSID nlattr[IFLA_LINK_NETNSID, int32] + IFLA_LINK_NETNSID nlattr[IFLA_LINK_NETNSID, netns_id] IFLA_PROTO_DOWN nlattr[IFLA_PROTO_DOWN, int8] IFLA_XDP nlattr[IFLA_XDP, array[ifla_xdp_policy]] IFLA_EVENT nlattr[IFLA_EVENT, int32] IFLA_GROUP nlattr[IFLA_GROUP, int32] -# TODO: probably also some net namespace id. - IFLA_IF_NETNSID nlattr[IFLA_IF_NETNSID, int32] + IFLA_IF_NETNSID nlattr[IFLA_IF_NETNSID, netns_id] ] [varlen] type ifla_info_policy_t[TYPE, DATA_TYPE, DATA] { @@ -607,6 +610,12 @@ rtnl_link_ifmap { port int8 } +rtnl_net_policy [ + NETNSA_NSID nlattr[NETNSA_NSID, netns_id] + NETNSA_PID nlattr[NETNSA_PID, pid] + NETNSA_FD nlattr[NETNSA_FD, fd_namespace] +] [varlen] + rtnl_af = AF_INET, AF_INET6, AF_BRIDGE, AF_MPLS net_device_flags = IFF_UP, IFF_BROADCAST, IFF_DEBUG, IFF_LOOPBACK, IFF_POINTOPOINT, IFF_NOTRAILERS, IFF_RUNNING, IFF_NOARP, IFF_PROMISC, IFF_ALLMULTI, IFF_MASTER, IFF_SLAVE, IFF_MULTICAST, IFF_PORTSEL, IFF_AUTOMEDIA, IFF_DYNAMIC, IFF_LOWER_UP, IFF_DORMANT, IFF_ECHO ifa_flags = IFA_F_SECONDARY, IFA_F_NODAD, IFA_F_OPTIMISTIC, IFA_F_DADFAILED, IFA_F_HOMEADDRESS, IFA_F_DEPRECATED, IFA_F_TENTATIVE, IFA_F_PERMANENT, IFA_F_MANAGETEMPADDR, IFA_F_NOPREFIXROUTE, IFA_F_MCAUTOJOIN -- cgit mrf-deployment