]> git.puffer.fish Git - mirror/frr.git/log
mirror/frr.git
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 agoMerge pull request #8803 from kuldeepkash/dynamic_route_leak2
Donatas Abraitis [Tue, 22 Mar 2022 06:58:02 +0000 (08:58 +0200)]
Merge pull request #8803 from kuldeepkash/dynamic_route_leak2

tests: Adding new tests to bgp_vrf_dynamic_route_leak suite

3 years agoMerge pull request #10814 from manojvn/2896483
Jafar Al-Gharaibeh [Tue, 22 Mar 2022 03:45:01 +0000 (22:45 -0500)]
Merge pull request #10814 from manojvn/2896483

ospf6d: observed crash in ospf6_decrement_retrans_count.

3 years agoMerge pull request #10809 from donaldsharp/pim_igmp_query
Jafar Al-Gharaibeh [Tue, 22 Mar 2022 03:37:26 +0000 (22:37 -0500)]
Merge pull request #10809 from donaldsharp/pim_igmp_query

Pim igmp query

3 years agoMerge pull request #10815 from pguibert6WIND/pim_debug_vxlan
Donatas Abraitis [Mon, 21 Mar 2022 13:47:49 +0000 (15:47 +0200)]
Merge pull request #10815 from pguibert6WIND/pim_debug_vxlan

pimd: add 'debug pim vxlan' when 'debug pim' is used

3 years agoMerge pull request #10832 from patrasar/2520720
Donatas Abraitis [Mon, 21 Mar 2022 11:38:14 +0000 (13:38 +0200)]
Merge pull request #10832 from patrasar/2520720

pimd: add source and group information in mroute json

3 years agoMerge pull request #8967 from anlancs/fix-startup-error-info
Donatas Abraitis [Mon, 21 Mar 2022 07:52:52 +0000 (09:52 +0200)]
Merge pull request #8967 from anlancs/fix-startup-error-info

tools: suppress unuseful warnings during restarting frr

3 years agopimd: source/group information now added for pruned entry 10832/head
sarita patra [Mon, 21 Mar 2022 06:41:24 +0000 (23:41 -0700)]
pimd: source/group information now added for pruned entry

show ip mroute json command displays the source, group info
per oil, so for pruned group since the OIL is empty, it is not
showing.

Fix: Added the above information per source.

Signed-off-by: sarita patra <saritap@vmware.com>
3 years agotests: Adding bgp_vrf_dynamic_route_leak_topo4 suite 8803/head
Kuldeep Kashyap [Mon, 14 Feb 2022 00:28:29 +0000 (05:58 +0530)]
tests: Adding bgp_vrf_dynamic_route_leak_topo4 suite

1. Added 3 test cases to veirfy bgp vrf dynamic route leak functionality
Signed-off-by: Kuldeep Kashyap <kashyapk@vmware.com>
3 years agotests: Adding bgp_vrf_dynamic_route_leak_topo3 test suite
Kuldeep Kashyap [Mon, 14 Feb 2022 00:26:06 +0000 (05:56 +0530)]
tests: Adding bgp_vrf_dynamic_route_leak_topo3 test suite

1. Added 4 test cases to verify bgp vrf dynamic route leak functionlality

Signed-off-by: Kuldeep Kashyap <kashyapk@vmware.com>
3 years agotests: Framework changes to support bgp vrf dynamic route leak automation
Kuldeep Kashyap [Tue, 14 Sep 2021 11:26:37 +0000 (16:56 +0530)]
tests: Framework changes to support bgp vrf dynamic route leak automation

1. Enhance framework to support bgp vrf dynamic route leak automation

Signed-off-by: Kuldeep Kashyap <kashyapk@vmware.com>
3 years agoMerge pull request #9953 from donaldsharp/system_route_replace
Donatas Abraitis [Sun, 20 Mar 2022 21:25:52 +0000 (23:25 +0200)]
Merge pull request #9953 from donaldsharp/system_route_replace

zebra: Better handle replacing our route by a system route

3 years agoMerge pull request #9476 from SaiGomathiN/pim-nht
Donatas Abraitis [Sun, 20 Mar 2022 21:14:08 +0000 (23:14 +0200)]
Merge pull request #9476 from SaiGomathiN/pim-nht

pimd: Added new option "detail" in the "debug pim nht" CLI

3 years agoMerge pull request #10820 from donaldsharp/evpn_route_frag
Russ White [Sun, 20 Mar 2022 19:49:16 +0000 (15:49 -0400)]
Merge pull request #10820 from donaldsharp/evpn_route_frag

Evpn route frag

3 years agoMerge pull request #10830 from anlancs/zebra-rb-remove
Donald Sharp [Sun, 20 Mar 2022 18:32:49 +0000 (14:32 -0400)]
Merge pull request #10830 from anlancs/zebra-rb-remove

zebra, bgpd: remove check returning value of RB_INSERT()

3 years agobgpd: remove check returning value of RB_INSERT() 10830/head
anlan_cs [Sat, 19 Mar 2022 05:15:09 +0000 (13:15 +0800)]
bgpd: remove check returning value of RB_INSERT()

Since the `RB_INSERT()` is called after not found in RB tree, it MUST be ok and
and return zero. The check of returning value of `RB_INSERT()` is redundant,
just remove them.

Signed-off-by: anlan_cs <vic.lan@pica8.com>
3 years agoMerge pull request #10816 from anlancs/fix-bgdp-local-es-rt
Russ White [Sat, 19 Mar 2022 19:04:58 +0000 (15:04 -0400)]
Merge pull request #10816 from anlancs/fix-bgdp-local-es-rt

