platform: add nm_platform_link_set_netns() function
[thaller@redhat.com: cherry-picked original patch and modified slightly]
This commit is contained in:

committed by
Thomas Haller

parent
30fe52c766
commit
9995699116
@@ -4051,6 +4051,31 @@ link_refresh (NMPlatform *platform, int ifindex)
|
||||
return !!cache_lookup_link (platform, ifindex);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
link_set_netns (NMPlatform *platform,
|
||||
int ifindex,
|
||||
int netns_fd)
|
||||
{
|
||||
nm_auto_nlmsg struct nl_msg *nlmsg = NULL;
|
||||
|
||||
_LOGD ("link: move link %d to network namespace with fd %d", ifindex, netns_fd);
|
||||
|
||||
nlmsg = _nl_msg_new_link (RTM_NEWLINK,
|
||||
0,
|
||||
ifindex,
|
||||
NULL,
|
||||
0,
|
||||
0);
|
||||
if (!nlmsg)
|
||||
return FALSE;
|
||||
|
||||
NLA_PUT (nlmsg, IFLA_NET_NS_FD, 4, &netns_fd);
|
||||
return do_change_link (platform, ifindex, nlmsg) == NM_PLATFORM_ERROR_SUCCESS;
|
||||
|
||||
nla_put_failure:
|
||||
g_return_val_if_reached (FALSE);
|
||||
}
|
||||
|
||||
static NMPlatformError
|
||||
link_change_flags (NMPlatform *platform,
|
||||
int ifindex,
|
||||
@@ -6164,6 +6189,8 @@ nm_linux_platform_class_init (NMLinuxPlatformClass *klass)
|
||||
|
||||
platform_class->link_refresh = link_refresh;
|
||||
|
||||
platform_class->link_set_netns = link_set_netns;
|
||||
|
||||
platform_class->link_set_up = link_set_up;
|
||||
platform_class->link_set_down = link_set_down;
|
||||
platform_class->link_set_arp = link_set_arp;
|
||||
|
Reference in New Issue
Block a user