mirror of
https://github.com/checkpoint-restore/criu.git
synced 2026-01-23 02:14:37 +00:00
net: veth -- Don't force to create master peer index if no nsid
In case if master peer of veth device is laying inside node root net-ns we should not request device index but rather allow the kernel to number it automatically. When there is separate net-ns for master peer it should be safe to request an index though. Signed-off-by: Cyrill Gorcunov <gorcunov@virtuozzo.com> Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
This commit is contained in:
parent
1e35bd8213
commit
b75d898bcb
1 changed files with 11 additions and 1 deletions
12
criu/net.c
12
criu/net.c
|
|
@ -1251,7 +1251,17 @@ static int veth_link_info(struct ns_id *ns, struct net_link *link, struct newlin
|
|||
peer_data = NLMSG_TAIL(&req->h);
|
||||
memset(&ifm, 0, sizeof(ifm));
|
||||
|
||||
ifm.ifi_index = nde->peer_ifindex;
|
||||
/*
|
||||
* Peer index might lay on the node root net namespace,
|
||||
* where the device index may be already borrowed by
|
||||
* some other device, so we should ignore it.
|
||||
*
|
||||
* Still if peer is laying in some other net-namespace,
|
||||
* we should recreate the device index as well as the
|
||||
* as we do for the master peer end.
|
||||
*/
|
||||
if (nde->has_peer_nsid)
|
||||
ifm.ifi_index = nde->peer_ifindex;
|
||||
addattr_l(&req->h, sizeof(*req), VETH_INFO_PEER, &ifm, sizeof(ifm));
|
||||
|
||||
veth_peer_info(link, req, ns, ns_fd);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue