summaryrefslogtreecommitdiff
path: root/zebra/interface.c
diff options
context:
space:
mode:
authorpaul <paul>2004-05-09 11:00:23 +0000
committerpaul <paul>2004-05-09 11:00:23 +0000
commit44145db3ae79d54da58c967d96cf059421dbf9eb (patch)
treeac57bd081e8f93317676875aa73eaf2e7a45aa49 /zebra/interface.c
parentb9df2d25fc8d06ca63fa792d162d97656361338b (diff)
2004-05-09 Paul Jakma <paul@dishone.st>
* 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
Diffstat (limited to 'zebra/interface.c')
-rw-r--r--zebra/interface.c19
1 files changed, 18 insertions, 1 deletions
diff --git a/zebra/interface.c b/zebra/interface.c
index 84bac4a0..748bf00d 100644
--- a/zebra/interface.c
+++ b/zebra/interface.c
@@ -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. */