]> git.proxmox.com Git - mirror_frr.git/log
mirror_frr.git
4 years agoMerge pull request #5919 from qlyoung/fix-vrrp-mvl-uaf
Donatas Abraitis [Mon, 9 Mar 2020 06:03:34 +0000 (08:03 +0200)]
Merge pull request #5919 from qlyoung/fix-vrrp-mvl-uaf

vrrpd: Fix heap uaf when handling interface deletions

4 years agoMerge pull request #5936 from rubenk/ldpd-fix-some-more-linking-issues-with-gcc10
Donald Sharp [Mon, 9 Mar 2020 00:04:42 +0000 (20:04 -0400)]
Merge pull request #5936 from rubenk/ldpd-fix-some-more-linking-issues-with-gcc10

Ldpd: fix some more linking issues with gcc10

4 years agoMerge pull request #5922 from pguibert6WIND/nhrp_override_fix
Donald Sharp [Mon, 9 Mar 2020 00:03:14 +0000 (20:03 -0400)]
Merge pull request #5922 from pguibert6WIND/nhrp_override_fix

Revert "nhrpd: ignore zebra updates about our routes being deleted/ad…

4 years agoMerge pull request #5935 from rubenk/tests-fix-linking-with-gcc10
Donald Sharp [Mon, 9 Mar 2020 00:01:38 +0000 (20:01 -0400)]
Merge pull request #5935 from rubenk/tests-fix-linking-with-gcc10

tests: fix build with GCC 10

4 years agoMerge pull request #5937 from ton31337/fix/sizeof
Donald Sharp [Mon, 9 Mar 2020 00:01:10 +0000 (20:01 -0400)]
Merge pull request #5937 from ton31337/fix/sizeof

*: Replace `sizeof something` to sizeof(something)

4 years ago*: Replace `sizeof something` to sizeof(something)
Donatas Abraitis [Sun, 8 Mar 2020 19:43:26 +0000 (21:43 +0200)]
*: Replace `sizeof something` to sizeof(something)

Satisfy checkpatch.pl requirements (check for sizeof without parenthesis)

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
4 years agoldpd: remove multiple definitions of thread_master
Ruben Kerkhof [Sun, 8 Mar 2020 19:21:05 +0000 (20:21 +0100)]
ldpd: remove multiple definitions of thread_master

This fixes the last issue compiling FRR with GCC 10 on Fedora Rawhide.

Signed-off-by: Ruben Kerkhof <ruben@rubenkerkhof.com>
4 years agoldpd: fix another linking issue with GCC-10
Ruben Kerkhof [Sun, 8 Mar 2020 19:17:42 +0000 (20:17 +0100)]
ldpd: fix another linking issue with GCC-10

Signed-off-by: Ruben Kerkhof <ruben@rubenkerkhof.com>
4 years agoMerge pull request #5934 from rubenk/ldpd-fix-linking-error-with-gcc-10
Donald Sharp [Sun, 8 Mar 2020 17:47:03 +0000 (13:47 -0400)]
Merge pull request #5934 from rubenk/ldpd-fix-linking-error-with-gcc-10

Fix linking error on Fedora Rawhide with GCC 10

4 years agotests: fix build with GCC 10
Ruben Kerkhof [Sun, 8 Mar 2020 16:17:49 +0000 (17:17 +0100)]
tests: fix build with GCC 10

Signed-off-by: Ruben Kerkhof <ruben@rubenkerkhof.com>
4 years agoldpd: Fix linking error on Fedora Rawhide with GCC 10
Ruben Kerkhof [Sun, 8 Mar 2020 14:34:40 +0000 (15:34 +0100)]
ldpd: Fix linking error on Fedora Rawhide with GCC 10

GCC 10 switched to -fno-common by default, see
https://gcc.gnu.org/gcc-10/porting_to.html#common for details.

Fixes:
  CCLD     ldpd/ldpd
/usr/bin/ld: ldpd/libldp.a(adjacency.o):/home/ruben/src/frr/ldpd/ldpe.h:294: multiple definition of `pkt_ptr'; ldpd/ldpd.o:/home/ruben/src/frr/ldpd/ldpe.h:294: first defined here

Signed-off-by: Ruben Kerkhof <ruben@rubenkerkhof.com>
4 years agoMerge pull request #5933 from rgirada/frr-static
Donald Sharp [Sun, 8 Mar 2020 14:56:19 +0000 (10:56 -0400)]
Merge pull request #5933 from rgirada/frr-static

staticd: Fixing memory leak issue

4 years agoMerge pull request #5915 from donaldsharp/more_more_more
Russ White [Sun, 8 Mar 2020 14:49:11 +0000 (10:49 -0400)]
Merge pull request #5915 from donaldsharp/more_more_more

More more more

4 years agoMerge pull request #5932 from rubenk/babeld-fix-build-on-rawhide
Donald Sharp [Sun, 8 Mar 2020 01:29:52 +0000 (20:29 -0500)]
Merge pull request #5932 from rubenk/babeld-fix-build-on-rawhide

babeld: fix build on Fedora Rawhide

4 years agostaticd: Fixing memory leak issue
rgirada [Sun, 8 Mar 2020 01:22:52 +0000 (17:22 -0800)]
staticd: Fixing memory leak issue

Memory allotted for staticd specific vrf structers is not
being deallocated when the corresponding vrf is destroyed.

Signed-off-by: Rajesh Girada <rgirada@vmware.com>
4 years agoMerge pull request #5931 from rubenk/vrrpd-fix-build-on-rawhide
Donald Sharp [Sun, 8 Mar 2020 01:09:29 +0000 (20:09 -0500)]
Merge pull request #5931 from rubenk/vrrpd-fix-build-on-rawhide

vrrpd: fix build on Fedora Rawhide

4 years agoMerge pull request #5929 from rubenk/remove-unused-variable
Donald Sharp [Sun, 8 Mar 2020 01:08:56 +0000 (20:08 -0500)]
Merge pull request #5929 from rubenk/remove-unused-variable

bgpd: remove unused variable

4 years agoMerge pull request #5930 from rubenk/fix-staticd-build-on-rawhide
Donald Sharp [Sun, 8 Mar 2020 00:53:12 +0000 (19:53 -0500)]
Merge pull request #5930 from rubenk/fix-staticd-build-on-rawhide

staticd: fix build on Fedora Rawhide

4 years agobabeld: fix build on Fedora Rawhide
Ruben Kerkhof [Sat, 7 Mar 2020 22:51:34 +0000 (23:51 +0100)]
babeld: fix build on Fedora Rawhide

Fixes the following linker errors:
/usr/bin/ld: babeld/libbabel.a(babel_interface.o):/home/ruben/src/frr/babeld/util.h:125: multiple definition of `v4prefix'; babeld/babel_main.o:/home/ruben/src/frr/babeld/util.h:125: first defined here
/usr/bin/ld: babeld/libbabel.a(babel_zebra.o):/home/ruben/src/frr/babeld/util.h:125: multiple definition of `v4prefix'; babeld/babel_main.o:/home/ruben/src/frr/babeld/util.h:125: first defined here
/usr/bin/ld: babeld/libbabel.a(babeld.o):/home/ruben/src/frr/babeld/util.h:125: multiple definition of `v4prefix'; babeld/babel_main.o:/home/ruben/src/frr/babeld/util.h:125: first defined here
/usr/bin/ld: babeld/libbabel.a(kernel.o):/home/ruben/src/frr/babeld/util.h:125: multiple definition of `v4prefix'; babeld/babel_main.o:/home/ruben/src/frr/babeld/util.h:125: first defined here
/usr/bin/ld: babeld/libbabel.a(message.o):/home/ruben/src/frr/babeld/util.h:125: multiple definition of `v4prefix'; babeld/babel_main.o:/home/ruben/src/frr/babeld/util.h:125: first defined here
/usr/bin/ld: babeld/libbabel.a(neighbour.o):/home/ruben/src/frr/babeld/util.h:125: multiple definition of `v4prefix'; babeld/babel_main.o:/home/ruben/src/frr/babeld/util.h:125: first defined here
/usr/bin/ld: babeld/libbabel.a(net.o):/home/ruben/src/frr/babeld/util.h:125: multiple definition of `v4prefix'; babeld/babel_main.o:/home/ruben/src/frr/babeld/util.h:125: first defined here
/usr/bin/ld: babeld/libbabel.a(resend.o):/home/ruben/src/frr/babeld/util.h:125: multiple definition of `v4prefix'; babeld/babel_main.o:/home/ruben/src/frr/babeld/util.h:125: first defined here
/usr/bin/ld: babeld/libbabel.a(route.o):/home/ruben/src/frr/babeld/util.h:125: multiple definition of `v4prefix'; babeld/babel_main.o:/home/ruben/src/frr/babeld/util.h:125: first defined here
/usr/bin/ld: babeld/libbabel.a(source.o):/home/ruben/src/frr/babeld/util.h:125: multiple definition of `v4prefix'; babeld/babel_main.o:/home/ruben/src/frr/babeld/util.h:125: first defined here
/usr/bin/ld: babeld/libbabel.a(util.o):/home/ruben/src/frr/babeld/util.h:125: multiple definition of `v4prefix'; babeld/babel_main.o:/home/ruben/src/frr/babeld/util.h:125: first defined here
/usr/bin/ld: babeld/libbabel.a(xroute.o):/home/ruben/src/frr/babeld/util.h:125: multiple definition of `v4prefix'; babeld/babel_main.o:/home/ruben/src/frr/babeld/util.h:125: first defined here
/usr/bin/ld: babeld/libbabel.a(babel_filter.o):/home/ruben/src/frr/babeld/util.h:125: multiple definition of `v4prefix'; babeld/babel_main.o:/home/ruben/src/frr/babeld/util.h:125: first defined here
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:6015: babeld/babeld] Error 1

