summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNed Ludd <solar@gentoo.org>2003-05-31 19:58:35 +0000
committerNed Ludd <solar@gentoo.org>2003-05-31 19:58:35 +0000
commitb689a2fe168bb67f942724d5515544ba94ca50fa (patch)
treef799504e7d9de118062b6c081361ca776d2a4790 /net-misc/zebra
parentinitd scripts (diff)
downloadgentoo-2-b689a2fe168bb67f942724d5515544ba94ca50fa.tar.gz
gentoo-2-b689a2fe168bb67f942724d5515544ba94ca50fa.tar.bz2
gentoo-2-b689a2fe168bb67f942724d5515544ba94ca50fa.zip
patches for 0.93b
Diffstat (limited to 'net-misc/zebra')
-rw-r--r--net-misc/zebra/files/zebra-0.93b/ospfd-assert-fix.patch42
-rw-r--r--net-misc/zebra/files/zebra-0.93b/ospfd-nbr-fix.patch39
2 files changed, 81 insertions, 0 deletions
diff --git a/net-misc/zebra/files/zebra-0.93b/ospfd-assert-fix.patch b/net-misc/zebra/files/zebra-0.93b/ospfd-assert-fix.patch
new file mode 100644
index 000000000000..d8135062346a
--- /dev/null
+++ b/net-misc/zebra/files/zebra-0.93b/ospfd-assert-fix.patch
@@ -0,0 +1,42 @@
+--- ospf_lsa.c.orig Mon Sep 16 23:09:47 2002
++++ ospf_lsa.c Tue Sep 17 10:03:10 2002
+@@ -2535,6 +2535,7 @@
+ if (IS_DEBUG_OSPF (lsa, LSA_FLOODING))
+ zlog_info("LSA[%s]: is MaxAge", dump_lsa_key (lsa));
+
++#ifdef BUGGY_OPAQUE_LSA_HANDLING
+ switch (lsa->data->type)
+ {
+ case OSPF_AS_EXTERNAL_LSA:
+@@ -2547,6 +2548,31 @@
+ ospf_spf_calculate_schedule ();
+ break;
+ }
++#else /* BUGGY_OPAQUE_LSA_HANDLING */
++ switch (lsa->data->type)
++ {
++#ifdef HAVE_OPAQUE_LSA
++ case OSPF_OPAQUE_LINK_LSA:
++ case OSPF_OPAQUE_AREA_LSA:
++ case OSPF_OPAQUE_AS_LSA:
++ /*
++ * As a general rule, whenever network topology has changed
++ * (due to an LSA removal in this case), routing recalculation
++ * should be triggered. However, this is not true for opaque
++ * LSAs. Even if an opaque LSA instance is going to be removed
++ * from the routing domain, it does not mean a change in network
++ * topology, and thus, routing recalculation is not needed here.
++ */
++ break;
++#endif /* HAVE_OPAQUE_LSA */
++ case OSPF_AS_EXTERNAL_LSA:
++ ospf_ase_incremental_update (lsa, ospf_top);
++ break;
++ default:
++ ospf_spf_calculate_schedule ();
++ break;
++ }
++#endif /* BUGGY_OPAQUE_LSA_HANDLING */
+
+ ospf_lsa_maxage (lsa);
+ }
diff --git a/net-misc/zebra/files/zebra-0.93b/ospfd-nbr-fix.patch b/net-misc/zebra/files/zebra-0.93b/ospfd-nbr-fix.patch
new file mode 100644
index 000000000000..374b6c9c4451
--- /dev/null
+++ b/net-misc/zebra/files/zebra-0.93b/ospfd-nbr-fix.patch
@@ -0,0 +1,39 @@
+--- ospf_neighbor.c.orig Thu Jul 4 07:06:41 2002
++++ ospf_neighbor.c Sun Sep 29 20:31:59 2002
+@@ -119,6 +119,9 @@
+ OSPF_NSM_TIMER_OFF (nbr->t_ls_req);
+ OSPF_NSM_TIMER_OFF (nbr->t_ls_upd);
+
++ /* Cancel all events. *//* Thread lookup cost would be negligible. */
++ thread_cancel_event (master, nbr);
++
+ XFREE (MTYPE_OSPF_NEIGHBOR, nbr);
+ }
+
+--- ospf_nsm.c.orig Thu Jul 4 07:06:41 2002
++++ ospf_nsm.c Mon Sep 30 09:32:40 2002
+@@ -770,9 +770,24 @@
+ nbr->crypt_seqnum = 0;
+
+ /* Generete NeighborChange ISM event. */
++#ifdef BUGGY_ISM_TRANSITION
+ if ((old_state < NSM_TwoWay && state >= NSM_TwoWay) ||
+ (old_state >= NSM_TwoWay && state < NSM_TwoWay))
+ OSPF_ISM_EVENT_EXECUTE (oi, ISM_NeighborChange);
++#else /* BUGGY_ISM_TRANSITION */
++ switch (oi->state) {
++ case ISM_DROther:
++ case ISM_Backup:
++ case ISM_DR:
++ if ((old_state < NSM_TwoWay && state >= NSM_TwoWay) ||
++ (old_state >= NSM_TwoWay && state < NSM_TwoWay))
++ OSPF_ISM_EVENT_EXECUTE (oi, ISM_NeighborChange);
++ break;
++ default:
++ /* ISM_PointToPoint -> ISM_Down, ISM_Loopback -> ISM_Down, etc. */
++ break;
++ }
++#endif /* BUGGY_ISM_TRANSITION */
+
+ /* Performance hack. Send hello immideately when some neighbor enter
+ Init state. This whay we decrease neighbor discovery time. Gleb.*/