]> git.proxmox.com Git - mirror_frr.git/log
mirror_frr.git
2 years agotests: Validate the routes using polling for bgp_remove_private_as
Donatas Abraitis [Sat, 10 Sep 2022 03:51:25 +0000 (06:51 +0300)]
tests: Validate the routes using polling for bgp_remove_private_as

Do not fail at the first shot.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2 years agoMerge pull request #11922 from anlancs/fix/zebra-broken-evpn
Donald Sharp [Fri, 9 Sep 2022 11:58:29 +0000 (07:58 -0400)]
Merge pull request #11922 from anlancs/fix/zebra-broken-evpn

zebra: fix broken evpn

2 years agoMerge pull request #11909 from opensourcerouting/fix/a_couple_nits
Donald Sharp [Fri, 9 Sep 2022 11:55:13 +0000 (07:55 -0400)]
Merge pull request #11909 from opensourcerouting/fix/a_couple_nits

bgpd: bgp_dest_unlock_node fixes

2 years agoMerge pull request #11896 from AbhishekNR/issue_11891
Donatas Abraitis [Thu, 8 Sep 2022 14:35:44 +0000 (16:35 +0200)]
Merge pull request #11896 from AbhishekNR/issue_11891

pim6d: Adding additional details for "show ipv6 mld interface [ifname] json" command.

2 years agoMerge pull request #11887 from SaiGomathiN/igmptogm
Donatas Abraitis [Thu, 8 Sep 2022 14:34:26 +0000 (16:34 +0200)]
Merge pull request #11887 from SaiGomathiN/igmptogm

pimd, pim6d: Changing IGMP to GM in debug macros

2 years agozebra: fix broken evpn
anlan_cs [Tue, 6 Sep 2022 05:34:11 +0000 (01:34 -0400)]
zebra: fix broken evpn

To resolve link dependencies of unordered interfaces, the commit
`520ebf72b27c2462ce8b0dc5a1d4cb83956df69c` has separated assignment of
`zif->link_ifindex` and `zif->link` from `netlink_interface()` during startup.
The fixup stage of `zebra_if_update_all_links()` goes into the last of
`interface_lookup_netlink()`, it can't be executed in the case of error in
above `netlink_parse_info()`s.

`RTM_GETTUNNEL` is not supported in linux kernel until 5.18, so
`netlink_parse_info()` will throw error with the previous versions.

If two conditions are met, (it is a common case)
1. Interfaces are created before frr restart/start
2. Linux kernel version < 5.18

the link dependencies will not be done, then evpn feature will be broken.
IMO we should just ignore this error.

Signed-off-by: anlan_cs <vic.lan@pica8.com>
2 years agoMerge pull request #11913 from mjstapp/fix_rcu_bgp_keepalive
Jafar Al-Gharaibeh [Thu, 8 Sep 2022 05:22:28 +0000 (00:22 -0500)]
Merge pull request #11913 from mjstapp/fix_rcu_bgp_keepalive

bgpd: release rcu lock in bgp keepalive pthread

2 years agoMerge pull request #11915 from opensourcerouting/topotests-collect
Donald Sharp [Wed, 7 Sep 2022 16:59:26 +0000 (12:59 -0400)]
Merge pull request #11915 from opensourcerouting/topotests-collect

topotests: ignore env for pytest --collect-only

2 years agoMerge pull request #11916 from leonshaw/fix/conf-vrf-netns
Donald Sharp [Wed, 7 Sep 2022 16:58:39 +0000 (12:58 -0400)]
Merge pull request #11916 from leonshaw/fix/conf-vrf-netns

zebra: Reconfiguring netns for vrf is not a failure

2 years agoMerge pull request #11914 from anlancs/fix/cleanup-lib-name
Donald Sharp [Wed, 7 Sep 2022 16:54:38 +0000 (12:54 -0400)]
Merge pull request #11914 from anlancs/fix/cleanup-lib-name

lib: replace one path with macro

2 years agozebra: Reconfiguring netns for vrf is not a failure
Xiao Liang [Wed, 7 Sep 2022 09:14:02 +0000 (17:14 +0800)]
zebra: Reconfiguring netns for vrf is not a failure

When using namespace VRF backend, and frr.conf contains:

    vrf test
      netns /run/netns/test
    exit-vrf

FRR fails to start:

    line 11: Failure to communicate[13] to zebra, line:  netns /run/netns/test

Fix this by returning CMD_WARNING rather than CMD_WARNING_CONFIG_FAILED
when the same netns path is configured.

Signed-off-by: Xiao Liang <shaw.leon@gmail.com>
2 years agolib: replace one path with macro
anlan_cs [Wed, 7 Sep 2022 03:08:56 +0000 (23:08 -0400)]
lib: replace one path with macro

Replace all of the path name with macro, only the two places.

Signed-off-by: anlan_cs <vic.lan@pica8.com>
2 years agoMerge pull request #11911 from mruprich/ospf-api
Jafar Al-Gharaibeh [Wed, 7 Sep 2022 03:55:58 +0000 (22:55 -0500)]
Merge pull request #11911 from mruprich/ospf-api

ospfd: Adding SUPPORT_OSPF_API define in ospf_spf.c

2 years agoMerge pull request #11823 from pguibert6WIND/bgp_vpnv4_gre_ebgp
Rafael Zalamena [Tue, 6 Sep 2022 16:37:19 +0000 (13:37 -0300)]
Merge pull request #11823 from pguibert6WIND/bgp_vpnv4_gre_ebgp

Bgp vpnv4 convey without transport label

