Jorge Boncompte <jbonor@gmail.com>: Author Summary

Builds triggered by Jorge Boncompte <jbonor@gmail.com>

Builds triggered by an author are those builds which contains changes committed by the author.
18
7 (39%)
11 (61%)

Breakages and fixes

Broken means the build has failed but the previous build was successful.
Fixed means that the build was successful but the previous build has failed.
5 (28% of all builds triggered)
0 (0% of all builds triggered)
-5
Build Completed Code commits Tests
FRR › TOPOPR › #35 1 year ago
bgpd: inline bgp_lock()/bgp_unlock()
Signed-off-by: Jorge Boncompte <jbonor@gmail.com>
lib: optimize IPV4_ADDR_[SAME|COPY]()
Change all callers of IPV4_ADDR_SAME() to pass a pointer to a struct in_addr

Use assignment and comparison instead of memcpy() and memcmp(). Avoids function
calls. Faster.

Signed-off-by: Jorge Boncompte <jbonor@gmail.com>
lib: standardize use of queue.h
The simple queue implementation in OpenBSD and FreeBSD are called diferently,
standardize in the use of the FreeBSD version and map the missing names only
if we compile on OpenBSD.

Signed-off-by: Jorge Boncompte <jbonor@gmail.com>
bgpd: bgp process queue optimization
There are several code paths that dump nodes to the queue for route
processing in a loop. This patch tries to reduce memory allocations/freeing
(work item, list node) and thread scheduling overhead by batching the nodes
in a simple queue list.

In the past when route processing wasn't event driven (bgp_scan()), this used
to have a noticeable impact in table loading, convergence time and memory heap
fragmentation due to reduced alloc's/free's.

Signed-off-by: Jorge Boncompte <jbonor@gmail.com>
lib: cleanup the work queue implementation
Convert the work queue implementation to not use the generic linked list
to mantain the item list and use instead a simple queue from queue.h that
does not allocate memory for each node.

Signed-off-by: Jorge Boncompte <jbonor@gmail.com>
lib: inline route_node_lock()/route_node_unlock()
Avoid function calls.

Signed-off-by: Jorge Boncompte <jbonor@gmail.com>
215 passed
FRR › FRR › #459 1 year ago
lib: cleanup the work queue implementation
Convert the work queue implementation to not use the generic linked list
to mantain the item list and use instead a simple queue from queue.h that
does not allocate memory for each node.

Signed-off-by: Jorge Boncompte <jbonor@gmail.com>
lib: inline route_node_lock()/route_node_unlock()
Avoid function calls.

Signed-off-by: Jorge Boncompte <jbonor@gmail.com>
lib: standardize use of queue.h
The simple queue implementation in OpenBSD and FreeBSD are called diferently,
standardize in the use of the FreeBSD version and map the missing names only
if we compile on OpenBSD.

Signed-off-by: Jorge Boncompte <jbonor@gmail.com>
bgpd: inline bgp_lock()/bgp_unlock()
Signed-off-by: Jorge Boncompte <jbonor@gmail.com>
bgpd: bgp process queue optimization
There are several code paths that dump nodes to the queue for route
processing in a loop. This patch tries to reduce memory allocations/freeing
(work item, list node) and thread scheduling overhead by batching the nodes
in a simple queue list.

In the past when route processing wasn't event driven (bgp_scan()), this used
to have a noticeable impact in table loading, convergence time and memory heap
fragmentation due to reduced alloc's/free's.

Signed-off-by: Jorge Boncompte <jbonor@gmail.com>
lib: optimize IPV4_ADDR_[SAME|COPY]()
Change all callers of IPV4_ADDR_SAME() to pass a pointer to a struct in_addr

Use assignment and comparison instead of memcpy() and memcmp(). Avoids function
calls. Faster.

