]> git.puffer.fish Git - mirror/frr.git/log
mirror/frr.git
3 years agopim6d: Adding ipv6 mld watermark-warn CLI 10365/head
Sai Gomathi N [Tue, 18 Jan 2022 15:39:01 +0000 (07:39 -0800)]
pim6d: Adding ipv6 mld watermark-warn CLI

Adding the config mode command

ipv6 mld watermark-warn <1-65535>
This command can be use to warn the user
when more than the desired limit of groups gets configured.

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
3 years agopimd: Moving the common function from pim_cmd.h file
Sai Gomathi N [Wed, 2 Mar 2022 14:40:19 +0000 (06:40 -0800)]
pimd: Moving the common function from pim_cmd.h file

Moving the PIM_DECLVAR_CONTEXT function to the
common file pim_cmd_common.h file

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
3 years agopim6d: Adding "ipv6 mld last-member-query-interval" CLI
Sai Gomathi N [Tue, 18 Jan 2022 15:31:56 +0000 (07:31 -0800)]
pim6d: Adding "ipv6 mld last-member-query-interval" CLI

Adding the Interface level config command

ipv6 mld last-member-query-interval (1-65535)
This command can be use to tune the response time for group specific queries.

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
3 years agopim6d: Adding ipv6 mld last-member-query-count CLI
Sai Gomathi N [Tue, 18 Jan 2022 15:24:11 +0000 (07:24 -0800)]
pim6d: Adding ipv6 mld last-member-query-count CLI

Adding the Interface level config command

ipv6 mld last-member-query-count (1-255)
This command can be use to tune the number of Multicast-Address- Specific Queries
sent before the router assumes there are no remaining listeners for an address on a link.

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
3 years agopim6d: Adding "ipv6 mld query-max-response-time" CLI
Sai Gomathi N [Tue, 18 Jan 2022 15:16:51 +0000 (07:16 -0800)]
pim6d: Adding "ipv6 mld query-max-response-time" CLI

Adding the Interface level config command

ipv6 mld query-max-response-time <1-65535>
This command can be use to tune the max response time for general queries.
The number of seconds represented by the [Query Response Interval] must be less than the [Query Interval]

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
3 years agoMerge pull request #10953 from leonshaw/fix/bgp-rm-leak
Donatas Abraitis [Tue, 5 Apr 2022 06:09:35 +0000 (09:09 +0300)]
Merge pull request #10953 from leonshaw/fix/bgp-rm-leak

bgpd: Fix memory leak in subgroup_announce_check

3 years agoMerge pull request #10946 from donaldsharp/pim_fhr_lhr_same_pimreg
Jafar Al-Gharaibeh [Mon, 4 Apr 2022 19:00:49 +0000 (14:00 -0500)]
Merge pull request #10946 from donaldsharp/pim_fhr_lhr_same_pimreg

