From ca8d476f298304a0c9ba91cac3f1f8ac72a391b0 Mon Sep 17 00:00:00 2001 From: itojun Date: Sat, 3 Aug 2002 12:27:18 +0000 Subject: pull critical patches in from zebra cvs repo (i have been asking for release of 0.93b, however, it's not happening yet) - bgpd: bug in capability negotiation - ospf6d: synchronize with zebra deamon correctly --- net/zebra/Makefile | 3 ++- net/zebra/distinfo | 15 +++++++++++++- net/zebra/patches/patch-ba | 11 +++++++++++ net/zebra/patches/patch-bb | 13 ++++++++++++ net/zebra/patches/patch-bc | 12 ++++++++++++ net/zebra/patches/patch-bd | 49 ++++++++++++++++++++++++++++++++++++++++++++++ net/zebra/patches/patch-ca | 22 +++++++++++++++++++++ net/zebra/patches/patch-cc | 30 ++++++++++++++++++++++++++++ net/zebra/patches/patch-cd | 16 +++++++++++++++ net/zebra/patches/patch-ce | 10 ++++++++++ net/zebra/patches/patch-cf | 25 +++++++++++++++++++++++ net/zebra/patches/patch-cg | 23 ++++++++++++++++++++++ net/zebra/patches/patch-ch | 37 ++++++++++++++++++++++++++++++++++ net/zebra/patches/patch-ci | 33 +++++++++++++++++++++++++++++++ net/zebra/patches/patch-cj | 10 ++++++++++ 15 files changed, 307 insertions(+), 2 deletions(-) create mode 100644 net/zebra/patches/patch-ba create mode 100644 net/zebra/patches/patch-bb create mode 100644 net/zebra/patches/patch-bc create mode 100644 net/zebra/patches/patch-bd create mode 100644 net/zebra/patches/patch-ca create mode 100644 net/zebra/patches/patch-cc create mode 100644 net/zebra/patches/patch-cd create mode 100644 net/zebra/patches/patch-ce create mode 100644 net/zebra/patches/patch-cf create mode 100644 net/zebra/patches/patch-cg create mode 100644 net/zebra/patches/patch-ch create mode 100644 net/zebra/patches/patch-ci create mode 100644 net/zebra/patches/patch-cj (limited to 'net') diff --git a/net/zebra/Makefile b/net/zebra/Makefile index f140469c558..ea32ac32924 100644 --- a/net/zebra/Makefile +++ b/net/zebra/Makefile @@ -1,8 +1,9 @@ -# $NetBSD: Makefile,v 1.51 2002/07/09 23:48:17 itojun Exp $ +# $NetBSD: Makefile,v 1.52 2002/08/03 12:27:18 itojun Exp $ # Based on KAME Id: Makefile,v 1.1.2.1.2.1.10.2 1999/01/05 11:03:50 itojun Exp # DISTNAME= zebra-0.93a +PKGREVISION= 1 CATEGORIES= net MASTER_SITES= ftp://ftp.zebra.org/pub/zebra/ DISTFILES= ${DISTNAME}${EXTRACT_SUFX} diff --git a/net/zebra/distinfo b/net/zebra/distinfo index 10e433fee55..bd1e467b64d 100644 --- a/net/zebra/distinfo +++ b/net/zebra/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.7 2002/07/09 23:48:17 itojun Exp $ +$NetBSD: distinfo,v 1.8 2002/08/03 12:27:19 itojun Exp $ SHA1 (zebra-0.93a.tar.gz) = aa9d307a53adcd6e9b76003f230c4cd79eefba6b Size (zebra-0.93a.tar.gz) = 1335141 bytes @@ -9,3 +9,16 @@ SHA1 (patch-ad) = fb20a6b64a9e07dd94bd62b01e4b2f17a437d840 SHA1 (patch-ae) = bad18eda9b4ffd4cc22666b26573858e7de84a7d SHA1 (patch-af) = d045b85bfc8f8d5f6894e2333b0a799661997f90 SHA1 (patch-ag) = 62b5e4f28c1d13cb1f9c772250529aefe0511f90 +SHA1 (patch-ba) = 77aa37644c355af17f8f5f446c8bbc3b00c434d1 +SHA1 (patch-bb) = 31fe77cfe767becd067d5fa68ae27c66d8fb0c48 +SHA1 (patch-bc) = 7c98d7a810fdb2a95ad64735fac23eac071287d4 +SHA1 (patch-bd) = 2ce066ee0398b84c7a32754a100cdd807d13b457 +SHA1 (patch-ca) = 01f8992150efee456c87beba885a9c3bd75efa39 +SHA1 (patch-cc) = 3b9293d8adda8bd8742a5c518410f8c535ae0086 +SHA1 (patch-cd) = ca436711d23564f0aa1580c16abd6e72e85f4232 +SHA1 (patch-ce) = 03e3ba47ed6a37114294740bad0e678d66e5f842 +SHA1 (patch-cf) = 32be0cc835e003a167ccd92677d9dd74d9012516 +SHA1 (patch-cg) = 4844502b4a52e87aea56b09342ec51a7f269b623 +SHA1 (patch-ch) = 2db3581898631bee6f81e5b736226d5c859670ef +SHA1 (patch-ci) = dfd651863ca4d80b6f280ed338458adeca3796ce +SHA1 (patch-cj) = 6ec1fba77f03ef649206a7c22494a56764e39950 diff --git a/net/zebra/patches/patch-ba b/net/zebra/patches/patch-ba new file mode 100644 index 00000000000..e9823bdfd1f --- /dev/null +++ b/net/zebra/patches/patch-ba @@ -0,0 +1,11 @@ +$NetBSD: patch-ba,v 1.1 2002/08/03 12:27:20 itojun Exp $ + +diff -u1 bgpd/bgp_fsm.c /home/itojun/work/zebra/zebra/bgpd/bgp_fsm.c +--- bgpd/bgp_fsm.c Wed Jun 19 17:05:38 2002 ++++ /home/itojun/work/zebra/zebra/bgpd/bgp_fsm.c Sat Aug 3 21:05:48 2002 +@@ -348,2 +348,5 @@ + ++ /* Send capability. */ ++ SET_FLAG (peer->sflags, PEER_STATUS_CAPABILITY_OPEN); ++ + /* Delete all existing events of the peer. */ diff --git a/net/zebra/patches/patch-bb b/net/zebra/patches/patch-bb new file mode 100644 index 00000000000..de051834b0e --- /dev/null +++ b/net/zebra/patches/patch-bb @@ -0,0 +1,13 @@ +$NetBSD: patch-bb,v 1.1 2002/08/03 12:27:20 itojun Exp $ + +diff -u1 bgpd/bgp_open.c /home/itojun/work/zebra/zebra/bgpd/bgp_open.c +--- bgpd/bgp_open.c Wed Jun 19 17:05:38 2002 ++++ /home/itojun/work/zebra/zebra/bgpd/bgp_open.c Sat Aug 3 21:05:48 2002 +@@ -670,7 +670,2 @@ + +- /* Do not send capability. */ +- if (! CHECK_FLAG (peer->sflags, PEER_STATUS_CAPABILITY_OPEN) +- || CHECK_FLAG (peer->flags, PEER_FLAG_DONT_CAPABILITY)) +- return; +- + /* When the peer is IPv4 unicast only, do not send capability. */ diff --git a/net/zebra/patches/patch-bc b/net/zebra/patches/patch-bc new file mode 100644 index 00000000000..1764f3f8e38 --- /dev/null +++ b/net/zebra/patches/patch-bc @@ -0,0 +1,12 @@ +$NetBSD: patch-bc,v 1.1 2002/08/03 12:27:21 itojun Exp $ + +diff -u1 bgpd/bgp_packet.c /home/itojun/work/zebra/zebra/bgpd/bgp_packet.c +--- bgpd/bgp_packet.c Sat Jun 29 15:20:39 2002 ++++ /home/itojun/work/zebra/zebra/bgpd/bgp_packet.c Sat Aug 3 21:05:49 2002 +@@ -758,3 +758,5 @@ + /* Set capability code. */ +- bgp_open_capability (s, peer); ++ if (CHECK_FLAG (peer->sflags, PEER_STATUS_CAPABILITY_OPEN) && ++ ! CHECK_FLAG (peer->flags, PEER_FLAG_DONT_CAPABILITY)) ++ bgp_open_capability (s, peer); + diff --git a/net/zebra/patches/patch-bd b/net/zebra/patches/patch-bd new file mode 100644 index 00000000000..82b52034c39 --- /dev/null +++ b/net/zebra/patches/patch-bd @@ -0,0 +1,49 @@ +$NetBSD: patch-bd,v 1.1 2002/08/03 12:27:21 itojun Exp $ + +diff -u1 bgpd/bgp_vty.c /home/itojun/work/zebra/zebra/bgpd/bgp_vty.c +--- bgpd/bgp_vty.c Mon Jul 8 22:31:01 2002 ++++ /home/itojun/work/zebra/zebra/bgpd/bgp_vty.c Sat Aug 3 21:05:54 2002 +@@ -98,8 +98,2 @@ + +- if (peer_address_self_check (&su)) +- { +- vty_out (vty, "%% Cannot configure the local system as neighbor%s", VTY_NEWLINE); +- return NULL; +- } +- + peer = peer_lookup (bgp, &su); +@@ -128,8 +122,2 @@ + { +- if (peer_address_self_check (&su)) +- { +- vty_out (vty, "%% Cannot configure the local system as neighbor%s", VTY_NEWLINE); +- return NULL; +- } +- + peer = peer_lookup (bgp, &su); +@@ -1123,3 +1111,4 @@ + { +- vty_out (vty, "%% Cannot configure the local system as neighbor%s", VTY_NEWLINE); ++ vty_out (vty, "%% Can not configure the local system as neighbor%s", ++ VTY_NEWLINE); + return CMD_WARNING; +@@ -1200,9 +1189,2 @@ + { +- if (peer_address_self_check (&su)) +- { +- vty_out (vty, "%% Cannot configure the local system as neighbor%s", +- VTY_NEWLINE); +- return CMD_WARNING; +- } +- + peer = peer_lookup (vty->index, &su); +@@ -1410,2 +1392,9 @@ + vty_out (vty, "%% Configure the peer-group first%s", VTY_NEWLINE); ++ return CMD_WARNING; ++ } ++ ++ if (peer_address_self_check (&su)) ++ { ++ vty_out (vty, "%% Can not configure the local system as neighbor%s", ++ VTY_NEWLINE); + return CMD_WARNING; diff --git a/net/zebra/patches/patch-ca b/net/zebra/patches/patch-ca new file mode 100644 index 00000000000..e48afdbfb0b --- /dev/null +++ b/net/zebra/patches/patch-ca @@ -0,0 +1,22 @@ +$NetBSD: patch-ca,v 1.1 2002/08/03 12:27:22 itojun Exp $ + +diff -u1 ospf6d/ChangeLog /home/itojun/work/zebra/zebra/ospf6d/ChangeLog +--- ospf6d/ChangeLog Mon Jul 8 22:31:02 2002 ++++ /home/itojun/work/zebra/zebra/ospf6d/ChangeLog Sat Aug 3 21:06:01 2002 +@@ -1 +1,16 @@ ++2002-07-14 Yasuhiro Ohara ++ ++ * ospf6_dbex.c: bug that ospf6d fails to refresh self-originated ++ LSA if he have not the LSA before has been fixed. ++ * ospf6_asbr.c: bug of failing removing ASE LSA when remove ++ message arrived from zebra has been fixed. ++ * version: 0.9.6k ++ ++2002-07-13 Yasuhiro Ohara ++ ++ * ospf6_zebra.c: bug reported [zebra 14642] fixed. ++ The bug was related to the synchronization between zebra ++ and ospf6d. Now synchronization will be correctly done. ++ * version: 0.9.6j ++ + 2002-07-07 Yasuhiro Ohara diff --git a/net/zebra/patches/patch-cc b/net/zebra/patches/patch-cc new file mode 100644 index 00000000000..1e46c3d738d --- /dev/null +++ b/net/zebra/patches/patch-cc @@ -0,0 +1,30 @@ +$NetBSD: patch-cc,v 1.1 2002/08/03 12:27:22 itojun Exp $ + +diff -u1 ospf6d/ospf6_area.c /home/itojun/work/zebra/zebra/ospf6d/ospf6_area.c +--- ospf6d/ospf6_area.c Mon Jul 8 22:31:02 2002 ++++ /home/itojun/work/zebra/zebra/ospf6d/ospf6_area.c Sat Aug 3 21:06:04 2002 +@@ -102,24 +102,2 @@ + void +-ospf6_area_intra_topo_add (struct ospf6_route_req *topo_entry) +-{ +- if (topo_entry->route.type == OSPF6_DEST_TYPE_ROUTER) +- { +- if (CHECK_FLAG (topo_entry->path.router_bits, OSPF6_ROUTER_LSA_BIT_B)) +- ospf6_abr_abr_entry_add (topo_entry); +- } +- CALL_ADD_HOOK (&intra_topology_hook, topo_entry); +-} +- +-void +-ospf6_area_intra_topo_remove (struct ospf6_route_req *topo_entry) +-{ +- if (topo_entry->route.type == OSPF6_DEST_TYPE_ROUTER) +- { +- if (CHECK_FLAG (topo_entry->path.router_bits, OSPF6_ROUTER_LSA_BIT_E)) +- ospf6_abr_abr_entry_add (topo_entry); +- } +- CALL_REMOVE_HOOK (&intra_topology_hook, topo_entry); +-} +- +-void + ospf6_area_route_add (void *data) diff --git a/net/zebra/patches/patch-cd b/net/zebra/patches/patch-cd new file mode 100644 index 00000000000..2cbd83dd266 --- /dev/null +++ b/net/zebra/patches/patch-cd @@ -0,0 +1,16 @@ +$NetBSD: patch-cd,v 1.1 2002/08/03 12:27:23 itojun Exp $ + +diff -u1 ospf6d/ospf6_asbr.c /home/itojun/work/zebra/zebra/ospf6d/ospf6_asbr.c +--- ospf6d/ospf6_asbr.c Mon Jul 8 22:31:02 2002 ++++ /home/itojun/work/zebra/zebra/ospf6d/ospf6_asbr.c Sat Aug 3 21:06:04 2002 +@@ -119,3 +119,3 @@ + lsa = ospf6_lsdb_lookup_lsdb (htons (OSPF6_LSA_TYPE_AS_EXTERNAL), +- htonl (route->path.origin.id), ++ route->path.origin.id, + ospf6->router_id, ospf6->lsdb); +@@ -419,2 +419,5 @@ + assert (ospf6); ++ ++ if (IS_OSPF6_DUMP_ASBR) ++ zlog_info ("ASBR: refresh %s", lsa->str); + diff --git a/net/zebra/patches/patch-ce b/net/zebra/patches/patch-ce new file mode 100644 index 00000000000..aba2ad7e868 --- /dev/null +++ b/net/zebra/patches/patch-ce @@ -0,0 +1,10 @@ +$NetBSD: patch-ce,v 1.1 2002/08/03 12:27:23 itojun Exp $ + +diff -u1 ospf6d/ospf6_dbex.c /home/itojun/work/zebra/zebra/ospf6d/ospf6_dbex.c +--- ospf6d/ospf6_dbex.c Mon Jul 8 22:31:02 2002 ++++ /home/itojun/work/zebra/zebra/ospf6d/ospf6_dbex.c Sat Aug 3 21:06:05 2002 +@@ -363,3 +363,3 @@ + if (received->lsa_hdr->lsh_advrtr == ospf6->router_id +- && have && ismore_recent < 0) ++ && (! have || ismore_recent < 0)) + { diff --git a/net/zebra/patches/patch-cf b/net/zebra/patches/patch-cf new file mode 100644 index 00000000000..527f968d0a2 --- /dev/null +++ b/net/zebra/patches/patch-cf @@ -0,0 +1,25 @@ +$NetBSD: patch-cf,v 1.1 2002/08/03 12:27:24 itojun Exp $ + +diff -u1 ospf6d/ospf6_intra.c /home/itojun/work/zebra/zebra/ospf6d/ospf6_intra.c +--- ospf6d/ospf6_intra.c Mon Jul 8 22:31:02 2002 ++++ /home/itojun/work/zebra/zebra/ospf6d/ospf6_intra.c Sat Jul 13 01:03:44 2002 +@@ -39,2 +39,12 @@ + ++ if (IS_OSPF6_DUMP_INTRA) ++ { ++ char buf[64]; ++ struct prefix_ls *p_ls; ++ p_ls = (struct prefix_ls *) &topo_entry->route.prefix; ++ inet_ntop (AF_INET, &p_ls->adv_router, buf, sizeof (buf)); ++ zlog_info ("INTRA: Calculate [%s] %s and %s", ++ (type == ADD ? "add" : "remove"), lsa->str, buf); ++ } ++ + intra_prefix = OSPF6_LSA_HEADER_END (lsa->header); +@@ -200,6 +210,2 @@ + { +- if (IS_OSPF6_DUMP_INTRA) +- zlog_info ("INTRA: topology hook: Examining %s (%p)", +- node.lsa->str, node.lsa); +- + if (IS_LSA_MAXAGE (node.lsa)) diff --git a/net/zebra/patches/patch-cg b/net/zebra/patches/patch-cg new file mode 100644 index 00000000000..ad81f22de6c --- /dev/null +++ b/net/zebra/patches/patch-cg @@ -0,0 +1,23 @@ +$NetBSD: patch-cg,v 1.1 2002/08/03 12:27:24 itojun Exp $ + +diff -u1 ospf6d/ospf6_lsa.c /home/itojun/work/zebra/zebra/ospf6d/ospf6_lsa.c +--- ospf6d/ospf6_lsa.c Mon Jul 8 22:31:02 2002 ++++ /home/itojun/work/zebra/zebra/ospf6d/ospf6_lsa.c Sat Aug 3 21:06:08 2002 +@@ -777,2 +777,3 @@ + struct ospf6_lsdb *lsdb = NULL; ++ void (*hook) (struct ospf6_lsa *, struct ospf6_lsa *); + +@@ -806,8 +807,7 @@ + +-#if 0 +- if (lsdb->hook) +- (*lsdb->hook) (lsa, NULL); +-#else /*0*/ +- CALL_REMOVE_HOOK (&database_hook, lsa); +-#endif /*0*/ ++ /* call LSDB hook to re-process LSA */ ++ hook = ospf6_lsdb_hook[ntohs (lsa->header->type) & ++ OSPF6_LSTYPE_CODE_MASK].hook; ++ if (hook) ++ (*hook) (NULL, lsa); + diff --git a/net/zebra/patches/patch-ch b/net/zebra/patches/patch-ch new file mode 100644 index 00000000000..7e28a0d244f --- /dev/null +++ b/net/zebra/patches/patch-ch @@ -0,0 +1,37 @@ +$NetBSD: patch-ch,v 1.1 2002/08/03 12:27:25 itojun Exp $ + +diff -u1 ospf6d/ospf6_route.c /home/itojun/work/zebra/zebra/ospf6d/ospf6_route.c +--- ospf6d/ospf6_route.c Sun Jul 7 17:12:48 2002 ++++ /home/itojun/work/zebra/zebra/ospf6d/ospf6_route.c Sat Aug 3 21:06:12 2002 +@@ -1015,2 +1015,6 @@ + ++ u_int route_count = 0; ++ u_int path_count = 0; ++ u_int route_redundant = 0; ++ + memset (&prefix, 0, sizeof (struct prefix)); +@@ -1103,3 +1107,5 @@ + { +- if (! node->info) ++ struct ospf6_route_node *route = node->info; ++ ++ if (! route) + continue; +@@ -1107,6 +1113,15 @@ + if (detail) +- ospf6_route_show_detail (vty, node->info); ++ ospf6_route_show_detail (vty, route); + else +- ospf6_route_show (vty, node->info); ++ ospf6_route_show (vty, route); ++ ++ route_count++; ++ path_count += route->path_list->count; ++ if (route->path_list->count > 1) ++ route_redundant++; + } ++ ++ vty_out (vty, "===========%s", VTY_NEWLINE); ++ vty_out (vty, "Route: %d Path: %d Redundant: %d%s", ++ route_count, path_count, route_redundant, VTY_NEWLINE); + diff --git a/net/zebra/patches/patch-ci b/net/zebra/patches/patch-ci new file mode 100644 index 00000000000..231de44a424 --- /dev/null +++ b/net/zebra/patches/patch-ci @@ -0,0 +1,33 @@ +$NetBSD: patch-ci,v 1.1 2002/08/03 12:27:25 itojun Exp $ + +diff -u1 ospf6d/ospf6_zebra.c /home/itojun/work/zebra/zebra/ospf6d/ospf6_zebra.c +--- ospf6d/ospf6_zebra.c Sun Jul 7 17:12:48 2002 ++++ /home/itojun/work/zebra/zebra/ospf6d/ospf6_zebra.c Sat Aug 3 21:06:15 2002 +@@ -435,6 +435,9 @@ + +- if (type == REMOVE && nexthop_list->count == 0) ++ if (type == REMOVE && nexthop_list->count != 0) ++ type = ADD; ++ else if (type == REMOVE && nexthop_list->count == 0) + { +- if (! ospf6_route_end (&route)) +- ospf6_route_next (&route); ++ if (IS_OSPF6_DUMP_ZEBRA) ++ zlog_info ("ZEBRA: all nexthop with the selected path has gone"); ++ + if (! memcmp (&request->route, &route.route, +@@ -446,3 +449,3 @@ + if (IS_OSPF6_DUMP_ZEBRA) +- zlog_info ("ZEBRA: find alternative path to add"); ++ zlog_info ("ZEBRA: found alternative path to add"); + +@@ -478,2 +481,9 @@ + zlog_info ("ZEBRA: can't find alternative path, remove"); ++ ++ if (IS_OSPF6_DUMP_ZEBRA) ++ { ++ zlog_info ("ZEBRA: Debug: walk over the route ?"); ++ ospf6_route_log_request ("Debug route", "***", &route); ++ ospf6_route_log_request ("Debug request", "***", request); ++ } + diff --git a/net/zebra/patches/patch-cj b/net/zebra/patches/patch-cj new file mode 100644 index 00000000000..d14eb860167 --- /dev/null +++ b/net/zebra/patches/patch-cj @@ -0,0 +1,10 @@ +$NetBSD: patch-cj,v 1.1 2002/08/03 12:27:26 itojun Exp $ + +diff -u1 ospf6d/ospf6d.h /home/itojun/work/zebra/zebra/ospf6d/ospf6d.h +--- ospf6d/ospf6d.h Mon Jul 8 22:31:04 2002 ++++ /home/itojun/work/zebra/zebra/ospf6d/ospf6d.h Sat Aug 3 21:06:15 2002 +@@ -76,3 +76,3 @@ + +-#define OSPF6_DAEMON_VERSION "0.9.6i" ++#define OSPF6_DAEMON_VERSION "0.9.6k" + -- cgit v1.2.3