mirror of
https://git.FreeBSD.org/ports.git
synced 2024-10-19 19:59:43 +00:00
- patch for annoing OSPF infinite loop when time goes back
PR: ports/78855 Submitted by: Boris Kovalenko <boris@tagnet.ru> (maintainer)
This commit is contained in:
parent
59aeb02070
commit
0ccda62ace
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=131345
@ -7,7 +7,7 @@
|
||||
|
||||
PORTNAME= quagga
|
||||
PORTVERSION= 0.98.2
|
||||
PORTREVISION= 1
|
||||
PORTREVISION= 2
|
||||
CATEGORIES= net ipv6
|
||||
MASTER_SITES= http://quagga.net/download/
|
||||
|
||||
@ -39,10 +39,6 @@ OPTIONS= ISISD "Enable experimental ISIS daemon" off \
|
||||
TCPSOCKETS "Use TCP/IP sockets for protocol daemons" off \
|
||||
TCPMD5 "Use experimental MD5 patch for BGP" off
|
||||
|
||||
.if !defined(BATCH)
|
||||
SEL_OPTIONS= yes
|
||||
.endif
|
||||
|
||||
.include <bsd.port.pre.mk>
|
||||
|
||||
CONFIGURE_ARGS+=--includedir=${PREFIX}/include --enable-exampledir=${PREFIX}/share/examples/quagga
|
||||
|
37
net/quagga/files/patch-ospfd::ospf_lsa.c
Normal file
37
net/quagga/files/patch-ospfd::ospf_lsa.c
Normal file
@ -0,0 +1,37 @@
|
||||
--- ospfd/ospf_lsa.c.orig Wed Dec 22 19:16:02 2004
|
||||
+++ ospfd/ospf_lsa.c Mon Mar 7 12:24:04 2005
|
||||
@@ -3665,6 +3665,7 @@
|
||||
struct listnode *node;
|
||||
struct ospf *ospf = THREAD_ARG (t);
|
||||
int i;
|
||||
+ time_t ct;
|
||||
struct list *lsa_to_refresh = list_new ();
|
||||
|
||||
if (IS_DEBUG_OSPF (lsa, LSA_REFRESH))
|
||||
@@ -3672,15 +3673,25 @@
|
||||
|
||||
|
||||
i = ospf->lsa_refresh_queue.index;
|
||||
+
|
||||
+ if ((ct = time(NULL)) < ospf->lsa_refresher_started) {
|
||||
+ zlog_debug ("LSA[Refresh]: ospf_lsa_refresh_walker(): HACK: fixing lsa_refresher_started: %d -> %d", ospf->lsa_refresher_started, ct);
|
||||
+ ospf->lsa_refresher_started = ct;
|
||||
+ }
|
||||
|
||||
ospf->lsa_refresh_queue.index =
|
||||
(ospf->lsa_refresh_queue.index +
|
||||
- (time (NULL) - ospf->lsa_refresher_started) / OSPF_LSA_REFRESHER_GRANULARITY)
|
||||
+ (ct - ospf->lsa_refresher_started) / OSPF_LSA_REFRESHER_GRANULARITY)
|
||||
% OSPF_LSA_REFRESHER_SLOTS;
|
||||
|
||||
if (IS_DEBUG_OSPF (lsa, LSA_REFRESH))
|
||||
zlog_debug ("LSA[Refresh]: ospf_lsa_refresh_walker(): next index %d",
|
||||
ospf->lsa_refresh_queue.index);
|
||||
+
|
||||
+ if (ospf->lsa_refresh_queue.index >= OSPF_LSA_REFRESHER_SLOTS) {
|
||||
+ zlog_debug ("LSA[Refresh]: ospf_lsa_refresh_walker(): HACK: fixing index: %hu -> 0", ospf->lsa_refresh_queue.index);
|
||||
+ ospf->lsa_refresh_queue.index = 0;
|
||||
+ }
|
||||
|
||||
for (;i != ospf->lsa_refresh_queue.index;
|
||||
i = (i + 1) % OSPF_LSA_REFRESHER_SLOTS)
|
Loading…
Reference in New Issue
Block a user