2 years agotopotests: ignore env for pytest --collect-only
David Lamparter [Tue, 6 Sep 2022 15:43:26 +0000 (17:43 +0200)]
topotests: ignore env for pytest --collect-only

`--collect-only` does not run any tests, so bypass env checks for it.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2 years agoMerge pull request #11864 from manojvn/clis
Donatas Abraitis [Tue, 6 Sep 2022 15:32:56 +0000 (18:32 +0300)]
Merge pull request #11864 from manojvn/clis

ospfd: Added clis to change default timers for LSA refresh and maxage remove delay.

2 years agoMerge pull request #11882 from opensourcerouting/fix/increase_peer_af_flags_to_u64
Russ White [Tue, 6 Sep 2022 15:24:39 +0000 (11:24 -0400)]
Merge pull request #11882 from opensourcerouting/fix/increase_peer_af_flags_to_u64

bgpd: Increase peer af_flags to uint64_t

2 years agoMerge pull request #11754 from Orange-OpenSource/isisd
Russ White [Tue, 6 Sep 2022 13:51:18 +0000 (09:51 -0400)]
Merge pull request #11754 from Orange-OpenSource/isisd

isisd: Correct Valgrind errors

2 years agobgpd: release rcu lock in bgp keepalive pthread
Mark Stapp [Tue, 6 Sep 2022 12:34:10 +0000 (05:34 -0700)]
bgpd: release rcu lock in bgp keepalive pthread

Don't hold the rcu lock in the bgp keepalive pthread: it
blocks the rcu pthread and prevents log-file deletion.

Signed-off-by: Mark Stapp <mstapp@nvidia.com>
2 years agoospfd: Adding SUPPORT_OSPF_API define in ospf_spf.c
Michal Ruprich [Tue, 6 Sep 2022 10:25:01 +0000 (12:25 +0200)]
ospfd: Adding SUPPORT_OSPF_API define in ospf_spf.c

It is not possible to build ospf_spf.c file with --disable-ospfapi because
ospf_apiserver.c has SUPPORT_OSPF_API around all function definitions and
that results in an undefined reference to the ospf_apiserver_notify_reachable
function error while building.

Signed-off-by: Michal Ruprich <mruprich@redhat.com>
2 years agobgpd: Unlock bgp_dest after bgp_table_subtree_lookup()
Donatas Abraitis [Tue, 6 Sep 2022 09:38:30 +0000 (12:38 +0300)]
bgpd: Unlock bgp_dest after bgp_table_subtree_lookup()

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2 years agobgpd: Drop unused functions
Donatas Abraitis [Tue, 6 Sep 2022 09:09:40 +0000 (12:09 +0300)]
bgpd: Drop unused functions

bgp_node_match_ipv4
bgp_node_match_ipv6
bgp_table_iter_init
bgp_table_iter_next
bgp_table_iter_cleanup
bgp_table_iter_pause
bgp_table_iter_is_done
bgp_table_iter_started

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2 years agobgpd: Unlock bgp_dest for some more cases
Donatas Abraitis [Tue, 6 Sep 2022 09:00:41 +0000 (12:00 +0300)]
bgpd: Unlock bgp_dest for some more cases

bgp_static_set()
bgp_aggregate_install()

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2 years agobgpd: Reuse prep_for_rmap_apply() when applying route-map for show cmd
Donatas Abraitis [Tue, 6 Sep 2022 08:49:48 +0000 (11:49 +0300)]
bgpd: Reuse prep_for_rmap_apply() when applying route-map for show cmd

Include extra path attributes.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2 years agobgpd: Do not forget to unlock bgp_dest from update_advertise_vni_routes
Donatas Abraitis [Tue, 6 Sep 2022 08:49:08 +0000 (11:49 +0300)]
bgpd: Do not forget to unlock bgp_dest from update_advertise_vni_routes

If "unexpected" happens.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2 years agopimd: Fixing alignment
Sai Gomathi N [Thu, 1 Sep 2022 12:11:25 +0000 (05:11 -0700)]
pimd: Fixing alignment

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
2 years agopimd, pim6d: Changing IGMP to GM in debug macros
Sai Gomathi N [Thu, 1 Sep 2022 05:20:00 +0000 (22:20 -0700)]
pimd, pim6d: Changing IGMP to GM in debug macros

Changing
PIM_DO_DEBUG_IGMP_EVENTS to PIM_DO_DEBUG_GM_EVENTS
PIM_DO_DEBUG_IGMP_PACKETS to PIM_DO_DEBUG_GM_PACKETS
PIM_DO_DEBUG_IGMP_TRACE to PIM_DO_DEBUG_GM_TRACE
PIM_DO_DEBUG_IGMP_TRACE_DETAIL to PIM_DO_DEBUG_GM_TRACE_DETAIL
PIM_DONT_DEBUG_IGMP_EVENTS to PIM_DONT_DEBUG_GM_EVENTS
PIM_DONT_DEBUG_IGMP_PACKETS to PIM_DONT_DEBUG_GM_PACKETS
PIM_DONT_DEBUG_IGMP_TRACE to PIM_DONT_DEBUG_GM_TRACE
PIM_DONT_DEBUG_IGMP_TRACE_DETAIL to PIM_DONT_DEBUG_GM_TRACE_DETAIL
PIM_MASK_IGMP_EVENTS to PIM_MASK_GM_EVENTS
PIM_MASK_IGMP_PACKETS to PIM_MASK_GM_PACKETS
PIM_MASK_IGMP_TRACE to PIM_MASK_GM_TRACE
PIM_MASK_IGMP_TRACE_DETAIL to PIM_MASK_GM_TRACE_DETAIL
to be used for both IGMP and MLD debugs.

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
2 years agopim6d: Adding additional details for "show ipv6 mld interface [ifname] json" command.
Abhishek N R [Fri, 2 Sep 2022 13:59:03 +0000 (06:59 -0700)]
pim6d: Adding additional details for "show ipv6 mld interface [ifname] json" command.

