Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bgpd: optimal route reflection #11159

Merged
merged 9 commits into from
Oct 12, 2022
Merged

bgpd: optimal route reflection #11159

merged 9 commits into from
Oct 12, 2022

Conversation

maduri111
Copy link
Contributor

@maduri111 maduri111 commented May 7, 2022

Sample Output of BGP and OSPF tables when 10.100.1.4 is primary of ORR group orr-1 ie SPF calculated from 10.100.1.4.
so best path for 203.0.113.0/24 is selected instead of 10.100.1.1 as next-hop.

Router-RR# show running-config
Building configuration...

Current configuration:
!
frr version 8.3-dev-MyOwnFRRVersion
frr defaults traditional
hostname Router-RR
log file /var/log/frr/bgpd.log
log syslog informational
service integrated-vtysh-config
!
debug bgp optimal-route-reflection
!
interface enp0s8
ip address 10.10.68.8/24
ip ospf 8 area 0
exit
!
interface lo
ip address 10.100.1.8/32
ip ospf 8 area 0
exit
!
router bgp 1
neighbor 10.100.1.1 remote-as 1
neighbor 10.100.1.1 update-source lo
neighbor 10.100.1.2 remote-as 1
neighbor 10.100.1.2 update-source lo
neighbor 10.100.1.3 remote-as 1
neighbor 10.100.1.3 update-source lo
neighbor 10.100.1.4 remote-as 1
neighbor 10.100.1.4 update-source lo
!
address-family ipv4 unicast
neighbor 10.100.1.1 route-reflector-client
neighbor 10.100.1.1 optimal-route-reflection orr-1
neighbor 10.100.1.2 route-reflector-client
neighbor 10.100.1.2 optimal-route-reflection orr-1
neighbor 10.100.1.3 route-reflector-client
neighbor 10.100.1.3 optimal-route-reflection orr-1
neighbor 10.100.1.4 route-reflector-client
neighbor 10.100.1.4 optimal-route-reflection orr-1
optimal-route-reflection orr-1 10.100.1.4 10.100.1.3 10.100.1.1
exit-address-family
exit
!
router ospf 8
ospf router-id 8.8.8.8
area 0 authentication
capability opaque
exit
!
end
Router-RR# show ip bgp optimal-route-reflection

ORR policy: orr-1, IPv4 Unicast
Configured root: primary: 10.100.1.4, secondary: 10.100.1.3, tertiary: 10.100.1.1
Active Root: 10.100.1.4

RR Clients mapped:
10.100.1.1
10.100.1.2
10.100.1.3
10.100.1.4

Number of mapping entries: 4

Prefix Cost
10.10.34.0/24 100
10.10.61.0/24 300
10.10.63.0/24 200
10.10.67.0/24 200
10.10.68.0/24 300
10.10.72.0/24 200
10.10.74.0/24 100
10.100.1.1/32 300
10.100.1.2/32 200
10.100.1.3/32 100
10.100.1.4/32 0 <= OSPF SPF calculated 10.100.1.4 as root
10.100.1.6/32 200
10.100.1.7/32 100
10.100.1.8/32 300

Number of mapping entries: 14

Router-RR# show ip bgp
BGP table version is 1, local router ID is 10.100.1.8, vrf id 0
Default local pref 100, local AS 1
Status codes: s suppressed, d damped, h history, * valid, > best, = multipath,
i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

Network Next Hop Metric LocPrf Weight Path

  • i203.0.113.0/24 10.100.1.2 0 100 0 i
    *>i 10.100.1.3 0 100 0 i <==== 10.100.1.3 is selected as best path instead of 10.100.1.1
  • i 10.100.1.1 0 100 0 i

Displayed 1 routes and 3 total paths

Router-RR# show ip ospf route orr orr-1

OSPF Instance: 8
ORR Group: orr-1
Active Root: 10.100.1.4

SPF calculated from 10.100.1.4

============ OSPF network routing table ============
N 10.10.34.0/24 [100] area: 0.0.0.0
directly attached to enp0s8
N 10.10.61.0/24 [300] area: 0.0.0.0
via 10.10.74.7, lo
N 10.10.63.0/24 [300] area: 0.0.0.0
via 10.10.74.7, lo
N 10.10.67.0/24 [200] area: 0.0.0.0
via 10.10.74.7, lo
N 10.10.68.0/24 [300] area: 0.0.0.0
via 10.10.74.7, lo
N 10.10.72.0/24 [200] area: 0.0.0.0
via 10.10.74.7, lo
N 10.10.74.0/24 [100] area: 0.0.0.0
directly attached to lo
N 10.100.1.1/32 [300] area: 0.0.0.0
via 10.10.74.7, lo
N 10.100.1.2/32 [200] area: 0.0.0.0
via 10.10.74.7, lo
N 10.100.1.3/32 [300] area: 0.0.0.0
via 10.10.74.7, lo
N 10.100.1.4/32 [0] area: 0.0.0.0
N 10.100.1.6/32 [200] area: 0.0.0.0
via 10.10.74.7, lo
N 10.100.1.7/32 [100] area: 0.0.0.0
via 10.10.74.7, lo
N 10.100.1.8/32 [300] area: 0.0.0.0
via 10.10.74.7, lo

============ OSPF router routing table =============

Router-RR#

Signed-off-by: Madhuri Kuruganti [email protected]

@frrbot frrbot bot added the bgp label May 7, 2022
@NetDEF-CI
Copy link
Collaborator

NetDEF-CI commented May 7, 2022

Continuous Integration Result: FAILED

Continuous Integration Result: FAILED

See below for issues.
CI System Testrun URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/

This is a comment from an automated CI system.
For questions and feedback in regards to this CI system, please feel free to email
Martin Winter - mwinter (at) opensourcerouting.org.

Get source / Pull Request: Successful

Building Stage: Failed

Debian 10 amd64 build: Failed (click for details) Debian 10 amd64 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/DEB10BUILD/config.log/config.log.gz

Make failed for Debian 10 amd64 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/DEB10BUILD/ErrorLog/log_make.txt)

make[1]: Entering directory '/home/ci/cibuild.5259/frr-source'
In file included from ospfd/ospf_orr.c:41:
ospfd/ospf_lsa.h:290:18: error: struct external_info declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
ospfd/ospf_lsa.h:328:16: error: struct external_info declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
cc1: all warnings being treated as errors
make[1]: *** [Makefile:10310: ospfd/ospf_orr.o] Error 1
In file included from ospfd/ospf_spf.c:24:
ospfd/ospf_spf.c: In function ospf_spf_calculate_schedule:
ospfd/ospf_spf.c:2140:11: error: passing argument 3 of _thread_add_timer_msec from incompatible pointer type [-Werror=incompatible-pointer-types]

Debian 10 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/DEB10BUILD/config.status/config.status

Ubuntu 16.04 arm7 build: Failed (click for details) Ubuntu 16.04 arm7 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/CI101BUILD/config.status/config.status Ubuntu 16.04 arm7 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/CI101BUILD/config.log/config.log.gz

Make failed for Ubuntu 16.04 arm7 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/CI101BUILD/ErrorLog/log_make.txt)

In file included from ./lib/module.h:24:0,
./lib/atomlist.h: In function atomptr_i:
./lib/xref.h:254:22: error: xref_array_attr attribute directive ignored [-Werror=attributes]
./lib/assert/assert.h:68:3: note: in expansion of macro XREF_LINK
./lib/atomlist.h:55:2: note: in expansion of macro assert
In file included from ./lib/typesafe.h:23:0,
./lib/xref.h:254:43: error: unused variable xref_p_0 [-Werror=unused-variable]
./lib/compiler.h:141:24: note: in definition of macro _CONCAT2
 #define _CONCAT2(a, b) a ## b
Debian 11 amd64 build: Failed (click for details) Debian 11 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/DEB11AMD64/config.status/config.status

Make failed for Debian 11 amd64 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/DEB11AMD64/ErrorLog/log_make.txt)

make[1]: Entering directory '/home/ci/cibuild.5259/frr-source'
In file included from ospfd/ospf_orr.c:41:
ospfd/ospf_lsa.h:290:18: error: struct external_info declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
ospfd/ospf_lsa.h:328:16: error: struct external_info declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
cc1: all warnings being treated as errors
make[1]: *** [Makefile:10313: ospfd/ospf_orr.o] Error 1
In file included from ospfd/ospf_spf.c:24:
ospfd/ospf_spf.c: In function ospf_spf_calculate_schedule:
ospfd/ospf_spf.c:2140:11: error: passing argument 3 of _thread_add_timer_msec from incompatible pointer type [-Werror=incompatible-pointer-types]

Debian 11 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/DEB11AMD64/config.log/config.log.gz

FreeBSD 11 amd64 build: Failed (click for details)

Make failed for FreeBSD 11 amd64 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/CI009BUILD/ErrorLog/log_make.txt)

