From d3941744f6c103573a3bf9a3739d19dcb1884ba7 Mon Sep 17 00:00:00 2001 From: Packet Please Date: Fri, 22 Sep 2023 23:33:54 +0200 Subject: [PATCH 1/2] rtnl: add IFLA_TARGET_NETNSID for operating in other namespaces Signed-off-by: Packet Please --- lib/rtnl.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/rtnl.c b/lib/rtnl.c index e5efa25e..99a09830 100644 --- a/lib/rtnl.c +++ b/lib/rtnl.c @@ -713,7 +713,7 @@ static const uc_nl_nested_spec_t link_attrs_stats64_rta = { static const uc_nl_nested_spec_t link_msg = { .headsize = NLA_ALIGN(sizeof(struct ifinfomsg)), - .nattrs = 25, + .nattrs = 26, .attrs = { { IFLA_UNSPEC, "family", DT_U8, 0, MEMBER(ifinfomsg, ifi_family) }, { IFLA_UNSPEC, "type", DT_U16, 0, MEMBER(ifinfomsg, ifi_type) }, @@ -735,6 +735,7 @@ static const uc_nl_nested_spec_t link_msg = { { IFLA_NUM_RX_QUEUES, "num_rx_queues", DT_U32, 0, NULL }, { IFLA_AF_SPEC, "af_spec", DT_AFSPEC, 0, NULL }, { IFLA_LINK_NETNSID, "link_netnsid", DT_U32, 0, NULL }, + { IFLA_TARGET_NETNSID, "target_netnsid", DT_S32, 0, NULL }, { IFLA_PROTO_DOWN, "proto_down", DT_BOOL, 0, NULL }, { IFLA_GROUP, "group", DT_U32, 0, NULL }, { IFLA_LINK, "link", DT_NETDEV, 0, NULL }, From d1504255c69d983c9b5a184865291a726abd8751 Mon Sep 17 00:00:00 2001 From: Packet Please Date: Fri, 22 Sep 2023 23:42:05 +0200 Subject: [PATCH 2/2] rtnl: update the link attr TODOs Signed-off-by: Packet Please --- lib/rtnl.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/rtnl.c b/lib/rtnl.c index 99a09830..b6add379 100644 --- a/lib/rtnl.c +++ b/lib/rtnl.c @@ -724,9 +724,7 @@ static const uc_nl_nested_spec_t link_msg = { { IFLA_BROADCAST, "broadcast", DT_LLADDR, 0, NULL }, { IFLA_TXQLEN, "txqlen", DT_U32, 0, NULL }, { IFLA_MTU, "mtu", DT_U32, 0, NULL }, - /* { IFLA_NETNS_PID, "netns", DT_U32, 0, NULL }, */ { IFLA_CARRIER, "carrier", DT_BOOL, 0, NULL }, - /* IFLA_VFINFO_LIST */ { IFLA_MASTER, "master", DT_NETDEV, DF_ALLOW_NONE, NULL }, { IFLA_IFALIAS, "ifalias", DT_STRING, 0, NULL }, { IFLA_LINKMODE, "linkmode", DT_U8, 0, NULL }, @@ -743,6 +741,10 @@ static const uc_nl_nested_spec_t link_msg = { { IFLA_LINKINFO, "linkinfo", DT_LINKINFO, 0, NULL }, /* XXX: DF_NO_GET ? */ { IFLA_EXT_MASK, "ext_mask", DT_U32, 0, NULL }, { IFLA_STATS64, "stats64", DT_NESTED, DF_NO_SET, &link_attrs_stats64_rta }, + /* TODO: IFLA_VFINFO_LIST */ + /* TODO: the following two should be straightforward, just uncomment and test */ + /* { IFLA_NET_NS_PID, "net_ns_pid", DT_S32, 0, NULL }, */ + /* { IFLA_NET_NS_FD, "net_ns_fd", DT_S32, 0, NULL }, */ } };