bgpd: fix wrong check on local es routes

3 years agoMerge pull request #10829 from donaldsharp/rtm_delete
Russ White [Sat, 19 Mar 2022 19:03:25 +0000 (15:03 -0400)]
Merge pull request #10829 from donaldsharp/rtm_delete

zebra: Do not complain if deletion fails

3 years agozebra: Do not complain if deletion fails 10829/head
Donald Sharp [Sat, 19 Mar 2022 11:44:54 +0000 (07:44 -0400)]
zebra: Do not complain if deletion fails

When issuing a RTM_DELETE operation and the kernel tells
us that the route is already deleted, let's not complain
about the situation:

2022/03/19 02:40:34 ZEBRA: [EC 100663303] kernel_rtm: 2a10:cc42:1d51::/48: rtm_write() unexpectedly returned -4 for command RTM_DELETE

I can recreate this issue on freebsd by doing this:
a) create a route using sharpd
b) shutdown the nexthop's interface
c) remove the route using sharpd

This would also be true of pretty much any routing protocol's behavior.
Let's just not complain about the situation if a RTM_DELETE
operation is issued and FRR is told that the route does not
exist to delete.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agozebra: remove check returning value of RB_INSERT()
anlan_cs [Sat, 19 Mar 2022 05:04:43 +0000 (13:04 +0800)]
zebra: remove check returning value of RB_INSERT()

Since the `RB_INSERT()` is called after not found in RB tree, it MUST be ok and
and return zero. The check of returning value of `RB_INSERT()` is redundant,
just remove them.

Signed-off-by: anlan_cs <vic.lan@pica8.com>
3 years agoMerge pull request #10817 from kuldeepkash/micronet_fixes
Christian Hopps [Fri, 18 Mar 2022 16:21:02 +0000 (12:21 -0400)]
Merge pull request #10817 from kuldeepkash/micronet_fixes

tests: Fix topotests crash when KeyError found

3 years agodoc: add notes for ead-es-frag fragmentation 10820/head
Anuradha Karuppiah [Fri, 13 Aug 2021 14:52:07 +0000 (07:52 -0700)]
doc: add notes for ead-es-frag fragmentation

Config for -
1. Preventing fragmentation via user configured EAD RTs
2. Limiting the number of EVIs per-fragment if EAD fragmentation is needed

Signed-off-by: Anuradha Karuppiah <anuradhak@nvidia.com>
3 years agobgpd: add cli for configuring the EVI limit per-ES-frag
Anuradha Karuppiah [Thu, 12 Aug 2021 19:08:14 +0000 (12:08 -0700)]
bgpd: add cli for configuring the EVI limit per-ES-frag

The EAD-per-ES route can be fragmented to fit the EVIs on the switch. This
command allows the EVI limit to be configured -

!
router bgp 5556
 !
 address-family l2vpn evpn
  ead-es-frag evi-limit 200
 exit-address-family
 !
!

Signed-off-by: Anuradha Karuppiah <anuradhak@nvidia.com>
3 years agolib, bgpd: changes for EAD-per-ES fragmentation
Anuradha Karuppiah [Fri, 4 Jun 2021 00:28:43 +0000 (17:28 -0700)]
lib, bgpd: changes for EAD-per-ES fragmentation

The EAD-per-ES route carries ECs for all the ES-EVI RTs. As the number of VNIs
increase all RTs do not fit into a standard BGP UPDATE (4K) so the route needs
to be fragmented.

Each fragment is associated with a separate RD and frag-id -
1. Local ES-per-EAD -
ES route table - {ES-frag-ID, ESI, ET=0xffffffff, VTEP-IP}
global route table - {RD-=ES-frag-RD, ESI, ET=0xffffffff}
2. Remote ES-per-EAD -
VNI route table - {ESI, ET=0xffffffff, VTEP-IP}
global route table - {RD-=ES-frag-RD, ESI, ET=0xffffffff}

Note: The fragment ID is abandoned in the per-VNI routing table. At this
point that is acceptable as we dont expect more than one-ES-per-EAD fragment
to be imported into the per-VNI routing table. But that may need to be
re-worked at a later point.

CLI changes (sample with 4 VNIs per-fragment for experimental pruposes) -
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
root@torm-11:mgmt:~# vtysh -c "show bgp l2vpn evpn es 03:44:38:39:ff:ff:01:00:00:01"
ESI: 03:44:38:39:ff:ff:01:00:00:01
 Type: LR
 RD: 27.0.0.21:3
 Originator-IP: 27.0.0.21
 Local ES DF preference: 50000
 VNI Count: 10
 Remote VNI Count: 10
 VRF Count: 3
 MACIP EVI Path Count: 33
 MACIP Global Path Count: 198
 Inconsistent VNI VTEP Count: 0
 Inconsistencies: -
 Fragments: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  27.0.0.21:3 EVIs: 4
  27.0.0.21:13 EVIs: 4
  27.0.0.21:22 EVIs: 2
 VTEPs:
  27.0.0.22 flags: EA df_alg: preference df_pref: 32767
  27.0.0.23 flags: EA df_alg: preference df_pref: 32767

root@torm-11:mgmt:~# vtysh -c "show bgp l2vpn evpn es-evi vni 1002 detail"
VNI: 1002 ESI: 03:44:38:39:ff:ff:01:00:00:01
 Type: LR
 ES fragment RD: 27.0.0.21:13 >>>>>>>>>>>>>>>>>>>>>>>>>
 Inconsistencies: -
 VTEPs: 27.0.0.22(EV),27.0.0.23(EV)

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