pimd: Send immediate join( with possible SG RPT prune bit set

3 years agoMerge pull request #10710 from SaiGomathiN/pimv6-showcli
David Lamparter [Mon, 4 Apr 2022 12:42:27 +0000 (14:42 +0200)]
Merge pull request #10710 from SaiGomathiN/pimv6-showcli

3 years agopim6d: Adding show ipv6 pim nexthop and nexthop-lookup commands 10710/head
Sai Gomathi N [Wed, 2 Mar 2022 10:33:49 +0000 (02:33 -0800)]
pim6d: Adding show ipv6 pim nexthop and nexthop-lookup commands

Adding new show commands to display pim nexthops and
pim nexthop lookups received from zebra.

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
3 years agopim6d: Adding "show ipv6 [vrf|vrf ALL] pim neighbor" command
Sai Gomathi N [Wed, 2 Mar 2022 09:22:13 +0000 (01:22 -0800)]
pim6d: Adding "show ipv6 [vrf|vrf ALL] pim neighbor" command

Adding new show CLI to display regarding pim neighbors.
Changing DEFUN to DEFPY for "show ip pim neighbor" command.

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
3 years agopim6d: Adding "show ipv6 pim local-membership"
Sai Gomathi N [Wed, 2 Mar 2022 06:15:32 +0000 (22:15 -0800)]
pim6d: Adding "show ipv6 pim local-membership"

Adding the new cli to display pim local membership information.
Changing DEFUN to DEPFY for "show ip pim local-membership"

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
3 years agopim6d: Adding "show ipv6 pim jp-agg" command
Sai Gomathi N [Wed, 2 Mar 2022 05:13:01 +0000 (21:13 -0800)]
pim6d: Adding "show ipv6 pim jp-agg" command

Adding new show CLI to display pim join prune aggregate information.

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
3 years agopim6d: Adding "show ipv6 pim [vrf|vrf all] join" command
Sai Gomathi N [Wed, 2 Mar 2022 04:50:22 +0000 (20:50 -0800)]
pim6d: Adding "show ipv6 pim [vrf|vrf all] join" command

Adding show ipv6 pim join and show ipv6 pim vrf all join
CLIs to display pim join related information and
formatted the json output for "show ip pim join" and
"show ip pim vrf all join" commands.

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
3 years agopim6d: Adding "show ipv6 pim [vrf|vrf all] interface" command
Sai Gomathi N [Mon, 28 Feb 2022 10:28:14 +0000 (02:28 -0800)]
pim6d: Adding "show ipv6 pim [vrf|vrf all] interface" command

Adding show ipv6 pim interface and show ipv6 pim vrf all interface
CLIs to display pim enabled interface informations and
formatted the json output for "show ip pim interface" and
"show ip pim vrf all interface" commands.

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
3 years agopim6d: Adding "show ipv6 pim channel" command
Sai Gomathi N [Fri, 25 Feb 2022 09:47:35 +0000 (01:47 -0800)]
pim6d: Adding "show ipv6 pim channel" command

Adding new CLI to display pim channel informations.
Changing DEFUN to DEPFY for ""show ip pim channel"

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
3 years agopimd: Moving the common functions from pim_cmd.c file
Sai Gomathi N [Tue, 8 Feb 2022 17:14:26 +0000 (09:14 -0800)]
pimd: Moving the common functions from pim_cmd.c file

Moving the functions that are used by both IPV4 and IPV6 to a
common file pim_cmd_common.c file

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
3 years agoMerge pull request #10831 from anlancs/doc-mh-esi-type0
Donatas Abraitis [Mon, 4 Apr 2022 05:47:01 +0000 (08:47 +0300)]
Merge pull request #10831 from anlancs/doc-mh-esi-type0

doc: add mh type-0 ESI support

3 years agoMerge pull request #10954 from donaldsharp/speell
Jafar Al-Gharaibeh [Sun, 3 Apr 2022 00:08:30 +0000 (19:08 -0500)]
Merge pull request #10954 from donaldsharp/speell

Speell

3 years agolib, yang: Fix spellinig of miliseconds 10954/head
Donald Sharp [Sat, 2 Apr 2022 11:48:18 +0000 (07:48 -0400)]
lib, yang: Fix spellinig of miliseconds

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years ago*: Fix spelling of Inteface
Donald Sharp [Sat, 2 Apr 2022 11:38:11 +0000 (07:38 -0400)]
*: Fix spelling of Inteface

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years ago*: Fix spelling of ojbect
Donald Sharp [Sat, 2 Apr 2022 11:33:53 +0000 (07:33 -0400)]
*: Fix spelling of ojbect

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years ago*: Fix spelling of wether
Donald Sharp [Sat, 2 Apr 2022 11:32:57 +0000 (07:32 -0400)]
*: Fix spelling of wether

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agotests: Fix spelling of disbale
Donald Sharp [Sat, 2 Apr 2022 11:31:41 +0000 (07:31 -0400)]
tests: Fix spelling of disbale

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agopimd, zebra: Fix spelling of fowarding
Donald Sharp [Sat, 2 Apr 2022 11:29:22 +0000 (07:29 -0400)]
pimd, zebra: Fix spelling of fowarding

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agobgpd: Fix spelliing of serach
Donald Sharp [Sat, 2 Apr 2022 11:28:40 +0000 (07:28 -0400)]
bgpd: Fix spelliing of serach

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years ago*: Fix spelling of Gracefull
Donald Sharp [Sat, 2 Apr 2022 11:27:28 +0000 (07:27 -0400)]
*: Fix spelling of Gracefull

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agobgpd, vtysh: Fix spelliing of explicitely
Donald Sharp [Sat, 2 Apr 2022 11:25:18 +0000 (07:25 -0400)]
bgpd, vtysh: Fix spelliing of explicitely

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agotests: Fix spelling of neigbors
Donald Sharp [Sat, 2 Apr 2022 11:24:03 +0000 (07:24 -0400)]
tests: Fix spelling of neigbors

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agodoc: add mh type-0 ESI support 10831/head
anlan_cs [Mon, 21 Mar 2022 01:36:05 +0000 (21:36 -0400)]
doc: add mh type-0 ESI support

Add type-0 ESI support for `evpn mh es-id` command.

Signed-off-by: anlan_cs <vic.lan@pica8.com>
3 years agoMerge pull request #10925 from qlyoung/fix-grpc-wants-installed-frr
Christian Hopps [Sat, 2 Apr 2022 09:22:53 +0000 (05:22 -0400)]
Merge pull request #10925 from qlyoung/fix-grpc-wants-installed-frr

tests: skip grpc test if frr not installed

3 years agobgpd: Fix memory leak in subgroup_announce_check 10953/head
Xiao Liang [Sat, 2 Apr 2022 09:00:26 +0000 (17:00 +0800)]
bgpd: Fix memory leak in subgroup_announce_check

Flush dummy attr to release objects allocated by route-map.

Signed-off-by: Xiao Liang <shaw.leon@gmail.com>
3 years agoMerge pull request #10875 from anlancs/doc-mh-esi-1
Donatas Abraitis [Sat, 2 Apr 2022 08:54:51 +0000 (11:54 +0300)]
Merge pull request #10875 from anlancs/doc-mh-esi-1

doc: two minor changes for evpn-mh

3 years ago*: Fix spelling of Following
Donald Sharp [Fri, 1 Apr 2022 20:27:55 +0000 (16:27 -0400)]
*: Fix spelling of Following

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agotests: Fix spelling of daemons
Donald Sharp [Fri, 1 Apr 2022 20:26:38 +0000 (16:26 -0400)]
tests: Fix spelling of daemons

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agotests: Fix spelling of kernel
Donald Sharp [Fri, 1 Apr 2022 20:25:19 +0000 (16:25 -0400)]
tests: Fix spelling of kernel

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agotests: Fix perticular spelling
Donald Sharp [Fri, 1 Apr 2022 20:23:27 +0000 (16:23 -0400)]
tests: Fix perticular spelling

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agoMerge pull request #10950 from donaldsharp/uninit_test
Donatas Abraitis [Fri, 1 Apr 2022 19:26:53 +0000 (22:26 +0300)]
Merge pull request #10950 from donaldsharp/uninit_test

tests: Fix uninitialized usage of variables in tests

3 years agoMerge pull request #10942 from opensourcerouting/feature/printfrr_extension_for_peer_...
Donald Sharp [Fri, 1 Apr 2022 15:28:47 +0000 (11:28 -0400)]
Merge pull request #10942 from opensourcerouting/feature/printfrr_extension_for_peer_hostname

bgpd: Add `%pBP` printfrr() extension to print `IP(hostname)` for BGP peer

3 years agoMerge pull request #10944 from pguibert6WIND/isis_misc_fixes
Donald Sharp [Fri, 1 Apr 2022 13:17:05 +0000 (09:17 -0400)]
Merge pull request #10944 from pguibert6WIND/isis_misc_fixes

Isis misc fixes

3 years agoMerge pull request #10945 from taspelund/ra_log_gooder
mobash-rasool [Fri, 1 Apr 2022 13:16:44 +0000 (18:46 +0530)]
Merge pull request #10945 from taspelund/ra_log_gooder

zebra: don't send RAs w/o LLv6 or on bridge-ports

3 years agotests: Fix uninitialized usage of variables in tests 10950/head
Donald Sharp [Fri, 1 Apr 2022 13:14:11 +0000 (09:14 -0400)]
tests: Fix uninitialized usage of variables in tests

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agopimd: Send immediate join( with possible SG RPT prune bit set 10946/head
Donald Sharp [Thu, 31 Mar 2022 17:07:06 +0000 (13:07 -0400)]
pimd: Send immediate join( with possible SG RPT prune bit set

When pimd has this setup:

src ----- rtr ------ receiver
           |
          rp

And the receiver sends a *,G join to rtr.  When the
src starts sending a S,G, rtr can wait up to one join/prune
interval before sending a S,G rpt prune.  This interval
causes the pimreg device to be in the S,G OIL as that the
RP does not know to prune this leg off.

before:

Timestamp: Thu Mar 31 10:15:18 2022 288767 usec
[MROUTE](10.103.0.5,239.0.0.4)           Iif: rtr-lan_src Oifs: rtr-lan  State: resolved Table: default
Timestamp: Thu Mar 31 10:15:18 2022 288777 usec
[MROUTE](10.103.0.5,239.0.0.4)           Iif: rtr-lan_src Oifs: rtr-lan rtr-lan-1  State: resolved Table: default
Timestamp: Thu Mar 31 10:15:18 2022 288789 usec
[MROUTE](10.103.0.5,239.0.0.4)           Iif: rtr-lan_src Oifs: pimreg rtr-lan rtr-lan-1  State: resolved Table: default
Timestamp: Thu Mar 31 10:15:49 2022 324995 usec
[MROUTE](10.103.0.5,239.0.0.4)           Iif: rtr-lan_src Oifs: rtr-lan rtr-lan-1  State: resolved Table: default
<31 seconds>

After:

Timestamp: Thu Mar 31 12:56:15 2022 501921 usec
(10.103.0.5,239.0.0.27)          Iif: rtr-lan_src Oifs: pimreg rtr-lan  State: resolved Table: default
Timestamp: Thu Mar 31 12:56:15 2022 501930 usec
(10.103.0.5,239.0.0.27)          Iif: rtr-lan_src Oifs: pimreg rtr-lan rtr-lan-1  State: resolved Table: default
Timestamp: Thu Mar 31 12:56:15 2022 502181 usec
(10.103.0.5,239.0.0.27)          Iif: rtr-lan_src Oifs: rtr-lan rtr-lan-1  State: resolved Table: default
<sub second>

What is actually happening:

rtr receives a *,G igmp join, sends a *,G join towards the rp
rtr receives a S,G packet <WRVIFWHOLE>
creates the S,G upstream, sends the register packet to the rp
the rp sees that it still has downstream interest so it forwards the packet on
After (up to 60 seconds ) the rtr, sends the normally scheduled join for
the G and sends the S,GRPT prune as part of it.

What is being done to fix it:

In wrvifwhole handling, when pimd detects that this is the FHR
and is not the RP *and* the incoming interface for the *,G
is different than the incomding interface for the S,G immediately
send a single join packet for the G( which will have the S,G RPT
prune in it ).  Only do this on the first time receiving the
WRVIFWHOLE.

Ticket: #2755650
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agotests: Reduce some pim test timings to more manageable levels
Donald Sharp [Fri, 1 Apr 2022 12:47:38 +0000 (08:47 -0400)]
tests: Reduce some pim test timings to more manageable levels

a) Remove the retry mechanism to continue looking for 75%
of the time for pim code.

   This alone saves a bunch of time in tests that use lib/pim.py
   Effectively all the times given for retry are already long
   enough.  Additionally some tests are gathering data with
   the expectation that they will not find data so the entire
   time is being taken up in retry's.  Extending the retry
   mechanism makes this even worse.  This is especially bad
   for pim in that keep alive timers are counting down and
   state can be removed due to excessive time waiting.

b) Reduce verify verify_multicast_traffic from 40 seconds
to 20 seconds to gather traffic data.

   A bunch of tests are doing this:
   a) gather pre test start traffic data( taking about 70
   seconds to run, because a bunch of time it was looking
   for data that does not exist yet)
   b) run a change to introduce a different traffic flow
   c) gather post test traffic data ( taking about 70
   seconds to run )

   Why does this matter?  Tests were iterating through
   all the different routers looking for traffic flow
   as well as different mroute state.  This is against
   the keepalive timer of 210 seconds.  It does not take
   long before the stream can be removed and the test is
   still looking for data that is no longer there due
   to state timeout.

   The multicast_pim_sm_topo3/test_multicast_pim_sm_topo3.py
   test reduced run time from 398 seconds to 297 seconds.
   Greatly reducing keepalive timeout problems.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agoMerge pull request #10947 from donaldsharp/isis_crash
