[libvirt] [PATCH 4/4] FreeBSD: implement virNetDevGetMTU().

John Ferlan jferlan at redhat.com
Mon Jan 7 15:34:51 UTC 2013


On 01/04/2013 10:00 AM, Roman Bogorodskiy wrote:
> ---
>  src/util/virnetdev.c | 26 ++++++++++++++++++++++++++
>  1 file changed, 26 insertions(+)
> 
> diff --git a/src/util/virnetdev.c b/src/util/virnetdev.c
> index 6e4f7ad..809c0f7 100644
> --- a/src/util/virnetdev.c
> +++ b/src/util/virnetdev.c
> @@ -427,6 +427,32 @@ cleanup:
>      VIR_FORCE_CLOSE(fd);
>      return ret;
>  }
> +#elif defined(__FreeBSD__)
> +int virNetDevGetMTU(const char *ifname)
> +{
> +    int s;
> +    int ret;
> +    struct ifreq ifr;
> +
> +    if ((s = virNetDevSetupControl(ifname, &ifr)) < 0)
> +        return -1;
> +
> +    ifr.ifr_addr.sa_family = AF_INET;
> +    virStrcpyStatic(ifr.ifr_name, ifname);

Ignoring the result of the virStrcpyStatic() call.

> +    if (ioctl(s, SIOCGIFMTU, (caddr_t)&ifr) < 0) {
> +        virReportSystemError(errno,
> +                             _("Cannot get interface MTU on '%s'"),
> +                            ifname);
> +        ret = -1;
> +        goto cleanup;
> +    }
> +
> +    ret = ifr.ifr_mtu;
> +
> +cleanup:
> +    VIR_FORCE_CLOSE(s);
> +    return ret;
> +}
>  #else
>  int virNetDevGetMTU(const char *ifname)
>  {
> 




More information about the libvir-list mailing list