PS: The number of EVIs per-fragment has been set to 128 and may need further
tuning.

Ticket: #2632967

Signed-off-by: Anuradha Karuppiah <anuradhak@nvidia.com>
3 years agobgpd: evpn mh changes to advertise EAD routes with user configured export-rt
Anuradha Karuppiah [Tue, 11 May 2021 23:45:55 +0000 (16:45 -0700)]
bgpd: evpn mh changes to advertise EAD routes with user configured export-rt

This is an alternate to EAD route fragmenation and allows the user to limit
the route to a single UPDATE (<4K) independent of the number of EVIs.

Sample config (add one l2-vni RT from each VRF) -
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
!
router bgp 5556
 !
 address-family l2vpn evpn
  ead-es-route-target export 5556:1001
  ead-es-route-target export 5556:1004
  ead-es-route-target export 5556:1008
 exit-address-family
!
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

Sample route
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
   Network          Next Hop            Metric LocPrf Weight Path
*> [1]:[4294967295]:[03:44:38:39:ff:ff:01:00:00:01]:[32]:[27.0.0.21]
                    27.0.0.21                          32768 i
                    ET:8 ESI-label-Rt:AA RT:5556:1001 RT:5556:1004 RT:5556:1008
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

When configured, the ead-es-route-target is used instead of
the auto-generated version that includes all associated EVI's RTs.

Ticket: #2632967

Signed-off-by: Anuradha Karuppiah <anuradhak@nvidia.com>
3 years agoMerge pull request #10705 from kuldeepkash/cut_execution_time
Martin Winter [Thu, 17 Mar 2022 23:33:59 +0000 (16:33 -0700)]
Merge pull request #10705 from kuldeepkash/cut_execution_time

tests: Adding EVPN-GR scenario to evpn_type5 suite

3 years agoMerge pull request #10813 from opensourcerouting/fix/include_prune_stats_for_pim_traf...
mobash-rasool [Thu, 17 Mar 2022 18:06:30 +0000 (23:36 +0530)]
Merge pull request #10813 from opensourcerouting/fix/include_prune_stats_for_pim_traffic_interface

pimd: Include pruneTx/pruneRx for `show ip pim interface traffic WORD…

3 years agoMerge pull request #10801 from mobash-rasool/fixes
Donald Sharp [Thu, 17 Mar 2022 13:50:03 +0000 (09:50 -0400)]
Merge pull request #10801 from mobash-rasool/fixes

tests: Adding database info in the script to ease debug

3 years agobgpd: fix wrong check on local es routes 10816/head
anlan_cs [Wed, 16 Mar 2022 13:38:17 +0000 (21:38 +0800)]
bgpd: fix wrong check on local es routes

Importing local es routes should be skipped. But the check of it is a bit wrong.
It is ok that local es routes can't be imported, but importing local es will
wrongly enter `uninstall` procedure.

Just adjust this check to make it clear. Immediately return in the case
of importing local es routes.

Signed-off-by: anlan_cs <vic.lan@pica8.com>
3 years agopimd: add 'debug pim vxlan' when 'debug pim' is used 10815/head
Philippe Guibert [Thu, 17 Mar 2022 13:35:00 +0000 (14:35 +0100)]
pimd: add 'debug pim vxlan' when 'debug pim' is used

Reversely, negating 'debug pim' will disable vxlan debugging.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
3 years agoMerge pull request #10812 from opensourcerouting/fix/pim_igmp_statistics_per_group
Donald Sharp [Thu, 17 Mar 2022 12:21:10 +0000 (08:21 -0400)]
Merge pull request #10812 from opensourcerouting/fix/pim_igmp_statistics_per_group

pimd: Show all groups matched by an arbitrary prefix for `pim rp-info`

3 years agotests: Fix topotests crash when KeyError found 10817/head
Kuldeep Kashyap [Thu, 17 Mar 2022 08:28:29 +0000 (13:58 +0530)]
tests: Fix topotests crash when KeyError found

1. Handle KeyError
2. logger object is defined in main function and its not not accessible
   in other functions so defined it in local functions.

Signed-off-by: Kuldeep Kashyap <kashyapk@vmware.com>
3 years agoospf6d: crash in ospf6_decrement_retrans_count. 10814/head
Manoj Naragund [Thu, 17 Mar 2022 11:28:02 +0000 (16:58 +0530)]
ospf6d: crash in ospf6_decrement_retrans_count.

Problem:
ospf6d crash is observed when lsack is received from the neighbour for
AS External LSA.

RCA:
The crash is observed in ospf6_decrement_retrans_count while decrementing
retransmit counter for the LSA when lsack is recived. This is because in
ospf6_flood_interace when new LSA is being added to the neighbour's list
the incrementing is happening on the received LSA instead of the already
present LSA in scope DB which is already carrying counters.

when this new LSA replaces the old one, the already present counters are
not copied on the new LSA this creates counter mismatch which results in
a crash when lsack is recevied due to counter going to negative.

Fix:
The fix involves following changes.
   1. In ospf6_flood_interace when LSA is being added to retrans list
      check if there is alreday lsa in the scoped db and increment
      the counter on that if present.
   2. In ospf6_lsdb_add copy the retrans counter from old to new lsa
      when its being replaced.

Signed-off-by: Manoj Naragund <mnaragund@vmware.com>
3 years agopimd: Include pruneTx/pruneRx for `show ip pim interface traffic WORD json` 10813/head
Donatas Abraitis [Thu, 17 Mar 2022 08:00:02 +0000 (10:00 +0200)]
pimd: Include pruneTx/pruneRx for `show ip pim interface traffic WORD json`

```
exit1-debian-11# sh ip pim interface traffic eth2 json
{
  "eth2":{
    "name":"eth2",
    "state":"up",
    "address":"192.168.10.123",
    "index":4,
    "flagMulticast":true,
    "flagBroadcast":true,
    "lanDelayEnabled":true,
    "helloRx":2,
    "helloTx":2,
    "joinRx":0,
    "joinTx":1,
    "pruneRx":0,
    "pruneTx":0,
    "registerRx":0,
    "registerTx":0,
    "registerStopRx":0,
    "registerStopTx":0,
    "assertRx":0,
    "assertTx":0,
    "bsmRx":0,
    "bsmTx":0
  }
}
```

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
3 years agopimd: Show all groups matched by an arbitrary prefix for `pim rp-info` 10812/head
Donatas Abraitis [Thu, 17 Mar 2022 07:31:05 +0000 (09:31 +0200)]
pimd: Show all groups matched by an arbitrary prefix for `pim rp-info`

```
r1# show ip pim rp-info
RP address       group/prefix-list   OIF               I am RP    Source   Group-Type
192.168.10.123   225.0.0.0/24        eth2              yes        Static   ASM
192.168.10.123   239.0.0.0/8         eth2              yes        Static   ASM
192.168.10.123   239.4.0.0/24        eth2              yes        Static   SSM