Donatas Abraitis [Fri, 1 Apr 2022 07:29:17 +0000 (10:29 +0300)]
Merge pull request #10947 from donaldsharp/isis_crash

isisd, lib, ospfd, pathd: Null out free'd pointer

3 years agodoc: two minor changes for evpn-mh 10875/head
anlan_cs [Fri, 25 Mar 2022 05:51:21 +0000 (01:51 -0400)]
doc: two minor changes for evpn-mh

Correct one word - `EAD-per-ES`, and remove one unuseful `index::` line.

Signed-off-by: anlan_cs <vic.lan@pica8.com>
3 years agoisisd, lib, ospfd, pathd: Null out free'd pointer 10947/head
Donald Sharp [Thu, 31 Mar 2022 19:56:24 +0000 (15:56 -0400)]
isisd, lib, ospfd, pathd: Null out free'd pointer

The commands:

router isis 1
  mpls-te on
  no mpls-te on
  mpls-te on
  no mpls-te on
!

Will crash

Valgrind gives us this:
==652336== Invalid read of size 8
==652336==    at 0x49AB25C: typed_rb_min (typerb.c:495)
==652336==    by 0x4943B54: vertices_const_first (link_state.h:424)
==652336==    by 0x493DCE4: vertices_first (link_state.h:424)
==652336==    by 0x493DADC: ls_ted_del_all (link_state.c:1010)
==652336==    by 0x47E77B: isis_instance_mpls_te_destroy (isis_nb_config.c:1871)
==652336==    by 0x495BE20: nb_callback_destroy (northbound.c:1131)
==652336==    by 0x495B5AC: nb_callback_configuration (northbound.c:1356)
==652336==    by 0x4958127: nb_transaction_process (northbound.c:1473)
==652336==    by 0x4958275: nb_candidate_commit_apply (northbound.c:906)
==652336==    by 0x49585B8: nb_candidate_commit (northbound.c:938)
==652336==    by 0x495CE4A: nb_cli_classic_commit (northbound_cli.c:64)
==652336==    by 0x495D6C5: nb_cli_apply_changes_internal (northbound_cli.c:250)
==652336==  Address 0x6f928e0 is 272 bytes inside a block of size 320 free'd
==652336==    at 0x48399AB: free (vg_replace_malloc.c:538)
==652336==    by 0x494BA30: qfree (memory.c:141)
==652336==    by 0x493D99D: ls_ted_del (link_state.c:997)
==652336==    by 0x493DC20: ls_ted_del_all (link_state.c:1018)
==652336==    by 0x47E77B: isis_instance_mpls_te_destroy (isis_nb_config.c:1871)
==652336==    by 0x495BE20: nb_callback_destroy (northbound.c:1131)
==652336==    by 0x495B5AC: nb_callback_configuration (northbound.c:1356)
==652336==    by 0x4958127: nb_transaction_process (northbound.c:1473)
==652336==    by 0x4958275: nb_candidate_commit_apply (northbound.c:906)
==652336==    by 0x49585B8: nb_candidate_commit (northbound.c:938)
==652336==    by 0x495CE4A: nb_cli_classic_commit (northbound_cli.c:64)
==652336==    by 0x495D6C5: nb_cli_apply_changes_internal (northbound_cli.c:250)
==652336==  Block was alloc'd at
==652336==    at 0x483AB65: calloc (vg_replace_malloc.c:760)
==652336==    by 0x494B6F8: qcalloc (memory.c:116)
==652336==    by 0x493D7D2: ls_ted_new (link_state.c:967)
==652336==    by 0x47E4DD: isis_instance_mpls_te_create (isis_nb_config.c:1832)
==652336==    by 0x495BB29: nb_callback_create (northbound.c:1034)
==652336==    by 0x495B547: nb_callback_configuration (northbound.c:1348)
==652336==    by 0x4958127: nb_transaction_process (northbound.c:1473)
==652336==    by 0x4958275: nb_candidate_commit_apply (northbound.c:906)
==652336==    by 0x49585B8: nb_candidate_commit (northbound.c:938)
==652336==    by 0x495CE4A: nb_cli_classic_commit (northbound_cli.c:64)
==652336==    by 0x495D6C5: nb_cli_apply_changes_internal (northbound_cli.c:250)
==652336==    by 0x495D23E: nb_cli_apply_changes (northbound_cli.c:268)