gmake[1]: Entering directory '/usr/home/ci/cibuild.5259/frr-source'
In file included from ospfd/ospf_orr.c:41:
ospfd/ospf_lsa.h:290:18: error: 'struct external_info' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
ospfd/ospf_lsa.h:328:16: error: 'struct external_info' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
cc1: all warnings being treated as errors
gmake[1]: *** [Makefile:10312: ospfd/ospf_orr.o] Error 1
In file included from ospfd/ospf_spf.c:24:
ospfd/ospf_spf.c: In function 'ospf_spf_calculate_schedule':
ospfd/ospf_spf.c:2140:11: error: passing argument 3 of '_thread_add_timer_msec' from incompatible pointer type [-Werror=incompatible-pointer-types]

FreeBSD 11 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/CI009BUILD/config.status/config.status
FreeBSD 11 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/CI009BUILD/config.log/config.log.gz

Ubuntu 16.04 i386 build: Failed (click for details)

Make failed for Ubuntu 16.04 i386 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/U1604I386/ErrorLog/log_make.txt)

In file included from ./lib/module.h:24:0,
./lib/atomlist.h: In function atomptr_i:
./lib/xref.h:254:22: error: xref_array_attr attribute directive ignored [-Werror=attributes]
./lib/assert/assert.h:68:3: note: in expansion of macro XREF_LINK
./lib/atomlist.h:55:2: note: in expansion of macro assert
In file included from ./lib/typesafe.h:23:0,
./lib/xref.h:254:43: error: unused variable xref_p_0 [-Werror=unused-variable]
./lib/compiler.h:141:24: note: in definition of macro _CONCAT2
 #define _CONCAT2(a, b) a ## b

Ubuntu 16.04 i386 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/U1604I386/config.status/config.status
Ubuntu 16.04 i386 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/U1604I386/config.log/config.log.gz

Ubuntu 16.04 arm8 build: Failed (click for details)

Make failed for Ubuntu 16.04 arm8 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/U16ARM8BUILD/ErrorLog/log_make.txt)

In file included from ./lib/module.h:24:0,
./lib/atomlist.h: In function atomptr_i:
./lib/xref.h:254:22: error: xref_array_attr attribute directive ignored [-Werror=attributes]
./lib/assert/assert.h:68:3: note: in expansion of macro XREF_LINK
./lib/atomlist.h:55:2: note: in expansion of macro assert
In file included from ./lib/typesafe.h:23:0,
./lib/xref.h:254:43: error: unused variable xref_p_0 [-Werror=unused-variable]
./lib/compiler.h:141:24: note: in definition of macro _CONCAT2
 #define _CONCAT2(a, b) a ## b

Ubuntu 16.04 arm8 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/U16ARM8BUILD/config.log/config.log.gz
Ubuntu 16.04 arm8 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/U16ARM8BUILD/config.status/config.status

Ubuntu 18.04 amd64 build: Failed (click for details)

Make failed for Ubuntu 18.04 amd64 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/U1804AMD64/ErrorLog/log_make.txt)

In file included from ./lib/module.h:24:0,
./lib/atomlist.h: In function atomptr_i:
./lib/xref.h:254:22: error: xref_array_attr attribute directive ignored [-Werror=attributes]
./lib/assert/assert.h:68:3: note: in expansion of macro XREF_LINK
./lib/atomlist.h:55:2: note: in expansion of macro assert
In file included from ./lib/typesafe.h:23:0,
./lib/xref.h:254:43: error: unused variable xref_p_0 [-Werror=unused-variable]
./lib/compiler.h:141:24: note: in definition of macro _CONCAT2
 #define _CONCAT2(a, b) a ## b

Ubuntu 18.04 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/U1804AMD64/config.status/config.status
Ubuntu 18.04 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/U1804AMD64/config.log/config.log.gz

Ubuntu 18.04 i386 build: Failed (click for details) Ubuntu 18.04 i386 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/U18I386BUILD/config.log/config.log.gz Ubuntu 18.04 i386 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/U18I386BUILD/config.status/config.status

Make failed for Ubuntu 18.04 i386 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/U18I386BUILD/ErrorLog/log_make.txt)

In file included from ./lib/module.h:24:0,
./lib/atomlist.h: In function atomptr_i:
./lib/xref.h:254:22: error: xref_array_attr attribute directive ignored [-Werror=attributes]
./lib/assert/assert.h:68:3: note: in expansion of macro XREF_LINK
./lib/atomlist.h:55:2: note: in expansion of macro assert
In file included from ./lib/typesafe.h:23:0,
./lib/xref.h:254:43: error: unused variable xref_p_0 [-Werror=unused-variable]
./lib/compiler.h:141:24: note: in definition of macro _CONCAT2
 #define _CONCAT2(a, b) a ## b
Ubuntu 16.04 amd64 build: Failed (click for details)

Make failed for Ubuntu 16.04 amd64 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/CI014BUILD/ErrorLog/log_make.txt)

In file included from ./lib/module.h:24:0,
./lib/atomlist.h: In function atomptr_i:
./lib/xref.h:254:22: error: xref_array_attr attribute directive ignored [-Werror=attributes]
./lib/assert/assert.h:68:3: note: in expansion of macro XREF_LINK
./lib/atomlist.h:55:2: note: in expansion of macro assert
In file included from ./lib/typesafe.h:23:0,
./lib/xref.h:254:43: error: unused variable xref_p_0 [-Werror=unused-variable]
./lib/compiler.h:141:24: note: in definition of macro _CONCAT2
 #define _CONCAT2(a, b) a ## b

Ubuntu 16.04 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/CI014BUILD/config.status/config.status
Ubuntu 16.04 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/CI014BUILD/config.log/config.log.gz

OpenBSD 7 amd64 build: Failed (click for details)

Make failed for OpenBSD 7 amd64 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/CI011BUILD/ErrorLog/log_make.txt)

gmake[1]: Entering directory '/home/ci/cibuild.5259/frr-source'
In file included from ospfd/ospf_orr.c:41:
ospfd/ospf_lsa.h:290:18: error: declaration of 'struct external_info' will not be visible outside of this function [-Werror,-Wvisibility]
ospfd/ospf_lsa.h:328:16: error: declaration of 'struct external_info' will not be visible outside of this function [-Werror,-Wvisibility]
2 errors generated.
gmake[1]: *** [Makefile:10312: ospfd/ospf_orr.o] Error 1
ospfd/ospf_spf.c:2140:11: error: incompatible function pointer types passing 'int (struct thread *)' to parameter of type 'void (*)(struct thread *)' [-Werror,-Wincompatible-function-pointer-types]
./lib/thread.h:205:73: note: expanded from macro 'thread_add_timer_msec'
#define thread_add_timer_msec(m,f,a,v,t) _xref_t_a(timer_msec, TIMER, m,f,a,v,t)

OpenBSD 7 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/CI011BUILD/config.status/config.status
OpenBSD 7 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/CI011BUILD/config.log/config.log.gz

Redhat 8 amd64 build: Failed (click for details) Redhat 8 amd64 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/REDHAT8/config.log/config.log.gz

Make failed for Redhat 8 amd64 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/REDHAT8/ErrorLog/log_make.txt)

make[1]: Entering directory '/home/ci/cibuild.5259/frr-source'
In file included from ospfd/ospf_orr.c:41:
ospfd/ospf_lsa.h:290:18: error: struct external_info declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
ospfd/ospf_lsa.h:328:16: error: struct external_info declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
cc1: all warnings being treated as errors
make[1]: *** [Makefile:10309: ospfd/ospf_orr.o] Error 1
In file included from ospfd/ospf_spf.c:24:
ospfd/ospf_spf.c: In function ospf_spf_calculate_schedule:
ospfd/ospf_spf.c:2140:11: error: passing argument 3 of _thread_add_timer_msec from incompatible pointer type [-Werror=incompatible-pointer-types]

Redhat 8 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/REDHAT8/config.status/config.status

NetBSD 9 amd64 build: Failed (click for details) NetBSD 9 amd64 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/CI012BUILD/config.log/config.log.gz

Make failed for NetBSD 9 amd64 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/CI012BUILD/ErrorLog/log_make.txt)

gmake[1]: Entering directory '/home/ci/cibuild.5259/frr-source'
In file included from ospfd/ospf_orr.c:41:0:
ospfd/ospf_lsa.h:290:18: error: 'struct external_info' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
ospfd/ospf_lsa.h:328:16: error: 'struct external_info' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
cc1: all warnings being treated as errors
gmake[1]: *** [Makefile:10313: ospfd/ospf_orr.o] Error 1
In file included from ospfd/ospf_spf.c:24:0:
ospfd/ospf_spf.c: In function 'ospf_spf_calculate_schedule':
ospfd/ospf_spf.c:2140:11: error: passing argument 3 of '_thread_add_timer_msec' from incompatible pointer type [-Werror=incompatible-pointer-types]

NetBSD 9 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/CI012BUILD/config.status/config.status

Debian 9 amd64 build: Failed (click for details)

Make failed for Debian 9 amd64 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/CI021BUILD/ErrorLog/log_make.txt)