r1# show ip pim rp-info 239.4.0.0/25
RP address       group/prefix-list   OIF               I am RP    Source   Group-Type
192.168.10.123   239.0.0.0/8         eth2              yes        Static   ASM
192.168.10.123   239.4.0.0/24        eth2              yes        Static   SSM
```

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
3 years agotests: Adding database information in ospfv3 testcase 10801/head
Mobashshera Rasool [Wed, 16 Mar 2022 12:47:01 +0000 (05:47 -0700)]
tests: Adding database information in ospfv3 testcase

Improving the test case to show database info as well
to help narrow down whether its a LSA origination problem or
route calculation problem in case of failures.

Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
3 years agoMerge pull request #10807 from donaldsharp/wheel_typo
Jafar Al-Gharaibeh [Thu, 17 Mar 2022 01:40:18 +0000 (20:40 -0500)]
Merge pull request #10807 from donaldsharp/wheel_typo

lib: wheel's typo fix

3 years agoMerge pull request #10806 from donaldsharp/dplane_fixup_for_lua
Jafar Al-Gharaibeh [Wed, 16 Mar 2022 21:38:01 +0000 (16:38 -0500)]
Merge pull request #10806 from donaldsharp/dplane_fixup_for_lua

zebra: Fixup lua with new dplane ops

3 years agoMerge pull request #10790 from anlancs/zebra-adjust-flag
Donald Sharp [Wed, 16 Mar 2022 20:25:24 +0000 (16:25 -0400)]
Merge pull request #10790 from anlancs/zebra-adjust-flag

zebra: minor changes on "zebra_evpn_mac_gw_macip_add" function

3 years agopimd: fix igmp packet check 10809/head
ron [Wed, 19 Jan 2022 09:37:28 +0000 (17:37 +0800)]
pimd: fix igmp packet check

ip source 0.0.0.0 is OK (RFC 3376: 4.2.13.).

Signed-off-by: ron <lyq140hf2006@163.com>
3 years agopimd: fix igmp query packet
ron [Wed, 19 Jan 2022 09:35:30 +0000 (17:35 +0800)]
pimd: fix igmp query packet

'Max Resp Time' in v2 query needs no encode (RFC 2236: 2.2.).

Signed-off-by: ron <lyq140hf2006@163.com>
3 years agolib: wheel's typo fix 10807/head
ron [Thu, 10 Feb 2022 11:26:53 +0000 (19:26 +0800)]
lib: wheel's typo fix

The wheel data structure is a array of list pointers
but the alloc for it is using the sizeof (struct listnode *)
as the amount to allocate.  Even though the (struct listnode *)
and (struct list *) sizes are the same, let's list the correct
values.

Signed-off-by: ron <lyq140hf2006@163.com>
3 years agozebra: Fixup lua with new dplane ops 10806/head
Donald Sharp [Wed, 16 Mar 2022 19:10:54 +0000 (15:10 -0400)]
zebra: Fixup lua with new dplane ops

Commit: 5d41413833 added 3 new dplane ops:

DPLANE_OP_INTF_INSTALL
DPLANE_OP_INTF_UPDATE
DPLANE_OP_INTF_DELETE

The build system does not build lua so zebra_script.c
was not updated.  Update of course!

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agoMerge pull request #10797 from fabioantonini/sysrepo-2.0.41-support
Donald Sharp [Wed, 16 Mar 2022 18:33:53 +0000 (14:33 -0400)]
Merge pull request #10797 from fabioantonini/sysrepo-2.0.41-support

support to sysrepo-2.0.41

3 years agoMerge pull request #10803 from anlancs/bgpd-remove-dead-l2vpn
Donald Sharp [Wed, 16 Mar 2022 18:29:42 +0000 (14:29 -0400)]
Merge pull request #10803 from anlancs/bgpd-remove-dead-l2vpn

bgpd: remove dead code

3 years agoMerge pull request #10804 from LabNConsulting/chopps/coverity-1
Donald Sharp [Wed, 16 Mar 2022 18:29:18 +0000 (14:29 -0400)]
Merge pull request #10804 from LabNConsulting/chopps/coverity-1

lib: grpc: fix covevrity warnings

3 years agoMerge pull request #9262 from gpnaveen/ospfv3_basic_tests
Jafar Al-Gharaibeh [Wed, 16 Mar 2022 16:06:19 +0000 (11:06 -0500)]
Merge pull request #9262 from gpnaveen/ospfv3_basic_tests

tests: adding ospfv3 base cases.

3 years agolib: grpc: fix covevrity warnings 10804/head
Christian Hopps [Wed, 16 Mar 2022 14:11:19 +0000 (10:11 -0400)]
lib: grpc: fix covevrity warnings

One uninit warning and one missing lock warning, both were OK but
let's make the tool happy.

Signed-off-by: Christian Hopps <chopps@labn.net>
3 years agoMerge pull request #10755 from patrasar/enable_pimv6
David Lamparter [Wed, 16 Mar 2022 15:13:56 +0000 (16:13 +0100)]
Merge pull request #10755 from patrasar/enable_pimv6

3 years agoMerge pull request #10798 from Jafaral/topo-detect-pim
Donald Sharp [Wed, 16 Mar 2022 14:28:56 +0000 (10:28 -0400)]
Merge pull request #10798 from Jafaral/topo-detect-pim

topotest: enable pim when detecting `ip pim` using unified config

3 years agobgpd: remove dead code 10803/head
anlan_cs [Wed, 16 Mar 2022 13:05:37 +0000 (21:05 +0800)]
bgpd: remove dead code

`bgp_evpn_import_route_in_vrfs()` is special ( l2vpn ) form of
`install_uninstall_evpn_route() with `AFI_L2VPN` and `SAFI_EVPN` family.

