]> git.puffer.fish Git - mirror/frr.git/commitdiff
Fixed ioctl_solaris.c:if_get_mtu() for IPv6'less operation
authorDenis Ovsienko <linux@pilot.org.ua>
Tue, 21 Aug 2007 16:12:40 +0000 (16:12 +0000)
committerDenis Ovsienko <linux@pilot.org.ua>
Tue, 21 Aug 2007 16:12:40 +0000 (16:12 +0000)
zebra/ChangeLog
zebra/ioctl_solaris.c

index 02eede81ab2cbbe4256f27355ca21efe6aedc801..abe8199bfd034c5ee9659c0f9efa561b6b94041a 100644 (file)
@@ -1,3 +1,9 @@
+2007-08-21 Denis Ovsienko
+
+       * ioctl_solaris.c: (if_get_mtu) Don't break things if either
+         IPv6 was disabled at compile time or the current interface
+         hasn't it enabled.
+
 2007-08-17 Denis Ovsienko
 
        * kernel_socket.c: (rtm_read) Ignore any routing socket messages
index 6e25d8766eaec4832d919e1d51016105197f8218..6c1c254a70fcd5b4b5181404048e71fed2a436c1 100644 (file)
@@ -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? ).