In file included from ./lib/module.h:24:0,
./lib/atomlist.h: In function atomptr_i:
./lib/xref.h:254:22: error: xref_array_attr attribute directive ignored [-Werror=attributes]
./lib/assert/assert.h:68:3: note: in expansion of macro XREF_LINK
./lib/atomlist.h:55:2: note: in expansion of macro assert
In file included from ./lib/typesafe.h:23:0,
./lib/xref.h:254:43: error: unused variable xref_p_0 [-Werror=unused-variable]
./lib/compiler.h:141:24: note: in definition of macro _CONCAT2
 #define _CONCAT2(a, b) a ## b

Debian 9 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/CI021BUILD/config.status/config.status
Debian 9 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/CI021BUILD/config.log/config.log.gz

Ubuntu 18.04 ppc64le build: Failed (click for details)

Make failed for Ubuntu 18.04 ppc64le build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/U1804PPC64LEBUILD/ErrorLog/log_make.txt)

In file included from ./lib/module.h:24:0,
./lib/atomlist.h: In function atomptr_i:
./lib/xref.h:254:22: error: xref_array_attr attribute directive ignored [-Werror=attributes]
./lib/assert/assert.h:68:3: note: in expansion of macro XREF_LINK
./lib/atomlist.h:55:2: note: in expansion of macro assert
In file included from ./lib/typesafe.h:23:0,
./lib/xref.h:254:43: error: unused variable xref_p_0 [-Werror=unused-variable]
./lib/compiler.h:141:24: note: in definition of macro _CONCAT2
 #define _CONCAT2(a, b) a ## b

Ubuntu 18.04 ppc64le build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/U1804PPC64LEBUILD/config.status/config.status
Ubuntu 18.04 ppc64le build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/U1804PPC64LEBUILD/config.log/config.log.gz

Ubuntu 20.04 amd64 build: Failed (click for details) Ubuntu 20.04 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/U2004AMD64BUILD/config.status/config.status

Make failed for Ubuntu 20.04 amd64 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/U2004AMD64BUILD/ErrorLog/log_make.txt)

make[1]: Entering directory '/home/ci/cibuild.5259/frr-source'
In file included from ospfd/ospf_orr.c:41:
ospfd/ospf_lsa.h:290:18: error: struct external_info declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
ospfd/ospf_lsa.h:328:16: error: struct external_info declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
cc1: all warnings being treated as errors
make[1]: *** [Makefile:10310: ospfd/ospf_orr.o] Error 1
In file included from ospfd/ospf_spf.c:24:
ospfd/ospf_spf.c: In function ospf_spf_calculate_schedule:
ospfd/ospf_spf.c:2140:11: error: passing argument 3 of _thread_add_timer_msec from incompatible pointer type [-Werror=incompatible-pointer-types]

Ubuntu 20.04 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/U2004AMD64BUILD/config.log/config.log.gz

Ubuntu 22.04 amd64 build: Failed (click for details) Ubuntu 22.04 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/U22AMD64BUILD/config.status/config.status

Make failed for Ubuntu 22.04 amd64 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/U22AMD64BUILD/ErrorLog/log_make.txt)

make[1]: Entering directory '/home/ci/cibuild.5259/frr-source'
In file included from ospfd/ospf_orr.c:41:
ospfd/ospf_lsa.h:290:60: error: struct external_info declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
ospfd/ospf_lsa.h:328:58: error: struct external_info declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
cc1: all warnings being treated as errors
make[1]: *** [Makefile:10313: ospfd/ospf_orr.o] Error 1
In file included from ospfd/ospf_spf.c:24:
ospfd/ospf_spf.c: In function ospf_spf_calculate_schedule:
ospfd/ospf_spf.c:2140:39: error: passing argument 3 of _thread_add_timer_msec from incompatible pointer type [-Werror=incompatible-pointer-types]

Ubuntu 22.04 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/U22AMD64BUILD/config.log/config.log.gz

FreeBSD 12 amd64 build: Failed (click for details)

Make failed for FreeBSD 12 amd64 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/FBSD12AMD64/ErrorLog/log_make.txt)

gmake[1]: Entering directory '/usr/home/ci/cibuild.5259/frr-source'
In file included from ospfd/ospf_orr.c:41:0:
ospfd/ospf_lsa.h:290:18: error: 'struct external_info' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
ospfd/ospf_lsa.h:328:16: error: 'struct external_info' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
cc1: all warnings being treated as errors
gmake[1]: *** [Makefile:10309: ospfd/ospf_orr.o] Error 1
In file included from ospfd/ospf_spf.c:24:0:
ospfd/ospf_spf.c: In function 'ospf_spf_calculate_schedule':
ospfd/ospf_spf.c:2140:11: error: passing argument 3 of '_thread_add_timer_msec' from incompatible pointer type [-Werror=incompatible-pointer-types]

FreeBSD 12 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/FBSD12AMD64/config.status/config.status
FreeBSD 12 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/FBSD12AMD64/config.log/config.log.gz

Fedora 29 amd64 build: Failed (click for details)

Make failed for Fedora 29 amd64 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/F29BUILD/ErrorLog/log_make.txt)

make[1]: Entering directory '/home/ci/cibuild.5259/frr-source'
In file included from ospfd/ospf_orr.c:41:
ospfd/ospf_lsa.h:290:18: error: struct external_info declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
ospfd/ospf_lsa.h:328:16: error: struct external_info declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
cc1: all warnings being treated as errors
make[1]: *** [Makefile:10309: ospfd/ospf_orr.o] Error 1
In file included from ospfd/ospf_spf.c:24:
ospfd/ospf_spf.c: In function ospf_spf_calculate_schedule:
ospfd/ospf_spf.c:2140:11: error: passing argument 3 of _thread_add_timer_msec from incompatible pointer type [-Werror=incompatible-pointer-types]

Fedora 29 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/F29BUILD/config.status/config.status
Fedora 29 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/F29BUILD/config.log/config.log.gz

Ubuntu 18.04 arm7 build: Failed (click for details)

Make failed for Ubuntu 18.04 arm7 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/U18ARM7BUILD/ErrorLog/log_make.txt)

In file included from ./lib/module.h:24:0,
./lib/atomlist.h: In function atomptr_i:
./lib/xref.h:254:22: error: xref_array_attr attribute directive ignored [-Werror=attributes]
./lib/assert/assert.h:68:3: note: in expansion of macro XREF_LINK
./lib/atomlist.h:55:2: note: in expansion of macro assert
In file included from ./lib/typesafe.h:23:0,
./lib/xref.h:254:43: error: unused variable xref_p_0 [-Werror=unused-variable]
./lib/compiler.h:141:24: note: in definition of macro _CONCAT2
 #define _CONCAT2(a, b) a ## b

Ubuntu 18.04 arm7 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/U18ARM7BUILD/config.log/config.log.gz
Ubuntu 18.04 arm7 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/U18ARM7BUILD/config.status/config.status

Ubuntu 18.04 arm8 build: Failed (click for details) Ubuntu 18.04 arm8 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/U18ARM8BUILD/config.status/config.status Ubuntu 18.04 arm8 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/U18ARM8BUILD/config.log/config.log.gz

Make failed for Ubuntu 18.04 arm8 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/U18ARM8BUILD/ErrorLog/log_make.txt)

In file included from ./lib/module.h:24:0,
./lib/atomlist.h: In function atomptr_i:
./lib/xref.h:254:22: error: xref_array_attr attribute directive ignored [-Werror=attributes]
./lib/assert/assert.h:68:3: note: in expansion of macro XREF_LINK
./lib/atomlist.h:55:2: note: in expansion of macro assert
In file included from ./lib/typesafe.h:23:0,
./lib/xref.h:254:43: error: unused variable xref_p_0 [-Werror=unused-variable]
./lib/compiler.h:141:24: note: in definition of macro _CONCAT2
 #define _CONCAT2(a, b) a ## b
Successful on other platforms/tests
  • CentOS 7 amd64 build

Warnings Generated during build:

Checkout code: Successful with additional warnings
Debian 10 amd64 build: Failed (click for details) Debian 10 amd64 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/DEB10BUILD/config.log/config.log.gz

Make failed for Debian 10 amd64 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/DEB10BUILD/ErrorLog/log_make.txt)

make[1]: Entering directory '/home/ci/cibuild.5259/frr-source'
In file included from ospfd/ospf_orr.c:41:
ospfd/ospf_lsa.h:290:18: error: struct external_info declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
ospfd/ospf_lsa.h:328:16: error: struct external_info declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
cc1: all warnings being treated as errors
make[1]: *** [Makefile:10310: ospfd/ospf_orr.o] Error 1
In file included from ospfd/ospf_spf.c:24:
ospfd/ospf_spf.c: In function ospf_spf_calculate_schedule:
ospfd/ospf_spf.c:2140:11: error: passing argument 3 of _thread_add_timer_msec from incompatible pointer type [-Werror=incompatible-pointer-types]

Debian 10 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/DEB10BUILD/config.status/config.status

Ubuntu 16.04 arm7 build: Failed (click for details) Ubuntu 16.04 arm7 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/CI101BUILD/config.status/config.status Ubuntu 16.04 arm7 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/CI101BUILD/config.log/config.log.gz