Signed-off-by: Ruben Kerkhof <ruben@rubenkerkhof.com>
4 years agovrrpd: fix build on Fedora Rawhide
Ruben Kerkhof [Sat, 7 Mar 2020 22:38:14 +0000 (23:38 +0100)]
vrrpd: fix build on Fedora Rawhide

Fixes the following linker errors:
make[1]: Entering directory '/home/ruben/src/frr'
  CCLD     vrrpd/vrrpd
/usr/bin/ld: vrrpd/libvrrp.a(vrrp.o):/home/ruben/src/frr/vrrpd/vrrp_debug.h:33: multiple definition of `vrrp_dbg_sock'; vrrpd/vrrp_main.o:/home/ruben/src/frr/vrrpd/vrrp_debug.h:33: first defined here
/usr/bin/ld: vrrpd/libvrrp.a(vrrp.o):/home/ruben/src/frr/vrrpd/vrrp_debug.h:31: multiple definition of `vrrp_dbg_pkt'; vrrpd/vrrp_main.o:/home/ruben/src/frr/vrrpd/vrrp_debug.h:31: first defined here
/usr/bin/ld: vrrpd/libvrrp.a(vrrp.o):/home/ruben/src/frr/vrrpd/vrrp_debug.h:32: multiple definition of `vrrp_dbg_proto'; vrrpd/vrrp_main.o:/home/ruben/src/frr/vrrpd/vrrp_debug.h:32: first defined here
/usr/bin/ld: vrrpd/libvrrp.a(vrrp.o):/home/ruben/src/frr/vrrpd/vrrp_debug.h:34: multiple definition of `vrrp_dbg_zebra'; vrrpd/vrrp_main.o:/home/ruben/src/frr/vrrpd/vrrp_debug.h:34: first defined here
/usr/bin/ld: vrrpd/libvrrp.a(vrrp.o):/home/ruben/src/frr/vrrpd/vrrp_debug.h:29: multiple definition of `vrrp_dbg_auto'; vrrpd/vrrp_main.o:/home/ruben/src/frr/vrrpd/vrrp_debug.h:29: first defined here
/usr/bin/ld: vrrpd/libvrrp.a(vrrp.o):/home/ruben/src/frr/vrrpd/vrrp_debug.h:30: multiple definition of `vrrp_dbg_ndisc'; vrrpd/vrrp_main.o:/home/ruben/src/frr/vrrpd/vrrp_debug.h:30: first defined here
/usr/bin/ld: vrrpd/libvrrp.a(vrrp.o):/home/ruben/src/frr/vrrpd/vrrp_debug.h:28: multiple definition of `vrrp_dbg_arp'; vrrpd/vrrp_main.o:/home/ruben/src/frr/vrrpd/vrrp_debug.h:28: first defined here
/usr/bin/ld: vrrpd/libvrrp.a(vrrp_arp.o):/home/ruben/src/frr/vrrpd/vrrp_debug.h:28: multiple definition of `vrrp_dbg_arp'; vrrpd/vrrp_main.o:/home/ruben/src/frr/vrrpd/vrrp_debug.h:28: first defined here
/usr/bin/ld: vrrpd/libvrrp.a(vrrp_arp.o):/home/ruben/src/frr/vrrpd/vrrp_debug.h:33: multiple definition of `vrrp_dbg_sock'; vrrpd/vrrp_main.o:/home/ruben/src/frr/vrrpd/vrrp_debug.h:33: first defined here
/usr/bin/ld: vrrpd/libvrrp.a(vrrp_arp.o):/home/ruben/src/frr/vrrpd/vrrp_debug.h:34: multiple definition of `vrrp_dbg_zebra'; vrrpd/vrrp_main.o:/home/ruben/src/frr/vrrpd/vrrp_debug.h:34: first defined here
/usr/bin/ld: vrrpd/libvrrp.a(vrrp_arp.o):/home/ruben/src/frr/vrrpd/vrrp_debug.h:32: multiple definition of `vrrp_dbg_proto'; vrrpd/vrrp_main.o:/home/ruben/src/frr/vrrpd/vrrp_debug.h:32: first defined here
/usr/bin/ld: vrrpd/libvrrp.a(vrrp_arp.o):/home/ruben/src/frr/vrrpd/vrrp_debug.h:31: multiple definition of `vrrp_dbg_pkt'; vrrpd/vrrp_main.o:/home/ruben/src/frr/vrrpd/vrrp_debug.h:31: first defined here
/usr/bin/ld: vrrpd/libvrrp.a(vrrp_arp.o):/home/ruben/src/frr/vrrpd/vrrp_debug.h:30: multiple definition of `vrrp_dbg_ndisc'; vrrpd/vrrp_main.o:/home/ruben/src/frr/vrrpd/vrrp_debug.h:30: first defined here
/usr/bin/ld: vrrpd/libvrrp.a(vrrp_arp.o):/home/ruben/src/frr/vrrpd/vrrp_debug.h:29: multiple definition of `vrrp_dbg_auto'; vrrpd/vrrp_main.o:/home/ruben/src/frr/vrrpd/vrrp_debug.h:29: first defined here
/usr/bin/ld: vrrpd/libvrrp.a(vrrp_debug.o):/home/ruben/src/frr/vrrpd/vrrp_debug.h:32: multiple definition of `vrrp_dbg_proto'; vrrpd/vrrp_main.o:/home/ruben/src/frr/vrrpd/vrrp_debug.h:32: first defined here
/usr/bin/ld: vrrpd/libvrrp.a(vrrp_debug.o):/home/ruben/src/frr/vrrpd/vrrp_debug.h:29: multiple definition of `vrrp_dbg_auto'; vrrpd/vrrp_main.o:/home/ruben/src/frr/vrrpd/vrrp_debug.h:29: first defined here
/usr/bin/ld: vrrpd/libvrrp.a(vrrp_debug.o):/home/ruben/src/frr/vrrpd/vrrp_debug.h:31: multiple definition of `vrrp_dbg_pkt'; vrrpd/vrrp_main.o:/home/ruben/src/frr/vrrpd/vrrp_debug.h:31: first defined here
/usr/bin/ld: vrrpd/libvrrp.a(vrrp_debug.o):/home/ruben/src/frr/vrrpd/vrrp_debug.h:33: multiple definition of `vrrp_dbg_sock'; vrrpd/vrrp_main.o:/home/ruben/src/frr/vrrpd/vrrp_debug.h:33: first defined here
/usr/bin/ld: vrrpd/libvrrp.a(vrrp_debug.o):/home/ruben/src/frr/vrrpd/vrrp_debug.h:30: multiple definition of `vrrp_dbg_ndisc'; vrrpd/vrrp_main.o:/home/ruben/src/frr/vrrpd/vrrp_debug.h:30: first defined here
/usr/bin/ld: vrrpd/libvrrp.a(vrrp_debug.o):/home/ruben/src/frr/vrrpd/vrrp_debug.h:28: multiple definition of `vrrp_dbg_arp'; vrrpd/vrrp_main.o:/home/ruben/src/frr/vrrpd/vrrp_debug.h:28: first defined here
/usr/bin/ld: vrrpd/libvrrp.a(vrrp_debug.o):/home/ruben/src/frr/vrrpd/vrrp_debug.h:34: multiple definition of `vrrp_dbg_zebra'; vrrpd/vrrp_main.o:/home/ruben/src/frr/vrrpd/vrrp_debug.h:34: first defined here
/usr/bin/ld: vrrpd/libvrrp.a(vrrp_ndisc.o):/home/ruben/src/frr/vrrpd/vrrp_debug.h:30: multiple definition of `vrrp_dbg_ndisc'; vrrpd/vrrp_main.o:/home/ruben/src/frr/vrrpd/vrrp_debug.h:30: first defined here
/usr/bin/ld: vrrpd/libvrrp.a(vrrp_ndisc.o):/home/ruben/src/frr/vrrpd/vrrp_debug.h:31: multiple definition of `vrrp_dbg_pkt'; vrrpd/vrrp_main.o:/home/ruben/src/frr/vrrpd/vrrp_debug.h:31: first defined here
/usr/bin/ld: vrrpd/libvrrp.a(vrrp_ndisc.o):/home/ruben/src/frr/vrrpd/vrrp_debug.h:33: multiple definition of `vrrp_dbg_sock'; vrrpd/vrrp_main.o:/home/ruben/src/frr/vrrpd/vrrp_debug.h:33: first defined here
/usr/bin/ld: vrrpd/libvrrp.a(vrrp_ndisc.o):/home/ruben/src/frr/vrrpd/vrrp_debug.h:34: multiple definition of `vrrp_dbg_zebra'; vrrpd/vrrp_main.o:/home/ruben/src/frr/vrrpd/vrrp_debug.h:34: first defined here
/usr/bin/ld: vrrpd/libvrrp.a(vrrp_ndisc.o):/home/ruben/src/frr/vrrpd/vrrp_debug.h:32: multiple definition of `vrrp_dbg_proto'; vrrpd/vrrp_main.o:/home/ruben/src/frr/vrrpd/vrrp_debug.h:32: first defined here
/usr/bin/ld: vrrpd/libvrrp.a(vrrp_ndisc.o):/home/ruben/src/frr/vrrpd/vrrp_debug.h:29: multiple definition of `vrrp_dbg_auto'; vrrpd/vrrp_main.o:/home/ruben/src/frr/vrrpd/vrrp_debug.h:29: first defined here
/usr/bin/ld: vrrpd/libvrrp.a(vrrp_ndisc.o):/home/ruben/src/frr/vrrpd/vrrp_debug.h:28: multiple definition of `vrrp_dbg_arp'; vrrpd/vrrp_main.o:/home/ruben/src/frr/vrrpd/vrrp_debug.h:28: first defined here
/usr/bin/ld: vrrpd/libvrrp.a(vrrp_packet.o):/home/ruben/src/frr/vrrpd/vrrp_debug.h:34: multiple definition of `vrrp_dbg_zebra'; vrrpd/vrrp_main.o:/home/ruben/src/frr/vrrpd/vrrp_debug.h:34: first defined here
/usr/bin/ld: vrrpd/libvrrp.a(vrrp_packet.o):/home/ruben/src/frr/vrrpd/vrrp_debug.h:33: multiple definition of `vrrp_dbg_sock'; vrrpd/vrrp_main.o:/home/ruben/src/frr/vrrpd/vrrp_debug.h:33: first defined here
/usr/bin/ld: vrrpd/libvrrp.a(vrrp_packet.o):/home/ruben/src/frr/vrrpd/vrrp_debug.h:32: multiple definition of `vrrp_dbg_proto'; vrrpd/vrrp_main.o:/home/ruben/src/frr/vrrpd/vrrp_debug.h:32: first defined here
/usr/bin/ld: vrrpd/libvrrp.a(vrrp_packet.o):/home/ruben/src/frr/vrrpd/vrrp_debug.h:31: multiple definition of `vrrp_dbg_pkt'; vrrpd/vrrp_main.o:/home/ruben/src/frr/vrrpd/vrrp_debug.h:31: first defined here
/usr/bin/ld: vrrpd/libvrrp.a(vrrp_packet.o):/home/ruben/src/frr/vrrpd/vrrp_debug.h:30: multiple definition of `vrrp_dbg_ndisc'; vrrpd/vrrp_main.o:/home/ruben/src/frr/vrrpd/vrrp_debug.h:30: first defined here
/usr/bin/ld: vrrpd/libvrrp.a(vrrp_packet.o):/home/ruben/src/frr/vrrpd/vrrp_debug.h:29: multiple definition of `vrrp_dbg_auto'; vrrpd/vrrp_main.o:/home/ruben/src/frr/vrrpd/vrrp_debug.h:29: first defined here
/usr/bin/ld: vrrpd/libvrrp.a(vrrp_packet.o):/home/ruben/src/frr/vrrpd/vrrp_debug.h:28: multiple definition of `vrrp_dbg_arp'; vrrpd/vrrp_main.o:/home/ruben/src/frr/vrrpd/vrrp_debug.h:28: first defined here
/usr/bin/ld: vrrpd/libvrrp.a(vrrp_vty.o):/home/ruben/src/frr/vrrpd/vrrp_debug.h:34: multiple definition of `vrrp_dbg_zebra'; vrrpd/vrrp_main.o:/home/ruben/src/frr/vrrpd/vrrp_debug.h:34: first defined here
/usr/bin/ld: vrrpd/libvrrp.a(vrrp_vty.o):/home/ruben/src/frr/vrrpd/vrrp_debug.h:33: multiple definition of `vrrp_dbg_sock'; vrrpd/vrrp_main.o:/home/ruben/src/frr/vrrpd/vrrp_debug.h:33: first defined here
/usr/bin/ld: vrrpd/libvrrp.a(vrrp_vty.o):/home/ruben/src/frr/vrrpd/vrrp_debug.h:32: multiple definition of `vrrp_dbg_proto'; vrrpd/vrrp_main.o:/home/ruben/src/frr/vrrpd/vrrp_debug.h:32: first defined here
/usr/bin/ld: vrrpd/libvrrp.a(vrrp_vty.o):/home/ruben/src/frr/vrrpd/vrrp_debug.h:31: multiple definition of `vrrp_dbg_pkt'; vrrpd/vrrp_main.o:/home/ruben/src/frr/vrrpd/vrrp_debug.h:31: first defined here
/usr/bin/ld: vrrpd/libvrrp.a(vrrp_vty.o):/home/ruben/src/frr/vrrpd/vrrp_debug.h:30: multiple definition of `vrrp_dbg_ndisc'; vrrpd/vrrp_main.o:/home/ruben/src/frr/vrrpd/vrrp_debug.h:30: first defined here
/usr/bin/ld: vrrpd/libvrrp.a(vrrp_vty.o):/home/ruben/src/frr/vrrpd/vrrp_debug.h:29: multiple definition of `vrrp_dbg_auto'; vrrpd/vrrp_main.o:/home/ruben/src/frr/vrrpd/vrrp_debug.h:29: first defined here
/usr/bin/ld: vrrpd/libvrrp.a(vrrp_vty.o):/home/ruben/src/frr/vrrpd/vrrp_debug.h:28: multiple definition of `vrrp_dbg_arp'; vrrpd/vrrp_main.o:/home/ruben/src/frr/vrrpd/vrrp_debug.h:28: first defined here
/usr/bin/ld: vrrpd/libvrrp.a(vrrp_zebra.o):/home/ruben/src/frr/vrrpd/vrrp_debug.h:34: multiple definition of `vrrp_dbg_zebra'; vrrpd/vrrp_main.o:/home/ruben/src/frr/vrrpd/vrrp_debug.h:34: first defined here
/usr/bin/ld: vrrpd/libvrrp.a(vrrp_zebra.o):/home/ruben/src/frr/vrrpd/vrrp_debug.h:33: multiple definition of `vrrp_dbg_sock'; vrrpd/vrrp_main.o:/home/ruben/src/frr/vrrpd/vrrp_debug.h:33: first defined here
/usr/bin/ld: vrrpd/libvrrp.a(vrrp_zebra.o):/home/ruben/src/frr/vrrpd/vrrp_debug.h:32: multiple definition of `vrrp_dbg_proto'; vrrpd/vrrp_main.o:/home/ruben/src/frr/vrrpd/vrrp_debug.h:32: first defined here
/usr/bin/ld: vrrpd/libvrrp.a(vrrp_zebra.o):/home/ruben/src/frr/vrrpd/vrrp_debug.h:31: multiple definition of `vrrp_dbg_pkt'; vrrpd/vrrp_main.o:/home/ruben/src/frr/vrrpd/vrrp_debug.h:31: first defined here
/usr/bin/ld: vrrpd/libvrrp.a(vrrp_zebra.o):/home/ruben/src/frr/vrrpd/vrrp_debug.h:30: multiple definition of `vrrp_dbg_ndisc'; vrrpd/vrrp_main.o:/home/ruben/src/frr/vrrpd/vrrp_debug.h:30: first defined here
/usr/bin/ld: vrrpd/libvrrp.a(vrrp_zebra.o):/home/ruben/src/frr/vrrpd/vrrp_debug.h:29: multiple definition of `vrrp_dbg_auto'; vrrpd/vrrp_main.o:/home/ruben/src/frr/vrrpd/vrrp_debug.h:29: first defined here
/usr/bin/ld: vrrpd/libvrrp.a(vrrp_zebra.o):/home/ruben/src/frr/vrrpd/vrrp_debug.h:28: multiple definition of `vrrp_dbg_arp'; vrrpd/vrrp_main.o:/home/ruben/src/frr/vrrpd/vrrp_debug.h:28: first defined here
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:6639: vrrpd/vrrpd] Error 1
make[1]: Leaving directory '/home/ruben/src/frr'
make: *** [Makefile:4525: all] Error 2

Signed-off-by: Ruben Kerkhof <ruben@rubenkerkhof.com>
4 years agoMerge pull request #5904 from donaldsharp/close_it
Donatas Abraitis [Sat, 7 Mar 2020 22:37:08 +0000 (00:37 +0200)]
Merge pull request #5904 from donaldsharp/close_it

vtysh: Fixup extract.pl to intentionally fail on error

4 years agostaticd: fix build on Fedora Rawhide
Ruben Kerkhof [Sat, 7 Mar 2020 22:30:44 +0000 (23:30 +0100)]
staticd: fix build on Fedora Rawhide

Fixes the following linker issue:
 CC       staticd/static_main.o
  CC       staticd/static_debug.o
  CC       staticd/static_vty.o
  AR       staticd/libstatic.a
  CCLD     staticd/staticd
/usr/bin/ld: staticd/libstatic.a(static_debug.o):/home/ruben/src/frr/staticd/static_debug.h:32: multiple definition of `static_dbg_events'; staticd/static_main.o:/home/ruben/src/frr/staticd/static_debug.h:32: first defined here