Let's null out the pointer.  After this change.  Valgrind no longer reports issues
and isisd no longer crashes.

Fixes: #10939
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agoMerge pull request #10943 from opensourcerouting/build-ldflags-g
Mark Stapp [Thu, 31 Mar 2022 19:26:13 +0000 (15:26 -0400)]
Merge pull request #10943 from opensourcerouting/build-ldflags-g

build: stick `-g` into LDFLAGS

3 years agobgpd: Add `%pBP` printfrr() extension to print `IP(hostname)` for BGP peer 10942/head
Donatas Abraitis [Thu, 31 Mar 2022 12:59:06 +0000 (15:59 +0300)]
bgpd: Add `%pBP` printfrr() extension to print `IP(hostname)` for BGP peer

Replace existing bgp_peer_hostname() function.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
3 years agoMerge pull request #10916 from rampxxxx/feat_frr_ubi8_docker
Donatas Abraitis [Thu, 31 Mar 2022 18:18:30 +0000 (21:18 +0300)]
Merge pull request #10916 from rampxxxx/feat_frr_ubi8_docker

docker: Adding support for ubi-8 images.

3 years agoMerge pull request #10917 from rampxxxx/fix_fxx_centos8_docker
Donatas Abraitis [Thu, 31 Mar 2022 18:13:43 +0000 (21:13 +0300)]
Merge pull request #10917 from rampxxxx/fix_fxx_centos8_docker

docker: Centos-8 dockerfile fix.

3 years agozebra: don't send RAs w/o LLv6 or on bridge-ports 10945/head
Trey Aspelund [Thu, 31 Mar 2022 16:35:18 +0000 (16:35 +0000)]
zebra: don't send RAs w/o LLv6 or on bridge-ports

It's confusing for a user to see 'Tx RA failed' in the logs when
they've enabled RAs (either through interface config or BGP unnumbered)
on an interface that can't send them.  Let's avoid sending RAs on
interfaces that are bridge_slaves or don't have a link-local address,
since they are the two of the most common reasons for RA Tx failures.

Signed-off-by: Trey Aspelund <taspelund@nvidia.com>
3 years agobuild: stick `-g` into LDFLAGS 10943/head
David Lamparter [Thu, 31 Mar 2022 15:35:32 +0000 (17:35 +0200)]
build: stick `-g` into LDFLAGS

Without `-g` in LDFLAGS we won't get debug info even if it's enabled in
CFLAGS.  Since we're controlling debug info through CFLAGS, there's no
harm in always having `-g` in LDFLAGS.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
3 years agoMerge pull request #10937 from opensourcerouting/fix/bgpd_rmap_match_script
Igor Ryzhov [Thu, 31 Mar 2022 12:14:20 +0000 (15:14 +0300)]
Merge pull request #10937 from opensourcerouting/fix/bgpd_rmap_match_script