Added Robustness value, Query interval, Query response timer
and Last member query interval field in json output.

Issue: #11891

Signed-off-by: Abhishek N R <abnr@vmware.com>
2 years agoMerge pull request #11902 from SaiGomathiN/igmp-to-gm
Donatas Abraitis [Tue, 6 Sep 2022 05:40:43 +0000 (08:40 +0300)]
Merge pull request #11902 from SaiGomathiN/igmp-to-gm

pimd, pim6d: Changing IGMP to GM in debug macros

2 years agobgpd: associate appropriate family for redistributed connected addresses
Philippe Guibert [Thu, 18 Aug 2022 15:22:33 +0000 (17:22 +0200)]
bgpd: associate appropriate family for redistributed connected addresses

When redistributing connected addresses, the address family has
to be figured out. The calculation was not done, the next-hop
address length was not set, and as consequence, the nexthop
is displayed like if it was an ipv6 address, which is wrong for
ipv4 addresses.

Calculate the family for connected addresses.
Change the topotests accordingly.

Fixes: ("7226bc40d606") bgpd: ignore NEXT_HOP for MP_REACH_NLRI
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2 years agotopotests: add bgp_vpnv4_ebgp test with 'mpls bgp forwarding'
Philippe Guibert [Wed, 17 Aug 2022 11:24:16 +0000 (13:24 +0200)]
topotests: add bgp_vpnv4_ebgp test with 'mpls bgp forwarding'

add bgp_vpnv4_ebgp using the 'mpls bgp forwarding' interface
command.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2 years agobgpd: add 'mpls bgp forwarding' to ease mpls vpn ebgp peering
Philippe Guibert [Wed, 17 Aug 2022 09:52:51 +0000 (11:52 +0200)]
bgpd: add 'mpls bgp forwarding' to ease mpls vpn ebgp peering

RFC4364 describes peerings between multiple AS domains, to ease
the continuity of VPN services across multiple SPs. This commit
implements a sub-set of IETF option b) described in chapter 10 b.

The ASBR to ASBR approach is taken, with an EBGP peering between
the two routers. The EBGP peering must be directly connected to
the outgoing interface used. In those conditions, the next hop
is directly connected, and there is no need to have a transport
label to convey the VPN label. A new vty command is added on a
per interface basis:

This command if enabled, will permit to convey BGP VPN labels
without any transport labels (i.e. with implicit-null label).

restriction:
this command is used only for EBGP directly connected peerings.
Other use cases are not covered.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2 years agotopotests: add bgp vpnv4 over gre test
Philippe Guibert [Mon, 20 Sep 2021 14:05:40 +0000 (16:05 +0200)]
topotests: add bgp vpnv4 over gre test

This test ensures that MPLS VPN routes can be installed into a
gre interface with route-map l3vpn next-hop encapsulation command
set. On the other hand, if this command is not set, incoming bgp
routes are not considered as valid.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2 years agobgpd: add resolution for l3vpn traffic over gre interfaces
Philippe Guibert [Mon, 20 Sep 2021 09:50:52 +0000 (11:50 +0200)]
bgpd: add resolution for l3vpn traffic over gre interfaces

When a route imported from l3vpn is analysed, the nexthop from default
VRF is looked up against a valid MPLS path. Generally, this is done on
backbones with a MPLS signalisation transport layer like LDP. Generally,
the BGP connection is multiple hops away. That scenario is already
working.

There is case where it is possible to run L3VPN over GRE interfaces, and
where there is no LSP path over that GRE interface: GRE is just here to
tunnel MPLS traffic. On that case, the nexthop given in the path does not
have MPLS path, but should be authorized to convey MPLS traffic provided
that the user permits it via a configuration command.

That commit introduces a new command that can be activated in route-map:
 > set l3vpn next-hop encapsulation gre

That command authorizes the nexthop tracking engine to accept paths that
o have a GRE interface as output, independently of the presence of an LSP
path or not.

A configuration example is given below. When bgp incoming vpnv4 updates
are received, the nexthop of NLRI is 192.168.0.2. Based on nexthop
tracking service from zebra, BGP knows that the output interface to reach
192.168.0.2 is r1-gre0. Because that interface is not MPLS based, but is
a GRE tunnel, then the update will be using that nexthop to be installed.

    interface r1-gre0
     ip address 192.168.0.1/24
    exit
    router bgp 65500
     bgp router-id 1.1.1.1
     neighbor 192.168.0.2 remote-as 65500
     !
     address-family ipv4 unicast
      no neighbor 192.168.0.2 activate
     exit-address-family
     !
     address-family ipv4 vpn
      neighbor 192.168.0.2 activate
      neighbor 192.168.0.2 route-map rmap in
     exit-address-family
    exit
    !
    router bgp 65500 vrf vrf1
     bgp router-id 1.1.1.1
     no bgp network import-check
     !
     address-family ipv4 unicast
      network 10.201.0.0/24
      redistribute connected
      label vpn export 101
      rd vpn export 444:1
      rt vpn both 52:100
      export vpn
      import vpn
     exit-address-family
    exit
    !
    route-map rmap permit 1
     set l3vpn next-hop encapsulation gre
    exit

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2 years agopimd,pim6d: Modifying IGMP to GM in PIM_DEBUG_IGMP_PACKETS to PIM_DEBUG_GM_PACKETS
Sai Gomathi N [Mon, 5 Sep 2022 05:45:33 +0000 (22:45 -0700)]
pimd,pim6d: Modifying IGMP to GM in PIM_DEBUG_IGMP_PACKETS to PIM_DEBUG_GM_PACKETS

