[libvirt] [PATCHv2] libxl: set IP address when creating NIC

Jim Fehlig jfehlig at suse.com
Mon Feb 9 16:16:18 UTC 2015


Jihoon Kim wrote:
> From: Ji-hoon Kim <relip at me.com>
>
> Currently libxlMakeNic() does not set ip address when creating NIC,
> this patch makes it to set ip address.
>   

FYI, Marek recently sent a patch to do the same

https://www.redhat.com/archives/libvir-list/2015-February/msg00139.html

I like Marek's error checking for multiple IPs in
libxlDomainDeviceDefPostParse(), but do think that <ip address=''>
should also be supported for <interface type=network>.

Regards,
Jim

> Signed-off-by: Ji-hoon Kim <relip at me.com>
> ---
>  src/libxl/libxl_conf.c |   14 ++++++++++++++
>  1 files changed, 14 insertions(+), 0 deletions(-)
>
> diff --git a/src/libxl/libxl_conf.c b/src/libxl/libxl_conf.c
> index 0555b91..e49715d 100644
> --- a/src/libxl/libxl_conf.c
> +++ b/src/libxl/libxl_conf.c
> @@ -1042,6 +1042,20 @@ libxlMakeNic(virDomainDefPtr def,
>      if (VIR_STRDUP(x_nic->ifname, l_nic->ifname) < 0)
>          return -1;
>  
> +    if (l_nic->nips == 1) {
> +        char *ipStr = virSocketAddrFormat(&l_nic->ips[0]->address);
> +        if (VIR_STRDUP(x_nic->ip, ipStr) < 0) {
> +            VIR_FREE(ipStr);
> +            return -1;
> +        }
> +        VIR_FREE(ipStr);
> +    }
> +    else if (l_nic->nips > 1) {
> +        virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
> +            _("Driver does not support setting multiple IP addresses"));
> +        return -1;
> +    }
> +
>      switch (actual_type) {
>          case VIR_DOMAIN_NET_TYPE_BRIDGE:
>              if (VIR_STRDUP(x_nic->bridge,
>   




More information about the libvir-list mailing list