No caller, just remove it.

Signed-off-by: anlan_cs <vic.lan@pica8.com>
3 years agoMerge pull request #10653 from g-balaji1/pimv6-ssm
Donald Sharp [Wed, 16 Mar 2022 12:40:29 +0000 (08:40 -0400)]
Merge pull request #10653 from g-balaji1/pimv6-ssm

pim6d: pim_ssmpingd changes to support PIMv6

3 years agoMerge pull request #10763 from donaldsharp/plist_speedup
Donatas Abraitis [Wed, 16 Mar 2022 11:42:18 +0000 (13:42 +0200)]
Merge pull request #10763 from donaldsharp/plist_speedup

lib: Convert prefix_master->str to a RB Tree

3 years agoMerge pull request #10799 from Jafaral/ospf-not-running
Donald Sharp [Wed, 16 Mar 2022 11:38:28 +0000 (07:38 -0400)]
Merge pull request #10799 from Jafaral/ospf-not-running

ospfd: better error messages when not enabled in a vrf

3 years agopim6d: Changes done in pim_ssmpingd to support v6 10653/head
Balaji Gurudoss [Fri, 25 Feb 2022 10:29:03 +0000 (15:59 +0530)]
pim6d: Changes done in pim_ssmpingd to support v6

Signed-off-by: Balaji Gurudoss <G_Balaji1@dell.com>
3 years agopim6d: Enable protocol as VTYSH_PIM6D for pim6_cmd.c 10755/head
sarita patra [Tue, 8 Mar 2022 09:59:14 +0000 (01:59 -0800)]
pim6d: Enable protocol as VTYSH_PIM6D for pim6_cmd.c

Signed-off-by: sarita patra <saritap@vmware.com>
3 years agoospfd: better error messages when not enabled in a vrf 10799/head
Jafar Al-Gharaibeh [Wed, 16 Mar 2022 04:28:31 +0000 (23:28 -0500)]
ospfd: better error messages when not enabled in a vrf

before:
```
r1# show ip ospf vrf blue
% OSPF instance not found

r1# show ip ospf vrf default
% OSPF instance not found

r1# show ip ospf
% OSPF instance not found
```

after:
```
r1# show ip ospf vrf blue
% OSPF is not enabled in vrf blue

r1# show ip ospf vrf default
% OSPF is not enabled in vrf default

r1# show ip ospf
% OSPF is not enabled in vrf default
```

Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
3 years agotopotest: enable pim when detecting pim using unified config 10798/head
Jafar Al-Gharaibeh [Tue, 15 Mar 2022 05:28:44 +0000 (00:28 -0500)]
topotest: enable pim when detecting pim using unified config

Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
3 years agotests: adding ospfv3 base cases. 9262/head
nguggarigoud [Tue, 3 Aug 2021 01:18:29 +0000 (18:18 -0700)]
tests: adding ospfv3 base cases.

Covers basic test case like route map, rte calc.

Signed-off-by: nguggarigoud <nguggarigoud@vmware.com>
3 years agoMerge pull request #10427 from sworleys/Protodown-Reason-Upstream
Russ White [Tue, 15 Mar 2022 23:58:16 +0000 (19:58 -0400)]
Merge pull request #10427 from sworleys/Protodown-Reason-Upstream

Add Support for Setting Protodown Reason Code

3 years agoMerge pull request #10643 from Jafaral/ospf-multi-vrf
Donald Sharp [Tue, 15 Mar 2022 22:58:03 +0000 (18:58 -0400)]
Merge pull request #10643 from Jafaral/ospf-multi-vrf

tests: add a topotest for ospf, mutli vrf, and route leaking

3 years agotopotests: pytest mark bgpd 10643/head
Jafar Al-Gharaibeh [Tue, 15 Mar 2022 20:54:37 +0000 (15:54 -0500)]
topotests: pytest mark bgpd

Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
3 years agoMerge pull request #10770 from chiragshah6/evpn_dev3
Sri Mohana Singamsetty [Tue, 15 Mar 2022 19:32:22 +0000 (12:32 -0700)]
Merge pull request #10770 from chiragshah6/evpn_dev3