Changing the macros to common so that it can be used for pimv6 debugs as well
to be used for both IGMP and MLD debugs.

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
2 years agopimd,pim6d: Modifying IGMP to GM in PIM_DEBUG_IGMP_EVENTS to PIM_DEBUG_GM_EVENTS
Sai Gomathi N [Fri, 2 Sep 2022 11:00:10 +0000 (04:00 -0700)]
pimd,pim6d: Modifying IGMP to GM in PIM_DEBUG_IGMP_EVENTS to PIM_DEBUG_GM_EVENTS

Changing the macros to common so that it can be used for pimv6 debugs as well
to be used for both IGMP and MLD debugs.

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
2 years agoMerge pull request #11898 from sri-mohan1/sri-rip-dbg1
Donatas Abraitis [Sun, 4 Sep 2022 18:18:12 +0000 (21:18 +0300)]
Merge pull request #11898 from sri-mohan1/sri-rip-dbg1

ripd: changes for code maintainability

2 years agoMerge pull request #11897 from mobash-rasool/fixes2
Donatas Abraitis [Sun, 4 Sep 2022 18:16:59 +0000 (21:16 +0300)]
Merge pull request #11897 from mobash-rasool/fixes2

pimd: Removal of unused function pim_neighbor_find_prefix

2 years agoripd: changes for code maintainability
sri-mohan1 [Fri, 2 Sep 2022 18:29:56 +0000 (23:59 +0530)]
ripd: changes for code maintainability

these changes are for improving the code maintainability

Signed-off-by: sri-mohan1 <sri.mohan@samsung.com>
2 years agopimd: Removal of unused function pim_neighbor_find_prefix
Mobashshera Rasool [Fri, 2 Sep 2022 16:50:28 +0000 (09:50 -0700)]
pimd: Removal of unused function pim_neighbor_find_prefix

Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
2 years agoisisd: Correct Valgrind errors
Olivier Dugeon [Fri, 5 Aug 2022 14:00:48 +0000 (16:00 +0200)]
isisd: Correct Valgrind errors

Runing most of isisd tests with --valgrind-memleaks give many memory errors.
This is due to the way isisd is stopped: performing a "no router isis XXX"
through CLI solves most of them. Indeed, isis_finish() doesn't call
isis_area_destroy() leaving many allocated memory unfreed.

This patch adds call to appropriate delete function or XFREE() when necessary to
properly free all alocated memory before terminating isisd.

Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
2 years agoMerge pull request #11884 from mjstapp/fix_cancel_ptrs
Donatas Abraitis [Fri, 2 Sep 2022 10:49:10 +0000 (13:49 +0300)]
Merge pull request #11884 from mjstapp/fix_cancel_ptrs

lib: ensure locals are inited to NULL

2 years agoMerge pull request #11888 from anlancs/fix/l2vni-vid-change
Donatas Abraitis [Fri, 2 Sep 2022 10:21:44 +0000 (13:21 +0300)]
Merge pull request #11888 from anlancs/fix/l2vni-vid-change

zebra: fix missing tenant vrf change notification

2 years agoMerge pull request #11894 from sri-mohan1/sri-bgp-dbg1
Donatas Abraitis [Fri, 2 Sep 2022 10:21:34 +0000 (13:21 +0300)]
Merge pull request #11894 from sri-mohan1/sri-bgp-dbg1

bgpd: changes for code maintainability

2 years agoMerge pull request #11893 from kraj/master
Jafar Al-Gharaibeh [Thu, 1 Sep 2022 22:09:01 +0000 (17:09 -0500)]
Merge pull request #11893 from kraj/master

configure: Check for readline() function instead of main

2 years agobgpd: changes for code maintainability
sri-mohan1 [Thu, 1 Sep 2022 18:55:16 +0000 (00:25 +0530)]
bgpd: changes for code maintainability

these changes are for improving the code maintainability

Signed-off-by: sri-mohan1 <sri.mohan@samsung.com>
2 years agoconfigure: Check for readline() function instead of main
Khem Raj [Thu, 1 Sep 2022 17:39:23 +0000 (10:39 -0700)]
configure: Check for readline() function instead of main

main is not a function found in libreadline, its better to check for a
function thats provided by it.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2 years agozebra: fix missing tenant vrf change notification
anlan_cs [Wed, 31 Aug 2022 14:24:19 +0000 (10:24 -0400)]
zebra: fix missing tenant vrf change notification

zebra can change l2vni's tenant vrf with new `vid`, and then notify bgpd
to change also. But this notification is wrongly missed, so bgpd knows
nothing about it. It affects evpn routes, which are related to tenant vrf.
Need to notify bgpd of the `vid` change.

Changes l2vni 100 of vxlan's `vid` so as to change its svi interface from
default to vrf1, then check bgp's vni status.

Before: (Ignored irrelevent columns)
```
host#show bgp l2vpn evpn vni
  VNI      Type RD                    Tenant VRF
* 100      L2   66.66.66.66:2         default <- No change
```

After:(Ignored irrelevent columns)
```
host#show bgp l2vpn evpn vni
  VNI      Type RD                   Tenant VRF
* 100      L2   66.66.66.66:2        vrf1 <- Updated
```

Signed-off-by: anlan_cs <vic.lan@pica8.com>
2 years agoospfd: Added clis to change default timers for LSA refresh and maxage remove delay.
Manoj Naragund [Fri, 26 Aug 2022 07:58:37 +0000 (00:58 -0700)]
ospfd: Added clis to change default timers for LSA refresh and maxage remove delay.