Make failed for Ubuntu 16.04 arm7 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/CI101BUILD/ErrorLog/log_make.txt)

In file included from ./lib/module.h:24:0,
./lib/atomlist.h: In function atomptr_i:
./lib/xref.h:254:22: error: xref_array_attr attribute directive ignored [-Werror=attributes]
./lib/assert/assert.h:68:3: note: in expansion of macro XREF_LINK
./lib/atomlist.h:55:2: note: in expansion of macro assert
In file included from ./lib/typesafe.h:23:0,
./lib/xref.h:254:43: error: unused variable xref_p_0 [-Werror=unused-variable]
./lib/compiler.h:141:24: note: in definition of macro _CONCAT2
 #define _CONCAT2(a, b) a ## b
Debian 11 amd64 build: Failed (click for details) Debian 11 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/DEB11AMD64/config.status/config.status

Make failed for Debian 11 amd64 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/DEB11AMD64/ErrorLog/log_make.txt)

make[1]: Entering directory '/home/ci/cibuild.5259/frr-source'
In file included from ospfd/ospf_orr.c:41:
ospfd/ospf_lsa.h:290:18: error: struct external_info declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
ospfd/ospf_lsa.h:328:16: error: struct external_info declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
cc1: all warnings being treated as errors
make[1]: *** [Makefile:10313: ospfd/ospf_orr.o] Error 1
In file included from ospfd/ospf_spf.c:24:
ospfd/ospf_spf.c: In function ospf_spf_calculate_schedule:
ospfd/ospf_spf.c:2140:11: error: passing argument 3 of _thread_add_timer_msec from incompatible pointer type [-Werror=incompatible-pointer-types]

Debian 11 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/DEB11AMD64/config.log/config.log.gz

FreeBSD 11 amd64 build: Failed (click for details)

Make failed for FreeBSD 11 amd64 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/CI009BUILD/ErrorLog/log_make.txt)

gmake[1]: Entering directory '/usr/home/ci/cibuild.5259/frr-source'
In file included from ospfd/ospf_orr.c:41:
ospfd/ospf_lsa.h:290:18: error: 'struct external_info' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
ospfd/ospf_lsa.h:328:16: error: 'struct external_info' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
cc1: all warnings being treated as errors
gmake[1]: *** [Makefile:10312: ospfd/ospf_orr.o] Error 1
In file included from ospfd/ospf_spf.c:24:
ospfd/ospf_spf.c: In function 'ospf_spf_calculate_schedule':
ospfd/ospf_spf.c:2140:11: error: passing argument 3 of '_thread_add_timer_msec' from incompatible pointer type [-Werror=incompatible-pointer-types]

FreeBSD 11 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/CI009BUILD/config.status/config.status
FreeBSD 11 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/CI009BUILD/config.log/config.log.gz

Ubuntu 16.04 i386 build: Failed (click for details)

Make failed for Ubuntu 16.04 i386 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/U1604I386/ErrorLog/log_make.txt)

In file included from ./lib/module.h:24:0,
./lib/atomlist.h: In function atomptr_i:
./lib/xref.h:254:22: error: xref_array_attr attribute directive ignored [-Werror=attributes]
./lib/assert/assert.h:68:3: note: in expansion of macro XREF_LINK
./lib/atomlist.h:55:2: note: in expansion of macro assert
In file included from ./lib/typesafe.h:23:0,
./lib/xref.h:254:43: error: unused variable xref_p_0 [-Werror=unused-variable]
./lib/compiler.h:141:24: note: in definition of macro _CONCAT2
 #define _CONCAT2(a, b) a ## b

Ubuntu 16.04 i386 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/U1604I386/config.status/config.status
Ubuntu 16.04 i386 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/U1604I386/config.log/config.log.gz

Ubuntu 16.04 arm8 build: Failed (click for details)

Make failed for Ubuntu 16.04 arm8 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/U16ARM8BUILD/ErrorLog/log_make.txt)

In file included from ./lib/module.h:24:0,
./lib/atomlist.h: In function atomptr_i:
./lib/xref.h:254:22: error: xref_array_attr attribute directive ignored [-Werror=attributes]
./lib/assert/assert.h:68:3: note: in expansion of macro XREF_LINK
./lib/atomlist.h:55:2: note: in expansion of macro assert
In file included from ./lib/typesafe.h:23:0,
./lib/xref.h:254:43: error: unused variable xref_p_0 [-Werror=unused-variable]
./lib/compiler.h:141:24: note: in definition of macro _CONCAT2
 #define _CONCAT2(a, b) a ## b

Ubuntu 16.04 arm8 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/U16ARM8BUILD/config.log/config.log.gz
Ubuntu 16.04 arm8 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/U16ARM8BUILD/config.status/config.status

Ubuntu 18.04 amd64 build: Failed (click for details)

Make failed for Ubuntu 18.04 amd64 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/U1804AMD64/ErrorLog/log_make.txt)

In file included from ./lib/module.h:24:0,
./lib/atomlist.h: In function atomptr_i:
./lib/xref.h:254:22: error: xref_array_attr attribute directive ignored [-Werror=attributes]
./lib/assert/assert.h:68:3: note: in expansion of macro XREF_LINK
./lib/atomlist.h:55:2: note: in expansion of macro assert
In file included from ./lib/typesafe.h:23:0,
./lib/xref.h:254:43: error: unused variable xref_p_0 [-Werror=unused-variable]
./lib/compiler.h:141:24: note: in definition of macro _CONCAT2
 #define _CONCAT2(a, b) a ## b

Ubuntu 18.04 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/U1804AMD64/config.status/config.status
Ubuntu 18.04 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/U1804AMD64/config.log/config.log.gz

Ubuntu 18.04 i386 build: Failed (click for details) Ubuntu 18.04 i386 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/U18I386BUILD/config.log/config.log.gz Ubuntu 18.04 i386 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/U18I386BUILD/config.status/config.status

Make failed for Ubuntu 18.04 i386 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/U18I386BUILD/ErrorLog/log_make.txt)

In file included from ./lib/module.h:24:0,
./lib/atomlist.h: In function atomptr_i:
./lib/xref.h:254:22: error: xref_array_attr attribute directive ignored [-Werror=attributes]
./lib/assert/assert.h:68:3: note: in expansion of macro XREF_LINK
./lib/atomlist.h:55:2: note: in expansion of macro assert
In file included from ./lib/typesafe.h:23:0,
./lib/xref.h:254:43: error: unused variable xref_p_0 [-Werror=unused-variable]
./lib/compiler.h:141:24: note: in definition of macro _CONCAT2
 #define _CONCAT2(a, b) a ## b
Ubuntu 16.04 amd64 build: Failed (click for details)

Make failed for Ubuntu 16.04 amd64 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/CI014BUILD/ErrorLog/log_make.txt)

In file included from ./lib/module.h:24:0,
./lib/atomlist.h: In function atomptr_i:
./lib/xref.h:254:22: error: xref_array_attr attribute directive ignored [-Werror=attributes]
./lib/assert/assert.h:68:3: note: in expansion of macro XREF_LINK
./lib/atomlist.h:55:2: note: in expansion of macro assert
In file included from ./lib/typesafe.h:23:0,
./lib/xref.h:254:43: error: unused variable xref_p_0 [-Werror=unused-variable]
./lib/compiler.h:141:24: note: in definition of macro _CONCAT2
 #define _CONCAT2(a, b) a ## b

Ubuntu 16.04 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/CI014BUILD/config.status/config.status
Ubuntu 16.04 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/CI014BUILD/config.log/config.log.gz

OpenBSD 7 amd64 build: Failed (click for details)

Make failed for OpenBSD 7 amd64 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/CI011BUILD/ErrorLog/log_make.txt)

gmake[1]: Entering directory '/home/ci/cibuild.5259/frr-source'
In file included from ospfd/ospf_orr.c:41:
ospfd/ospf_lsa.h:290:18: error: declaration of 'struct external_info' will not be visible outside of this function [-Werror,-Wvisibility]
ospfd/ospf_lsa.h:328:16: error: declaration of 'struct external_info' will not be visible outside of this function [-Werror,-Wvisibility]
2 errors generated.
gmake[1]: *** [Makefile:10312: ospfd/ospf_orr.o] Error 1
ospfd/ospf_spf.c:2140:11: error: incompatible function pointer types passing 'int (struct thread *)' to parameter of type 'void (*)(struct thread *)' [-Werror,-Wincompatible-function-pointer-types]
./lib/thread.h:205:73: note: expanded from macro 'thread_add_timer_msec'
#define thread_add_timer_msec(m,f,a,v,t) _xref_t_a(timer_msec, TIMER, m,f,a,v,t)

OpenBSD 7 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/CI011BUILD/config.status/config.status
OpenBSD 7 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/CI011BUILD/config.log/config.log.gz

Redhat 8 amd64 build: Failed (click for details) Redhat 8 amd64 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/REDHAT8/config.log/config.log.gz