Signed-off-by: Jorge Boncompte <jbonor@gmail.com>
3459 passed
FRR › TOPOPR › #34 1 year ago
nhrpd: fixes for clang scan-build issues
Signed-off-by: Jorge Boncompte <jbonor@gmail.com>
190 passed
FRR › TOPOPR › #33 1 year ago
nhrpd: fixes for clang scan-build issues
Signed-off-by: Jorge Boncompte <jbonor@gmail.com>
nhrpd: fix issues found by coverity
Signed-off-by: Jorge Boncompte <jbonor@gmail.com>
214 passed
FRR › TOPOPR › #32 1 year ago
nhrpd: fix issues found by coverity
Signed-off-by: Jorge Boncompte <jbonor@gmail.com>
nhrpd: fixes for clang scan-build issues
Signed-off-by: Jorge Boncompte <jbonor@gmail.com>
1 of 174 failed
FRR › TOPOPR › #31 1 year ago
nhrpd: fix issues found by coverity
Signed-off-by: Jorge Boncompte <jbonor@gmail.com>
nhrpd: fixes for clang scan-build issues
Signed-off-by: Jorge Boncompte <jbonor@gmail.com>
1 of 174 failed
FRR › TOPOPR › #30 1 year ago
nhrpd: fixes for clang scan-build issues
Signed-off-by: Jorge Boncompte <jbonor@gmail.com>
nhrpd: fix issues found by coverity
Signed-off-by: Jorge Boncompte <jbonor@gmail.com>
1 of 174 failed
FRR › TOPOPR › #29 1 year ago
nhrpd: fixes for clang scan-build issues
Signed-off-by: Jorge Boncompte <jbonor@gmail.com>
nhrpd: fix issues found by coverity
Signed-off-by: Jorge Boncompte <jbonor@gmail.com>
27 of 237 failed
You have insufficient permissions to see all of the builds.
Build Completed Code commits Tests
FRR › TOPOPR › #32 1 year ago
nhrpd: fix issues found by coverity
Signed-off-by: Jorge Boncompte <jbonor@gmail.com>
nhrpd: fixes for clang scan-build issues
Signed-off-by: Jorge Boncompte <jbonor@gmail.com>
1 of 174 failed
FRR › TOPOPR › #31 1 year ago
nhrpd: fix issues found by coverity
Signed-off-by: Jorge Boncompte <jbonor@gmail.com>
nhrpd: fixes for clang scan-build issues
Signed-off-by: Jorge Boncompte <jbonor@gmail.com>
1 of 174 failed
FRR › TOPOPR › #30 1 year ago
nhrpd: fixes for clang scan-build issues
Signed-off-by: Jorge Boncompte <jbonor@gmail.com>
nhrpd: fix issues found by coverity
Signed-off-by: Jorge Boncompte <jbonor@gmail.com>
1 of 174 failed
FRR › TOPOPR › #29 1 year ago
nhrpd: fixes for clang scan-build issues
Signed-off-by: Jorge Boncompte <jbonor@gmail.com>
nhrpd: fix issues found by coverity
Signed-off-by: Jorge Boncompte <jbonor@gmail.com>
27 of 237 failed
FRR › TOPOPR › #27 1 year ago
nhrp: fix assertion with negative holding times
Correctly reset status or we later assert at nhrp_cache_free().

Signed-off-by: Jorge Boncompte <jbonor@gmail.com>
zebra: add missing protocols names to source-protocol route-map match
Signed-off-by: Jorge Boncompte <jbonor@gmail.com>
zebra: hide netlink warning message
Signed-off-by: Jorge Boncompte <jbonor@gmail.com>
zebra: do not treat kernel routes as implicit withdraws
Kernel does not send the best route after adding or deleting routes, if
we treat routes for an existing prefix as implicit withdraw the zebra RIB
goes out of sync with FIB and can announce wrong route to protocols.

host:~# vtysh -c 'show ip route'
S>* 0.0.0.0/0 [0/0] via 192.168.1.1, eth0
C>* 192.168.1.0/24 is directly connected, eth0