Description:
Added hidden clis that will allow you to reset the default timers
for LSA refresh and LSA maxage remove delay, these will help in testing
LSA refresh scenarios in upcoming OSPFv2 Flood reduction feature(rfc4136).

IETF Link : https://datatracker.ietf.org/doc/html/rfc4136

Signed-off-by: Manoj Naragund <mnaragund@vmware.com>
2 years agolib: ensure locals are inited to NULL
Mark Stapp [Wed, 31 Aug 2022 15:47:39 +0000 (11:47 -0400)]
lib: ensure locals are inited to NULL

A couple of pointers in do_thread_cancel() we only inited at
the start of the function; make sure they're inited during
each iteration of the loop.

Signed-off-by: Mark Stapp <mstapp@nvidia.com>
2 years agobgpd: Drop useless comments for peer af flags
Donatas Abraitis [Wed, 31 Aug 2022 11:39:38 +0000 (14:39 +0300)]
bgpd: Drop useless comments for peer af flags

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2 years agobgpd: Increase peer af_flags to uint64_t
Donatas Abraitis [Wed, 31 Aug 2022 11:23:23 +0000 (14:23 +0300)]
bgpd: Increase peer af_flags to uint64_t

Increasing in advance, as we already hitting the current limit.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2 years agoMerge pull request #11879 from mobash-rasool/fixes2
Donald Sharp [Tue, 30 Aug 2022 19:09:36 +0000 (15:09 -0400)]
Merge pull request #11879 from mobash-rasool/fixes2

pim6d: Fix the Code for MLD in the show pim state command

2 years agoMerge pull request #11878 from opensourcerouting/fix/some_nits
Donald Sharp [Tue, 30 Aug 2022 19:06:29 +0000 (15:06 -0400)]
Merge pull request #11878 from opensourcerouting/fix/some_nits

bgpd: A couple of minor findings

2 years agoMerge pull request #11833 from opensourcerouting/feature/bgp_neighbor_soo
Russ White [Tue, 30 Aug 2022 15:17:53 +0000 (11:17 -0400)]
Merge pull request #11833 from opensourcerouting/feature/bgp_neighbor_soo

bgpd: Add `neighbor soo` command

2 years agoMerge pull request #11852 from gpnaveen/bgp_admin_dist
Russ White [Tue, 30 Aug 2022 15:13:30 +0000 (11:13 -0400)]
Merge pull request #11852 from gpnaveen/bgp_admin_dist

tests: adding bgp admin distance topotests.

2 years agoMerge pull request #11866 from anlancs/fix/evpn-l2vni
Donatas Abraitis [Tue, 30 Aug 2022 15:13:02 +0000 (18:13 +0300)]
Merge pull request #11866 from anlancs/fix/evpn-l2vni

zebra: fix missing vni transition

2 years agoMerge pull request #11870 from rgirada/ospf_gr_crash
Rafael Zalamena [Tue, 30 Aug 2022 13:10:15 +0000 (10:10 -0300)]
Merge pull request #11870 from rgirada/ospf_gr_crash

ospfd: crash when router acts as GR helper upon a topo change

2 years agobgpd: Cleanup memory for missing hashes
Donatas Abraitis [Tue, 30 Aug 2022 10:46:26 +0000 (13:46 +0300)]
bgpd: Cleanup memory for missing hashes

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2 years agobgpd: Drop unused memory types
Donatas Abraitis [Tue, 30 Aug 2022 10:39:10 +0000 (13:39 +0300)]
bgpd: Drop unused memory types

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2 years agopim6d: Fix the Code for MLD in the show pim state command
Mobashshera Rasool [Tue, 30 Aug 2022 10:02:25 +0000 (03:02 -0700)]
pim6d: Fix the Code for MLD in the show pim state command

show ip pim state should show IGMP Report while
show ipv6 pim state should show MLD Report.

Output After Fix:
frr# do sh ip pim state
Codes: J -> Pim Join, I -> IGMP Report, S -> Source, * -> Inherited from (*,G), V -> VxLAN, M -> Muted
Active Source           Group            RPT  IIF               OIL

frr# do sh ipv6 pim state
Codes: J -> Pim Join, I -> MLD Report, S -> Source, * -> Inherited from (*,G), V -> VxLAN, M -> Muted
Active Source           Group            RPT  IIF               OIL

frr#

Issue: #11249

Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
2 years agoMerge pull request #11877 from sri-mohan1/sri-ldp-dbg1
Donatas Abraitis [Tue, 30 Aug 2022 09:55:27 +0000 (12:55 +0300)]
Merge pull request #11877 from sri-mohan1/sri-ldp-dbg1

ldpd: changes for code maintainability

2 years agobgpd: Fix test for matching UN prefix and the peer
Donatas Abraitis [Tue, 30 Aug 2022 09:06:19 +0000 (12:06 +0300)]
bgpd: Fix test for matching UN prefix and the peer

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2 years agobgpd: Break immediatelly and print vty_out instead of double checking for JSON
Donatas Abraitis [Tue, 30 Aug 2022 08:46:00 +0000 (11:46 +0300)]
bgpd: Break immediatelly and print vty_out instead of double checking for JSON

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2 years agobgpd: Remove redundant test against ifp for DEBUG messages
Donatas Abraitis [Tue, 30 Aug 2022 08:35:05 +0000 (11:35 +0300)]
bgpd: Remove redundant test against ifp for DEBUG messages

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2 years agoospfd: crash when router acts as GR helper upon a topo change
rgirada [Mon, 29 Aug 2022 10:51:39 +0000 (03:51 -0700)]
ospfd: crash when router acts as GR helper upon a topo change