Make failed for Redhat 8 amd64 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/REDHAT8/ErrorLog/log_make.txt)

make[1]: Entering directory '/home/ci/cibuild.5259/frr-source'
In file included from ospfd/ospf_orr.c:41:
ospfd/ospf_lsa.h:290:18: error: struct external_info declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
ospfd/ospf_lsa.h:328:16: error: struct external_info declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
cc1: all warnings being treated as errors
make[1]: *** [Makefile:10309: ospfd/ospf_orr.o] Error 1
In file included from ospfd/ospf_spf.c:24:
ospfd/ospf_spf.c: In function ospf_spf_calculate_schedule:
ospfd/ospf_spf.c:2140:11: error: passing argument 3 of _thread_add_timer_msec from incompatible pointer type [-Werror=incompatible-pointer-types]

Redhat 8 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/REDHAT8/config.status/config.status

NetBSD 9 amd64 build: Failed (click for details) NetBSD 9 amd64 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/CI012BUILD/config.log/config.log.gz

Make failed for NetBSD 9 amd64 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/CI012BUILD/ErrorLog/log_make.txt)

gmake[1]: Entering directory '/home/ci/cibuild.5259/frr-source'
In file included from ospfd/ospf_orr.c:41:0:
ospfd/ospf_lsa.h:290:18: error: 'struct external_info' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
ospfd/ospf_lsa.h:328:16: error: 'struct external_info' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
cc1: all warnings being treated as errors
gmake[1]: *** [Makefile:10313: ospfd/ospf_orr.o] Error 1
In file included from ospfd/ospf_spf.c:24:0:
ospfd/ospf_spf.c: In function 'ospf_spf_calculate_schedule':
ospfd/ospf_spf.c:2140:11: error: passing argument 3 of '_thread_add_timer_msec' from incompatible pointer type [-Werror=incompatible-pointer-types]

NetBSD 9 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/CI012BUILD/config.status/config.status

Debian 9 amd64 build: Failed (click for details)

Make failed for Debian 9 amd64 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/CI021BUILD/ErrorLog/log_make.txt)

In file included from ./lib/module.h:24:0,
./lib/atomlist.h: In function atomptr_i:
./lib/xref.h:254:22: error: xref_array_attr attribute directive ignored [-Werror=attributes]
./lib/assert/assert.h:68:3: note: in expansion of macro XREF_LINK
./lib/atomlist.h:55:2: note: in expansion of macro assert
In file included from ./lib/typesafe.h:23:0,
./lib/xref.h:254:43: error: unused variable xref_p_0 [-Werror=unused-variable]
./lib/compiler.h:141:24: note: in definition of macro _CONCAT2
 #define _CONCAT2(a, b) a ## b

Debian 9 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/CI021BUILD/config.status/config.status
Debian 9 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/CI021BUILD/config.log/config.log.gz

Ubuntu 18.04 ppc64le build: Failed (click for details)

Make failed for Ubuntu 18.04 ppc64le build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/U1804PPC64LEBUILD/ErrorLog/log_make.txt)

In file included from ./lib/module.h:24:0,
./lib/atomlist.h: In function atomptr_i:
./lib/xref.h:254:22: error: xref_array_attr attribute directive ignored [-Werror=attributes]
./lib/assert/assert.h:68:3: note: in expansion of macro XREF_LINK
./lib/atomlist.h:55:2: note: in expansion of macro assert
In file included from ./lib/typesafe.h:23:0,
./lib/xref.h:254:43: error: unused variable xref_p_0 [-Werror=unused-variable]
./lib/compiler.h:141:24: note: in definition of macro _CONCAT2
 #define _CONCAT2(a, b) a ## b

Ubuntu 18.04 ppc64le build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/U1804PPC64LEBUILD/config.status/config.status
Ubuntu 18.04 ppc64le build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/U1804PPC64LEBUILD/config.log/config.log.gz

Ubuntu 20.04 amd64 build: Failed (click for details) Ubuntu 20.04 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/U2004AMD64BUILD/config.status/config.status

Make failed for Ubuntu 20.04 amd64 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/U2004AMD64BUILD/ErrorLog/log_make.txt)

make[1]: Entering directory '/home/ci/cibuild.5259/frr-source'
In file included from ospfd/ospf_orr.c:41:
ospfd/ospf_lsa.h:290:18: error: struct external_info declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
ospfd/ospf_lsa.h:328:16: error: struct external_info declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
cc1: all warnings being treated as errors
make[1]: *** [Makefile:10310: ospfd/ospf_orr.o] Error 1
In file included from ospfd/ospf_spf.c:24:
ospfd/ospf_spf.c: In function ospf_spf_calculate_schedule:
ospfd/ospf_spf.c:2140:11: error: passing argument 3 of _thread_add_timer_msec from incompatible pointer type [-Werror=incompatible-pointer-types]

Ubuntu 20.04 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/U2004AMD64BUILD/config.log/config.log.gz

Ubuntu 22.04 amd64 build: Failed (click for details) Ubuntu 22.04 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/U22AMD64BUILD/config.status/config.status

Make failed for Ubuntu 22.04 amd64 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/U22AMD64BUILD/ErrorLog/log_make.txt)

make[1]: Entering directory '/home/ci/cibuild.5259/frr-source'
In file included from ospfd/ospf_orr.c:41:
ospfd/ospf_lsa.h:290:60: error: struct external_info declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
ospfd/ospf_lsa.h:328:58: error: struct external_info declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
cc1: all warnings being treated as errors
make[1]: *** [Makefile:10313: ospfd/ospf_orr.o] Error 1
In file included from ospfd/ospf_spf.c:24:
ospfd/ospf_spf.c: In function ospf_spf_calculate_schedule:
ospfd/ospf_spf.c:2140:39: error: passing argument 3 of _thread_add_timer_msec from incompatible pointer type [-Werror=incompatible-pointer-types]

Ubuntu 22.04 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/U22AMD64BUILD/config.log/config.log.gz

FreeBSD 12 amd64 build: Failed (click for details)

Make failed for FreeBSD 12 amd64 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/FBSD12AMD64/ErrorLog/log_make.txt)

gmake[1]: Entering directory '/usr/home/ci/cibuild.5259/frr-source'
In file included from ospfd/ospf_orr.c:41:0:
ospfd/ospf_lsa.h:290:18: error: 'struct external_info' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
ospfd/ospf_lsa.h:328:16: error: 'struct external_info' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
cc1: all warnings being treated as errors
gmake[1]: *** [Makefile:10309: ospfd/ospf_orr.o] Error 1
In file included from ospfd/ospf_spf.c:24:0:
ospfd/ospf_spf.c: In function 'ospf_spf_calculate_schedule':
ospfd/ospf_spf.c:2140:11: error: passing argument 3 of '_thread_add_timer_msec' from incompatible pointer type [-Werror=incompatible-pointer-types]

FreeBSD 12 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/FBSD12AMD64/config.status/config.status
FreeBSD 12 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/FBSD12AMD64/config.log/config.log.gz

Fedora 29 amd64 build: Failed (click for details)

Make failed for Fedora 29 amd64 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/F29BUILD/ErrorLog/log_make.txt)

make[1]: Entering directory '/home/ci/cibuild.5259/frr-source'
In file included from ospfd/ospf_orr.c:41:
ospfd/ospf_lsa.h:290:18: error: struct external_info declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
ospfd/ospf_lsa.h:328:16: error: struct external_info declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
cc1: all warnings being treated as errors
make[1]: *** [Makefile:10309: ospfd/ospf_orr.o] Error 1
In file included from ospfd/ospf_spf.c:24:
ospfd/ospf_spf.c: In function ospf_spf_calculate_schedule:
ospfd/ospf_spf.c:2140:11: error: passing argument 3 of _thread_add_timer_msec from incompatible pointer type [-Werror=incompatible-pointer-types]

Fedora 29 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/F29BUILD/config.status/config.status
Fedora 29 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/F29BUILD/config.log/config.log.gz

Ubuntu 18.04 arm7 build: Failed (click for details)

Make failed for Ubuntu 18.04 arm7 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/U18ARM7BUILD/ErrorLog/log_make.txt)

In file included from ./lib/module.h:24:0,
./lib/atomlist.h: In function atomptr_i:
./lib/xref.h:254:22: error: xref_array_attr attribute directive ignored [-Werror=attributes]
./lib/assert/assert.h:68:3: note: in expansion of macro XREF_LINK
./lib/atomlist.h:55:2: note: in expansion of macro assert
In file included from ./lib/typesafe.h:23:0,
./lib/xref.h:254:43: error: unused variable xref_p_0 [-Werror=unused-variable]
./lib/compiler.h:141:24: note: in definition of macro _CONCAT2
 #define _CONCAT2(a, b) a ## b

Ubuntu 18.04 arm7 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/U18ARM7BUILD/config.log/config.log.gz
Ubuntu 18.04 arm7 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/U18ARM7BUILD/config.status/config.status