host:~# ip route add 192.0.2.0/24 via 192.168.1.101 metric 100
host:~# vtysh -c 'show ip route'
S>* 0.0.0.0/0 [0/0] via 192.168.1.1, eth0
K>* 192.0.2.0/24 via 192.168.1.101, eth0
C>* 192.168.1.0/24 is directly connected, eth0

host:~# ip route add 192.0.2.0/24 via 192.168.1.102 metric 50
host:~# vtysh -c 'show ip route'
S>* 0.0.0.0/0 [0/0] via 192.168.1.1, eth0
K>* 192.0.2.0/24 via 192.168.1.102, eth0
C>* 192.168.1.0/24 is directly connected, eth0

host:~# ip route del 192.0.2.0/24 via 192.168.1.102 metric 50
host:~# vtysh -c 'show ip route'
S>* 0.0.0.0/0 [0/0] via 192.168.1.1, eth0
C>* 192.168.1.0/24 is directly connected, eth0
host:~# ip route show 192.0.2.0/24
192.0.2.0/24 via 10.10.1.101 dev eth0 metric 100

Signed-off-by: Jorge Boncompte <jbonor@gmail.com>
zebra: do not hide distance and metric for kernel routes
There's no reason for not showing this information.

Signed-off-by: Jorge Boncompte <jbonor@gmail.com>
zebra: show nexthop MTU if available on detailed 'show ip route'
Signed-off-by: Jorge Boncompte <jbonor@gmail.com>
zebra: cleanup, use RIB_SYSTEM_ROUTE() define where appropiate
Signed-off-by: Jorge Boncompte <jbonor@gmail.com>
nhrp: initialize interfaces after VRFs
Interfaces depend logically of VRF, initialize one after another just in
case in the future someone adds something to this functions.

Signed-off-by: Jorge Boncompte <jbonor@gmail.com>
watchfrr: hide systemd message if not systemd available
Signed-off-by: Jorge Boncompte <jbonor@gmail.com>
nhrp: fix initialization and route redistribution registration
nhrpd wasn't registering correctly with zebra for route redistribution.
It wasn't neither parsing the right messages nor parsing them correctly too.

Signed-off-by: Jorge Boncompte <jbonor@gmail.com>
zebra: track and compare distance of recursive nexthops
Fixes routing loops when backup routes with recursive nexthops of other
protocols come and go.

Signed-off-by: Jorge Boncompte <jbonor@gmail.com>
zebra: fix compilation in 32bit platform
RTA_PAYLOAD() return value depends on the platform bits.

make[5]: Nothing to be done for 'all-am'.
Making all in zebra
  CC       rt_netlink.o
../../zebra/rt_netlink.c: In function 'netlink_macfdb_change':
../../zebra/rt_netlink.c:1695:63: error: format '%ld' expects argument of type 'long int', but argument 7 has type 'unsigned int' [-Werror=format=]
    "%s family %s IF %s(%u) brIF %u - LLADDR is not MAC, len %ld",
                                                               ^
../../zebra/rt_netlink.c: In function 'netlink_ipneigh_change':
../../zebra/rt_netlink.c:2024:57: error: format '%ld' expects argument of type 'long int', but argument 6 has type 'unsigned int' [-Werror=format=]
      "%s family %s IF %s(%u) - LLADDR is not MAC, len %ld",
                                                         ^

Signed-off-by: Jorge Boncompte <jbonor@gmail.com>
zebra: copy MTU from non static routes into nexthop
Some routing protocols advertise route MTU (e.g. NHRP), with this patch
installed routes in the kernel have the advertised MTU.

Signed-off-by: Jorge Boncompte <jbonor@gmail.com>
bgpd: remove bogus change in attrhash_key_make()
Commit c8e7b895 ("bgpd: use Jenkins hash for BGP transit, cluster and
attr hashes") changed attrhash_key_make() to use Jenkins hash, commit
c8f3fe30 ("bgpd: Remove AS Path limit/TTL functionality") introduced
a bogus change with a snippet of code that was deleted in the first
one.

Signed-off-by: Jorge Boncompte <jbonor@gmail.com>
2 of 210 failed
Build Completed Code commits Tests