bgpd: Show `match script SCRIPT` in running config

3 years agoMerge pull request #10915 from opensourcerouting/printfrr-pzn
Mark Stapp [Thu, 31 Mar 2022 11:22:14 +0000 (07:22 -0400)]
Merge pull request #10915 from opensourcerouting/printfrr-pzn

doc/developer: daemon-specific printfrr formats

3 years agodocker: Adding support for ubi-8 images. 10916/head
Javier Garcia [Thu, 10 Mar 2022 15:32:29 +0000 (16:32 +0100)]
docker: Adding support for ubi-8 images.

- Create frr docker container based in new Red Hat Universal Base
  Images.

- This build a docker container based in ubi-8.
- Need to get the devel packages from centos-8 stream repos.
- Centos-8 stream repos added : base, appstream, powertools and epel

Signed-off-by: Javier Garcia <javier.martin.garcia@ibm.com>
3 years agoisisd: fix typo in show debugging 10944/head
Philippe Guibert [Thu, 31 Mar 2022 09:19:26 +0000 (11:19 +0200)]
isisd: fix typo in show debugging

fix typo in show debugging.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
3 years agoisisd: prevent from accessing a non initialised pointer
Philippe Guibert [Thu, 31 Mar 2022 09:18:45 +0000 (11:18 +0200)]
isisd: prevent from accessing a non initialised pointer

When using bfd on a single level, one may access a null pointer
list. Prevent from using it.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
3 years agoMerge pull request #10934 from opensourcerouting/fix/ospf_state_neighbor_detail
Igor Ryzhov [Thu, 31 Mar 2022 08:16:43 +0000 (11:16 +0300)]
Merge pull request #10934 from opensourcerouting/fix/ospf_state_neighbor_detail

3 years agobgpd: Show `match script SCRIPT` in running config 10937/head
Donatas Abraitis [Thu, 31 Mar 2022 06:34:14 +0000 (09:34 +0300)]
bgpd: Show `match script SCRIPT` in running config

Before:
```
route-map lua permit 10
exit
```

After:
```
route-map lua permit 10
 match script rm
exit
```

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
3 years agoospfd: Show neighbor state in full format (e.g. Full/DR instead of Full) 10934/head
Donatas Abraitis [Wed, 30 Mar 2022 19:19:55 +0000 (22:19 +0300)]
ospfd: Show neighbor state in full format (e.g. Full/DR instead of Full)

Before:
```
$ vtysh -c 'show ip ospf neighbor json' | jq '.neighbors."100.100.200.100"[0].nbrState'
"Full/DR"
$ vtysh -c 'show ip ospf neighbor detail json' | jq '.neighbors."100.100.200.100"[0].nbrState'
"Full"
```

After:
```
$ vtysh -c 'show ip ospf neighbor json' | jq '.neighbors."100.100.200.100"[0].nbrState'
"Full/DR"
$ vtysh -c 'show ip ospf neighbor detail json' | jq '.neighbors."100.100.200.100"[0].nbrState'
"Full/DR"
```

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
3 years agoMerge pull request #10926 from donaldsharp/all_stop
Donatas Abraitis [Wed, 30 Mar 2022 18:14:25 +0000 (21:14 +0300)]
Merge pull request #10926 from donaldsharp/all_stop

tools: Modify all_stop to actually try to stop all daemons

3 years agoMerge pull request #10676 from AbhishekNR/pim_showcli_com
David Lamparter [Wed, 30 Mar 2022 15:15:54 +0000 (17:15 +0200)]
Merge pull request #10676 from AbhishekNR/pim_showcli_com

3 years agoMerge pull request #10912 from mobash-rasool/fixes2
Donald Sharp [Wed, 30 Mar 2022 14:34:56 +0000 (10:34 -0400)]
Merge pull request #10912 from mobash-rasool/fixes2

pimd: Do not create PIM state when an invalid IGMPv3 join is received

3 years agodoc/developer: daemon-specific printfrr formats 10915/head
David Lamparter [Tue, 29 Mar 2022 12:26:00 +0000 (14:26 +0200)]
doc/developer: daemon-specific printfrr formats

Group together and extend docs on daemon-specific printfrr formats.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
3 years agoMerge pull request #10922 from idryzhov/ospf6-crash
Donald Sharp [Wed, 30 Mar 2022 12:27:48 +0000 (08:27 -0400)]
Merge pull request #10922 from idryzhov/ospf6-crash

ospf6d: fix crash when applying a route-map on a temporary route

3 years agoMerge pull request #10918 from opensourcerouting/fix/bgpd_crash
Donald Sharp [Wed, 30 Mar 2022 11:53:03 +0000 (07:53 -0400)]
Merge pull request #10918 from opensourcerouting/fix/bgpd_crash

bgpd: Fix Lua route-map crash

3 years agotools: Modify all_stop to actually try to stop all daemons 10926/head
Donald Sharp [Tue, 29 Mar 2022 21:47:48 +0000 (17:47 -0400)]
tools: Modify all_stop to actually try to stop all daemons

If a user enters:
/usr/lib/frr/frrinit.sh start
<modifies daemons file to remove a daemon from being used>
then calls:
/usr/lib/frr/frrinit.sh stop

The daemon(s) that are removed from the file are not stopped.

Apparently in shell scripting naming the variables the same
as the callee does not work as one would think.  Just renaming
the variable to something else solved the problem.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agoMerge pull request #10850 from crosser/fix-m4-gitignore
Donatas Abraitis [Wed, 30 Mar 2022 07:20:45 +0000 (10:20 +0300)]
Merge pull request #10850 from crosser/fix-m4-gitignore

autoconf: do not .gitignore m4/ax_lua.m4

3 years agoMerge pull request #10902 from bobuhiro11/fix_zebra_srv6_func_bits
Donatas Abraitis [Wed, 30 Mar 2022 07:20:36 +0000 (10:20 +0300)]
Merge pull request #10902 from bobuhiro11/fix_zebra_srv6_func_bits