zebra: evpn disable remove l2vni from l3vni list

3 years agoMerge pull request #10580 from leonshaw/fix/link-ns
Donald Sharp [Tue, 15 Mar 2022 19:23:18 +0000 (15:23 -0400)]
Merge pull request #10580 from leonshaw/fix/link-ns

zebra: Lookup linked interface in link netns

3 years agoMerge pull request #10791 from opensourcerouting/feature/igmp_stats_total_received_me...
Donald Sharp [Tue, 15 Mar 2022 19:14:37 +0000 (15:14 -0400)]
Merge pull request #10791 from opensourcerouting/feature/igmp_stats_total_received_message

pimd: Add additional IGMP stats (peak number of groups)

3 years agoMerge pull request #10794 from opensourcerouting/fix/do_not_print_empty_stats_for_non...
Donald Sharp [Tue, 15 Mar 2022 19:13:23 +0000 (15:13 -0400)]
Merge pull request #10794 from opensourcerouting/fix/do_not_print_empty_stats_for_non_existing_interface

pimd: Return empty JSON if we query non existing interface for IGMP s…

3 years agolib: support to sysrepo-2.0.41 10797/head
Fabio Antonini [Tue, 15 Mar 2022 11:11:32 +0000 (12:11 +0100)]
lib: support to sysrepo-2.0.41

northbound_sysrepo.c fixed to use the newer APIs from sysrepo 2.0.41

Signed-off-by: Fabio Antonini <f.antonini@tiesse.com>
3 years agopimd: Return empty JSON if we query non existing interface for IGMP stats 10794/head
Donatas Abraitis [Mon, 14 Mar 2022 21:06:16 +0000 (23:06 +0200)]
pimd: Return empty JSON if we query non existing interface for IGMP stats

Now we return all zeroed stats, which seems wrong. Handle the same way, as
with PIM interfaces. Return empty JSON and a warning for VTYSH.

```
exit1-debian-11# sh ip igmp statistics interface belekas
% No such interface
exit1-debian-11# sh ip igmp statistics interface belekas json
{
}
```

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
3 years agoMerge pull request #10792 from donaldsharp/pim_blargle
Donatas Abraitis [Tue, 15 Mar 2022 14:22:37 +0000 (16:22 +0200)]
Merge pull request #10792 from donaldsharp/pim_blargle

Fix up #6058

3 years agoMerge pull request #10796 from anlancs/bgpd-zebra-newline
Donald Sharp [Tue, 15 Mar 2022 13:40:44 +0000 (09:40 -0400)]
Merge pull request #10796 from anlancs/bgpd-zebra-newline

bgpd: add new line for prompt of "no router bgp"

3 years agobgpd: add new line for prompt of "no router bgp" 10796/head
anlan_cs [Sun, 20 Feb 2022 01:02:46 +0000 (20:02 -0500)]
bgpd: add new line for prompt of "no router bgp"

Simple prompt issue.
"no router bgp <ASN>" is ok, but "no router bgp" without <ASN> missed "\n".

Signed-off-by: anlan_cs <vic.lan@pica8.com>
3 years agoMerge pull request #10739 from LabNConsulting/chopps/fixgrpc-reorg
Donald Sharp [Tue, 15 Mar 2022 13:10:03 +0000 (09:10 -0400)]
Merge pull request #10739 from LabNConsulting/chopps/fixgrpc-reorg

grpc, lib: grpc cleanup/reorg

3 years agoMerge pull request #10565 from lyq140/patch-thread
Donald Sharp [Tue, 15 Mar 2022 12:40:41 +0000 (08:40 -0400)]
Merge pull request #10565 from lyq140/patch-thread

lib: not thread off when schedule

3 years agoMerge pull request #10583 from donaldsharp/pim_upstream_timers
Donatas Abraitis [Tue, 15 Mar 2022 12:35:30 +0000 (14:35 +0200)]
Merge pull request #10583 from donaldsharp/pim_upstream_timers

pimd: Ensure timers are stopped on instance shutdown

3 years agoMerge pull request #10693 from anlancs/bgpd-add-check-ns
Donald Sharp [Tue, 15 Mar 2022 12:27:44 +0000 (08:27 -0400)]
Merge pull request #10693 from anlancs/bgpd-add-check-ns

zebra: use "assert" instead of unnecessary check

3 years agopimd: Add additional IGMP stats (peak number of groups) 10791/head
Donatas Abraitis [Mon, 14 Mar 2022 15:33:11 +0000 (17:33 +0200)]
pimd: Add additional IGMP stats (peak number of groups)

```
exit1-debian-11# sh ip igmp statistics interface eth2
IGMP statistics
Interface            : eth2
V1 query             : 0
V2 query             : 0
V3 query             : 25
V2 leave             : 0
V1 report            : 0
V2 report            : 0
V3 report            : 34
mtrace response      : 0
mtrace request       : 0
unsupported          : 0
joins failed         : 0
joins sent           : 13
general queries sent : 2
group queries sent   : 24
peak groups          : 9
total groups         : 4
total source groups  : 1
exit1-debian-11# sh ip igmp statistics interface eth2 json
{
  "eth2":{
    "name":"eth2",
    "queryV1":0,
    "queryV2":0,
    "queryV3":25,
    "leaveV2":0,
    "reportV1":0,
    "reportV2":0,
    "reportV3":34,
    "mtraceResponse":0,
    "mtraceRequest":0,
    "unsupported":0,
    "peakGroups":9,
    "totalGroups":4,
    "totalSourceGroups":1,
    "joinsFailed":0,
    "joinsSent":13,
    "generalQueriesSent":2,
    "groupQueriesSent":24
  }
}
```

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
3 years agoMerge pull request #10793 from opensourcerouting/feature/igmp_stats_total_received_me...
Donald Sharp [Tue, 15 Mar 2022 11:56:00 +0000 (07:56 -0400)]
Merge pull request #10793 from opensourcerouting/feature/igmp_stats_total_received_messages

