]> git.puffer.fish Git - matthieu/frr.git/commitdiff
2004-05-09 Paul Jakma <paul@dishone.st>
authorpaul <paul>
Sun, 9 May 2004 11:00:23 +0000 (11:00 +0000)
committerpaul <paul>
Sun, 9 May 2004 11:00:23 +0000 (11:00 +0000)
* ioctl.c: (if_get_mtu) set mtu6 to mtu
* mtu_kvm.c: (if_kvm_get_mtu) set mtu6 to mtu
* rt_netlink.c: (netlink_interface) set mtu6 to mtu
  (netlink_link_change) ditto

2004-05-09 Sowmini Varadhan <sowmini.varadhan@sun.com>

* interface.c: (if_delete_update) only used with HAVE_NETLINK
  and RTM_IFANNOUNCE.
  (if_flag_dump_vty) Solaris IFF_IPV4 and IFF_IPV6 if flags
  (if_dump_vty) print mtu6 if not same as mtu

zebra/ChangeLog
zebra/interface.c
zebra/ioctl.c
zebra/mtu_kvm.c
zebra/rt_netlink.c

index a543da8ec35cfbea2b1f81cd5c6abc17424e3988..9ac66dcc1e6b52397e7eff47878c9705fec6bbc1 100644 (file)
@@ -7,6 +7,10 @@
          (zsend_ipv4_delete) ditto.
          (zsend_ipv6_add) ditto.
          (zsend_ipv6_delete) ditto.
+       * ioctl.c: (if_get_mtu) set mtu6 to mtu
+       * mtu_kvm.c: (if_kvm_get_mtu) set mtu6 to mtu
+       * rt_netlink.c: (netlink_interface) set mtu6 to mtu
+         (netlink_link_change) ditto 
          
 2004-05-09 Sowmini Varadhan <sowmini.varadhan@sun.com>
 
          (various) Apply static qualifier. Add comments.
        * zserv.h: Definitions changed as per above.
        * redistribute.c: Changes as per zserv.c.
+       * interface.c: (if_delete_update) only used with HAVE_NETLINK
+         and RTM_IFANNOUNCE.
+         (if_flag_dump_vty) Solaris IFF_IPV4 and IFF_IPV6 if flags
+         (if_dump_vty) print mtu6 if not same as mtu     
          
 2004-04-06  Krzysztof Oledzki <oleq@ans.pl>
 
index 84bac4a00bafeaa521b01a69a2db9343cd0efc14..748bf00d6a9fe88de049193231c48e5896120912 100644 (file)
@@ -209,7 +209,14 @@ if_add_update (struct interface *ifp)
     }
 }
 
-/* Handle an interface delete event */
+
+/* Handle an interface delete event
+ * 
+ * This function is only called  when support for
+ * RTM_IFANNOUNCE or AF_NETLINK sockets (RTM_DELLINK message)
+ * is available. It is not called on, eg, Solaris.
+ */
+#if (defined(RTM_IFANNOUNCE) || defined(HAVE_NETLINK))
 void 
 if_delete_update (struct interface *ifp)
 {
@@ -261,6 +268,7 @@ if_delete_update (struct interface *ifp)
     }
   zebra_interface_delete_update (ifp);
 }
+#endif /* (defined(RTM_IFANNOUNCE) || defined(HAVE_NETLINK) */
 
 /* Interface is up. */
 void
@@ -381,6 +389,10 @@ if_flag_dump_vty (struct vty *vty, unsigned long flag)
   IFF_OUT_VTY (IFF_LINK1, "LINK1");
   IFF_OUT_VTY (IFF_LINK2, "LINK2");
   IFF_OUT_VTY (IFF_MULTICAST, "MULTICAST");
+#ifdef SOLARIS_IPV6
+  IFF_OUT_VTY (IFF_IPV4, "IFF_IPv4");
+  IFF_OUT_VTY (IFF_IPV6, "IFF_IPv6");
+#endif /* SOLARIS_IPV6 */
   vty_out (vty, ">");
 }
 
