svn commit: r484648 - in head: . net/bird net/bird/files
Olivier Cochard
olivier at FreeBSD.org
Sat Nov 10 23:02:47 UTC 2018
Author: olivier
Date: Sat Nov 10 23:02:44 2018
New Revision: 484648
URL: https://svnweb.freebsd.org/changeset/ports/484648
Log:
Fixes wrong LSA collision detection and add birdvty group
PR: 232231
Submitted by: Julien Charbon <jcharbon at verisign.com>
Submitted by: Asbjorn Mikkelsen <amikkelsen at verisign.com>
Sponsored by: Verisign
Added:
head/net/bird/files/patch-proto__ospf__lsupd.c (contents, props changed)
head/net/bird/files/patch-proto__ospf__topology.c (contents, props changed)
Modified:
head/GIDs
head/net/bird/Makefile
head/net/bird/files/bird.in
head/net/bird/files/bird6.in
Modified: head/GIDs
==============================================================================
--- head/GIDs Sat Nov 10 22:45:31 2018 (r484647)
+++ head/GIDs Sat Nov 10 23:02:44 2018 (r484648)
@@ -442,7 +442,7 @@ alertmanager:*:479:
# free: 499
# free: 500
# free: 501
-# free: 502
+birdvty:*:502:
# free: 503
# free: 504
_bbstored:*:505:
Modified: head/net/bird/Makefile
==============================================================================
--- head/net/bird/Makefile Sat Nov 10 22:45:31 2018 (r484647)
+++ head/net/bird/Makefile Sat Nov 10 23:02:44 2018 (r484648)
@@ -3,6 +3,7 @@
PORTNAME= bird
PORTVERSION= 1.6.4
+PORTREVISION= 1
CATEGORIES= net
MASTER_SITES= ftp://bird.network.cz/pub/bird/
Modified: head/net/bird/files/bird.in
==============================================================================
--- head/net/bird/files/bird.in Sat Nov 10 22:45:31 2018 (r484647)
+++ head/net/bird/files/bird.in Sat Nov 10 23:02:44 2018 (r484648)
@@ -28,7 +28,8 @@ extra_commands="reload"
: ${bird_enable="NO"}
: ${bird_config="%%PREFIX%%/etc/bird.conf"}
+: ${bird_group="birdvty"}
-command_args="-P /var/run/${name}.pid -c $bird_config"
+command_args="-P /var/run/${name}.pid -c $bird_config -g $bird_group"
run_rc_command "$1"
Modified: head/net/bird/files/bird6.in
==============================================================================
--- head/net/bird/files/bird6.in Sat Nov 10 22:45:31 2018 (r484647)
+++ head/net/bird/files/bird6.in Sat Nov 10 23:02:44 2018 (r484648)
@@ -28,7 +28,8 @@ extra_commands="reload"
: ${bird6_enable="NO"}
: ${bird6_config="%%PREFIX%%/etc/bird6.conf"}
+: ${bird6_group="birdvty"}
-command_args="-P /var/run/${name}.pid -c $bird6_config"
+command_args="-P /var/run/${name}.pid -c $bird6_config -g $bird6_group"
run_rc_command "$1"
Added: head/net/bird/files/patch-proto__ospf__lsupd.c
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/net/bird/files/patch-proto__ospf__lsupd.c Sat Nov 10 23:02:44 2018 (r484648)
@@ -0,0 +1,11 @@
+--- proto/ospf/lsupd.c 2015-04-22 14:41:44.000000000 +0000
++++ proto/ospf/lsupd.c 2016-03-22 13:09:59.000000000 +0000
+@@ -593,7 +593,7 @@
+ if ((lsa.rt == p->router_id) ||
+ (ospf_is_v2(p) && (lsa_type == LSA_T_NET) && ospf_addr_is_local(p, ifa->oa, ipa_from_u32(lsa.id))))
+ {
+- OSPF_TRACE(D_EVENTS, "Received unexpected self-originated LSA");
++ log(L_INFO "Received unexpected self-originated LSA");
+ ospf_advance_lsa(p, en, &lsa, lsa_type, lsa_domain, body);
+ continue;
+ }
Added: head/net/bird/files/patch-proto__ospf__topology.c
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/net/bird/files/patch-proto__ospf__topology.c Sat Nov 10 23:02:44 2018 (r484648)
@@ -0,0 +1,32 @@
+--- proto/ospf/topology.c 2015-04-22 14:41:44.000000000 +0000
++++ proto/ospf/topology.c 2016-03-24 13:36:04.000000000 +0000
+@@ -79,8 +79,12 @@
+ * then we have en->mode from the postponed LSA origination.
+ */
+
+- OSPF_TRACE(D_EVENTS, "Installing LSA: Type: %04x, Id: %R, Rt: %R, Seq: %08x, Age: %u",
+- en->lsa_type, en->lsa.id, en->lsa.rt, en->lsa.sn, en->lsa.age);
++ if (en->lsa.rt == p->router_id || (p->p.debug & D_EVENTS) ||
++ OSPF_FORCE_DEBUG)
++ {
++ log(L_INFO "Installing LSA: Type: %04x, Id: %R, Rt: %R, Seq: %08x, Age: %u",
++ en->lsa_type, en->lsa.id, en->lsa.rt, en->lsa.sn, en->lsa.age);
++ }
+
+ if (change)
+ ospf_schedule_rtcalc(p);
+@@ -281,6 +285,14 @@
+ if (!en->nf || !en->lsa_body)
+ en->nf = lsa->nf;
+
++ if (en->lsa_body && (en->lsa.age == LSA_MAXAGE))
++ {
++ /* en could be an unexpected self-originated lsa in which case nf is NULL */
++ log(L_INFO "%s: Found flushing LSA while originating %I/%d with fib: %p",
++ p->p.name, lsa->nf->fn.prefix, lsa->nf->fn.pxlen, en->nf);
++ en->nf = lsa->nf;
++ }
++
+ if (en->nf != lsa->nf)
+ {
+ log(L_ERR "%s: LSA ID collision for %I/%d",
More information about the svn-ports-all
mailing list