Description:
ospf process is crashing when  the current router acts
as GR helper and it received a new lsa.

Here, ospf_lsa_different() is being called without checking
'old' pointer. It is asserted in ospf_lsa_different() api
if the 'old' pointer is NULL.

corrected this by validaing old pointer before calling
ospf_lsa_different() api.

back tarce:
Program terminated with signal SIGABRT, Aborted.
0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
[Current thread is 1 (Thread 0x6b84348827c0 (LWP 3155))]
0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
1  0x00006b8433aa4801 in __GI_abort () at abort.c:79
2  0x00006b8433a9439a in __assert_fail_base (fmt=0x6b8433c1b7d8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x162ffc0630bc "l1", file=file@entry=0x162ffc062ff7 "ospfd/ospf_lsa.c", line=line@entry=3520, function=function@entry=0x162ffc0646f0 <__PRETTY_FUNCTION__.18732> "ospf_lsa_different") at assert.c:92
3  0x00006b8433a94412 in __GI___assert_fail (assertion=assertion@entry=0x162ffc0630bc "l1", file=file@entry=0x162ffc062ff7 "ospfd/ospf_lsa.c", line=line@entry=3520, function=function@entry=0x162ffc0646f0 <__PRETTY_FUNCTION__.18732> "ospf_lsa_different") at assert.c:101
4  0x0000162ffc008c25 in ospf_lsa_different (l1=l1@entry=0x0, l2=l2@entry=0x162ffe535c60, ignore_rcvd_flag=ignore_rcvd_flag@entry=true) at ospfd/ospf_lsa.c:3520
5  0x0000162ffc00a8e8 in ospf_lsa_install (ospf=ospf@entry=0x162ffe513650, oi=oi@entry=0x162ffe531c30, lsa=lsa@entry=0x162ffe535c60) at ospfd/ospf_lsa.c:2892
6  0x0000162ffc059d16 in ospf_flood (ospf=0x162ffe513650, nbr=nbr@entry=0x162ffe52cc90, current=current@entry=0x0, new=new@entry=0x162ffe535c60) at ospfd/ospf_flood.c:429
7  0x0000162ffc01838f in ospf_ls_upd (size=<optimized out>, oi=0x162ffe531c30, s=<optimized out>, ospfh=<optimized out>, iph=<optimized out>, ospf=<optimized out>) at ospfd/ospf_packet.c:2162
8  ospf_read_helper (ospf=<optimized out>) at ospfd/ospf_packet.c:3241
9  ospf_read (thread=<optimized out>) at ospfd/ospf_packet.c:3272
10 0x00006b843450139c in thread_call (thread=thread@entry=0x7780f42c7480) at lib/thread.c:1692
11 0x00006b84344cfb18 in frr_run (master=0x162ffe34d130) at lib/libfrr.c:1068

Signed-off-by: Rajesh Girada <rgirada@vmware.com>
2 years agoldpd: changes for code maintainability
sri-mohan1 [Mon, 29 Aug 2022 17:52:16 +0000 (23:22 +0530)]
ldpd: changes for code maintainability

these changes are for improving the code maintainability

Signed-off-by: sri-mohan1 <sri.mohan@samsung.com>
2 years agoMerge pull request #11874 from sri-mohan1/sri-isis-dbg1
Donatas Abraitis [Mon, 29 Aug 2022 18:30:17 +0000 (21:30 +0300)]
Merge pull request #11874 from sri-mohan1/sri-isis-dbg1

isisd: changes for code maintainability

2 years agoMerge pull request #11871 from AbhishekNR/mem_free
Donatas Abraitis [Mon, 29 Aug 2022 18:25:00 +0000 (21:25 +0300)]
Merge pull request #11871 from AbhishekNR/mem_free

pimd, pim6d: deleting the memory malloced for json.

2 years agopimd, pim6d: deleting the memory malloced for json.
Abhishek N R [Mon, 29 Aug 2022 11:50:26 +0000 (04:50 -0700)]
pimd, pim6d: deleting the memory malloced for json.

Problem Statement:
=================
2022-08-18 04:57:32,376 - ERROR: Found memory leak in daemon pimd
2022-08-18 04:57:32,377 - ERROR: ==12100== 18,978 (144 direct, 18,834 indirect) bytes in 2 blocks are definitely lost in loss record 45 of 45
2022-08-18 04:57:32,377 - ERROR: ==12100==    at 0x4C31FAC: calloc (vg_replace_malloc.c:762)
2022-08-18 04:57:32,377 - ERROR: ==12100==    by 0x532F51F: json_object_new_object (in /lib/x86_64-linux-gnu/libjson-c.so.3.0.1)
2022-08-18 04:57:32,377 - ERROR: ==12100==    by 0x128B5C: pim_show_interfaces (pim_cmd_common.c:3395)
2022-08-18 04:57:32,377 - ERROR: ==12100==    by 0x15A86B: show_ip_pim_interface_magic (pim_cmd.c:3127)
2022-08-18 04:57:32,377 - ERROR: ==12100==    by 0x15A86B: show_ip_pim_interface (pim_cmd_clippy.c:324)
2022-08-18 04:57:32,377 - ERROR: ==12100==    by 0x4E672B2: cmd_execute_command_real.isra.2 (command.c:1005)
2022-08-18 04:57:32,377 - ERROR: ==12100==    by 0x4E696FE: cmd_execute_command (command.c:1064)
2022-08-18 04:57:32,377 - ERROR: ==12100==    by 0x4E698F1: cmd_execute (command.c:1227)
2022-08-18 04:57:32,377 - ERROR: ==12100==    by 0x4EBC814: vty_command (vty.c:530)
2022-08-18 04:57:32,377 - ERROR: ==12100==    by 0x4EBC9EF: vty_execute (vty.c:1295)
2022-08-18 04:57:32,377 - ERROR: ==12100==    by 0x4EBF1F7: vtysh_read (vty.c:2142)
2022-08-18 04:57:32,377 - ERROR: ==12100==    by 0x4EB739B: thread_call (thread.c:1692)
2022-08-18 04:57:32,377 - ERROR: ==12100==    by 0x4E85B17: frr_run (libfrr.c:1068)
2022-08-18 04:57:32,377 - ERROR: ==12100==