Ubuntu 18.04 arm8 build: Failed (click for details) Ubuntu 18.04 arm8 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/U18ARM8BUILD/config.status/config.status Ubuntu 18.04 arm8 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/U18ARM8BUILD/config.log/config.log.gz

Make failed for Ubuntu 18.04 arm8 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5259/artifact/U18ARM8BUILD/ErrorLog/log_make.txt)

In file included from ./lib/module.h:24:0,
./lib/atomlist.h: In function atomptr_i:
./lib/xref.h:254:22: error: xref_array_attr attribute directive ignored [-Werror=attributes]
./lib/assert/assert.h:68:3: note: in expansion of macro XREF_LINK
./lib/atomlist.h:55:2: note: in expansion of macro assert
In file included from ./lib/typesafe.h:23:0,
./lib/xref.h:254:43: error: unused variable xref_p_0 [-Werror=unused-variable]
./lib/compiler.h:141:24: note: in definition of macro _CONCAT2
 #define _CONCAT2(a, b) a ## b
Report for bgpd.h | 2 issues
===============================================
< WARNING: line over 80 characters
< #1454: FILE: /tmp/f1-27749/bgpd.h:1454:
Report for bgp_orr.c | 61 issues
===============================================
WARNING: externs should be avoided in .c files
#29: FILE: /tmp/f1-27749/bgp_orr.c:29:
+extern struct zclient *zclient;

WARNING: Block comments use a trailing */ on a separate line
#139: FILE: /tmp/f1-27749/bgp_orr.c:139:
+	 * configured. */

WARNING: Block comments use a trailing */ on a separate line
#168: FILE: /tmp/f1-27749/bgp_orr.c:168:
+	 * and delete igp_metric_info calculated for this group */

WARNING: Block comments use a trailing */ on a separate line
#335: FILE: /tmp/f1-27749/bgp_orr.c:335:
+		 * reachable. */

WARNING: line over 80 characters
#439: FILE: /tmp/f1-27749/bgp_orr.c:439:
+							    ? "Tertiary Root is NULL"

WARNING: line over 80 characters
#440: FILE: /tmp/f1-27749/bgp_orr.c:440:
+							    : "No change in Active Root");

WARNING: Missing a blank line after declarations
#473: FILE: /tmp/f1-27749/bgp_orr.c:473:
+	struct bgp_orr_group *orr_group;
+	orr_group = bgp_orr_group_lookup_by_name(bgp, afi, safi, name);

WARNING: Missing a blank line after declarations
#497: FILE: /tmp/f1-27749/bgp_orr.c:497:
+	struct bgp_orr_group *orr_group = NULL;
+	if (!peer)

WARNING: else is not generally useful after a break or return
#524: FILE: /tmp/f1-27749/bgp_orr.c:524:
+			return CMD_SUCCESS;
+		} else {

WARNING: Missing a blank line after declarations
#552: FILE: /tmp/f1-27749/bgp_orr.c:552:
+	struct bgp_orr_group *orr_group = NULL;
+	assert(peer && peer->bgp && orr_group_name);

WARNING: else is not generally useful after a break or return
#808: FILE: /tmp/f1-27749/bgp_orr.c:808:
+			return true;
+		else {

WARNING: Block comments use a trailing */ on a separate line
#810: FILE: /tmp/f1-27749/bgp_orr.c:810:
+			 * Address Family */

WARNING: Block comments use a trailing */ on a separate line
#856: FILE: /tmp/f1-27749/bgp_orr.c:856:
+		 * Primary/Secondary */

WARNING: Block comments use a trailing */ on a separate line
#1015: FILE: /tmp/f1-27749/bgp_orr.c:1015:
+		 * group */
Report for bgp_orr.h | 4 issues
===============================================
WARNING: do not add new typedefs
#38: FILE: /tmp/f1-27749/bgp_orr.h:38:
+typedef enum {
Report for bgp_vty.c | 24 issues
===============================================
< WARNING: line over 80 characters
< #917: FILE: /tmp/f1-27749/bgp_vty.c:917:
< WARNING: C99 // comments do not match recommendation
< #6023: FILE: /tmp/f1-27749/bgp_vty.c:6023:
< WARNING: please, no spaces at the start of a line
< #6024: FILE: /tmp/f1-27749/bgp_vty.c:6024:
< WARNING: C99 // comments do not match recommendation
< #6024: FILE: /tmp/f1-27749/bgp_vty.c:6024:
< ERROR: code indent should use tabs where possible
< #6037: FILE: /tmp/f1-27749/bgp_vty.c:6037:
< WARNING: line over 80 characters
< #6040: FILE: /tmp/f1-27749/bgp_vty.c:6040:
< WARNING: line over 80 characters
< #6043: FILE: /tmp/f1-27749/bgp_vty.c:6043:
< ERROR: code indent should use tabs where possible
< #6044: FILE: /tmp/f1-27749/bgp_vty.c:6044:
< WARNING: please, no spaces at the start of a line
< #6044: FILE: /tmp/f1-27749/bgp_vty.c:6044:
< WARNING: C99 // comments do not match recommendation
< #6059: FILE: /tmp/f1-27749/bgp_vty.c:6059:
< WARNING: C99 // comments do not match recommendation
< #6090: FILE: /tmp/f1-27749/bgp_vty.c:6090:
< WARNING: Missing a blank line after declarations
< #6162: FILE: /tmp/f1-27749/bgp_vty.c:6162:
Report for ospf_lsa.c | 4 issues
===============================================
< ERROR: do not use assignment in if condition
< #3425: FILE: /tmp/f1-27749/ospf_lsa.c:3425:
< ERROR: do not use assignment in if condition
< #3466: FILE: /tmp/f1-27749/ospf_lsa.c:3466:
Report for ospf_lsa.h | 8 issues
===============================================
< WARNING: please, no space before tabs
< #78: FILE: /tmp/f1-27749/ospf_lsa.h:78:
< WARNING: please, no space before tabs
< #79: FILE: /tmp/f1-27749/ospf_lsa.h:79:
< WARNING: please, no space before tabs
< #80: FILE: /tmp/f1-27749/ospf_lsa.h:80:
< WARNING: please, no space before tabs
< #81: FILE: /tmp/f1-27749/ospf_lsa.h:81:
Report for ospf_orr.c | 152 issues
===============================================
WARNING: please, no space before tabs
#4: FILE: /tmp/f1-27749/ospf_orr.c:4:
+ * ^I^I^IMadhurilatha Kuruganti$

WARNING: externs should be avoided in .c files
#49: FILE: /tmp/f1-27749/ospf_orr.c:49:
+void ospf_show_orr(struct ospf *ospf, afi_t afi, safi_t safi);

ERROR: do not use assignment in if condition
#138: FILE: /tmp/f1-27749/ospf_orr.c:138:
+	if (!(ospf = ospf_lookup_by_vrf_id(VRF_DEFAULT)))

ERROR: do not use assignment in if condition
#166: FILE: /tmp/f1-27749/ospf_orr.c:166:
+	if (!(ospf = ospf_lookup_by_vrf_id(VRF_DEFAULT)))

ERROR: do not use assignment in if condition
#194: FILE: /tmp/f1-27749/ospf_orr.c:194:
+	if (!(ospf = ospf_lookup_by_vrf_id(VRF_DEFAULT)))

ERROR: "foo * bar" should be "foo *bar"
#265: FILE: /tmp/f1-27749/ospf_orr.c:265:
+	struct ospf_route * or ;

WARNING: space prohibited before semicolon
#265: FILE: /tmp/f1-27749/ospf_orr.c:265:
+	struct ospf_route * or ;

ERROR: do not use assignment in if condition
#277: FILE: /tmp/f1-27749/ospf_orr.c:277:
+		if (!(or = rn->info))

WARNING: void function return statements are not generally useful
#324: FILE: /tmp/f1-27749/ospf_orr.c:324:
+	return;
+}

WARNING: void function return statements are not generally useful
#345: FILE: /tmp/f1-27749/ospf_orr.c:345:
+	return;
+}

ERROR: do not use assignment in if condition
#361: FILE: /tmp/f1-27749/ospf_orr.c:361:
+	if (!(ospf = ospf_lookup_by_vrf_id(VRF_DEFAULT)))

WARNING: Block comments use a trailing */ on a separate line
#391: FILE: /tmp/f1-27749/ospf_orr.c:391:
+	 * ignore update */

WARNING: void function return statements are not generally useful
#404: FILE: /tmp/f1-27749/ospf_orr.c:404:
+	return;
+}

ERROR: "foo * bar" should be "foo *bar"
#436: FILE: /tmp/f1-27749/ospf_orr.c:436:
+	struct ospf_route * or ;

WARNING: space prohibited before semicolon
#436: FILE: /tmp/f1-27749/ospf_orr.c:436:
+	struct ospf_route * or ;

WARNING: Block comments use * on subsequent lines
#439: FILE: /tmp/f1-27749/ospf_orr.c:439:
+	/* rt contains new routing table, new_table contains an old one.
+	   updating pointers */

WARNING: Block comments use a trailing */ on a separate line
#439: FILE: /tmp/f1-27749/ospf_orr.c:439:
+	   updating pointers */

