-Index: quagga-0.99.21/zebra/connected.c
-===================================================================
---- quagga-0.99.21.orig/zebra/connected.c
-+++ quagga-0.99.21/zebra/connected.c
+--- a/zebra/connected.c
++++ b/zebra/connected.c
@@ -191,6 +191,9 @@ connected_up_ipv4 (struct interface *ifp
rib_add_ipv4 (ZEBRA_ROUTE_CONNECT, 0, &p, NULL, NULL, ifp->ifindex,
RT_TABLE_MAIN, ifp->metric, 0, SAFI_UNICAST);
-Index: quagga-0.99.21/zebra/main.c
-===================================================================
---- quagga-0.99.21.orig/zebra/main.c
-+++ quagga-0.99.21/zebra/main.c
+--- a/zebra/main.c
++++ b/zebra/main.c
@@ -327,7 +327,9 @@ main (int argc, char **argv)
zebra_vty_init ();
access_list_init ();
#ifdef HAVE_IRDP
irdp_init();
#endif
-Index: quagga-0.99.21/zebra/rtadv.h
-===================================================================
---- quagga-0.99.21.orig/zebra/rtadv.h
-+++ quagga-0.99.21/zebra/rtadv.h
+--- a/zebra/rtadv.h
++++ b/zebra/rtadv.h
@@ -26,6 +26,9 @@
#include "vty.h"
#include "zebra/interface.h"
+#endif /* RTADV */
+
#endif /* _ZEBRA_RTADV_H */
-Index: quagga-0.99.21/zebra/zebra_vty.c
-===================================================================
---- quagga-0.99.21.orig/zebra/zebra_vty.c
-+++ quagga-0.99.21/zebra/zebra_vty.c
+--- a/zebra/zebra_vty.c
++++ b/zebra/zebra_vty.c
@@ -1197,6 +1197,40 @@ DEFUN (show_ip_protocol,
return CMD_SUCCESS;
}
-Index: quagga-0.99.21/lib/command.c
-===================================================================
---- quagga-0.99.21.orig/lib/command.c
-+++ quagga-0.99.21/lib/command.c
+--- a/lib/command.c
++++ b/lib/command.c
@@ -868,86 +868,7 @@ cmd_ipv6_match (const char *str)
if (ret == 1)
return exact_match;
-Index: quagga-0.99.21/lib/thread.c
-===================================================================
---- quagga-0.99.21.orig/lib/thread.c
-+++ quagga-0.99.21/lib/thread.c
+--- a/lib/thread.c
++++ b/lib/thread.c
@@ -916,6 +916,24 @@ thread_cancel_event (struct thread_maste
thread_add_unuse (m, t);
}
-Index: quagga-0.99.21/bgpd/bgp_route.c
-===================================================================
---- quagga-0.99.21.orig/bgpd/bgp_route.c
-+++ quagga-0.99.21/bgpd/bgp_route.c
+--- a/bgpd/bgp_route.c
++++ b/bgpd/bgp_route.c
@@ -2616,7 +2616,7 @@ bgp_announce_route_all (struct peer *pee
\f
static void
-Index: quagga-0.99.21/bgpd/bgp_route.c
-===================================================================
---- quagga-0.99.21.orig/bgpd/bgp_route.c
-+++ quagga-0.99.21/bgpd/bgp_route.c
+--- a/bgpd/bgp_route.c
++++ b/bgpd/bgp_route.c
@@ -2485,12 +2485,8 @@ bgp_default_originate (struct peer *peer
#ifdef HAVE_IPV6
else if (afi == AFI_IP6)
-Index: quagga-0.99.21/isisd/isis_lsp.c
-===================================================================
---- quagga-0.99.21.orig/isisd/isis_lsp.c
-+++ quagga-0.99.21/isisd/isis_lsp.c
+--- a/isisd/isis_lsp.c
++++ b/isisd/isis_lsp.c
@@ -2413,7 +2413,7 @@ top_lsp_refresh (struct thread *thread)
isis_dynhn_insert (lsp->lsp_header->lsp_id, lsp->tlv_data.hostname,
IS_LEVEL_1);
{
time_t uptime;
struct tm *tm;
-@@ -1536,7 +1542,10 @@ vty_show_ipv6_route_detail (struct vty *
+@@ -1570,7 +1576,10 @@ vty_show_ipv6_route_detail (struct vty *
|| rib->type == ZEBRA_ROUTE_OSPF6
|| rib->type == ZEBRA_ROUTE_BABEL
|| rib->type == ZEBRA_ROUTE_ISIS
{
time_t uptime;
struct tm *tm;
-@@ -1716,7 +1725,10 @@ vty_show_ipv6_route (struct vty *vty, st
+@@ -1750,7 +1759,10 @@ vty_show_ipv6_route (struct vty *vty, st
|| rib->type == ZEBRA_ROUTE_OSPF6
|| rib->type == ZEBRA_ROUTE_BABEL
|| rib->type == ZEBRA_ROUTE_ISIS
--- a/lib/command.c
+++ b/lib/command.c
-@@ -2601,6 +2601,13 @@ DEFUN (config_write_file,
+@@ -2522,6 +2522,13 @@ DEFUN (config_write_file,
VTY_NEWLINE);
goto finished;
}
if (link (config_file, config_file_sav) != 0)
{
vty_out (vty, "Can't backup old configuration file %s.%s", config_file_sav,
-@@ -2614,7 +2621,23 @@ DEFUN (config_write_file,
+@@ -2535,7 +2542,23 @@ DEFUN (config_write_file,
VTY_NEWLINE);
goto finished;
}
/* Register new BGP information. */
bgp_info_add (rn, new);
-@@ -5559,6 +5581,20 @@ enum bgp_display_type
+@@ -5575,6 +5597,20 @@ enum bgp_display_type
static void
route_vty_short_status_out (struct vty *vty, struct bgp_info *binfo)
{
/* Route status display. */
if (CHECK_FLAG (binfo->flags, BGP_INFO_REMOVED))
vty_out (vty, "R");
-@@ -6064,6 +6100,7 @@ route_vty_out_detail (struct vty *vty, s
+@@ -6080,6 +6116,7 @@ route_vty_out_detail (struct vty *vty, s
}
\f
#define BGP_SHOW_SCODE_HEADER "Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,%s r RIB-failure, S Stale, R Removed%s"
#define BGP_SHOW_OCODE_HEADER "Origin codes: i - IGP, e - EGP, ? - incomplete%s%s"
#define BGP_SHOW_HEADER " Network Next Hop Metric LocPrf Weight Path%s"
#define BGP_SHOW_DAMP_HEADER " Network From Reuse Path%s"
-@@ -6095,7 +6132,8 @@ enum bgp_show_type
+@@ -6111,7 +6148,8 @@ enum bgp_show_type
bgp_show_type_flap_route_map,
bgp_show_type_flap_neighbor,
bgp_show_type_dampend_paths,
};
static int
-@@ -6262,11 +6300,17 @@ bgp_show_table (struct vty *vty, struct
+@@ -6278,11 +6316,17 @@ bgp_show_table (struct vty *vty, struct
|| CHECK_FLAG (ri->flags, BGP_INFO_HISTORY))
continue;
}
vty_out (vty, BGP_SHOW_OCODE_HEADER, VTY_NEWLINE, VTY_NEWLINE);
if (type == bgp_show_type_dampend_paths
|| type == bgp_show_type_damp_neighbor)
-@@ -6344,6 +6388,7 @@ bgp_show (struct vty *vty, struct bgp *b
+@@ -6360,6 +6404,7 @@ bgp_show (struct vty *vty, struct bgp *b
return bgp_show_table (vty, table, &bgp->router_id, type, output_arg);
}
/* Header of detailed BGP route information */
static void
route_vty_out_detail_header (struct vty *vty, struct bgp *bgp,
-@@ -11904,6 +11949,64 @@ DEFUN (bgp_damp_set,
+@@ -11932,6 +11977,64 @@ DEFUN (bgp_damp_set,
half, reuse, suppress, max);
}
ALIAS (bgp_damp_set,
bgp_damp_set2_cmd,
"bgp dampening <1-45>",
-@@ -11953,6 +12056,19 @@ DEFUN (show_ip_bgp_dampened_paths,
+@@ -11981,6 +12084,19 @@ DEFUN (show_ip_bgp_dampened_paths,
NULL);
}
DEFUN (show_ip_bgp_flap_statistics,
show_ip_bgp_flap_statistics_cmd,
"show ip bgp flap-statistics",
-@@ -12479,6 +12595,7 @@ bgp_route_init (void)
+@@ -12507,6 +12623,7 @@ bgp_route_init (void)
install_element (VIEW_NODE, &show_ip_bgp_neighbor_received_prefix_filter_cmd);
install_element (VIEW_NODE, &show_ip_bgp_ipv4_neighbor_received_prefix_filter_cmd);
install_element (VIEW_NODE, &show_ip_bgp_dampened_paths_cmd);
install_element (VIEW_NODE, &show_ip_bgp_flap_statistics_cmd);
install_element (VIEW_NODE, &show_ip_bgp_flap_address_cmd);
install_element (VIEW_NODE, &show_ip_bgp_flap_prefix_cmd);
-@@ -12612,6 +12729,7 @@ bgp_route_init (void)
+@@ -12640,6 +12757,7 @@ bgp_route_init (void)
install_element (ENABLE_NODE, &show_ip_bgp_neighbor_received_prefix_filter_cmd);
install_element (ENABLE_NODE, &show_ip_bgp_ipv4_neighbor_received_prefix_filter_cmd);
install_element (ENABLE_NODE, &show_ip_bgp_dampened_paths_cmd);
install_element (ENABLE_NODE, &show_ip_bgp_flap_statistics_cmd);
install_element (ENABLE_NODE, &show_ip_bgp_flap_address_cmd);
install_element (ENABLE_NODE, &show_ip_bgp_flap_prefix_cmd);
-@@ -13002,6 +13120,10 @@ bgp_route_init (void)
+@@ -13030,6 +13148,10 @@ bgp_route_init (void)
install_element (BGP_IPV4_NODE, &bgp_damp_unset_cmd);
install_element (BGP_IPV4_NODE, &bgp_damp_unset2_cmd);
return 0;
--- a/bgpd/bgp_route.c
+++ b/bgpd/bgp_route.c
-@@ -5581,20 +5581,6 @@ enum bgp_display_type
+@@ -5597,20 +5597,6 @@ enum bgp_display_type
static void
route_vty_short_status_out (struct vty *vty, struct bgp_info *binfo)
{
/* Route status display. */
if (CHECK_FLAG (binfo->flags, BGP_INFO_REMOVED))
vty_out (vty, "R");
-@@ -5610,6 +5596,17 @@ route_vty_short_status_out (struct vty *
+@@ -5626,6 +5612,17 @@ route_vty_short_status_out (struct vty *
/* Selected */
if (CHECK_FLAG (binfo->flags, BGP_INFO_HISTORY))
vty_out (vty, "h");
else if (CHECK_FLAG (binfo->flags, BGP_INFO_DAMPED))
vty_out (vty, "d");
else if (CHECK_FLAG (binfo->flags, BGP_INFO_SELECTED))
-@@ -6088,7 +6085,22 @@ route_vty_out_detail (struct vty *vty, s
+@@ -6104,7 +6101,22 @@ route_vty_out_detail (struct vty *vty, s
if (binfo->extra && binfo->extra->damp_info)
bgp_damp_info_vty (vty, binfo);
#ifdef HAVE_CLOCK_MONOTONIC
tbuf = time(NULL) - (bgp_clock() - binfo->uptime);
vty_out (vty, " Last update: %s", ctime(&tbuf));
-@@ -6099,8 +6111,9 @@ route_vty_out_detail (struct vty *vty, s
+@@ -6115,8 +6127,9 @@ route_vty_out_detail (struct vty *vty, s
vty_out (vty, "%s", VTY_NEWLINE);
}
\f
#define BGP_SHOW_OCODE_HEADER "Origin codes: i - IGP, e - EGP, ? - incomplete%s%s"
#define BGP_SHOW_HEADER " Network Next Hop Metric LocPrf Weight Path%s"
#define BGP_SHOW_DAMP_HEADER " Network From Reuse Path%s"
-@@ -6309,8 +6322,7 @@ bgp_show_table (struct vty *vty, struct
+@@ -6325,8 +6338,7 @@ bgp_show_table (struct vty *vty, struct
if (header)
{
vty_out (vty, "BGP table version is 0, local router ID is %s%s", inet_ntoa (*router_id), VTY_NEWLINE);
vty_out (vty, BGP_SHOW_OCODE_HEADER, VTY_NEWLINE, VTY_NEWLINE);
if (type == bgp_show_type_dampend_paths
|| type == bgp_show_type_damp_neighbor)
-@@ -9842,7 +9854,7 @@ show_adj_route (struct vty *vty, struct
+@@ -9858,7 +9870,7 @@ show_adj_route (struct vty *vty, struct
PEER_STATUS_DEFAULT_ORIGINATE))
{
vty_out (vty, "BGP table version is 0, local router ID is %s%s", inet_ntoa (bgp->router_id), VTY_NEWLINE);
vty_out (vty, BGP_SHOW_OCODE_HEADER, VTY_NEWLINE, VTY_NEWLINE);
vty_out (vty, "Originating default network 0.0.0.0%s%s",
-@@ -9859,7 +9871,7 @@ show_adj_route (struct vty *vty, struct
+@@ -9875,7 +9887,7 @@ show_adj_route (struct vty *vty, struct
if (header1)
{
vty_out (vty, "BGP table version is 0, local router ID is %s%s", inet_ntoa (bgp->router_id), VTY_NEWLINE);
vty_out (vty, BGP_SHOW_OCODE_HEADER, VTY_NEWLINE, VTY_NEWLINE);
header1 = 0;
}
-@@ -9883,7 +9895,7 @@ show_adj_route (struct vty *vty, struct
+@@ -9899,7 +9911,7 @@ show_adj_route (struct vty *vty, struct
if (header1)
{
vty_out (vty, "BGP table version is 0, local router ID is %s%s", inet_ntoa (bgp->router_id), VTY_NEWLINE);