Signed-off-by: Abhishek N R <abnr@vmware.com>
2 years agoisisd: changes for code maintainability
sri-mohan1 [Mon, 29 Aug 2022 13:35:24 +0000 (19:05 +0530)]
isisd: changes for code maintainability

these changes are for improving the code maintainability

Signed-off-by: sri-mohan1 <sri.mohan@samsung.com>
2 years agoMerge pull request #11855 from cscarpitta/fix-srv6-memleaks
Donatas Abraitis [Mon, 29 Aug 2022 11:35:24 +0000 (14:35 +0300)]
Merge pull request #11855 from cscarpitta/fix-srv6-memleaks

*: Fix several memory leaks in SRv6 implementation

2 years agoMerge pull request #11869 from sri-mohan1/sri-isis-dbg1
Donatas Abraitis [Mon, 29 Aug 2022 10:43:11 +0000 (13:43 +0300)]
Merge pull request #11869 from sri-mohan1/sri-isis-dbg1

isisd: changes for code maintainability

2 years agoMerge pull request #11581 from AbhishekNR/mld_hardcode_value
Donatas Abraitis [Mon, 29 Aug 2022 10:27:28 +0000 (13:27 +0300)]
Merge pull request #11581 from AbhishekNR/mld_hardcode_value

pim6d: Completing mld config commands.

2 years agoMerge pull request #11857 from mobash-rasool/fixes2
Donatas Abraitis [Mon, 29 Aug 2022 07:14:34 +0000 (10:14 +0300)]
Merge pull request #11857 from mobash-rasool/fixes2

pim6d: mroute stuck in register state, multicast traffic getting drops

2 years agoisisd: changes for code maintainability
sri-mohan1 [Mon, 29 Aug 2022 06:53:46 +0000 (12:23 +0530)]
isisd: changes for code maintainability

these changes are for improving the code maintainability

