diff options
| author | Pavel Emelyanov <[email protected]> | 2012-08-08 21:52:46 +0000 |
|---|---|---|
| committer | David S. Miller <[email protected]> | 2012-08-09 23:18:06 +0000 |
| commit | 9c7dafbfab1554705f85523fead578aa1a3d338c (patch) | |
| tree | 462dc2a2b854b3c7ad80a351a0ef780b790bc109 /net/core/dev.c | |
| parent | net: Dont use ifindices in hash fns (diff) | |
| download | kernel-9c7dafbfab1554705f85523fead578aa1a3d338c.tar.gz kernel-9c7dafbfab1554705f85523fead578aa1a3d338c.zip | |
net: Allow to create links with given ifindex
Currently the RTM_NEWLINK results in -EOPNOTSUPP if the ifinfomsg->ifi_index
is not zero. I propose to allow requesting ifindices on link creation. This
is required by the checkpoint-restore to correctly restore a net namespace
(i.e. -- a container).
Signed-off-by: Pavel Emelyanov <[email protected]>
Acked-by: Eric Dumazet <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Diffstat (limited to 'net/core/dev.c')
| -rw-r--r-- | net/core/dev.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index f91abf800161..3ca300d85271 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -5579,7 +5579,12 @@ int register_netdevice(struct net_device *dev) } } - dev->ifindex = dev_new_index(net); + ret = -EBUSY; + if (!dev->ifindex) + dev->ifindex = dev_new_index(net); + else if (__dev_get_by_index(net, dev->ifindex)) + goto err_uninit; + if (dev->iflink == -1) dev->iflink = dev->ifindex; |