Signed-off-by: Ruben Kerkhof <ruben@rubenkerkhof.com>
4 years agobgpd: remove unused variable
Ruben Kerkhof [Sat, 7 Mar 2020 22:19:13 +0000 (23:19 +0100)]
bgpd: remove unused variable

This fixes a linking issue on Fedora Rawhide:
/usr/bin/ld: bgpd/libbgp.a(bgp_flowspec.o):/home/ruben/src/frr/./bgpd/bgp_attr_evpn.h:37: multiple definition of `eth_tag_id'; bgpd/bgp_btoa-bgp_btoa.o:/home/ruben/src/frr/./bgpd/bgp_attr_evpn.h:37: first defined here
collect2: error: ld returned 1 exit status

Signed-off-by: Ruben Kerkhof <ruben@rubenkerkhof.com>
4 years ago*: Tell git to ignore gcov output files
Donald Sharp [Thu, 5 Mar 2020 14:42:25 +0000 (09:42 -0500)]
*: Tell git to ignore gcov output files

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agozebra: nhg->nexthop is not NULL
Donald Sharp [Thu, 5 Mar 2020 14:28:58 +0000 (09:28 -0500)]
zebra: nhg->nexthop is not NULL

We have already asserted on nhg->nexthop an if statement
to flog_err makes no sense.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agopimd: Prevent use after free from pim_mlag_up_peer_deref
Donald Sharp [Thu, 5 Mar 2020 14:26:11 +0000 (09:26 -0500)]
pimd: Prevent use after free from pim_mlag_up_peer_deref

There exists a chain of events where calling pim_mlag_up_peer_deref
can free the up pointer.  Prevent a use after free by returning
the up pointer as needed and checking to make sure we are
ok.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agoMerge pull request #5924 from donaldsharp/more_func
Renato Westphal [Fri, 6 Mar 2020 19:16:02 +0000 (16:16 -0300)]
Merge pull request #5924 from donaldsharp/more_func

*: Finish off the __PRETTY_FUNCTION__ to __func__

4 years ago*: Finish off the __PRETTY_FUNCTION__ to __func__
Donald Sharp [Fri, 6 Mar 2020 14:23:22 +0000 (09:23 -0500)]
*: Finish off the __PRETTY_FUNCTION__ to __func__

FINISH IT

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agoMerge pull request #5920 from qlyoung/fix-srv6-repeated-attr-memleak
Donatas Abraitis [Fri, 6 Mar 2020 13:29:11 +0000 (15:29 +0200)]
Merge pull request #5920 from qlyoung/fix-srv6-repeated-attr-memleak

Fix srv6 repeated attr memleak + uninitialized refcnt

4 years agoRevert "nhrpd: ignore zebra updates about our routes being deleted/added"
Philippe Guibert [Fri, 6 Mar 2020 11:14:59 +0000 (12:14 +0100)]
Revert "nhrpd: ignore zebra updates about our routes being deleted/added"

This reverts commit d0bfe25dead1d3dfdc18951f1b6d0023be9ac76c.

4 years agoMerge pull request #5916 from mjstapp/fix_gmtime
Quentin Young [Thu, 5 Mar 2020 22:38:13 +0000 (17:38 -0500)]
Merge pull request #5916 from mjstapp/fix_gmtime

*: use gmtime_r exclusively

4 years agoMerge pull request #5918 from ton31337/fix/__func__everywhere
Quentin Young [Thu, 5 Mar 2020 22:37:03 +0000 (17:37 -0500)]
Merge pull request #5918 from ton31337/fix/__func__everywhere

__func__ everywhere

4 years agobgpd: properly initialize SRv6 attributes
Quentin Young [Thu, 5 Mar 2020 21:15:32 +0000 (16:15 -0500)]
bgpd: properly initialize SRv6 attributes

We were using XMALLOC for these, and only initializing the refcount to 0
on one of them. Let's just use XCALLOC instead...

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
4 years agobgpd: correctly handle repeated SRv6 attributes
Quentin Young [Thu, 5 Mar 2020 21:13:17 +0000 (16:13 -0500)]
bgpd: correctly handle repeated SRv6 attributes

Repeating SRv6 attributes N times leaks (N-1)*32 bytes of memory.

Fix it!

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
4 years agovrrpd: search all vr's for mvl_ifp to null
Quentin Young [Wed, 4 Mar 2020 23:54:04 +0000 (18:54 -0500)]
vrrpd: search all vr's for mvl_ifp to null

Previous patch was not sufficient to make sure the pointers get nulled.
Reason being is that vrrp_lookup_by_if_mvl() follows the link_ifindex on
the provided interface to acquire the base ifp, which is then used to
lookup the VR. However, because FRR's interface management is straight
up insane, it's possible that we delete the base interface before its
children. When this happens, link_ifindex is still valid for the macvlan
device but we have no interface corresponding to that ifindex, so our
lookup will fail. Consequently vrrp_lookup_by_if_mvl() can't be used if
we are handling deletion of any sort. Instead we have to loop through
every VR and check the pointers.

Also, there's no null check on the mvl_ifp pointer in vrrp_shutdown(),
and even though we log that we're returning early from it, we actually
don't. Do both of these things.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
4 years agovrrpd: always null mvl_ifp ptr when mvl is deleted
Quentin Young [Wed, 4 Mar 2020 01:27:49 +0000 (20:27 -0500)]
vrrpd: always null mvl_ifp ptr when mvl is deleted

When we get a deletion notification for the macvlan device, we need to
do two things. First, down the VRRP session if it's up. Second, since
the mvl device is dynamic (i.e. not explicitly configured by FRR) it
will be deleted upon return from the callback, so we need to drop the
pointer to it. The checks for the first and second one were one check so
the pointer was only nulled when the session was already up, leading to
a later heap UAF on the mvl ifp.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
4 years ago*: use gmtime_r, localtime_r exclusively
Mark Stapp [Thu, 5 Mar 2020 16:42:12 +0000 (11:42 -0500)]
*: use gmtime_r, localtime_r exclusively

Stop using gmtime() or localtime() everywhere.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
4 years ago*: Replace __PRETTY_FUNCTION__/__FUNCTION__ to __func__
Donatas Abraitis [Thu, 5 Mar 2020 18:17:54 +0000 (20:17 +0200)]
*: Replace __PRETTY_FUNCTION__/__FUNCTION__ to __func__

Just keep the code cool.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
4 years agoMerge pull request #5856 from pguibert6WIND/nhrp_override_fix
Mark Stapp [Thu, 5 Mar 2020 18:20:53 +0000 (13:20 -0500)]
Merge pull request #5856 from pguibert6WIND/nhrp_override_fix

zebra: when FIB_OVERRIDE flag is set, update nexthop-tracking clients properly

4 years agotools: Add Coccinelle script to replace __FUNCTION__ to __func__
Donatas Abraitis [Thu, 5 Mar 2020 18:16:47 +0000 (20:16 +0200)]
tools: Add Coccinelle script to replace __FUNCTION__ to __func__

Same is for __PRETTY_FUNCTION__

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
4 years agoMerge pull request #5911 from ton31337/fix/no_check_if_assert
Quentin Young [Thu, 5 Mar 2020 18:16:30 +0000 (13:16 -0500)]
Merge pull request #5911 from ton31337/fix/no_check_if_assert

 bgpd: Remove a test and return statement after assert

4 years agoMerge pull request #5914 from mjstapp/fix_sa_show_all
Donald Sharp [Thu, 5 Mar 2020 17:38:49 +0000 (12:38 -0500)]
Merge pull request #5914 from mjstapp/fix_sa_show_all

zebra: clean up an SA warning in show_ip_route_all

4 years agozebra: when override flag is set, do not forget to update nht
Philippe Guibert [Wed, 19 Feb 2020 16:27:06 +0000 (17:27 +0100)]
zebra: when override flag is set, do not forget to update nht

this flag can be used when one routing daemon wants to force his route
to be injected prioritary with other routes, including selected routes.
for that, do not forget to update the new_selected pointer in the zebra
nexthop tracking algorithm.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
4 years agonhrpd: ignore zebra updates about our routes being deleted/added
Philippe Guibert [Thu, 5 Mar 2020 14:50:37 +0000 (14:50 +0000)]
nhrpd: ignore zebra updates about our routes being deleted/added

nhrp listens for route entries to be deleted, in case some new routes
impact the current routes installed by nhrp. To prevent from
unconfiguring nhrp shortcut route, just prevent nhrp routes to be
processed.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
4 years agozebra: clean up an SA warning in show_ip_route_all
Mark Stapp [Thu, 5 Mar 2020 13:35:55 +0000 (08:35 -0500)]
zebra: clean up an SA warning in show_ip_route_all

SA reports a redundant NULL check; remove it.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
4 years agoMerge pull request #5850 from Spantik/gr_fix
Quentin Young [Thu, 5 Mar 2020 04:40:26 +0000 (23:40 -0500)]
Merge pull request #5850 from Spantik/gr_fix

Zebra: Zebra gr dynamic client handling

4 years agoMerge pull request #5907 from ton31337/fix/replace_sizeof_coccinelle
Quentin Young [Thu, 5 Mar 2020 00:05:05 +0000 (19:05 -0500)]
Merge pull request #5907 from ton31337/fix/replace_sizeof_coccinelle

Bool related stuff

4 years agoMerge pull request #5912 from mjstapp/fix_doc_slack_link
Quentin Young [Thu, 5 Mar 2020 00:04:09 +0000 (19:04 -0500)]
Merge pull request #5912 from mjstapp/fix_doc_slack_link

doc: change slack reference link to main FRR homepage

4 years agoMerge pull request #5910 from donaldsharp/ospf_indentation
Mark Stapp [Wed, 4 Mar 2020 20:24:56 +0000 (15:24 -0500)]
Merge pull request #5910 from donaldsharp/ospf_indentation

ospfd: Fix 4 levels of unnecessary indentation

4 years agodoc: change slack reference link to main FRR homepage
Mark Stapp [Wed, 4 Mar 2020 19:13:21 +0000 (14:13 -0500)]
doc: change slack reference link to main FRR homepage

Change the overview page's link for slack info to point to
the main FRR homepage section - that's where the self-serve
link/info is.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
4 years agobgpd: Remove a test and return statement after assert
Donatas Abraitis [Wed, 4 Mar 2020 18:19:12 +0000 (20:19 +0200)]
bgpd: Remove a test and return statement after assert

No need to check if the variable is NULL and return after assert.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
4 years agotools: Add coccinelle script to remove a test case after assert()
Donatas Abraitis [Wed, 4 Mar 2020 18:17:42 +0000 (20:17 +0200)]
tools: Add coccinelle script to remove a test case after assert()

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
4 years agoospfd: Fix 4 levels of unnecessary indentation
Donald Sharp [Wed, 4 Mar 2020 17:50:57 +0000 (12:50 -0500)]
ospfd: Fix 4 levels of unnecessary indentation

Optimize display of code a tiny bit so that we can actually
have readable code.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agoMerge pull request #5908 from rubenk/zebra-fix-typo-in-debug-message
Quentin Young [Wed, 4 Mar 2020 16:59:49 +0000 (11:59 -0500)]
Merge pull request #5908 from rubenk/zebra-fix-typo-in-debug-message

zebra: fix typo in debug log message

4 years ago*: Use true/false instead of 1/0 when assigning variable for bool type
Donatas Abraitis [Wed, 4 Mar 2020 16:49:36 +0000 (18:49 +0200)]
*: Use true/false instead of 1/0 when assigning variable for bool type

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
4 years agotools: Coccinelle script to convert 0/1 to false/true if variable type is bool
Donatas Abraitis [Wed, 4 Mar 2020 16:47:09 +0000 (18:47 +0200)]
tools: Coccinelle script to convert 0/1 to false/true if variable type is bool

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
4 years agoMerge pull request #5906 from ton31337/feature/documentation_for_rpki
Quentin Young [Wed, 4 Mar 2020 16:39:37 +0000 (11:39 -0500)]
Merge pull request #5906 from ton31337/feature/documentation_for_rpki

doc: Add documentation for `show rpki prefix` and `show rpki as-number`

4 years agopimd: Convert pim_upstream_evaluate_join_desired type to bool
Donatas Abraitis [Wed, 4 Mar 2020 15:05:12 +0000 (17:05 +0200)]
pimd: Convert pim_upstream_evaluate_join_desired type to bool

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
4 years agozebra: fix typo in debug log message
Ruben Kerkhof [Wed, 4 Mar 2020 15:08:18 +0000 (16:08 +0100)]
zebra: fix typo in debug log message

Signed-off-by: Ruben Kerkhof <ruben@rubenkerkhof.com>
4 years agotools: Add coccinelle script to convert int to bool if returning value is bool
Donatas Abraitis [Wed, 4 Mar 2020 13:29:22 +0000 (15:29 +0200)]
tools: Add coccinelle script to convert int to bool if returning value is bool

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
4 years ago*: Return bool type for bool functions
Donatas Abraitis [Wed, 4 Mar 2020 13:05:22 +0000 (15:05 +0200)]
*: Return bool type for bool functions

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
4 years ago*: Use short version of bool expressions
Donatas Abraitis [Wed, 4 Mar 2020 13:04:23 +0000 (15:04 +0200)]
*: Use short version of bool expressions

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
4 years agotools: Add coccinelle script to check if bool functions return bool type
Donatas Abraitis [Wed, 4 Mar 2020 13:02:23 +0000 (15:02 +0200)]
tools: Add coccinelle script to check if bool functions return bool type

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
4 years agotools: Add coccinelle script to check if bool expressions use short format
Donatas Abraitis [Wed, 4 Mar 2020 13:00:51 +0000 (15:00 +0200)]
tools: Add coccinelle script to check if bool expressions use short format

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
4 years agodoc: Add documentation for `show rpki prefix` and `show rpki as-number`
Donatas Abraitis [Wed, 4 Mar 2020 09:25:57 +0000 (11:25 +0200)]
doc: Add documentation for `show rpki prefix` and `show rpki as-number`

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
4 years agoMerge pull request #5894 from patrasar/2399927
Donald Sharp [Wed, 4 Mar 2020 02:20:25 +0000 (21:20 -0500)]
Merge pull request #5894 from patrasar/2399927

pimd: Update pim register stop statistics

4 years agoMerge pull request #5896 from patrasar/2409015
Donald Sharp [Wed, 4 Mar 2020 02:13:27 +0000 (21:13 -0500)]
Merge pull request #5896 from patrasar/2409015

pimd: neighbor needed true in pim nexthop lookup

4 years agovtysh: Fixup extract.pl to intentionally fail on error
Donald Sharp [Wed, 4 Mar 2020 01:50:15 +0000 (20:50 -0500)]
vtysh: Fixup extract.pl to intentionally fail on error

When extracting the cli for vtysh into vtysh_cmd.c when
the compilation fails it will just silently ignore the
issue and not include the cli in vtysh at all.  Leaving
everyone attempting to figure out wtf just happened.

Modify the code to intentionally crash with some modicrum
of a chance to allow the developer to find and fix their
own mistakes.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agoMerge pull request #5899 from Spantik/clear_bgp_bug
Donald Sharp [Tue, 3 Mar 2020 18:16:01 +0000 (13:16 -0500)]
Merge pull request #5899 from Spantik/clear_bgp_bug

BGPD: Cores when cleared with doppelganger.

4 years agoMerge pull request #5900 from rubenk/bgpd-fix-typo
Donald Sharp [Tue, 3 Mar 2020 18:11:28 +0000 (13:11 -0500)]
Merge pull request #5900 from rubenk/bgpd-fix-typo

bgpd: fix typo in 'show bgp neighbors' output

4 years agoMerge pull request #5886 from sworleys/Trust-Kernel-Direct-Routes
Mark Stapp [Tue, 3 Mar 2020 17:10:35 +0000 (12:10 -0500)]
Merge pull request #5886 from sworleys/Trust-Kernel-Direct-Routes

zebra: trust directly connected kernel/system routes

4 years agoMerge pull request #5873 from mjstapp/zebra_lsp_dtor
Donald Sharp [Tue, 3 Mar 2020 16:48:16 +0000 (11:48 -0500)]
Merge pull request #5873 from mjstapp/zebra_lsp_dtor

zebra: add a free api for LSPs

4 years agobgpd: fix typo in 'show bgp neighbors' output
Ruben Kerkhof [Tue, 3 Mar 2020 15:46:31 +0000 (16:46 +0100)]
bgpd: fix typo in 'show bgp neighbors' output

And fix a typo in a comment while we're at it

Signed-off-by: Ruben Kerkhof <ruben@rubenkerkhof.com>
4 years agoMerge pull request #5890 from mjstapp/zapi_allow_label_num
Russ White [Tue, 3 Mar 2020 14:36:45 +0000 (09:36 -0500)]
Merge pull request #5890 from mjstapp/zapi_allow_label_num

zebra: allow multiple labels in LSP zapi message

4 years agoMerge pull request #5897 from patrasar/2415676
Russ White [Tue, 3 Mar 2020 14:35:43 +0000 (09:35 -0500)]
Merge pull request #5897 from patrasar/2415676

pimd: fix crash seen while executing igmp related configuration

4 years agoBGPD: Cores when cleared with doppelganger.
Santosh P K [Tue, 3 Mar 2020 14:27:30 +0000 (06:27 -0800)]
BGPD: Cores when cleared with doppelganger.

RCA: When doppelganger still around and clear bgp is issued
there are chances of peer getting deleted and next pointer
is a  freed peer pointer.

Fix: Pass address of nnode to get next safe peer pointer.

Signed-off-by: Santosh P K <sapk@vmware.com>
4 years agoMerge pull request #5893 from donaldsharp/clang_mc_clang
Renato Westphal [Tue, 3 Mar 2020 11:53:33 +0000 (08:53 -0300)]
Merge pull request #5893 from donaldsharp/clang_mc_clang

ldpd: Remove double set of lif

4 years agopimd: fix crash seen while executing igmp related configuration
Sarita Patra [Tue, 3 Mar 2020 11:35:43 +0000 (03:35 -0800)]
pimd: fix crash seen while executing igmp related configuration

Issue 1:
1. Enable pim on an interface.
2. Configure query-interval or query max response time,
which results in pimd crash.

Root cause:
1. When pim is enabled on an interface, it creates a igmp socket
with querier_timer and other_querier time as NULL.
2. When query-interval/max_response_time is configured, it call the
function igmp_sock_query_reschedule() to reshedule the query. This
function check either of querier_timer or other_querier timer should
be running. Since in this case both are NULL, it results in crash.

Issue 2:
1. Enable pim on an interface.
2. Execute no ip igmp query-interval or query max response time,
which results in pimd crash.

Root cause:
1. When pim is enabled on an interface, it creates a pim interface
with querier_timer and other_querier time as NULL.
2. When no ip igmp query-interval/max_response_time is executed, it will
check either of querier_timer or other_querier timer should be running.
Since in this case both are NULL, it results in crash.

Fix:
When pim is enabled on an interface, it creates a igmp socket with
mtrace_only as true. So add a check if mtrace_only is true, then don't
reshedule the query.

Signed-off-by: Sarita Patra <saritap@vmware.com>
4 years agopimd: neighbor needed true in pim nexthop lookup
Sarita Patra [Tue, 3 Mar 2020 11:31:22 +0000 (03:31 -0800)]
pimd: neighbor needed true in pim nexthop lookup

Issue:
Client---LHR---RP
1. Add kernel route for RP on LHR. Client send join
2. (*,G) will be get created in LHR and RP.
3. Kill the FRR on all the nodes
4. Start FRR only on LHR node
5. In LHR, (*, G) will be created with iif as unknown.

Root cause:
In the step 4, When LHR will receive igmp join, it will call
the function pim_ecmp_fib_lookup_if_vif_index which will look
for nexthop to RP with neighbor needed as false. So RPF lookup will
be true as the route is present in the kernel. It will create a
(*, G) channel_oil with incoming interface as the RPF interface
towards RP and install the (*,G) mroute in kernel.
Along with this (*,G) upstream gets craeted, which call the function
pim_rpf_update, which will look for the nexthop to RP with neighbor
needed as true. As the frr is not running in RP, no neighbor is present
on the nexthop interface. Due to which this will fail and will update
the channel_oil incoming interface as MAXVIFS(32).

Fix:
pim_ecmp_fib_lookup_if_vif_index() call the function pim_ecmp_nexthop_lookup
with neighbor_needed as true.

Signed-off-by: Sarita Patra <saritap@vmware.com>
4 years agopimd: Update pim register stop statistics
Sarita Patra [Tue, 3 Mar 2020 09:46:36 +0000 (01:46 -0800)]
pimd: Update pim register stop statistics

Issue: REGISTER-STOP Rx is always displaying 0.

Root-cause: pim_ifstat_reg_stop_recv is not getting
incremented when register stop message is received.

Fix: Increment pim_ifstat_reg_stop_recv on receiving
of pim register stop packet.

Signed-off-by: Sarita Patra <saritap@vmware.com>
4 years agoldpd: Remove double set of lif
Donald Sharp [Tue, 3 Mar 2020 01:29:01 +0000 (20:29 -0500)]
ldpd: Remove double set of lif

The lif variable was being set in the if statement and
immediately copied into from xf.  No need to do this
twice.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agozebra: allow multiple labels in LSP zapi message
Mark Stapp [Mon, 2 Mar 2020 20:51:22 +0000 (15:51 -0500)]
zebra: allow multiple labels in LSP zapi message

The handlers for a couple of the main LSP-oriented zapi
messages explicitly limited themselves to a single out-label.
Allow multiple labels if the sender ... sends them.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
4 years agozebra: trust directly connected kernel/system routes
Stephen Worley [Mon, 2 Mar 2020 18:16:02 +0000 (13:16 -0500)]
zebra: trust directly connected kernel/system routes

We made the decision to explicitly trust kernel and system routes
of every other type with 058c16b7e239f1c50a1d4b4376a6aff6b8dad959.

So, we should trust directly connected routes the same way, assuming
the interface exists.

Old Behavior:

K   2.2.2.1/32 [0/0] is directly connected, unknown inactive, 00:00:39

New Behavior:

K>* 2.2.2.1/32 [0/0] is directly connected, test1, 00:00:03

As a bonus, this fixes the issues we were seeing with not removing
directly connected routes of certain interface types when
those interfaces go down/are deleted.

Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
4 years agoMerge pull request #5855 from ton31337/fix/allow_using_add_sub_for_local-preference
Sri Mohana Singamsetty [Mon, 2 Mar 2020 17:40:34 +0000 (09:40 -0800)]
Merge pull request #5855 from ton31337/fix/allow_using_add_sub_for_local-preference

bgpd: Allow using add/subtract for local-preference in route-maps

4 years agoMerge pull request #5780 from chiragshah6/evpn_dev1
Sri Mohana Singamsetty [Mon, 2 Mar 2020 17:39:37 +0000 (09:39 -0800)]
Merge pull request #5780 from chiragshah6/evpn_dev1

zebra:remote vtep delete handling

4 years agozebra: add a free api for LSPs
Mark Stapp [Thu, 27 Feb 2020 17:18:48 +0000 (12:18 -0500)]
zebra: add a free api for LSPs

consolidate some LSP cleanup code into a common free function.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
4 years agoMerge pull request #5874 from donaldsharp/hash_backet2
Mark Stapp [Fri, 28 Feb 2020 21:26:55 +0000 (16:26 -0500)]
Merge pull request #5874 from donaldsharp/hash_backet2

*: change hash_backet to hash_bucket

4 years agoMerge pull request #5822 from rbauduin/patch-2
Donatas Abraitis [Fri, 28 Feb 2020 20:55:15 +0000 (22:55 +0200)]
Merge pull request #5822 from rbauduin/patch-2

doc: Document attribute-unchanged directive

4 years agoMerge pull request #5878 from mjstapp/fix_nhg_for_fpm
Stephen Worley [Fri, 28 Feb 2020 20:25:40 +0000 (15:25 -0500)]
Merge pull request #5878 from mjstapp/fix_nhg_for_fpm

zebra: fix nexthop_group conversion in fpm code

4 years ago*: change hash_backet to hash_bucket
Donald Sharp [Thu, 27 Feb 2020 01:03:34 +0000 (20:03 -0500)]
*: change hash_backet to hash_bucket

It's been a year search and destroy.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
4 years agoMerge pull request #5862 from sworleys/PBR-No-Table-Range
Donatas Abraitis [Fri, 28 Feb 2020 16:28:51 +0000 (18:28 +0200)]
Merge pull request #5862 from sworleys/PBR-No-Table-Range

pbrd: unconfigure table range

4 years agoMerge pull request #5876 from ton31337/feature/doc_vrrpd_update
Mark Stapp [Fri, 28 Feb 2020 15:57:11 +0000 (10:57 -0500)]
Merge pull request #5876 from ton31337/feature/doc_vrrpd_update

doc: Change interface name for vrrp example

4 years agozebra: fix nexthop_group conversion in fpm code
Mark Stapp [Fri, 28 Feb 2020 13:45:56 +0000 (08:45 -0500)]
zebra: fix nexthop_group conversion in fpm code

Recent commit that embedded the nhg_hash_entry's group
missed a couple of fpm modules.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
4 years agoMerge pull request #5859 from donaldsharp/clang_latest
Mark Stapp [Fri, 28 Feb 2020 12:51:52 +0000 (07:51 -0500)]
Merge pull request #5859 from donaldsharp/clang_latest

Clean up clang latest SA warnings

4 years agotests: Add a test case for `set local-preference +/-LOCAL_PREF`
Donatas Abraitis [Sun, 23 Feb 2020 18:59:54 +0000 (20:59 +0200)]
tests: Add a test case for `set local-preference +/-LOCAL_PREF`

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
4 years agodoc: Use +/- for `set local-preference` to add/subtract the value
Donatas Abraitis [Sun, 23 Feb 2020 18:55:14 +0000 (20:55 +0200)]
doc: Use +/- for `set local-preference` to add/subtract the value

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
4 years agobgpd: Allow using add/subtract for local-preference in route-maps
Donatas Abraitis [Sat, 22 Feb 2020 21:04:21 +0000 (23:04 +0200)]
bgpd: Allow using add/subtract for local-preference in route-maps

We already have a generic support for add/sub in route-maps. It's already
handled in route_value_compile().

Just convert to string (allow passing (-) minus sign) - works like expected.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
4 years agodoc: Change interface name for vrrp example
Donatas Abraitis [Fri, 28 Feb 2020 11:58:38 +0000 (13:58 +0200)]
doc: Change interface name for vrrp example

Looks like copy-paste error.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
4 years agoMerge pull request #5875 from donaldsharp/support_rfcs
Donatas Abraitis [Fri, 28 Feb 2020 07:23:44 +0000 (09:23 +0200)]
Merge pull request #5875 from donaldsharp/support_rfcs

doc: Add notice of rfc-4893 in supported rfc's.

4 years agoMerge pull request #5857 from mjstapp/embed_nhg_in_nhe
Stephen Worley [Thu, 27 Feb 2020 23:43:59 +0000 (18:43 -0500)]
Merge pull request #5857 from mjstapp/embed_nhg_in_nhe

zebra,lib: Embed lib nexthop-group in zebra hash entry