Signed-off-by: sri-mohan1 <sri.mohan@samsung.com>
2 years agodoc: Changed uppercase MLD to lowercase in ipv6 MLD last-member-query-interval (1...
Abhishek N R [Mon, 29 Aug 2022 06:35:03 +0000 (23:35 -0700)]
doc: Changed uppercase MLD to lowercase in ipv6 MLD last-member-query-interval (1-65535)

Signed-off-by: Abhishek N R <abnr@vmware.com>
2 years agotests: adding bgp admin distance topotests.
nguggarigoud [Tue, 23 Aug 2022 07:35:11 +0000 (00:35 -0700)]
tests: adding bgp admin distance topotests.

This has bgp admin topotest automation suit.

Signed-off-by: nguggarigoud <nguggarigoud@vmware.com>
2 years agopim6d: Completing "ipv6 mld last-member-query-interval" command
Abhishek N R [Mon, 11 Jul 2022 17:09:39 +0000 (10:09 -0700)]
pim6d: Completing "ipv6 mld last-member-query-interval" command

Signed-off-by: Abhishek N R <abnr@vmware.com>
2 years agopim6d: Completing "ipv6 mld last-member-query-count" command.
Abhishek N R [Mon, 11 Jul 2022 15:51:52 +0000 (08:51 -0700)]
pim6d: Completing "ipv6 mld last-member-query-count" command.

Signed-off-by: Abhishek N R <abnr@vmware.com>
2 years agopim6d: Completing "ipv6 mld query-max-response-time" command.
Abhishek N R [Mon, 11 Jul 2022 08:33:07 +0000 (01:33 -0700)]
pim6d: Completing "ipv6 mld query-max-response-time" command.

Signed-off-by: Abhishek N R <abnr@vmware.com>
2 years agoMerge pull request #11867 from sri-mohan1/sri-ospf-dbg1
mobash-rasool [Mon, 29 Aug 2022 06:20:54 +0000 (11:50 +0530)]
Merge pull request #11867 from sri-mohan1/sri-ospf-dbg1

ospfd: changes for code maintainability

2 years agoospfd: changes for code maintainability
sri-mohan1 [Fri, 26 Aug 2022 17:22:36 +0000 (22:52 +0530)]
ospfd: changes for code maintainability

these changes are for improving the code maintainability

Signed-off-by: sri-mohan1 <sri.mohan@samsung.com>
2 years agozebra: fix missing vni transition
anlan_cs [Fri, 26 Aug 2022 10:53:03 +0000 (06:53 -0400)]
zebra: fix missing vni transition

`show evpn vni detail` doesn't reflect any change in vni transition.
Need to add processing in command of `[no] vni (1-16777215)`.

With the config:
```
!
vni 66
!
vrf vrf1
 vni 88
 exit-vrf
!
```

Before:
```
(config-vrf)# no vni 88
(config-vrf)# do show evpn vni detail
VNI: 66
  Type: L3
  Tenant VRF: default
  L2 VNIs: <- Empty
```

After:
```
(config-vrf)# no vni 88
(config-vrf)# do show evpn vni detail
VNI: 66
  Type: L3
  Tenant VRF: default
  L2 VNIs: 88 <-
```

Signed-off-by: anlan_cs <vic.lan@pica8.com>
2 years agoMerge pull request #11863 from sri-mohan1/sri-ospf-dbg1
Donald Sharp [Fri, 26 Aug 2022 14:50:21 +0000 (10:50 -0400)]
Merge pull request #11863 from sri-mohan1/sri-ospf-dbg1

ospfd: changes for code maintainability

2 years agoMerge pull request #11718 from SaiGomathiN/mldgroups
Donatas Abraitis [Fri, 26 Aug 2022 12:19:32 +0000 (15:19 +0300)]
Merge pull request #11718 from SaiGomathiN/mldgroups

pim6d: Implementing "show ipv6 mld groups" CLI

2 years agoMerge pull request #11844 from SaiGomathiN/ttable-1
Donatas Abraitis [Fri, 26 Aug 2022 08:48:18 +0000 (11:48 +0300)]
Merge pull request #11844 from SaiGomathiN/ttable-1

pimd, pim6d: Using ttable for displaying show CLIs

2 years agodoc: Updated the doc for show ipv6 mld groups command
Sai Gomathi N [Tue, 2 Aug 2022 11:09:28 +0000 (04:09 -0700)]
doc: Updated the doc for show ipv6 mld groups command

show ipv6 mld [vrf NAME] groups [json] displays MLD group information.

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
2 years agopim6d: Implementing "show mld groups" CLI
Sai Gomathi N [Tue, 2 Aug 2022 11:08:11 +0000 (04:08 -0700)]
pim6d: Implementing "show mld groups" CLI

To Display MLD Group information

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
2 years agopimd: Modifying member of pim_instance to accomodate IPv6 changes
Sai Gomathi N [Tue, 2 Aug 2022 10:55:09 +0000 (03:55 -0700)]
pimd: Modifying member of pim_instance to accomodate IPv6 changes

Modifying igmp_group_count of struct pim_instance
to gm_group_count which is to be used for both IGMP and MLD.

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
2 years agoospfd: changes for code maintainability
sri-mohan1 [Fri, 26 Aug 2022 07:24:57 +0000 (12:54 +0530)]
ospfd: changes for code maintainability

these changes are for improving the code maintainability

Signed-off-by: sri-mohan1 <sri.mohan@samsung.com>
2 years agoMerge pull request #11854 from donaldsharp/memory_walk_in_gdb
Donatas Abraitis [Fri, 26 Aug 2022 07:20:58 +0000 (10:20 +0300)]
Merge pull request #11854 from donaldsharp/memory_walk_in_gdb

gdb: Add a macro to walk memory allocations

2 years agoMerge pull request #11862 from sri-mohan1/sri-ospf-dbg1
mobash-rasool [Fri, 26 Aug 2022 06:38:53 +0000 (12:08 +0530)]
Merge pull request #11862 from sri-mohan1/sri-ospf-dbg1

ospfd: changes for code maintainability

2 years agoospfd: changes for code maintainability
sri-mohan1 [Thu, 25 Aug 2022 18:14:50 +0000 (23:44 +0530)]
ospfd: changes for code maintainability

these changes are for improving the code maintainability

Signed-off-by: sri-mohan1 <sri.mohan@samsung.com>
2 years agoMerge pull request #11860 from opensourcerouting/fix/evpn_cli_json
Donald Sharp [Thu, 25 Aug 2022 17:20:19 +0000 (13:20 -0400)]
Merge pull request #11860 from opensourcerouting/fix/evpn_cli_json

bgpd: Do not print new line for EVPN CLI outputs if it's a JSON

2 years agoMerge pull request #11858 from sri-mohan1/sri-ospf-dbg1
Donald Sharp [Thu, 25 Aug 2022 13:25:10 +0000 (09:25 -0400)]
Merge pull request #11858 from sri-mohan1/sri-ospf-dbg1

ospfd: changes for code maintainability

2 years agoMerge pull request #11859 from liwg06/master.fix.extra.semicolon
Mark Stapp [Thu, 25 Aug 2022 12:53:36 +0000 (08:53 -0400)]
Merge pull request #11859 from liwg06/master.fix.extra.semicolon

lib: Fix extra semicolon after if

2 years agobgpd: Drop bnc_str() function
Donatas Abraitis [Thu, 25 Aug 2022 10:53:30 +0000 (13:53 +0300)]
bgpd: Drop bnc_str() function

Reuse %pFX -> prefix2str()

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2 years agobgpd: Convert prefix2str to %pFX
Donatas Abraitis [Thu, 25 Aug 2022 10:46:58 +0000 (13:46 +0300)]
bgpd: Convert prefix2str to %pFX

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2 years agobgpd: Do not print new line for EVPN CLI outputs if it's a JSON
Donatas Abraitis [Thu, 25 Aug 2022 10:15:27 +0000 (13:15 +0300)]
bgpd: Do not print new line for EVPN CLI outputs if it's a JSON

Before:

```
$ vtysh -c 'show bgp l2vpn evpn route detail json'
<<<<<<<<<<<<<<<<<<<< empty line
<<<<<<<<<<<<<<<<<<<< empty line
<<<<<<<<<<<<<<<<<<<< empty line
<<<<<<<<<<<<<<<<<<<< empty line
{
...
"numPrefix":4,
"numPaths":4 <<<<< four paths = four empty lines
}
```

Contain as much "empty lines" before the JSON string as the number
of paths displayed.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>