pimd: Show total received messages IGMP stats

3 years agoMerge pull request #10012 from AbhishekNR/upstream
Donald Sharp [Tue, 15 Mar 2022 11:54:04 +0000 (07:54 -0400)]
Merge pull request #10012 from AbhishekNR/upstream

pimd : Handling of Exclude mode IGMPv3 report messages for SSM aware group.

3 years agotests: Adding EVPN-GR scenario to evpn_type5 suite 10705/head
Kuldeep Kashyap [Tue, 1 Mar 2022 23:31:25 +0000 (05:01 +0530)]
tests: Adding EVPN-GR scenario to evpn_type5 suite

1. Adding EVPN-GR scenario to evpn_type5 suite

Signed-off-by: Kuldeep Kashyap <kashyapk@vmware.com>
3 years agopimd: Show total received messages IGMP stats 10793/head
Donatas Abraitis [Mon, 14 Mar 2022 20:45:28 +0000 (22:45 +0200)]
pimd: Show total received messages IGMP stats

```
exit1-debian-11# do sh ip igmp statistics
IGMP statistics
Interface               : global
V1 query                : 0
V2 query                : 0
V3 query                : 3
V2 leave                : 0
V1 report               : 0
V2 report               : 0
V3 report               : 18
mtrace response         : 0
mtrace request          : 0
unsupported             : 0
total received messages : 21
joins failed            : 0
joins sent              : 16
general queries sent    : 6
group queries sent      : 3
total groups            : 4
total source groups     : 1
exit1-debian-11# do sh ip igmp statistics json
{
  "global":{
    "name":"global",
    "queryV1":0,
    "queryV2":0,
    "queryV3":4,
    "leaveV2":0,
    "reportV1":0,
    "reportV2":0,
    "reportV3":18,
    "mtraceResponse":0,
    "mtraceRequest":0,
    "unsupported":0,
    "totalReceivedMessage":22,
    "totalGroups":3,
    "totalSourceGroups":1,
    "joinsFailed":0,
    "joinsSent":16,
    "generalQueriesSent":6,
    "groupQueriesSent":4
  }
}
```

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
3 years agolib: grpc: rework RPC handlers improve code clarity 10739/head
Christian Hopps [Mon, 21 Feb 2022 01:30:52 +0000 (20:30 -0500)]
lib: grpc: rework RPC handlers improve code clarity

- split NewRpcState object into 2, a Unary and a Streaming variant, which
  then allows for the next.
- move all state machine details inside these new state objects
  - use a template arg to allow for Streaming state tracking object
    creation and deletion w/o requiring this in each specific RPC
    hander.
- Code is more rugged by design now.

Thanks to Rafael Zalamena <rzalamena@opensourcerouting.org> for the cleanup
ideas/motivation.

Signed-off-by: Christian Hopps <chopps@labn.net>
3 years agopimd: A wrong address family means the register-stop receive fails 10792/head
Donald Sharp [Mon, 14 Mar 2022 19:51:13 +0000 (15:51 -0400)]
pimd: A wrong address family means the register-stop receive fails

The current code in pim_register_stop_recv would never fail as
that the code was always returning 0 in all cases, but
if the code parses an incorrect afi then it has failed and
should return as much

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agopimd: FRR-PIM sending register packet even after receiving (*,G) register stop
saravanank [Fri, 20 Mar 2020 03:08:55 +0000 (20:08 -0700)]
pimd: FRR-PIM sending register packet even after receiving (*,G) register stop

RCA: (*,G) register stop was not handled

Fix: Loop through all (S,G) under the (*,G) and apply reg stop

Authored-by- Saravanan K <saravanank@vmware.com>
Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
3 years agoMerge pull request #10738 from LabNConsulting/chopps/fixgrpc
Donald Sharp [Mon, 14 Mar 2022 18:57:59 +0000 (14:57 -0400)]
Merge pull request #10738 from LabNConsulting/chopps/fixgrpc

fixes for grpc module

3 years agolib: grpc: use candiate ID to delete rather than pointer to candiate 10738/head
Christian Hopps [Sun, 6 Mar 2022 11:59:50 +0000 (06:59 -0500)]
lib: grpc: use candiate ID to delete rather than pointer to candiate

- also be consistent in candidate IDs being uint64_t

Signed-off-by: Christian Hopps <chopps@labn.net>
3 years agolib: call protobuf clean up on exit
Rafael Zalamena [Sat, 5 Mar 2022 15:34:28 +0000 (10:34 -0500)]
lib: call protobuf clean up on exit

Let's clean up the valgrind output even more by calling the protobuf
shutdown function that deallocates all library used memory.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
3 years agotests: new grpc topotest
Christian Hopps [Sat, 26 Feb 2022 18:44:33 +0000 (13:44 -0500)]
tests: new grpc topotest

Signed-off-by: Christian Hopps <chopps@labn.net>
3 years agotests: analyze should also check /tmp/topotests/topotests.xml
Christian Hopps [Thu, 24 Feb 2022 00:20:31 +0000 (19:20 -0500)]
tests: analyze should also check /tmp/topotests/topotests.xml

