View | Details | Raw Unified | Return to bug 232231 | Differences between
and this patch

Collapse All | Expand All

(-)b/net/bird/Makefile (+1 lines)
Lines 3-8 Link Here
3
3
4
PORTNAME=	bird
4
PORTNAME=	bird
5
PORTVERSION=	1.6.4
5
PORTVERSION=	1.6.4
6
PORTREVISION=	1
6
CATEGORIES=	net
7
CATEGORIES=	net
7
MASTER_SITES=	ftp://bird.network.cz/pub/bird/
8
MASTER_SITES=	ftp://bird.network.cz/pub/bird/
(-)b/net/bird/files/patch-proto__ospf__lsupd.c (+11 lines)
Added Link Here
1
--- proto/ospf/lsupd.c	2015-04-22 14:41:44.000000000 +0000
2
+++ proto/ospf/lsupd.c	2016-03-22 13:09:59.000000000 +0000
3
@@ -593,7 +593,7 @@
4
       if ((lsa.rt == p->router_id) ||
5
 	  (ospf_is_v2(p) && (lsa_type == LSA_T_NET) && ospf_addr_is_local(p, ifa->oa, ipa_from_u32(lsa.id))))
6
       {
7
-	OSPF_TRACE(D_EVENTS, "Received unexpected self-originated LSA");
8
+	log(L_INFO "Received unexpected self-originated LSA");
9
 	ospf_advance_lsa(p, en, &lsa, lsa_type, lsa_domain, body);
10
 	continue;
11
       }
(-)b/net/bird/files/patch-proto__ospf__topology.c (-1 / +32 lines)
Added Link Here
0
- 
1
--- proto/ospf/topology.c	2015-04-22 14:41:44.000000000 +0000
2
+++ proto/ospf/topology.c	2016-03-24 13:36:04.000000000 +0000
3
@@ -79,8 +79,12 @@
4
    * then we have en->mode from the postponed LSA origination.
5
    */
6
 
7
-  OSPF_TRACE(D_EVENTS, "Installing LSA: Type: %04x, Id: %R, Rt: %R, Seq: %08x, Age: %u",
8
-	     en->lsa_type, en->lsa.id, en->lsa.rt, en->lsa.sn, en->lsa.age);
9
+  if (en->lsa.rt == p->router_id || (p->p.debug & D_EVENTS) ||
10
+      OSPF_FORCE_DEBUG)
11
+  {
12
+    log(L_INFO "Installing LSA: Type: %04x, Id: %R, Rt: %R, Seq: %08x, Age: %u",
13
+	en->lsa_type, en->lsa.id, en->lsa.rt, en->lsa.sn, en->lsa.age);
14
+  }
15
 
16
   if (change)
17
     ospf_schedule_rtcalc(p);
18
@@ -281,6 +285,14 @@
19
   if (en->lsa_body == NULL)
20
     en->nf = lsa->nf;
21
 
22
+  if (en->lsa_body && (en->lsa.age == LSA_MAXAGE))
23
+  {
24
+    /* en could be an unexpected self-originated lsa in which case nf is NULL */
25
+    log(L_INFO "%s: Found flushing LSA while originating %I/%d with fib: %p",
26
+        p->p.name, lsa->nf->fn.prefix, lsa->nf->fn.pxlen, en->nf);
27
+    en->nf = lsa->nf;
28
+  }
29
+
30
   if (en->nf != lsa->nf)
31
   {
32
     log(L_ERR "%s: LSA ID collision for %I/%d",

Return to bug 232231