summaryrefslogtreecommitdiff
path: root/net/zebra-devel
diff options
context:
space:
mode:
authorMunechika SUMIKAWA <sumikawa@FreeBSD.org>2002-07-29 14:33:28 +0000
committerMunechika SUMIKAWA <sumikawa@FreeBSD.org>2002-07-29 14:33:28 +0000
commit3e55fe5c3f2406ff4db2fce092bf3d2dc3212fd1 (patch)
treeb47e94c58e9c8d17270912efc795b4a7fff25777 /net/zebra-devel
parentCleanup: removes the various optional dependencies, and shows (diff)
Upgrade to 0.93a. It also includes critcal bug fix which OSPFv3 routes
do not install in kernel. No response from: maintainer
Notes
Notes: svn path=/head/; revision=63700
Diffstat (limited to 'net/zebra-devel')
-rw-r--r--net/zebra-devel/Makefile3
-rw-r--r--net/zebra-devel/distinfo2
-rw-r--r--net/zebra-devel/files/patch-ospf6d326
-rw-r--r--net/zebra-devel/files/patch-zebra_Makefile.in16
4 files changed, 334 insertions, 13 deletions
diff --git a/net/zebra-devel/Makefile b/net/zebra-devel/Makefile
index e306c3ab0eba..a05677e780c3 100644
--- a/net/zebra-devel/Makefile
+++ b/net/zebra-devel/Makefile
@@ -6,8 +6,7 @@
#
PORTNAME= zebra
-PORTVERSION= 0.92a
-PORTREVISION= 1
+PORTVERSION= 0.93a
CATEGORIES= net ipv6
MASTER_SITES= ftp://ftp.zebra.org/pub/zebra/ \
ftp://ftp.ripe.net/mirrors/sites/ftp.zebra.org/pub/zebra/ \
diff --git a/net/zebra-devel/distinfo b/net/zebra-devel/distinfo
index b81565a0ff0b..193ff1ed0be0 100644
--- a/net/zebra-devel/distinfo
+++ b/net/zebra-devel/distinfo
@@ -1 +1 @@
-MD5 (zebra-0.92a.tar.gz) = d6725243ec245b77eb24b3ba7c0bf65c
+MD5 (zebra-0.93a.tar.gz) = a0c0d4f4702a724c3c95d1c61c115758
diff --git a/net/zebra-devel/files/patch-ospf6d b/net/zebra-devel/files/patch-ospf6d
new file mode 100644
index 000000000000..e66cf0e4b7ec
--- /dev/null
+++ b/net/zebra-devel/files/patch-ospf6d
@@ -0,0 +1,326 @@
+diff -c zebra-0.93a/ospf6d/ChangeLog zebra/ospf6d/ChangeLog
+*** ospf6d/ChangeLog Mon Jul 8 22:31:02 2002
+--- ospf6d/ChangeLog Fri Jul 19 20:23:52 2002
+***************
+*** 1,3 ****
+--- 1,18 ----
++ 2002-07-14 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
++
++ * 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 <yasu@sfc.wide.ad.jp>
++
++ * 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 <yasu@sfc.wide.ad.jp>
+
+ * ospf6_lsdb.c: bug fixed in ospf6_lsdb_type_router ().
+Only in zebra/ospf6d: Makefile
+diff -c zebra-0.93a/ospf6d/ospf6_area.c zebra/ospf6d/ospf6_area.c
+*** ospf6d/ospf6_area.c Mon Jul 8 22:31:02 2002
+--- ospf6d/ospf6_area.c Sat Jul 13 02:22:41 2002
+***************
+*** 100,127 ****
+
+
+ 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)
+ {
+ struct ospf6_route_req *route = data;
+--- 100,105 ----
+diff -c zebra-0.93a/ospf6d/ospf6_asbr.c zebra/ospf6d/ospf6_asbr.c
+*** ospf6d/ospf6_asbr.c Mon Jul 8 22:31:02 2002
+--- ospf6d/ospf6_asbr.c Fri Jul 19 20:23:52 2002
+***************
+*** 117,123 ****
+ struct ospf6_lsa *lsa;
+
+ lsa = ospf6_lsdb_lookup_lsdb (htons (OSPF6_LSA_TYPE_AS_EXTERNAL),
+! htonl (route->path.origin.id),
+ ospf6->router_id, ospf6->lsdb);
+ if (lsa)
+ ospf6_lsa_premature_aging (lsa);
+--- 117,123 ----
+ struct ospf6_lsa *lsa;
+
+ lsa = ospf6_lsdb_lookup_lsdb (htons (OSPF6_LSA_TYPE_AS_EXTERNAL),
+! route->path.origin.id,
+ ospf6->router_id, ospf6->lsdb);
+ if (lsa)
+ ospf6_lsa_premature_aging (lsa);
+***************
+*** 417,422 ****
+--- 417,425 ----
+ struct ospf6_route_req route, *target;
+
+ assert (ospf6);
++
++ if (IS_OSPF6_DUMP_ASBR)
++ zlog_info ("ASBR: refresh %s", lsa->str);
+
+ target = NULL;
+ for (ospf6_route_head (&route, ospf6->external_table);
+diff -c zebra-0.93a/ospf6d/ospf6_dbex.c zebra/ospf6d/ospf6_dbex.c
+*** ospf6d/ospf6_dbex.c Mon Jul 8 22:31:02 2002
+--- ospf6d/ospf6_dbex.c Fri Jul 19 20:23:52 2002
+***************
+*** 361,367 ****
+ /* (f) */
+ /* Self Originated LSA, section 13.4 */
+ if (received->lsa_hdr->lsh_advrtr == ospf6->router_id
+! && have && ismore_recent < 0)
+ {
+ /* we're going to make new lsa or to flush this LSA. */
+ if (IS_OSPF6_DUMP_DBEX)
+--- 361,367 ----
+ /* (f) */
+ /* Self Originated LSA, section 13.4 */
+ if (received->lsa_hdr->lsh_advrtr == ospf6->router_id
+! && (! have || ismore_recent < 0))
+ {
+ /* we're going to make new lsa or to flush this LSA. */
+ if (IS_OSPF6_DUMP_DBEX)
+diff -c zebra-0.93a/ospf6d/ospf6_intra.c zebra/ospf6d/ospf6_intra.c
+*** ospf6d/ospf6_intra.c Mon Jul 8 22:31:02 2002
+--- ospf6d/ospf6_intra.c Sat Jul 13 02:22:41 2002
+***************
+*** 37,42 ****
+--- 37,52 ----
+ struct ospf6_route_req request;
+ struct ospf6_area *area;
+
++ 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);
+
+ area = lsa->scope;
+***************
+*** 198,207 ****
+ ! ospf6_lsdb_is_end (&node);
+ ospf6_lsdb_next (&node))
+ {
+- if (IS_OSPF6_DUMP_INTRA)
+- zlog_info ("INTRA: topology hook: Examining %s (%p)",
+- node.lsa->str, node.lsa);
+-
+ if (IS_LSA_MAXAGE (node.lsa))
+ continue;
+
+--- 208,213 ----
+diff -c zebra-0.93a/ospf6d/ospf6_lsa.c zebra/ospf6d/ospf6_lsa.c
+*** ospf6d/ospf6_lsa.c Mon Jul 8 22:31:02 2002
+--- ospf6d/ospf6_lsa.c Fri Jul 19 20:23:53 2002
+***************
+*** 775,780 ****
+--- 775,781 ----
+ {
+ struct ospf6_lsa *lsa;
+ struct ospf6_lsdb *lsdb = NULL;
++ void (*hook) (struct ospf6_lsa *, struct ospf6_lsa *);
+
+ lsa = (struct ospf6_lsa *) THREAD_ARG (thread);
+ assert (lsa && lsa->lsa_hdr);
+***************
+*** 804,815 ****
+ else
+ assert (0);
+
+! #if 0
+! if (lsdb->hook)
+! (*lsdb->hook) (lsa, NULL);
+! #else /*0*/
+! CALL_REMOVE_HOOK (&database_hook, lsa);
+! #endif /*0*/
+
+ /* do not free LSA, and do nothing about lslists.
+ wait event (ospf6_lsdb_check_maxage) */
+--- 805,815 ----
+ else
+ assert (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);
+
+ /* do not free LSA, and do nothing about lslists.
+ wait event (ospf6_lsdb_check_maxage) */
+diff -c zebra-0.93a/ospf6d/ospf6_route.c zebra/ospf6d/ospf6_route.c
+*** ospf6d/ospf6_route.c Sun Jul 7 17:12:48 2002
+--- ospf6d/ospf6_route.c Wed Jul 10 18:26:56 2002
+***************
+*** 1013,1018 ****
+--- 1013,1022 ----
+ struct prefix_ls *pl = (struct prefix_ls *) &prefix;
+ struct route_node *node;
+
++ u_int route_count = 0;
++ u_int path_count = 0;
++ u_int route_redundant = 0;
++
+ memset (&prefix, 0, sizeof (struct prefix));
+
+ for (i = 0; i < argc; i++)
+***************
+*** 1101,1114 ****
+
+ for (node = route_top (table->table); node; node = route_next (node))
+ {
+! if (! node->info)
+ continue;
+
+ if (detail)
+! ospf6_route_show_detail (vty, node->info);
+ else
+! ospf6_route_show (vty, node->info);
+ }
+
+ return CMD_SUCCESS;
+ }
+--- 1105,1129 ----
+
+ for (node = route_top (table->table); node; node = route_next (node))
+ {
+! struct ospf6_route_node *route = node->info;
+!
+! if (! route)
+ continue;
+
+ if (detail)
+! ospf6_route_show_detail (vty, route);
+ else
+! 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);
+
+ return CMD_SUCCESS;
+ }
+diff -c zebra-0.93a/ospf6d/ospf6_zebra.c zebra/ospf6d/ospf6_zebra.c
+*** ospf6d/ospf6_zebra.c Sun Jul 7 17:12:48 2002
+--- ospf6d/ospf6_zebra.c Wed Jul 24 15:54:33 2002
+***************
+*** 433,442 ****
+ linklist_add (nexthop, nexthop_list);
+ }
+
+! if (type == REMOVE && nexthop_list->count == 0)
+ {
+! if (! ospf6_route_end (&route))
+! ospf6_route_next (&route);
+ if (! memcmp (&request->route, &route.route,
+ sizeof (struct ospf6_route)))
+ {
+--- 433,445 ----
+ linklist_add (nexthop, nexthop_list);
+ }
+
+! if (type == REMOVE && nexthop_list->count != 0)
+! type = ADD;
+! else if (type == REMOVE && nexthop_list->count == 0)
+ {
+! if (IS_OSPF6_DUMP_ZEBRA)
+! zlog_info ("ZEBRA: all nexthop with the selected path has gone");
+!
+ if (! memcmp (&request->route, &route.route,
+ sizeof (struct ospf6_route)))
+ {
+***************
+*** 444,450 ****
+ struct ospf6_path seconde_path;
+
+ if (IS_OSPF6_DUMP_ZEBRA)
+! zlog_info ("ZEBRA: find alternative path to add");
+
+ linklist_remove (nexthop, nexthop_list);
+ XFREE (MTYPE_OSPF6_OTHER, nexthop);
+--- 447,453 ----
+ struct ospf6_path seconde_path;
+
+ if (IS_OSPF6_DUMP_ZEBRA)
+! zlog_info ("ZEBRA: found alternative path to add");
+
+ linklist_remove (nexthop, nexthop_list);
+ XFREE (MTYPE_OSPF6_OTHER, nexthop);
+***************
+*** 476,481 ****
+--- 479,491 ----
+ requested route */
+ if (IS_OSPF6_DUMP_ZEBRA)
+ 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);
++ }
+
+ nexthop = XCALLOC (MTYPE_OSPF6_OTHER,
+ sizeof (struct ospf6_nexthop));
+Only in zebra/ospf6d: ospf6_zebra.c.orig
+diff -c zebra-0.93a/ospf6d/ospf6d.h zebra/ospf6d/ospf6d.h
+*** ospf6d/ospf6d.h Mon Jul 8 22:31:04 2002
+--- ospf6d/ospf6d.h Fri Jul 19 20:23:53 2002
+***************
+*** 74,80 ****
+ #define HASHVAL 64
+ #define MAXIOVLIST 1024
+
+! #define OSPF6_DAEMON_VERSION "0.9.6i"
+
+ #define AF_LINKSTATE 0xff
+
+--- 74,80 ----
+ #define HASHVAL 64
+ #define MAXIOVLIST 1024
+
+! #define OSPF6_DAEMON_VERSION "0.9.6k"
+
+ #define AF_LINKSTATE 0xff
+
diff --git a/net/zebra-devel/files/patch-zebra_Makefile.in b/net/zebra-devel/files/patch-zebra_Makefile.in
index 47c586510848..c613ec176af0 100644
--- a/net/zebra-devel/files/patch-zebra_Makefile.in
+++ b/net/zebra-devel/files/patch-zebra_Makefile.in
@@ -1,15 +1,11 @@
---- zebra/Makefile.in.orig Thu Jan 11 11:22:36 2001
-+++ zebra/Makefile.in Thu Jan 11 11:23:00 2001
-@@ -331,10 +331,10 @@
+--- zebra/Makefile.in.orig Sat Jun 29 15:26:54 2002
++++ zebra/Makefile.in Wed Jul 24 19:16:06 2002
+@@ -404,7 +404,7 @@
- zebra : $(zebra_OBJECTS) $(otherobj) ../lib/libzebra.a
-- $(CC) -g -o zebra $(zebra_OBJECTS) $(otherobj) ../lib/libzebra.a $(LIBS) $(LIB_IPV6)
-+ $(CC) -o zebra $(zebra_OBJECTS) $(otherobj) ../lib/libzebra.a $(LIBS) $(LIB_IPV6)
-
- client : client_main.o ../lib/libzebra.a
-- $(CC) -g -o client client_main.o ../lib/libzebra.a $(LIBS) $(LIB_IPV6)
-+ $(CC) -o client client_main.o ../lib/libzebra.a $(LIBS) $(LIB_IPV6)
+ #client : client_main.o ../lib/libzebra.a
+-# $(CC) -g -o client client_main.o ../lib/libzebra.a $(LIBS) $(LIB_IPV6)
++# $(CC) -o client client_main.o ../lib/libzebra.a $(LIBS) $(LIB_IPV6)
install-sysconfDATA: $(sysconf_DATA)
@$(NORMAL_INSTALL)