Re: [libvirt] [PATCH 4/4] FreeBSD: implement virNetDevGetMTU().
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) { -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
[libvirt] [PATCH 4/4] FreeBSD: implement virNetDevGetMTU().
--- 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); +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) { -- 1.8.0 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list