zebra: fix doc and default value of "func-bits" for SRv6

3 years agotests: skip grpc test if frr not installed 10925/head
Quentin Young [Tue, 29 Mar 2022 20:16:35 +0000 (16:16 -0400)]
tests: skip grpc test if frr not installed

it wants yang models installed which will only be there if frr has been
installed before, causing `make check` to fail when run on a system on
which frr has not been installed when GRPC is enabled (--enable-grpc)

Signed-off-by: Quentin Young <qlyoung@nvidia.com>
3 years agoMerge pull request #10838 from ton31337/feature/bgpd_callbacks_for_start_end_configur...
Russ White [Tue, 29 Mar 2022 15:30:47 +0000 (11:30 -0400)]
Merge pull request #10838 from ton31337/feature/bgpd_callbacks_for_start_end_configurations

bgpd: Add BGP configuration start/end markers

3 years agoMerge pull request #10825 from fdumontet6WIND/ospfdefaultoriginatedissue2
Russ White [Tue, 29 Mar 2022 15:29:51 +0000 (11:29 -0400)]
Merge pull request #10825 from fdumontet6WIND/ospfdefaultoriginatedissue2

ospfd: fix ospf default route wrongly sent back

3 years agoMerge pull request #10848 from pguibert6WIND/ospf_srlb_config
Russ White [Tue, 29 Mar 2022 15:15:21 +0000 (11:15 -0400)]
Merge pull request #10848 from pguibert6WIND/ospf_srlb_config

Ospf srlb config

3 years agoMerge pull request #10837 from opensourcerouting/fix/consistent_JSON_keys_for_ospf_ne...
Russ White [Tue, 29 Mar 2022 15:14:05 +0000 (11:14 -0400)]
Merge pull request #10837 from opensourcerouting/fix/consistent_JSON_keys_for_ospf_neighbor

ospfd: Use consistent JSON keys for `show ip ospf neighbor` and detai…

3 years agoMerge pull request #10845 from opensourcerouting/feature/unify_bgp_logging
Russ White [Tue, 29 Mar 2022 15:13:29 +0000 (11:13 -0400)]
Merge pull request #10845 from opensourcerouting/feature/unify_bgp_logging

bgpd: Print hostname along with IP for most useful debug messages

3 years agoMerge pull request #10888 from anlancs/bgpd-cleanup-3
Russ White [Tue, 29 Mar 2022 15:10:19 +0000 (11:10 -0400)]
Merge pull request #10888 from anlancs/bgpd-cleanup-3

bgpd: small simplification for evpn RT commands

3 years agoospf6d: fix crash when applying a route-map on a temporary route 10922/head
Igor Ryzhov [Tue, 29 Mar 2022 15:09:53 +0000 (18:09 +0300)]
ospf6d: fix crash when applying a route-map on a temporary route

ospf6_routemap_rule_match_interface uses route->ospf6 field for matching
so we must fill the field in our temporary variable.

Fixes #10911.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
3 years agoMerge pull request #10906 from opensourcerouting/fix/stop_llgr_timer_when_established
Russ White [Tue, 29 Mar 2022 15:07:30 +0000 (11:07 -0400)]
Merge pull request #10906 from opensourcerouting/fix/stop_llgr_timer_when_established

bgpd: Stop LLGR timer when the connection is established

3 years agoMerge pull request #10913 from louis-oui/lsp-parse
Russ White [Tue, 29 Mar 2022 15:06:39 +0000 (11:06 -0400)]
Merge pull request #10913 from louis-oui/lsp-parse

isisd: fix infinite loop when parsing LSPs

3 years agoMerge pull request #10834 from rgirada/ospf_def
Russ White [Tue, 29 Mar 2022 15:01:17 +0000 (11:01 -0400)]
Merge pull request #10834 from rgirada/ospf_def

ospfd: Default route becomes stale  route in nbrs even after flush from originator

3 years agoMerge pull request #10719 from opensourcerouting/nb-show-fixes
Russ White [Tue, 29 Mar 2022 14:51:02 +0000 (10:51 -0400)]
Merge pull request #10719 from opensourcerouting/nb-show-fixes

lib: fix and improve yang operational data display

3 years agobgpd: Make sure we pop the table from the stack when decoding struct attr 10918/head
Donatas Abraitis [Tue, 29 Mar 2022 14:47:28 +0000 (17:47 +0300)]
bgpd: Make sure we pop the table from the stack when decoding struct attr

```
bgpd[81718]: bgpd/bgp_routemap.c:382: route_match_script(): assertion (lua_gettop(lfs->L) == 1) failed
BGP[81718]: Received signal 6 at 1648554165 (si_addr 0x6e00013f36, PC 0x7fcc5adebce1); aborting...
BGP[81718]: /usr/local/lib/libfrr.so.0(zlog_backtrace_sigsafe+0x5e) [0x7fcc5b1caf5e]
BGP[81718]: /usr/local/lib/libfrr.so.0(zlog_signal+0xe6) [0x7fcc5b1cb136]
BGP[81718]: /usr/local/lib/libfrr.so.0(+0xcd4b2) [0x7fcc5b1f54b2]
BGP[81718]: /lib/x86_64-linux-gnu/libpthread.so.0(+0x14140) [0x7fcc5af89140]
BGP[81718]: /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x141) [0x7fcc5adebce1]
BGP[81718]: /lib/x86_64-linux-gnu/libc.so.6(abort+0x123) [0x7fcc5add5537]
BGP[81718]: /usr/local/lib/libfrr.so.0(_zlog_assert_failed+0xd7) [0x7fcc5b21ecd7]
BGP[81718]: /usr/lib/frr/bgpd(+0x162710) [0x55ed70255710]
BGP[81718]: /usr/local/lib/libfrr.so.0(+0xc0e47) [0x7fcc5b1e8e47]
BGP[81718]: /usr/local/lib/libfrr.so.0(route_map_apply_ext+0x4b6) [0x7fcc5b1eaaf6]
BGP[81718]: /usr/lib/frr/bgpd(+0x13eb24) [0x55ed70231b24]
BGP[81718]: /usr/lib/frr/bgpd(bgp_update+0x7db) [0x55ed7023f81b]
BGP[81718]: /usr/lib/frr/bgpd(bgp_nlri_parse_ip+0x113) [0x55ed70241bc3]
```

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
3 years agobgpd: Do not print .lua extension twice
Donatas Abraitis [Tue, 29 Mar 2022 09:11:57 +0000 (12:11 +0300)]
bgpd: Do not print .lua extension twice

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
3 years agodocker: Centos-8 dockerfile fix. 10917/head
Javier Garcia [Thu, 10 Mar 2022 15:30:48 +0000 (16:30 +0100)]
docker: Centos-8 dockerfile fix.

