From a13663ae74e806c3cd3d01b28b39193e550a907f Mon Sep 17 00:00:00 2001 From: Denis Ovsienko Date: Tue, 21 Aug 2007 16:12:40 +0000 Subject: Fixed ioctl_solaris.c:if_get_mtu() for IPv6'less operation --- zebra/ioctl_solaris.c | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) (limited to 'zebra/ioctl_solaris.c') diff --git a/zebra/ioctl_solaris.c b/zebra/ioctl_solaris.c index 6e25d876..6c1c254a 100644 --- a/zebra/ioctl_solaris.c +++ b/zebra/ioctl_solaris.c @@ -176,31 +176,27 @@ if_get_mtu (struct interface *ifp) } #ifdef HAVE_IPV6 - if ((ifp->flags & IFF_IPV6) == 0) - { - if (changed) - zebra_interface_up_update(ifp); - return; - } - - memset(&lifreq, 0, sizeof(lifreq)); - lifreq_set_name (&lifreq, ifp->name); + if (ifp->flags & IFF_IPV6) + { + memset(&lifreq, 0, sizeof(lifreq)); + lifreq_set_name (&lifreq, ifp->name); - ret = AF_IOCTL (AF_INET6, SIOCGLIFMTU, (caddr_t) & lifreq); - if (ret < 0) + ret = AF_IOCTL (AF_INET6, SIOCGLIFMTU, (caddr_t) & lifreq); + if (ret < 0) { zlog_info ("Can't lookup mtu6 on %s by ioctl(SIOCGIFMTU)", ifp->name); ifp->mtu6 = -1; } - else + else { ifp->mtu6 = lifreq.lifr_metric; changed = 1; } - + } +#endif /* HAVE_IPV6 */ + if (changed) zebra_interface_up_update(ifp); -#endif /* HAVE_IPV6 */ } /* Set up interface's address, netmask (and broadcast? ). -- cgit v1.2.1