@@ -514,6 +526,11 @@ if_dump_vty (struct vty *vty, struct interface *ifp)
   vty_out (vty, "  index %d metric %d mtu %d ",
           ifp->ifindex, ifp->metric, ifp->mtu);
   if_flag_dump_vty (vty, ifp->flags);
+#ifdef HAVE_IPV6
+  if (ifp->mtu6 != ifp->mtu)
+    vty_out (vty, "mtu6 %d ", ifp->mtu6);
+#endif 
+
   vty_out (vty, "%s", VTY_NEWLINE);
 
   /* Hardware address. */
index ff253be1914875d3fc77ff90c653030480e7859c..eca0e76937cf463471f000481149c48ef4efc326 100644 (file)
@@ -148,19 +148,19 @@ if_get_mtu (struct interface *ifp)
   if (if_ioctl (SIOCGIFMTU, (caddr_t) & ifreq) < 0) 
     {
       zlog_info ("Can't lookup mtu by ioctl(SIOCGIFMTU)");
-      ifp->mtu = -1;
+      ifp->mtu6 = ifp->mtu = -1;
       return;
     }
 
 #ifdef SUNOS_5
-  ifp->mtu = ifreq.ifr_metric;
+  ifp->mtu6 = ifp->mtu = ifreq.ifr_metric;
 #else
-  ifp->mtu = ifreq.ifr_mtu;
+  ifp->mtu6 = ifp->mtu = ifreq.ifr_mtu;
 #endif /* SUNOS_5 */
 
 #else
   zlog (NULL, LOG_INFO, "Can't lookup mtu on this system");
-  ifp->mtu = -1;
+  ifp->mtu6 = ifp->mtu = -1;
 #endif
 }
 
index 3731dab67ac0cfcf101b908a281d031c77c057a5..d37bb9bb7ed398db24bc8df75b395d184244b0b5 100644 (file)
@@ -46,7 +46,7 @@ if_kvm_get_mtu (struct interface *ifp)
     {""}
   };
 
-  ifp->mtu = -1;
+  ifp->mtu6 = ifp->mtu = -1;
   
   kvmd = kvm_openfiles (NULL, NULL, NULL, O_RDONLY, buf);
 
@@ -93,5 +93,5 @@ if_kvm_get_mtu (struct interface *ifp)
       return ;
     }
 
-  ifp->mtu = ifnet.if_mtu;
+  ifp->mtu6 = ifp->mtu = ifnet.if_mtu;
 }
index fed8829be03f5ee3b15802026adbdb3e46964cdb..26369dd85f68c653fefab7c034c024ffb8972d34 100644 (file)
@@ -447,7 +447,7 @@ netlink_interface (struct sockaddr_nl *snl, struct nlmsghdr *h)
 
   ifp->ifindex = ifi->ifi_index;
   ifp->flags = ifi->ifi_flags & 0x0000fffff;
-  ifp->mtu = *(int *) RTA_DATA (tb[IFLA_MTU]);
+  ifp->mtu6 = ifp->mtu = *(int *) RTA_DATA (tb[IFLA_MTU]);
   ifp->metric = 1;
 
   /* Hardware type and address. */
@@ -910,7 +910,7 @@ netlink_link_change (struct sockaddr_nl *snl, struct nlmsghdr *h)
 
           ifp->ifindex = ifi->ifi_index;
           ifp->flags = ifi->ifi_flags & 0x0000fffff;
-          ifp->mtu = *(int *) RTA_DATA (tb[IFLA_MTU]);
+          ifp->mtu6 = ifp->mtu = *(int *) RTA_DATA (tb[IFLA_MTU]);
           ifp->metric = 1;
 
           /* If new link is added. */
@@ -920,7 +920,7 @@ netlink_link_change (struct sockaddr_nl *snl, struct nlmsghdr *h)
         {
           /* Interface status change. */
           ifp->ifindex = ifi->ifi_index;
-          ifp->mtu = *(int *) RTA_DATA (tb[IFLA_MTU]);
+          ifp->mtu6 = ifp->mtu = *(int *) RTA_DATA (tb[IFLA_MTU]);
           ifp->metric = 1;
 
           if (if_is_operative (ifp))