Signed-off-by: Christian Hopps <chopps@labn.net>
3 years agotests: lib: fix grpc unit-test
Christian Hopps [Mon, 7 Mar 2022 19:29:19 +0000 (14:29 -0500)]
tests: lib: fix grpc unit-test

Signed-off-by: Christian Hopps <chopps@labn.net>
3 years agoMerge pull request #10786 from opensourcerouting/pim6-pim-prep
Donald Sharp [Mon, 14 Mar 2022 13:35:37 +0000 (09:35 -0400)]
Merge pull request #10786 from opensourcerouting/pim6-pim-prep

pim6d: prepare for sending & receiving actual PIM packets

3 years agoMerge pull request #10788 from opensourcerouting/feature/igmp_stats_queries_sent
Donald Sharp [Mon, 14 Mar 2022 12:28:29 +0000 (08:28 -0400)]
Merge pull request #10788 from opensourcerouting/feature/igmp_stats_queries_sent

pimd: Add additional IGMP stats (generic/group specific queries sent)

3 years agoMerge pull request #10725 from opensourcerouting/zebra-fpm-crash-fix
Donald Sharp [Mon, 14 Mar 2022 12:27:10 +0000 (08:27 -0400)]
Merge pull request #10725 from opensourcerouting/zebra-fpm-crash-fix

zebra: don't enqueue data with FPM socket closed

3 years agoMerge pull request #10731 from donaldsharp/multipath_output_in_zebra
Donatas Abraitis [Mon, 14 Mar 2022 11:38:08 +0000 (13:38 +0200)]
Merge pull request #10731 from donaldsharp/multipath_output_in_zebra

zebra: Multipath output

3 years agozebra: don't enqueue data with FPM socket closed 10725/head
Rafael Zalamena [Wed, 9 Feb 2022 22:16:32 +0000 (19:16 -0300)]
zebra: don't enqueue data with FPM socket closed

It will trigger an assert while trying to schedule the next write.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
3 years agopimd: Add additional IGMP stats (generic/group specific queries sent) 10788/head
Donatas Abraitis [Mon, 14 Mar 2022 07:26:22 +0000 (09:26 +0200)]
pimd: Add additional IGMP stats (generic/group specific queries sent)

```
exit1-debian-11# sh ip igmp statistics
IGMP statistics
Interface            : global
V1 query             : 0
V2 query             : 0
V3 query             : 6
V2 leave             : 0
V1 report            : 0
V2 report            : 0
V3 report            : 14
mtrace response      : 0
mtrace request       : 0
unsupported          : 0
joins failed         : 0
joins sent           : 16
general queries sent : 6
group queries sent   : 4
total groups         : 5
total source groups  : 1
exit1-debian-11# sh ip igmp statistics json
{
  "global":{
    "name":"global",
    "queryV1":0,
    "queryV2":0,
    "queryV3":6,
    "leaveV2":0,
    "reportV1":0,
    "reportV2":0,
    "reportV3":18,
    "mtraceResponse":0,
    "mtraceRequest":0,
    "unsupported":0,
    "totalGroups":5,
    "totalSourceGroups":1,
    "joinsFailed":0,
    "joinsSent":16,
    "generalQueriesSent":6,
    "groupQueriesSent":4
  }
}
```

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
3 years agopimd: Fix indentation for struct igmp_stats
Donatas Abraitis [Mon, 14 Mar 2022 07:24:49 +0000 (09:24 +0200)]
pimd: Fix indentation for struct igmp_stats

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
3 years agoMerge pull request #10447 from ton31337/fix/json_with_whitespaces
Donald Sharp [Sun, 13 Mar 2022 22:19:33 +0000 (18:19 -0400)]
Merge pull request #10447 from ton31337/fix/json_with_whitespaces

*: Fix JSON keys with whitespaces and PascalCase

3 years agoMerge pull request #10768 from opensourcerouting/feature/add_join_stats_per_interface...
Donald Sharp [Sun, 13 Mar 2022 22:17:57 +0000 (18:17 -0400)]
Merge pull request #10768 from opensourcerouting/feature/add_join_stats_per_interface_for_igmp

pimd: Add IGMP join sent/failed statistics

3 years agopimd: Add IGMP join sent/failed statistics 10768/head
Donatas Abraitis [Thu, 10 Mar 2022 16:10:43 +0000 (18:10 +0200)]
pimd: Add IGMP join sent/failed statistics

```
exit1-debian-11# sh ip igmp statistics
IGMP statistics
Interface           : global
V1 query            : 0
V2 query            : 0
V3 query            : 0
V2 leave            : 0
V1 report           : 0
V2 report           : 0
V3 report           : 16
mtrace response     : 0
mtrace request      : 0
unsupported         : 0
joins failed        : 0
joins sent          : 11
total groups        : 4
total source groups : 0
exit1-debian-11# sh ip igmp statistics json
{
  "global":{
    "name":"global",
    "queryV1":0,
    "queryV2":0,
    "queryV3":0,
    "leaveV3":0,
    "reportV1":0,
    "reportV2":0,
    "reportV3":16,
    "mtraceResponse":0,
    "mtraceRequest":0,
    "unsupported":0,
    "totalGroups":4,
    "totalSourceGroups":0,
    "joinsFailed":0,
    "joinsSent":11
  }
}
```

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
3 years agoMerge pull request #10704 from anlancs/zebra-remove-check
Donald Sharp [Sun, 13 Mar 2022 14:17:13 +0000 (10:17 -0400)]
Merge pull request #10704 from anlancs/zebra-remove-check

zebra: Remove unnecessary check