summaryrefslogtreecommitdiff
path: root/zebra/ioctl_solaris.c
diff options
context:
space:
mode:
authorDenis Ovsienko <linux@pilot.org.ua>2007-08-21 16:12:40 +0000
committerDenis Ovsienko <linux@pilot.org.ua>2007-08-21 16:12:40 +0000
commita13663ae74e806c3cd3d01b28b39193e550a907f (patch)
tree15a9bde3e75ec593baa7a18dab93815463a2c465 /zebra/ioctl_solaris.c
parent6da598018c6f866694ecb80a391815a40daaa951 (diff)
Fixed ioctl_solaris.c:if_get_mtu() for IPv6'less operation
Diffstat (limited to 'zebra/ioctl_solaris.c')
-rw-r--r--zebra/ioctl_solaris.c24
1 files changed, 10 insertions, 14 deletions
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? ).