ERROR: code indent should use tabs where possible
#446: FILE: /tmp/f1-27749/ospf_orr.c:446:
+        /* Delete old routes. */$

ERROR: code indent should use tabs where possible
#447: FILE: /tmp/f1-27749/ospf_orr.c:447:
+        if (root->old_table)$

WARNING: please, no spaces at the start of a line
#447: FILE: /tmp/f1-27749/ospf_orr.c:447:
+        if (root->old_table)$

ERROR: code indent should use tabs where possible
#448: FILE: /tmp/f1-27749/ospf_orr.c:448:
+                ospf_route_delete_uniq(root, root->old_table, rt);$

WARNING: please, no spaces at the start of a line
#448: FILE: /tmp/f1-27749/ospf_orr.c:448:
+                ospf_route_delete_uniq(root, root->old_table, rt);$

ERROR: do not use assignment in if condition
#452: FILE: /tmp/f1-27749/ospf_orr.c:452:
+		if ((or = rn->info) != NULL) {

ERROR: code indent should use tabs where possible
#458: FILE: /tmp/f1-27749/ospf_orr.c:458:
+                                        ospf_zebra_add($

WARNING: please, no spaces at the start of a line
#458: FILE: /tmp/f1-27749/ospf_orr.c:458:
+                                        ospf_zebra_add($

ERROR: code indent should use tabs where possible
#459: FILE: /tmp/f1-27749/ospf_orr.c:459:
+                                                ospf,$

WARNING: please, no spaces at the start of a line
#459: FILE: /tmp/f1-27749/ospf_orr.c:459:
+                                                ospf,$

ERROR: code indent should use tabs where possible
#460: FILE: /tmp/f1-27749/ospf_orr.c:460:
+                                                (struct prefix_ipv4 *)&rn->p,$

WARNING: please, no spaces at the start of a line
#460: FILE: /tmp/f1-27749/ospf_orr.c:460:
+                                                (struct prefix_ipv4 *)&rn->p,$

ERROR: code indent should use tabs where possible
#461: FILE: /tmp/f1-27749/ospf_orr.c:461:
+                                                or);$

WARNING: please, no spaces at the start of a line
#461: FILE: /tmp/f1-27749/ospf_orr.c:461:
+                                                or);$

ERROR: code indent should use tabs where possible
#469: FILE: /tmp/f1-27749/ospf_orr.c:469:
+                                        ospf_zebra_add_discard($

WARNING: please, no spaces at the start of a line
#469: FILE: /tmp/f1-27749/ospf_orr.c:469:
+                                        ospf_zebra_add_discard($

ERROR: code indent should use tabs where possible
#470: FILE: /tmp/f1-27749/ospf_orr.c:470:
+                                                ospf,$

WARNING: please, no spaces at the start of a line
#470: FILE: /tmp/f1-27749/ospf_orr.c:470:
+                                                ospf,$

ERROR: code indent should use tabs where possible
#471: FILE: /tmp/f1-27749/ospf_orr.c:471:
+                                                (struct prefix_ipv4 *)&rn->p);$

WARNING: please, no spaces at the start of a line
#471: FILE: /tmp/f1-27749/ospf_orr.c:471:
+                                                (struct prefix_ipv4 *)&rn->p);$
Report for ospf_orr.h | 4 issues
===============================================
WARNING: please, no space before tabs
#4: FILE: /tmp/f1-27749/ospf_orr.h:4:
+ * ^I^I^IMadhurilatha Kuruganti$
Report for ospf_spf.c | 8 issues
===============================================
< WARNING: Block comments use a trailing */ on a separate line
< #1976: FILE: /tmp/f1-27749/ospf_spf.c:1976:
< WARNING: Block comments use a trailing */ on a separate line
< #1987: FILE: /tmp/f1-27749/ospf_spf.c:1987:
< WARNING: Block comments use a trailing */ on a separate line
< #2012: FILE: /tmp/f1-27749/ospf_spf.c:2012:
< WARNING: Block comments use a trailing */ on a separate line
< #2034: FILE: /tmp/f1-27749/ospf_spf.c:2034:
Report for ospf_vty.c | 4 issues
===============================================
< WARNING: Missing a blank line after declarations
< #11157: FILE: /tmp/f1-27749/ospf_vty.c:11157:
< WARNING: unnecessary whitespace before a quoted newline
< #11164: FILE: /tmp/f1-27749/ospf_vty.c:11164:

@ton31337 ton31337 self-requested a review May 8, 2022 11:59
Copy link
Member

@ton31337 ton31337 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A couple of questions + please update at least the same description as in PR to be in a commit. Btw, can we provide terse (at least) documentation for new CLI commands?

bgpd/bgp_orr.c Outdated Show resolved Hide resolved
ospfd/ospf_spf.c Outdated Show resolved Hide resolved
ospfd/ospf_orr.c Outdated Show resolved Hide resolved
ospfd/ospf_orr.c Outdated Show resolved Hide resolved
ospfd/ospf_lsa.h Outdated Show resolved Hide resolved
bgpd/bgp_orr.c Outdated Show resolved Hide resolved
bgpd/bgp_orr.c Outdated Show resolved Hide resolved
bgpd/bgp_orr.c Outdated Show resolved Hide resolved
bgpd/bgp_orr.c Outdated Show resolved Hide resolved
bgpd/bgp_orr.c Show resolved Hide resolved
@riw777 riw777 self-requested a review May 10, 2022 15:25
Copy link
Member

@riw777 riw777 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

some minor questions; no major code changes beyond what @ton31337 has already pointed out

bgpd/bgp_orr.c Show resolved Hide resolved
bgpd/bgp_orr.c Outdated Show resolved Hide resolved
bgpd/bgp_orr.c Show resolved Hide resolved
Copy link
Contributor

@rgirada rgirada left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please divide the commit into multiple commits and raise separate commit for each module at least . Like separate commit for ospf specific changes.

ospfd/ospf_dump.c Show resolved Hide resolved
ospfd/ospf_orr.c Outdated Show resolved Hide resolved
ospfd/ospf_orr.c Outdated Show resolved Hide resolved
ospfd/ospf_orr.c Outdated Show resolved Hide resolved
assert(ospf);

FOREACH_AFI_SAFI (afi, safi) {
orr_root_list = ospf->orr_root[afi][safi];
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe this api is for debugging purpose so it is better to call this api under debug instead of allowing to loop here . It is an unnecessary processing if debug is not enabled.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

calling the function under debug if (IS_DEBUG_OSPF_ORR) in functions ospf_orr_igp_metric_register() and ospf_orr_root_table_update().

ospfd/ospf_orr.c Outdated Show resolved Hide resolved
ospfd/ospf_orr.c Outdated Show resolved Hide resolved
ospfd/ospf_vty.c Outdated Show resolved Hide resolved
@riw777
Copy link
Member

riw777 commented Aug 16, 2022

@maduri111 any updates on this?

@maduri111
Copy link
Contributor Author

@maduri111 any updates on this?
Sorry for the delay. Will update the PR by end of this month will all comments addressed and other changes required.

@ton31337
Copy link
Member

Let's wait until October 4, when the freeze ends.

@ton31337 ton31337 self-requested a review September 20, 2022 20:37
bgpd/bgp_vty.c Outdated Show resolved Hide resolved
bgpd/bgp_vty.c Outdated Show resolved Hide resolved
bgpd/bgp_orr.c Outdated Show resolved Hide resolved
@ton31337
Copy link
Member

@maduri111 could you rebase?

@maduri111
Copy link
Contributor Author

@maduri111 could you rebase?

sure.

@NetDEF-CI
Copy link
Collaborator

NetDEF-CI commented Oct 11, 2022

Continuous Integration Result: FAILED

Continuous Integration Result: FAILED

Test incomplete. See below for issues.
CI System Testrun URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-7843/

This is a comment from an automated CI system.
For questions and feedback in regards to this CI system, please feel free to email
Martin Winter - mwinter (at) opensourcerouting.org.

Get source / Pull Request: Successful

Building Stage: Successful

Basic Tests: Incomplete

Topotests Ubuntu 18.04 i386 part 0: Incomplete (check logs for details)
Topotests Ubuntu 18.04 amd64 part 8: Failed (click for details)

Topology Test Results are at https://ci1.netdef.org/browse/FRR-PULLREQ2-TOPO8U18ARM64-7843/test

Topology Tests failed for Topotests Ubuntu 18.04 amd64 part 8
see full log at https://ci1.netdef.org/browse/FRR-PULLREQ2-7843/artifact/TOPO8U18ARM64/ErrorLog/log_topotests.txt

Topotests Ubuntu 18.04 amd64 part 6: Failed (click for details)

Topology Test Results are at https://ci1.netdef.org/browse/FRR-PULLREQ2-TOPO6U18AMD64-7843/test

Topology Tests failed for Topotests Ubuntu 18.04 amd64 part 6
see full log at https://ci1.netdef.org/browse/FRR-PULLREQ2-7843/artifact/TOPO6U18AMD64/ErrorLog/log_topotests.txt

Successful on other platforms/tests
  • Addresssanitizer topotests part 8
  • Topotests Ubuntu 18.04 arm8 part 5
  • CentOS 7 rpm pkg check
  • Topotests Ubuntu 18.04 amd64 part 9
  • Topotests Ubuntu 18.04 i386 part 9
  • Addresssanitizer topotests part 6
  • Static analyzer (clang)
  • Topotests debian 10 amd64 part 1
  • Topotests Ubuntu 18.04 amd64 part 1
  • Topotests Ubuntu 18.04 i386 part 5
  • Topotests debian 10 amd64 part 2
  • Topotests debian 10 amd64 part 7
  • Topotests Ubuntu 18.04 arm8 part 0
  • Topotests debian 10 amd64 part 3
  • Addresssanitizer topotests part 0
  • Ubuntu 18.04 deb pkg check
  • Topotests Ubuntu 18.04 arm8 part 6
  • Topotests Ubuntu 18.04 arm8 part 1
  • Topotests debian 10 amd64 part 6
  • Topotests debian 10 amd64 part 5
  • Addresssanitizer topotests part 1
  • Topotests Ubuntu 18.04 arm8 part 3
  • Topotests Ubuntu 18.04 i386 part 4
  • Topotests debian 10 amd64 part 4
  • Debian 9 deb pkg check
  • Addresssanitizer topotests part 4
  • Topotests debian 10 amd64 part 9
  • Topotests Ubuntu 18.04 arm8 part 8
  • Addresssanitizer topotests part 7
  • Topotests Ubuntu 18.04 i386 part 2
  • Topotests Ubuntu 18.04 amd64 part 3
  • Topotests Ubuntu 18.04 i386 part 7
  • Addresssanitizer topotests part 5
  • Topotests Ubuntu 18.04 i386 part 6
  • Topotests Ubuntu 18.04 amd64 part 2
  • Ubuntu 16.04 deb pkg check
  • Topotests Ubuntu 18.04 amd64 part 4
  • Topotests Ubuntu 18.04 i386 part 8
  • Topotests Ubuntu 18.04 i386 part 1
  • Topotests debian 10 amd64 part 8
  • Topotests Ubuntu 18.04 arm8 part 4
  • Addresssanitizer topotests part 2
  • Topotests Ubuntu 18.04 arm8 part 9
  • Ubuntu 20.04 deb pkg check
  • Topotests Ubuntu 18.04 amd64 part 5
  • Topotests Ubuntu 18.04 amd64 part 0
  • Debian 10 deb pkg check
  • Fedora 29 rpm pkg check
  • Topotests Ubuntu 18.04 arm8 part 2
  • Topotests debian 10 amd64 part 0
  • Topotests Ubuntu 18.04 amd64 part 7
  • Topotests Ubuntu 18.04 arm8 part 7
  • Addresssanitizer topotests part 3
  • Topotests Ubuntu 18.04 i386 part 3
  • Addresssanitizer topotests part 9

@maduri111
Copy link
Contributor Author

ci:rerun TopoTests Ubuntu 18.04 amd64 Part 6 and TopoTests Ubuntu 18.04 amd64 Part 8 failed

@NetDEF-CI
Copy link
Collaborator

NetDEF-CI commented Oct 11, 2022

Continuous Integration Result: FAILED

Continuous Integration Result: FAILED

See below for issues.
CI System Testrun URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-7849/

This is a comment from an automated CI system.
For questions and feedback in regards to this CI system, please feel free to email
Martin Winter - mwinter (at) opensourcerouting.org.

Get source / Pull Request: Successful

Building Stage: Failed

Debian 10 amd64 build: Failed (click for details) Debian 10 amd64 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-7849/artifact/DEB10BUILD/frr.xref.xz/frr.xref.xz Debian 10 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-7849/artifact/DEB10BUILD/config.status/config.status Debian 10 amd64 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-7849/artifact/DEB10BUILD/ErrorLog/ Debian 10 amd64 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-7849/artifact/DEB10BUILD/config.log/config.log.gz Debian 10 amd64 build: No useful log found
Successful on other platforms/tests
  • Redhat 8 amd64 build
  • Redhat 9 amd64 build
  • OpenBSD 7 amd64 build
  • FreeBSD 11 amd64 build
  • Ubuntu 16.04 arm7 build
  • Ubuntu 18.04 i386 build
  • Ubuntu 18.04 amd64 build
  • Ubuntu 16.04 amd64 build
  • Ubuntu 20.04 amd64 build
  • NetBSD 9 amd64 build
  • Debian 9 amd64 build
  • Ubuntu 16.04 arm8 build
  • CentOS 7 amd64 build
  • Ubuntu 18.04 ppc64le build
  • Ubuntu 22.04 amd64 build
  • FreeBSD 12 amd64 build
  • Debian 11 amd64 build
  • Fedora 29 amd64 build
  • Ubuntu 16.04 i386 build
  • Ubuntu 18.04 arm7 build
  • Ubuntu 18.04 arm8 build

Warnings Generated during build:

Checkout code: Successful with additional warnings
Debian 10 amd64 build: Failed (click for details) Debian 10 amd64 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-7849/artifact/DEB10BUILD/frr.xref.xz/frr.xref.xz Debian 10 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-7849/artifact/DEB10BUILD/config.status/config.status Debian 10 amd64 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-7849/artifact/DEB10BUILD/ErrorLog/ Debian 10 amd64 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-7849/artifact/DEB10BUILD/config.log/config.log.gz Debian 10 amd64 build: No useful log found
Report for bgp_orr.c | 16 issues
===============================================
WARNING: line over 80 characters
#413: FILE: /tmp/f1-1478361/bgp_orr.c:413:
+							    ? "Tertiary Root is NULL"

WARNING: line over 80 characters
#414: FILE: /tmp/f1-1478361/bgp_orr.c:414:
+							    : "No change in Active Root");

WARNING: Too many leading tabs - consider code refactoring
#1041: FILE: /tmp/f1-1478361/bgp_orr.c:1041:
+						if (prefix_cmp(

WARNING: line over 80 characters
#1043: FILE: /tmp/f1-1478361/bgp_orr.c:1043:
+							    &table->nexthop[entry]
Report for ospf_orr.c | 4 issues
===============================================
WARNING: space prohibited before semicolon
#328: FILE: /tmp/f1-1478361/ospf_orr.c:328:
+	struct ospf_route *or ;

@NetDEF-CI
Copy link
Collaborator

Continuous Integration Result: SUCCESSFUL

Congratulations, this patch passed basic tests

Tested-by: NetDEF / OpenSourceRouting.org CI System

CI System Testrun URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-7853/

This is a comment from an automated CI system.
For questions and feedback in regards to this CI system, please feel free to email
Martin Winter - mwinter (at) opensourcerouting.org.

Warnings Generated during build:

Checkout code: Successful with additional warnings
Report for bgp_orr.c | 16 issues
===============================================
WARNING: line over 80 characters
#413: FILE: /tmp/f1-3710019/bgp_orr.c:413:
+							    ? "Tertiary Root is NULL"

WARNING: line over 80 characters
#414: FILE: /tmp/f1-3710019/bgp_orr.c:414:
+							    : "No change in Active Root");

WARNING: Too many leading tabs - consider code refactoring
#1041: FILE: /tmp/f1-3710019/bgp_orr.c:1041:
+						if (prefix_cmp(

WARNING: line over 80 characters
#1043: FILE: /tmp/f1-3710019/bgp_orr.c:1043:
+							    &table->nexthop[entry]

@riw777
Copy link
Member

riw777 commented Oct 12, 2022

there still seem to be a couple of comments outstanding, as well as lint suggestions ... if we can get these last little bits bits cleaned up, we can push this ...

@maduri111
Copy link
Contributor Author

there still seem to be a couple of comments outstanding, as well as lint suggestions ... if we can get these last little bits bits cleaned up, we can push this ...

@riw777 I think 3 comments are not resolved but those 3 are also addressed. i just added a reply comment now for those 3. please check

@riw777 riw777 merged commit 984eb32 into FRRouting:master Oct 12, 2022
@maduri111 maduri111 deleted the bgpd-orr branch October 12, 2022 13:42
@brotherdust
Copy link

@maduri111 , as of today (9/6/23), these changes don’t seem to be present in FRR master. Am I missing something? I can’t find any references in the docs. This should have been a headline feature on one of the recent FRR releases. Please advise. Thanks!

@brotherdust
Copy link

@maduri111 , just following up here. I'm still not seeing these changes merged, even though Github says it has been. Would very much like to use this feature.

@brotherdust
Copy link

@maduri111 , nevermind. It looks like all your work got reverted in #12651 . Sad. As I said before, I have no idea how to make topotests, but I'm going to give it a go. I really want and could benefit from this feature.

@pguibert6WIND
Copy link
Member

@brotherdust , @maduri111 , @ton31337 , independently of the testing, what were the regressions found when orr was integrated?

@ton31337
Copy link
Member

1720684677

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants