lxc_get_netdev_by_idx() takes care of checking whether a given netdev struct
for a given index is already allocated. If so it returns a pointer to it to the
caller.
If it doesn't find it it will allocate a new netdev struct and insert it into
the network list at the right position. For example, let's say you have the
following networks defined in your config file:
lxc.network.0.type=veth
lxc.network.0.link=lxcbr0
lxc.network.0.name=eth0
lxc.network.0.flags=up
lxc.network.3.type=veth
lxc.network.3.link=lxcbr0
lxc.network.3.name=eth1
lxc.network.3.flags=up
lxc.network.3.hwaddr = 00:16:3e:5d:7d:65
lxc.network.1.type=veth
lxc.network.1.link=lxcbr0
lxc.network.1.name=eth0
lxc.network.1.flags=up
lxc_get_netdev_by_idx() will take care that the internal network list appears
in the order:
0
1
3
The ordering of the keys themselves can also be random, meaning you could do:
lxc.network.3.type=veth
lxc.network.0.link=lxcbr0
lxc.network.0.name=eth0
lxc.network.3.hwaddr = 00:16:3e:5d:7d:65
lxc.network.0.flags=up
lxc.network.3.flags=up
lxc.network.0.type=veth
lxc.network.3.link=lxcbr0
lxc.network.3.name=eth1
and lxc_get_netdev_by_idx() would still figure out the correct ordering since
it keeps track of the index.
Signed-off-by:
Christian Brauner <christian.brauner@ubuntu.com>
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| bdev | Loading commit data... | |
| cgroups | Loading commit data... | |
| lsm | Loading commit data... | |
| tools | Loading commit data... | |
| Makefile.am | Loading commit data... | |
| af_unix.c | Loading commit data... | |
| af_unix.h | Loading commit data... | |
| arguments.c | Loading commit data... | |
| arguments.h | Loading commit data... | |
| attach.c | Loading commit data... | |
| attach.h | Loading commit data... | |
| attach_options.h | Loading commit data... | |
| caps.c | Loading commit data... | |
| caps.h | Loading commit data... | |
| commands.c | Loading commit data... | |
| commands.h | Loading commit data... | |
| conf.c | Loading commit data... | |
| conf.h | Loading commit data... | |
| confile.c | Loading commit data... | |
| confile.h | Loading commit data... | |
| confile_utils.c | Loading commit data... | |
| confile_utils.h | Loading commit data... | |
| console.c | Loading commit data... | |
| console.h | Loading commit data... | |
| criu.c | Loading commit data... | |
| criu.h | Loading commit data... | |
| error.c | Loading commit data... | |
| error.h | Loading commit data... | |
| execute.c | Loading commit data... | |
| freezer.c | Loading commit data... | |
| genl.c | Loading commit data... | |
| genl.h | Loading commit data... | |
| initutils.c | Loading commit data... | |
| initutils.h | Loading commit data... | |
| list.h | Loading commit data... | |
| log.c | Loading commit data... | |
| log.h | Loading commit data... | |
| lxc.functions.in | Loading commit data... | |
| lxc.h | Loading commit data... | |
| lxc_monitord.c | Loading commit data... | |
| lxc_user_nic.c | Loading commit data... | |
| lxccontainer.c | Loading commit data... | |
| lxccontainer.h | Loading commit data... | |
| lxclock.c | Loading commit data... | |
| lxclock.h | Loading commit data... | |
| lxcseccomp.h | Loading commit data... | |
| lxcutmp.c | Loading commit data... | |
| lxcutmp.h | Loading commit data... | |
| mainloop.c | Loading commit data... | |
| mainloop.h | Loading commit data... | |
| monitor.c | Loading commit data... | |
| monitor.h | Loading commit data... | |
| namespace.c | Loading commit data... | |
| namespace.h | Loading commit data... | |
| network.c | Loading commit data... | |
| network.h | Loading commit data... | |
| nl.c | Loading commit data... | |
| nl.h | Loading commit data... | |
| parse.c | Loading commit data... | |
| parse.h | Loading commit data... | |
| rtnl.c | Loading commit data... | |
| rtnl.h | Loading commit data... | |
| seccomp.c | Loading commit data... | |
| start.c | Loading commit data... | |
| start.h | Loading commit data... | |
| state.c | Loading commit data... | |
| state.h | Loading commit data... | |
| sync.c | Loading commit data... | |
| sync.h | Loading commit data... | |
| utils.c | Loading commit data... | |
| utils.h | Loading commit data... | |
| version.h.in | Loading commit data... |