- Need to adapt repos to new centos-8 stream.

Signed-off-by: Javier Garcia <javier.martin.garcia@ibm.com>
3 years agoMerge pull request #10882 from opensourcerouting/pim6-txrx
mobash-rasool [Tue, 29 Mar 2022 13:00:10 +0000 (18:30 +0530)]
Merge pull request #10882 from opensourcerouting/pim6-txrx

pim6d: send IPv6 PIM packets

3 years agoMerge pull request #10158 from ckishimo/ospf6d_norefresh
Russ White [Tue, 29 Mar 2022 12:36:05 +0000 (08:36 -0400)]
Merge pull request #10158 from ckishimo/ospf6d_norefresh

ospf6d: stop refreshing type-5 from NSSA

3 years agoisisd: fix infinite loop when parsing LSPs 10913/head
Louis Scalbert [Mon, 28 Mar 2022 12:32:53 +0000 (14:32 +0200)]
isisd: fix infinite loop when parsing LSPs

Fixing the crash:

> #0  0x0000560aa80f8e30 in lspdb_const_find (h=<error reading variable: Cannot access memory at address 0x7fff5e95efe8>, item=<error reading variable: Cannot access memory at address 0x7fff5e95efe0>) at ./isisd/isis_lsp.h:64
> #1  0x0000560aa80f8e9d in lspdb_find (h=0x560aaa1ed3b8, item=0x7fff5e95f050) at ./isisd/isis_lsp.h:64
> #2  0x0000560aa80f92f9 in lsp_search (head=0x560aaa1ed3b8, id=0x7fff5e95f200 "") at isisd/isis_lsp.c:100
> #3  0x0000560aa8113d69 in spf_adj_list_parse_tlv (spftree=0x560aaa1f09d0, adj_list=0x560aaa214480, id=0x560aad331a78 "", desig_is_id=0x0, pseudo_metric=0, metric=3, oldmetric=false, subtlvs=0x0) at isisd/isis_spf.c:1330
> #4  0x0000560aa811419d in spf_adj_list_parse_lsp (spftree=0x560aaa1f09d0, adj_list=0x560aaa214480, lsp=0x560aaa1f4e50, pseudo_nodeid=0x0, pseudo_metric=0) at isisd/isis_spf.c:1429
> #5  0x0000560aa81141fe in spf_adj_list_parse_lsp (spftree=0x560aaa1f09d0, adj_list=0x560aaa214480, lsp=0x560aaa1ff8e0, pseudo_nodeid=0x0, pseudo_metric=0) at isisd/isis_spf.c:1442
> #6  0x0000560aa81141fe in spf_adj_list_parse_lsp (spftree=0x560aaa1f09d0, adj_list=0x560aaa214480, lsp=0x560aaa1f4e50, pseudo_nodeid=0x0, pseudo_metric=0) at isisd/isis_spf.c:1442
> (...)
> #65507 0x0000560aa81141fe in spf_adj_list_parse_lsp (spftree=0x560aaa1f09d0, adj_list=0x560aaa214480, lsp=0x560aaa1ff8e0, pseudo_nodeid=0x0, pseudo_metric=0) at isisd/isis_spf.c:1442
> #65508 0x0000560aa81141fe in spf_adj_list_parse_lsp (spftree=0x560aaa1f09d0, adj_list=0x560aaa214480, lsp=0x560aaa1f4e50, pseudo_nodeid=0x0, pseudo_metric=0) at isisd/isis_spf.c:1442
> #65509 0x0000560aa81141fe in spf_adj_list_parse_lsp (spftree=0x560aaa1f09d0, adj_list=0x560aaa214480, lsp=0x560aaa1ff8e0, pseudo_nodeid=0x0, pseudo_metric=0) at isisd/isis_spf.c:1442
> #65510 0x0000560aa81141fe in spf_adj_list_parse_lsp (spftree=0x560aaa1f09d0, adj_list=0x560aaa214480, lsp=0x560aaa1f4e50, pseudo_nodeid=0x0, pseudo_metric=0) at isisd/isis_spf.c:1442
> #65511 0x0000560aa8114313 in isis_spf_build_adj_list (spftree=0x560aaa1f09d0, lsp=0x560aaa1f4e50) at isisd/isis_spf.c:1455
> #65512 0x0000560aa8114f09 in isis_run_spf (spftree=0x560aaa1f09d0) at isisd/isis_spf.c:1775
> #65513 0x0000560aa8115057 in isis_run_spf_with_protection (area=0x560aaa1ed3b0, spftree=0x560aaa1f09d0) at isisd/isis_spf.c:1801
> #65514 0x0000560aa8115311 in isis_run_spf_cb (thread=0x7fff5f15e5a0) at isisd/isis_spf.c:1859
> #65515 0x00007f90bac66dcc in thread_call (thread=0x7fff5f15e5a0) at lib/thread.c:2002
> #65516 0x00007f90bac013ee in frr_run (master=0x560aa9f5cb40) at lib/libfrr.c:1196
> #65517 0x0000560aa80e7da2 in main (argc=2, argv=0x7fff5f15e7b8, envp=0x7fff5f15e7d0) at isisd/isis_main.c:273

