[libvirt] [PATCH v2] lxc: don't up the veth interfaces unless explicitly asked to
Michal Privoznik
mprivozn at redhat.com
Wed May 6 16:02:52 UTC 2015
On 24.04.2015 15:52, Lubomir Rintel wrote:
> Upping an interface for no reason and not configuring it is a cardinal sin.
>
> With the default addrgenmode if eui64 it sticks a link-local address to the
> interface. That is not good, as NetworkManager would see an address configured,
> assume the interface is already configured and won't touch it iself and the
> interface might stay unconfigured until the end of the days.
>
> Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1124721
> ---
> src/lxc/lxc_container.c | 2 +-
> src/lxc/lxc_native.c | 10 ++++------
> 2 files changed, 5 insertions(+), 7 deletions(-)
>
> diff --git a/src/lxc/lxc_container.c b/src/lxc/lxc_container.c
> index cc20b6d..bd135c7 100644
> --- a/src/lxc/lxc_container.c
> +++ b/src/lxc/lxc_container.c
> @@ -541,7 +541,7 @@ static int lxcContainerRenameAndEnableInterfaces(virDomainDefPtr vmDef,
> VIR_FREE(ipStr);
> }
>
> - if (netDef->linkstate != VIR_DOMAIN_NET_INTERFACE_LINK_STATE_DOWN) {
> + if (netDef->nips || netDef->linkstate == VIR_DOMAIN_NET_INTERFACE_LINK_STATE_UP) {
I'd split this long line into two.
> VIR_DEBUG("Enabling %s", newname);
> rc = virNetDevSetOnline(newname, true);
> if (rc < 0)
> diff --git a/src/lxc/lxc_native.c b/src/lxc/lxc_native.c
> index c15eb19..2297dbe 100644
> --- a/src/lxc/lxc_native.c
> +++ b/src/lxc/lxc_native.c
> @@ -348,12 +348,10 @@ lxcCreateNetDef(const char *type,
> if (VIR_ALLOC(net) < 0)
> goto error;
>
> - if (flag) {
> - if (STREQ(flag, "up"))
> - net->linkstate = VIR_DOMAIN_NET_INTERFACE_LINK_STATE_UP;
> - else
> - net->linkstate = VIR_DOMAIN_NET_INTERFACE_LINK_STATE_DOWN;
> - }
> + if (flag && STREQ(flag, "up"))
or STREQ_NULLABLE().
> + net->linkstate = VIR_DOMAIN_NET_INTERFACE_LINK_STATE_UP;
> + else
> + net->linkstate = VIR_DOMAIN_NET_INTERFACE_LINK_STATE_DOWN;
>
> if (VIR_STRDUP(net->ifname_guest, name) < 0)
> goto error;
>
I've fixed both nits, ACKed and pushed.
Michal
More information about the libvir-list
mailing list