Fixes: 7b36d36e0e ("isisd: make the SPF code more modular")
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
3 years agopim6d: Implementing "show ipv6 pim state" CLI 10676/head
Abhishek N R [Tue, 15 Feb 2022 10:19:39 +0000 (02:19 -0800)]
pim6d: Implementing "show ipv6 pim state" CLI

Adding new show CLI to display pim internal state related to groups.

Signed-off-by: Abhishek N R <abnr@vmware.com>
3 years agopim6d: Implementing "show ipv6 pim upstream-rpf" CLI.
Abhishek N R [Tue, 15 Feb 2022 07:42:40 +0000 (23:42 -0800)]
pim6d: Implementing "show ipv6 pim upstream-rpf" CLI.

Adding new show CLI to display pim RPF for upstreams.

Signed-off-by: Abhishek N R <abnr@vmware.com>
3 years agopim6d: Implementing "show ipv6 pim upstream-join-desired" CLI
Abhishek N R [Tue, 15 Feb 2022 07:24:31 +0000 (23:24 -0800)]
pim6d: Implementing "show ipv6 pim upstream-join-desired" CLI

Adding new show CLI to display group join desired status.

Signed-off-by: Abhishek N R <abnr@vmware.com>
3 years agopim6d: Implementing "show ipv6 pim upstream" CLI
Abhishek N R [Fri, 11 Feb 2022 05:15:31 +0000 (21:15 -0800)]
pim6d: Implementing "show ipv6 pim upstream" CLI

Adding new show CLI to display pim upstream information.

Signed-off-by: Abhishek N R <abnr@vmware.com>
3 years agopim6d: Implementing "show ipv6 pim statistics" CLI
Abhishek N R [Wed, 9 Feb 2022 07:19:25 +0000 (23:19 -0800)]
pim6d: Implementing "show ipv6 pim statistics" CLI

Adding new show CLI to display pim statistics.

Signed-off-by: Abhishek N R <abnr@vmware.com>
3 years agopim6d: Implementing "show ipv6 pim secondary" CLI
Abhishek N R [Wed, 9 Feb 2022 04:32:14 +0000 (20:32 -0800)]
pim6d: Implementing "show ipv6 pim secondary" CLI

Adding new show CLI to display pim secondary addresses.

Signed-off-by: Abhishek N R <abnr@vmware.com>
3 years agopim6d: Implementing "show ipv6 pim rpf" CLI
Abhishek N R [Fri, 4 Mar 2022 07:56:19 +0000 (23:56 -0800)]
pim6d: Implementing "show ipv6 pim rpf" CLI

Adding new show CLI to display pim RPF information.

Also corrected ipv4 json object.

Signed-off-by: Abhishek N R <abnr@vmware.com>
3 years agopimd: Moving the common functions from pim_cmd.c
Abhishek N R [Tue, 8 Feb 2022 17:15:06 +0000 (09:15 -0800)]
pimd: Moving the common functions from pim_cmd.c

Moving the functions that are used by both IPV4 and IPV6 to a
common file pim_cmd_common.c file

Signed-off-by: Abhishek N R <abnr@vmware.com>
3 years agopim6d: Implementing "show ipv6 pim rp-info" CLI
Abhishek N R [Mon, 7 Feb 2022 10:13:16 +0000 (02:13 -0800)]
pim6d: Implementing "show ipv6 pim rp-info" CLI

Adding new show CLI to display pim RP information.

Also corrected ipv4 json object.

Signed-off-by: Abhishek N R <abnr@vmware.com>
3 years agoMerge pull request #10904 from mobash-rasool/fixes
Donatas Abraitis [Tue, 29 Mar 2022 05:53:44 +0000 (08:53 +0300)]
Merge pull request #10904 from mobash-rasool/fixes

pim6d: Correct the show ip prefix-list display for pim6d

3 years agopimd: update the pim state when there is a group change 10912/head
Mobashshera Rasool [Mon, 28 Mar 2022 10:42:15 +0000 (03:42 -0700)]
pimd: update the pim state when there is a group change

Re-evaluate the creation/deletion of groups when there is
a change in group type.

Issue: #10128
Co-authored-by: Vishal Dhingra <rac.vishaldhingra@gmail.com>
Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
3 years agopimd: Do not create PIM state for invalid (S,G)
Mobashshera Rasool [Mon, 28 Mar 2022 10:09:58 +0000 (03:09 -0700)]
pimd: Do not create PIM state for invalid (S,G)

Currently FRR creates an (S,G) PIM state when an IGMPv3
(S,G) join with INCLUDE mode is received for the ASM group.

Since it is an ASM group, we should not create (S,G) PIM state
and should not be sending PIM (S,G) joins towards the source.

This is a misconfiguration. So keep this group in IGMP table
and do not create PIM state.

Issue: #10128
Co-authored-by: Vishal Dhingra <rac.vishaldhingra@gmail.com>
Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
3 years agoospf6d: fix topotest 10158/head
ckishimo [Wed, 5 Jan 2022 22:46:24 +0000 (23:46 +0100)]
ospf6d: fix topotest

The routes in the test_nssa_range() are E2

  "routes":{
    "2001:db8:1000::2/128":{
      "destinationType":"Network",
      "installedTimeSince":"00:06:29",
      "changedTimeSince":"00:06:29",
      "numberOfLock":2,
      "flags":"BA--",
      "associatedArea":"0.0.0.2",
      "pathType":"External-2",
      "lsOriginRoutePathType":"NSSA",
      "lsId":"0.0.0.3",
      "lsAdvertisingRouter":"10.254.254.4",
      "options":"--|-|-|--|-|--",
      "routerBits":"--------",
      "prefixOptions":"--|P|--|--|--",
      "metricType":2,
      "metricCost":10,
      "metricCostE2":20,
      "pathsCount":1,
      "nextHopCount":1,
      "nextHops":[
        {
          "nextHop":"::",
          "interfaceName":"r2-eth2"
        }
      ]
    }

This PR fixes the key from `metricCost` to `metricCostE2`

Signed-off-by: ckishimo <carles.kishimoto@gmail.com>