]> git.proxmox.com Git - mirror_frr.git/log
mirror_frr.git
3 years agodebian: Merge various debian changelogs in debian/changelog
Ondřej Surý [Sat, 26 Sep 2020 16:33:06 +0000 (18:33 +0200)]
debian: Merge various debian changelogs in debian/changelog

Signed-off-by: Ondřej Surý <ondrej@sury.org>
3 years agoMerge pull request #8969 from opensourcerouting/msdp-timers
Donald Sharp [Fri, 2 Jul 2021 15:39:58 +0000 (11:39 -0400)]
Merge pull request #8969 from opensourcerouting/msdp-timers

pimd: allow MSDP timers to be configured

3 years agoMerge pull request #8955 from mobash-rasool/ospfv2-fixes
Mark Stapp [Fri, 2 Jul 2021 13:03:53 +0000 (09:03 -0400)]
Merge pull request #8955 from mobash-rasool/ospfv2-fixes

ospfd: show ip ospf route json does not shown metric and tag

3 years agoMerge pull request #8970 from ton31337/fix/use_IPV6_MAX_BITLEN
Mark Stapp [Fri, 2 Jul 2021 11:52:22 +0000 (07:52 -0400)]
Merge pull request #8970 from ton31337/fix/use_IPV6_MAX_BITLEN

*: Do not use 32/128 numbers for prefixlen

3 years agoMerge pull request #8795 from louis-oui/fix-ospf6-router-id
Philippe Guibert [Fri, 2 Jul 2021 09:11:47 +0000 (11:11 +0200)]
Merge pull request #8795 from louis-oui/fix-ospf6-router-id

ospf6d: fix LSAs remain in LSDB with an old router-id value

3 years ago*: Replace 4/16 integers to IPV4_MAX_BYTELEN/IPV6_MAX_BYTELEN
Donatas Abraitis [Thu, 1 Jul 2021 20:29:26 +0000 (23:29 +0300)]
*: Replace 4/16 integers to IPV4_MAX_BYTELEN/IPV6_MAX_BYTELEN

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
3 years ago*: Convert numeric 32 into IPV4_MAX_BITLEN for prefixlen
Donatas Abraitis [Thu, 1 Jul 2021 15:05:11 +0000 (18:05 +0300)]
*: Convert numeric 32 into IPV4_MAX_BITLEN for prefixlen

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
3 years agoMerge pull request #8962 from donaldsharp/bgp_ll_must_be_there
Igor Ryzhov [Thu, 1 Jul 2021 17:20:23 +0000 (20:20 +0300)]
Merge pull request #8962 from donaldsharp/bgp_ll_must_be_there

bgpd: Ensure v6 LL address is available before establishing peering

3 years agobabeld: Drop in_prefix() function
Donatas Abraitis [Thu, 1 Jul 2021 14:54:10 +0000 (17:54 +0300)]
babeld: Drop in_prefix() function

Not used.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
3 years ago*: Convert numeric 128 into IPV6_MAX_BITLEN for prefixlen
Donatas Abraitis [Thu, 1 Jul 2021 14:53:21 +0000 (17:53 +0300)]
*: Convert numeric 128 into IPV6_MAX_BITLEN for prefixlen

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
3 years ago*: Replace IPV4_MAX_PREFIXLEN to IPV4_MAX_BITLEN
Donatas Abraitis [Thu, 1 Jul 2021 14:42:03 +0000 (17:42 +0300)]
*: Replace IPV4_MAX_PREFIXLEN to IPV4_MAX_BITLEN

Just drop IPV4_MAX_PREFIXLEN at all, no need keeping both.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
3 years ago*: Replace IPV6_MAX_PREFIXLEN to IPV6_MAX_BITLEN
Donatas Abraitis [Thu, 1 Jul 2021 14:39:04 +0000 (17:39 +0300)]
*: Replace IPV6_MAX_PREFIXLEN to IPV6_MAX_BITLEN

Just drop IPV6_MAX_PREFIXLEN at all, no need keeping both.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
3 years agobgpd: Convert numeric 32 into IPV4_MAX_BITLEN for prefixlen
Donatas Abraitis [Thu, 1 Jul 2021 14:37:04 +0000 (17:37 +0300)]
bgpd: Convert numeric 32 into IPV4_MAX_BITLEN for prefixlen

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
3 years agobgpd: Convert numeric 128 into IPV6_MAX_BITLEN for prefixlen
Donatas Abraitis [Thu, 1 Jul 2021 14:35:02 +0000 (17:35 +0300)]
bgpd: Convert numeric 128 into IPV6_MAX_BITLEN for prefixlen

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
3 years agodoc: document new PIM MSDP timers command
Rafael Zalamena [Thu, 1 Jul 2021 12:58:00 +0000 (09:58 -0300)]
doc: document new PIM MSDP timers command

Let the user know how to use it and what are the default values.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
3 years agodoc: simplify PIM RIB title
Rafael Zalamena [Thu, 1 Jul 2021 11:43:35 +0000 (08:43 -0300)]
doc: simplify PIM RIB title

Don't use colon and make it more generic.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
3 years agopimd: support MSDP global timers configuration
Rafael Zalamena [Tue, 20 Apr 2021 19:17:48 +0000 (16:17 -0300)]
pimd: support MSDP global timers configuration

Users can now configure:

 * Hold time
 * Keep alive
 * Connection retry

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
3 years agoospf6d: harmonize ospf6_asbr_redistribute_disable and _reset
Louis Scalbert [Tue, 22 Jun 2021 08:45:53 +0000 (10:45 +0200)]
ospf6d: harmonize ospf6_asbr_redistribute_disable and _reset

Harmonize the code of functions ospf6_asbr_redistribute_disable and
ospf6_asbr_redistribute_reset.

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
3 years agoospf6d: reset areas and redistribution at router-id modification
Louis Scalbert [Thu, 10 Jun 2021 09:30:05 +0000 (11:30 +0200)]
ospf6d: reset areas and redistribution at router-id modification

The ospf6 router-id is provided by order of preference by:

 ospf6d itself if the "ospf6 router-id X.X.X.X" command is set.
- zebra. If the "ip router-id X.X.X.X" zebra command is set, the
  configured IP is provided as the ID or alternatively the highest
  loopback IPv4 address or else the highest interface IPv4 address.

The running ospf6 router-id is stored in ospf6->router-id.

ospf6->router-id can change in the following conditions:

- A configuration change provides a new router-id value according to
  the above rules. ospf6->router-id is updated to the new value if
  there is no adjacency in FULL state. Otherwise, the ospf6d process
  must be restarted to take the new router-id into account.
- On startup of both zebra and ospf6d, if ospf6d has not yet received a
  valid router-id, ospf6d->router-id is set to 0 (i.e. 0.0.0.0). Then,
  zebra notifies ospf6d that the router-id is available.

At ospf6->router-id, the current behavior of ospf6d is the following:

- The self generated LSAs that refer to the previous router-id as the
  advertising router are kept.
- Self generated LSAs are created with router-id value.
- LSAs from the redistribution that refer to the previous router-id are
  kept and no new redistribution LSAs are created.

As a consequence, the routers in the ospf6 areas will get incorrect
LSAs and might not be able to install prefixes of those LSAs into their
RIB.

This fix solves this issue by resetting the areas and the redistribution
when ospf6->router-id updated.

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
3 years agoospf6d: factorize router-id update
Louis Scalbert [Wed, 30 Jun 2021 13:18:50 +0000 (15:18 +0200)]
ospf6d: factorize router-id update

ospf6_router_id_update function is used by ospf6_router_id_update_zebra
to update the running the ospf6 router-id.

This patches makes the functions to (un)configure ospf6 router-id use
the same function as ospf6_router_id_update_zebra.

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
---

3 years agoospf6d: don't update router-id if at least one adjacency is Full
Louis Scalbert [Fri, 4 Jun 2021 12:22:06 +0000 (14:22 +0200)]
ospf6d: don't update router-id if at least one adjacency is Full

When a router-id change is notified by zebra to ospf6d, we only take
into account the change if no adjacencies are in Full state.

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
3 years agoMerge pull request #8954 from mobash-rasool/ospfv3-feature
Igor Ryzhov [Thu, 1 Jul 2021 11:47:40 +0000 (14:47 +0300)]
Merge pull request #8954 from mobash-rasool/ospfv3-feature

ospf6d: route-map config changed, not getting applied on all types of…

3 years agoyang: add MSDP timer configuration
Rafael Zalamena [Tue, 20 Apr 2021 19:17:19 +0000 (16:17 -0300)]
yang: add MSDP timer configuration

Allow users to configure global MSDP timers.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
3 years agoMerge pull request #8871 from opensourcerouting/msdp-peer-rework
Donald Sharp [Thu, 1 Jul 2021 11:31:21 +0000 (07:31 -0400)]
Merge pull request #8871 from opensourcerouting/msdp-peer-rework

pimd: rework MSDP peer and add tests

3 years agoMerge pull request #8965 from idryzhov/bgp-coverity
Donald Sharp [Thu, 1 Jul 2021 01:23:17 +0000 (21:23 -0400)]
Merge pull request #8965 from idryzhov/bgp-coverity

bgpd: fix coverity warning

3 years agobgpd: fix coverity warning
Igor Ryzhov [Wed, 30 Jun 2021 19:37:33 +0000 (22:37 +0300)]
bgpd: fix coverity warning

`oly` is already dereferenced two lines earlier and is always passed to
the function.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
3 years agoMerge pull request #8780 from idryzhov/fix-zebra-coverity
Renato Westphal [Wed, 30 Jun 2021 19:08:35 +0000 (16:08 -0300)]
Merge pull request #8780 from idryzhov/fix-zebra-coverity

zebra: fix a couple of coverity warnings

3 years agobgpd: Ensure v6 LL address is available before establishing peering
Donald Sharp [Wed, 30 Jun 2021 14:25:43 +0000 (10:25 -0400)]
bgpd: Ensure v6 LL address is available before establishing peering

There are startup situations where we will attempt to connect to a remote
peer before bgp has received the v6 LL address.  If we do not have this address
we must not allow the connection to come up until we have one available to use
in those situations where we must have a v6 LL address.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agoMerge pull request #8950 from idryzhov/ospf6-router-id
Renato Westphal [Wed, 30 Jun 2021 14:22:08 +0000 (11:22 -0300)]
Merge pull request #8950 from idryzhov/ospf6-router-id

ospf6d: use per-vrf router id instead of one global

3 years agoospf6d: route-map config changed, not getting applied on all types of routes
Mobashshera Rasool [Wed, 30 Jun 2021 06:13:19 +0000 (06:13 +0000)]
ospf6d: route-map config changed, not getting applied on all types of routes

Problem Statement:
==================
when route-map config is changed from permit to deny, it is not getting
applied to both connected and static and vice versa

RCA:
==================
When route-map changes from permit to deny or vice versa, a notification is
sent to ospf6 daemon via ospf6_asbr_routemap_update. In this function, a thread
is scheduled after 5 seconds to apply the route-map changes. In this thread
(ospf6_asbr_routemap_update_timer), only the first type is passed as argument
and only the first type i.e "connected" is passed and hence in callback only
on this type of route route-map gets applied.

Fix:
====
Need to loop through all the route-types in the call back and process
the route-map changes. Added a flag to mark which all route-types needs
to be processed.

Test Executed:
===============
1. Change route-map from permit to deny.
2. Change route-map from deny to permit.
3. Add new route and checked.
4. Verified summarised routes.

Risk:
============
Low

Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
3 years agoospfd: show ip ospf route json does not shown metric and tag
Mobashshera Rasool [Wed, 30 Jun 2021 07:17:58 +0000 (07:17 +0000)]
ospfd: show ip ospf route json does not shown metric and tag

Problem Statement:
==================
[FRR OSPF] show ip ospf route json does not shown metric and tag.

Root Cause Analysis:
===================
In function show_ip_ospf_route_external, type 2 cost is not added in json.
Hence it is not displayed.

Fix:
=================
1. Add type2cost in the json display
2. Tag was also missing, added that as well

Issue: #8729

Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
3 years agoMerge pull request #8952 from Jafaral/show-ip-mroute
Quentin Young [Wed, 30 Jun 2021 04:35:38 +0000 (04:35 +0000)]
Merge pull request #8952 from Jafaral/show-ip-mroute

pimd: make show ip mroute output consistent

3 years agoMerge pull request #8943 from idryzhov/build-warn
Quentin Young [Wed, 30 Jun 2021 04:33:30 +0000 (04:33 +0000)]
Merge pull request #8943 from idryzhov/build-warn

tests: fix build warning

3 years agoMerge pull request #8887 from LabNConsulting/chopps/fix-test-retries
Quentin Young [Tue, 29 Jun 2021 19:24:59 +0000 (19:24 +0000)]
Merge pull request #8887 from LabNConsulting/chopps/fix-test-retries

3 years agopimd: make show ip mroute output consistent
Jafar Al-Gharaibeh [Tue, 29 Jun 2021 19:02:45 +0000 (14:02 -0500)]
pimd: make show ip mroute output consistent

We had 3 different string output formats in various places.
Make them all the same.

Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
3 years agoMerge pull request #8744 from sworleys/RTADV-Fix-Upstream
Philippe Guibert [Tue, 29 Jun 2021 17:20:54 +0000 (19:20 +0200)]
Merge pull request #8744 from sworleys/RTADV-Fix-Upstream

zebra: rework RA handling for vrf-lite

3 years agoospf6d: use per-vrf router id instead of one global
Igor Ryzhov [Tue, 29 Jun 2021 15:10:41 +0000 (18:10 +0300)]
ospf6d: use per-vrf router id instead of one global

This code was not fully completed when adding support for VRFs.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
3 years agoMerge pull request #8824 from volta-networks/fix_check_for_link_param_change
Olivier Dugeon [Tue, 29 Jun 2021 14:53:54 +0000 (16:53 +0200)]
Merge pull request #8824 from volta-networks/fix_check_for_link_param_change

isisd, ospfd: update interface_link_params callback to check for change

3 years agoMerge pull request #8401 from taspelund/bgp_default_afis
Donatas Abraitis [Tue, 29 Jun 2021 13:57:07 +0000 (16:57 +0300)]
Merge pull request #8401 from taspelund/bgp_default_afis

bgpd: Expand 'bgp default <afi>-<safi>' cmds

3 years agotests: fix build warning
Igor Ryzhov [Tue, 29 Jun 2021 13:13:12 +0000 (16:13 +0300)]
tests: fix build warning

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
3 years ago*: unify prefix copying
Igor Ryzhov [Wed, 2 Jun 2021 17:03:52 +0000 (20:03 +0300)]
*: unify prefix copying

There are a few places in the code where we use PREFIX_COPY(_IPV4/IPV6)
macro to copy a prefix. Let's always use prefix_copy function for this.

This should fix CID 1482142 and 1504610.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
3 years agoMerge pull request #8937 from idryzhov/index-once-again
Rafael Zalamena [Tue, 29 Jun 2021 10:27:29 +0000 (07:27 -0300)]
Merge pull request #8937 from idryzhov/index-once-again

doc: remove unnecessary index directives

3 years agodoc: remove "no" from clicmd directives
Igor Ryzhov [Tue, 29 Jun 2021 09:50:10 +0000 (12:50 +0300)]
doc: remove "no" from clicmd directives

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
3 years agoMerge pull request #8835 from ranjanyash54/clear_process
Igor Ryzhov [Tue, 29 Jun 2021 08:54:39 +0000 (11:54 +0300)]
Merge pull request #8835 from ranjanyash54/clear_process

ospf6d: "clear ipv6 ospf6 process" command

3 years agoMerge pull request #8911 from donaldsharp/command_node
Donatas Abraitis [Tue, 29 Jun 2021 08:47:16 +0000 (11:47 +0300)]
Merge pull request #8911 from donaldsharp/command_node

lib: Add some hash name differentiation for Command Hash's

3 years agoMerge pull request #8850 from opensourcerouting/ospf6-checksum-json
Quentin Young [Tue, 29 Jun 2021 02:23:06 +0000 (02:23 +0000)]
Merge pull request #8850 from opensourcerouting/ospf6-checksum-json

ospf6d: consistent checksum JSON output

3 years agobgpd: Expand 'bgp default <afi>-<safi>' cmds
Trey Aspelund [Thu, 24 Jun 2021 07:04:52 +0000 (07:04 +0000)]
bgpd: Expand 'bgp default <afi>-<safi>' cmds

Adds new commands to allow a user to default 'default' address-families
to be inherited by all new peers.  Previously this was limited to just
ipv4/ipv6 unicast, now the full list is:
---
ipv4-unicast
ipv4-multicast
ipv4-vpn
ipv4-labeled-unicast
ipv4-flowspec
ipv6-unicast
ipv6-multicast
ipv6-vpn
ipv6-labeled-unicast
ipv6-flowspec
l2vpn-evpn
---

Signed-off-by: Trey Aspelund <taspelund@nvidia.com>
3 years agotests: Include evpn in bgp-default-afi-safi.py
Trey Aspelund [Tue, 22 Jun 2021 04:38:29 +0000 (04:38 +0000)]
tests: Include evpn in bgp-default-afi-safi.py

Expands "bgp default" tests to include l2vpn evpn in addition
to ipv4/ipv6 unicast.

Signed-off-by: Trey Aspelund <taspelund@nvidia.com>
3 years agotests: rename bgp_default_ipv4_ipv6 to _afi_safi
Trey Aspelund [Tue, 22 Jun 2021 04:02:25 +0000 (04:02 +0000)]
tests: rename bgp_default_ipv4_ipv6 to _afi_safi

Replaces the ipv4/ipv6-specific naming with generic afi/safi reference.

Signed-off-by: Trey Aspelund <taspelund@nvidia.com>
3 years agodoc: Add docs for 'bgp default <afi>-<safi>' cmds
Trey Aspelund [Mon, 5 Apr 2021 03:34:15 +0000 (03:34 +0000)]
doc: Add docs for 'bgp default <afi>-<safi>' cmds

Adds climd definitions and explanations for expanded
'bgp default <afi>-<safi>' definitions.

Signed-off-by: Trey Aspelund <taspelund@nvidia.com>
3 years agobgpd: Convert to default_af[afi][safi]
Trey Aspelund [Sat, 3 Apr 2021 05:22:17 +0000 (05:22 +0000)]
bgpd: Convert to default_af[afi][safi]

Introduces bgp->default_af to selectively enable various default
afi/safis to be inherited by new peers.
Makes default_af flag logic consistent for all address-families, i.e.
instead of a "no default" flag for ipv4 and a "default" flag for ipv6,
just use "default" for both and make it true for ipv4 by default.
Removes old BGP_FLAG_NO_DEFAULT_IPV4 and BGP_FLAG_DEFAULT_IPV6, and
cleans up bgp->flags bit definitions to avoid gaps for unused bits.
Signed-off-by: Trey Aspelund <taspelund@nvidia.com>
3 years agodoc: remove unnecessary index directives
Igor Ryzhov [Mon, 28 Jun 2021 14:49:14 +0000 (17:49 +0300)]
doc: remove unnecessary index directives

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
3 years agoisisd, ospfd: update interface_link_params callback to check for change
Karen Schoener [Thu, 17 Jun 2021 13:26:36 +0000 (09:26 -0400)]
isisd, ospfd: update interface_link_params callback to check for change

Adding defensive code to the interface_link_params zebra callback
to check if the link params changed before taking action.

Signed-off-by: Karen Schoener <karen@voltanet.io>
3 years agoMerge pull request #8932 from anlancs/fix-some-doc-warnings
Mark Stapp [Mon, 28 Jun 2021 14:30:34 +0000 (10:30 -0400)]
Merge pull request #8932 from anlancs/fix-some-doc-warnings

doc: fix some compile warning

3 years agoMerge pull request #8925 from idryzhov/ospf6-duplicated-read
Donald Sharp [Mon, 28 Jun 2021 11:44:33 +0000 (07:44 -0400)]
Merge pull request #8925 from idryzhov/ospf6-duplicated-read

ospf6d: fix duplicated packet read

3 years agoMerge pull request #8931 from anlancs/master-fix-doc-ospf-instances
Donald Sharp [Mon, 28 Jun 2021 11:37:28 +0000 (07:37 -0400)]
Merge pull request #8931 from anlancs/master-fix-doc-ospf-instances

doc: add a note for ospfd instances

3 years agodoc: fix some compile warning
anlancs [Mon, 28 Jun 2021 06:36:26 +0000 (14:36 +0800)]
doc: fix some compile warning

domainname is a merge conflict: it is duplicated, so delete it.
bgp content is a compille warning and wrongly display, so fix it.

Signed-off-by: anlancs <anlan_cs@tom.com>
3 years agoospf6d: "clear ipv6 ospf6 process" command
Yash Ranjan [Mon, 3 May 2021 11:46:41 +0000 (04:46 -0700)]
ospf6d: "clear ipv6 ospf6 process" command

Adding the "clear ipv6 ospf6 command" . It resets
the ospfv3 datastructures and clears the database
as well as route tables. It resets the neighborship
by restarting the interface state machine.
If the user wants to change the router-id, this
command updates the router-id to the latest static
router-id and starts the neighbor formation with
the new router-id.

Signed-off-by: Yash Ranjan <ranjany@vmware.com>
3 years agodoc: add a note for ospfd instances
anlancs [Sun, 27 Jun 2021 05:52:26 +0000 (13:52 +0800)]
doc: add a note for ospfd instances

Multiple instances of ospfd don't support vrf henceforth.

Signed-off-by: anlancs <anlan_cs@tom.com>
3 years agoospf6d: fix duplicated packet read
Igor Ryzhov [Fri, 25 Jun 2021 11:59:28 +0000 (14:59 +0300)]
ospf6d: fix duplicated packet read

When OSPFv3 router is configured in both default and non-default VRFs,
every packet destined to a non-default VRF is read twice. This makes it
impossible to establish neighborship because every DbDesc packet is
treated as duplicated and we end up infinitely exchanging DbDescs.

We should drop packets received in the default VRF if an interface we
received it on is bound to another VRF.

Same thing was done for OSPFv2 in 555691e.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
3 years agoMerge pull request #8909 from idryzhov/isis-conf
Donald Sharp [Fri, 25 Jun 2021 23:34:41 +0000 (19:34 -0400)]
Merge pull request #8909 from idryzhov/isis-conf

isisd: fix extra space in the mpls-te config output

3 years agoMerge pull request #8926 from opensourcerouting/ospfv3-nssa-typo
Donald Sharp [Fri, 25 Jun 2021 23:33:58 +0000 (19:33 -0400)]
Merge pull request #8926 from opensourcerouting/ospfv3-nssa-typo

doc: fix typo in OSPFv3 NSSA

3 years agoMerge pull request #8924 from volta-networks/fix_pcinit_coverity
Donald Sharp [Fri, 25 Jun 2021 23:15:30 +0000 (19:15 -0400)]
Merge pull request #8924 from volta-networks/fix_pcinit_coverity

pathd: coverity msg , frr_weak_random instead rand.

3 years agoMerge pull request #8920 from mjstapp/fix_bgp_adv_sa
Donald Sharp [Fri, 25 Jun 2021 23:13:25 +0000 (19:13 -0400)]
Merge pull request #8920 from mjstapp/fix_bgp_adv_sa

bgpd: Fix SA warning about freeing an aspath

3 years agodoc: fix typo in OSPFv3 NSSA
Rafael Zalamena [Fri, 25 Jun 2021 19:10:33 +0000 (16:10 -0300)]
doc: fix typo in OSPFv3 NSSA

Also change the command font to highlight it.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
3 years agopimd: make function names consistent
Rafael Zalamena [Fri, 25 Jun 2021 19:00:09 +0000 (16:00 -0300)]
pimd: make function names consistent

Rename functions (`pim_msdp_peer_new` => `pim_msdp_peer_add` and
`pim_msdp_peer_do_del` => `pim_msdp_peer_del`) to keep consistency and
update the `pim_msdp_peer_add` documentation to tell users that this is
also used for non meshed group peers.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
3 years agotopotests: bump MSDP mesh group test wait time
Rafael Zalamena [Thu, 17 Jun 2021 12:08:39 +0000 (09:08 -0300)]
topotests: bump MSDP mesh group test wait time

On a loaded machine running FRR with ASAN I've got the following result:

  INFO: waiting MSDP connection from peer 10.254.254.3 on router r1
  INFO: 'router_json_cmp' polling started (interval 1 secs, maximum 30 tries)
  INFO: 'router_json_cmp' succeeded after 22.53 seconds

Which is very close to the limit, so lets bump the value 4x to avoid a
test false positive.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
3 years agopimd: allow MSDP group name 'default'
Rafael Zalamena [Thu, 6 May 2021 14:41:08 +0000 (11:41 -0300)]
pimd: allow MSDP group name 'default'

Don't assign a default group name for non meshed group peers, instead
use a flag.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
3 years agotopotests: topology to test MSDP peers
Rafael Zalamena [Wed, 10 Feb 2021 11:43:15 +0000 (08:43 -0300)]
topotests: topology to test MSDP peers

Test the following items:
 - Multicast route installation
 - MSDP peering/SA/RPF

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
3 years agopimd: rework MSDP northbound integration
Rafael Zalamena [Thu, 22 Apr 2021 18:10:07 +0000 (15:10 -0300)]
pimd: rework MSDP northbound integration

Simplify the MSDP handling functions and allow source changes.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
3 years agoyang: simplify MSDP peer handling
Rafael Zalamena [Thu, 22 Apr 2021 18:07:20 +0000 (15:07 -0300)]
yang: simplify MSDP peer handling

Make the source address mandatory since it doesn't work without it. The
CLI already mandated it before so it makes sense to change this here as
well.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
3 years agoMerge pull request #8907 from idryzhov/isis-batching
Christian Hopps [Fri, 25 Jun 2021 14:32:28 +0000 (10:32 -0400)]
Merge pull request #8907 from idryzhov/isis-batching

Fix ISIS config batching

3 years agoMerge pull request #8463 from opensourcerouting/build-assorted-20210413
Donald Sharp [Fri, 25 Jun 2021 14:32:05 +0000 (10:32 -0400)]
Merge pull request #8463 from opensourcerouting/build-assorted-20210413

build system housekeeping

3 years agoMerge pull request #8923 from kuldeepkash/bgp_convergence_test
Donald Sharp [Fri, 25 Jun 2021 12:18:32 +0000 (08:18 -0400)]
Merge pull request #8923 from kuldeepkash/bgp_convergence_test

tests: Fix generate support bundle issue for test_route_map_topo1

3 years agopathd: coverity msg , frr_weak_random instead rand.
Javier Garcia [Fri, 25 Jun 2021 09:52:02 +0000 (11:52 +0200)]
pathd: coverity msg , frr_weak_random instead rand.

Signed-off-by: Javier Garcia <javier.garcia@voltanet.io>
3 years agotests: apply KISS to retry fixture
Christian Hopps [Sat, 19 Jun 2021 12:09:06 +0000 (12:09 +0000)]
tests: apply KISS to retry fixture

This python fixture was way too complex for what is needed.

Eliminate gratuitous options/over-engineering:

- Change from non-deterministic `wait` and `attempts` to a single
`retry_timeout` value. This is both more deterministic, as well as
what the user should actually be thinking about.

- Use a fixed 2 second pause between executing the wrapped function
rather than a bunch of arbitrary choices of 2, 3 and 4 seconds
spread all over the test code.

- Get rid of the multiple variables for determining what "Positive" and
"Negative" results are. Instead just implement what all the user code
already wants, i.e., boolean False or a str (errormsg) means
"Negative" result otherwise it's a "Positive" result.

- As part of the above the inversion logic is much more comprehensible
in the fixture code (and more correct to boot).

Signed-off-by: Christian Hopps <chopps@labn.net>
3 years agotests: fix pylint cleanup damage
Christian Hopps [Sat, 19 Jun 2021 16:19:11 +0000 (16:19 +0000)]
tests: fix pylint cleanup damage

Pylint cleanup in commit 914faab594 removed a crucial function
parameter that inverted the logic of verify function calls.

Signed-off-by: Christian Hopps <chopps@labn.net>
3 years agotests: Fix generate support bundle issue for test_route_map_topo1
Kuldeep Kashyap [Thu, 24 Jun 2021 22:16:27 +0000 (15:16 -0700)]
tests: Fix generate support bundle issue for test_route_map_topo1

1. There was a false condition, which was causing support bundle to be generated.
Issue is fixed.

Signed-off-by: Kuldeep Kashyap <kashyapk@vmware.com>
3 years agoMerge pull request #8912 from gpnaveen/ospf_asbr_summary
Russ White [Thu, 24 Jun 2021 20:19:22 +0000 (16:19 -0400)]
Merge pull request #8912 from gpnaveen/ospf_asbr_summary

tests: Adding ospfv2 summarisation test cases.

3 years agoMerge pull request #8731 from mjstapp/fix_pw_backups
Stephen Worley [Thu, 24 Jun 2021 16:46:31 +0000 (12:46 -0400)]
Merge pull request #8731 from mjstapp/fix_pw_backups

zebra: Fix pseudowires with backup nexthops

3 years agolib: Add some hash name differentiation for Command Hash's
Donald Sharp [Wed, 23 Jun 2021 14:58:16 +0000 (10:58 -0400)]
lib: Add some hash name differentiation for Command Hash's

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agodoc: mark deprecated ./configure options
David Lamparter [Wed, 23 Jun 2021 13:10:08 +0000 (15:10 +0200)]
doc: mark deprecated ./configure options

These aren't compile-time settings anymore.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
3 years agodoc: explain the new `service cputime...` commands
David Lamparter [Thu, 15 Apr 2021 20:46:30 +0000 (22:46 +0200)]
doc: explain the new `service cputime...` commands

These are user tunable, even though most users hopefully don't need to
touch them.

Signed-off-by: David Lamparter <equinox@diac24.net>
3 years agobuild: add `-Werror` to xrelfo log format warnings
David Lamparter [Tue, 13 Apr 2021 18:57:25 +0000 (20:57 +0200)]
build: add `-Werror` to xrelfo log format warnings

Adding a `\n' should now produce a warning.  Controlled by `-Werror` so
if you're doing a dev build and it's warning about some `prefix2str`
that should be converted to `%pFX`, you can turn off `-Werror` to fix it
later like with all other warnings.

Signed-off-by: David Lamparter <equinox@diac24.net>
3 years agolib: try CLOCK_THREAD_CPUTIME_ID
David Lamparter [Tue, 13 Apr 2021 18:49:26 +0000 (20:49 +0200)]
lib: try CLOCK_THREAD_CPUTIME_ID

This might be faster if at some point in the future the Linux vDSO
supports CLOCK_THREAD_CPUTIME_ID without making a syscall.  (Same
applies for other OSes.)

Signed-off-by: David Lamparter <equinox@diac24.net>
3 years agolib: make cputime checks runtime options (v2)
David Lamparter [Tue, 13 Apr 2021 18:38:09 +0000 (20:38 +0200)]
lib: make cputime checks runtime options (v2)

...really no reason to force this into a compile time decision.  The
only point is avoiding the getrusage() syscall, which can easily be a
runtime decision.

[v2: also split cputime & walltime limits]

Signed-off-by: David Lamparter <equinox@diac24.net>
3 years agobuild: remove unused --disable-rusage
David Lamparter [Tue, 13 Apr 2021 17:48:36 +0000 (19:48 +0200)]
build: remove unused --disable-rusage

This option does literally nothing.  Not sure since when, but the value
is not used anywhere at all.

Signed-off-by: David Lamparter <equinox@diac24.net>
3 years agobuild: remove --enable-exampledir
David Lamparter [Tue, 13 Apr 2021 17:44:44 +0000 (19:44 +0200)]
build: remove --enable-exampledir

This is no longer used with the recent config example removal.

Signed-off-by: David Lamparter <equinox@diac24.net>
3 years agoMerge pull request #8337 from donaldsharp/reload_with_routemaps
Mark Stapp [Thu, 24 Jun 2021 12:19:29 +0000 (08:19 -0400)]
Merge pull request #8337 from donaldsharp/reload_with_routemaps

Reload with routemaps

3 years agobgpd: Fix SA warning about freeing an aspath
Mark Stapp [Thu, 24 Jun 2021 11:50:23 +0000 (07:50 -0400)]
bgpd: Fix SA warning about freeing an aspath

Fix coverity warning CID 1505589

Signed-off-by: Mark Stapp <mjs@voltanet.io>
3 years agoMerge pull request #8800 from donaldsharp/sr_vtysh_fix
Igor Ryzhov [Wed, 23 Jun 2021 21:07:45 +0000 (00:07 +0300)]
Merge pull request #8800 from donaldsharp/sr_vtysh_fix

vtysh: Expose SR node for non pathd use cases

3 years agotests: Adding ospfv2 summarisation test cases.
nguggarigoud [Wed, 23 Jun 2021 12:44:42 +0000 (05:44 -0700)]
tests: Adding ospfv2 summarisation test cases.

Total cases 6.

Signed-off-by: nguggarigoud <nguggarigoud@vmware.com>
3 years agoMerge pull request #8904 from rameshabhinay/ospf6_show
Igor Ryzhov [Wed, 23 Jun 2021 15:35:13 +0000 (18:35 +0300)]
Merge pull request #8904 from rameshabhinay/ospf6_show

ospf6d: Show neighbor displays twice for every neighbor.

3 years agotools: limit bgp route-maps to direct changes only
Donald Sharp [Tue, 23 Mar 2021 12:48:54 +0000 (08:48 -0400)]
tools: limit bgp route-maps to direct changes only

When using frr-reload.py to modify a bgp neighbors route-map
the code was doing this:

a) deleting the previous route-map: `no neighbor XX route-map YY (in|out)`
b) Adding the new route-map back in `neighbor XX route-may ZZ (in|out)`

Now imagine that we have an outgoing route-map that we are changing
and the reload is large because of a large number of lines in frr.conf

Item (a) will happen.  BGP will immediately start sending all local
routes.  At some point in time in the future (b) will be applied.
This of course causes a withdraw but for a short amount of time we
are leaking unintended routes.  This is bad for several reasons
not 1) route churn upstream, 2) we might influence traffic to go the
wrong way. 3) if upstream has a maximum-prefix command the routes
being sent might trip its circuitry and shutdown the peer entirely
not even allowing you to get to (b).

Ticket: #2589685
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agoMerge pull request #8860 from ton31337/fix/aspath_prepend_default-originate
Donald Sharp [Wed, 23 Jun 2021 14:13:29 +0000 (10:13 -0400)]
Merge pull request #8860 from ton31337/fix/aspath_prepend_default-originate

bgpd: Allow aspath prepending for default-originate with route-maps

3 years agoMerge pull request #8842 from volta-networks/feat_pc_initiated
Olivier Dugeon [Wed, 23 Jun 2021 13:14:01 +0000 (15:14 +0200)]
Merge pull request #8842 from volta-networks/feat_pc_initiated

pathd: Feat pc initiated

3 years agoisisd: fix interface ldp-sync configuration
Igor Ryzhov [Tue, 22 Jun 2021 21:27:55 +0000 (00:27 +0300)]
isisd: fix interface ldp-sync configuration

There are two checks done when configuring ldp-sync on an interface:
- interface is not a loopback
- interface is in the default VRF
Both checks are incorrectly done using the operational data.

The second check can be done using only config data - do that.

The first check can't be done using only configurational data, but it's
not necessary. LDP sync code doesn't operate on loopback interfaces
already. There's no harm in allowing this to be configured.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
3 years agoisisd: fix instance ldp-sync configuration
Igor Ryzhov [Tue, 22 Jun 2021 21:23:18 +0000 (00:23 +0300)]
isisd: fix instance ldp-sync configuration

Don't rely on operational data to validate that configuration is applied
to the default VRF. The VRF name is stored in the config - use it instead.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
3 years agoisisd: fix NET NB configuration
Igor Ryzhov [Tue, 22 Jun 2021 21:21:24 +0000 (00:21 +0300)]
isisd: fix NET NB configuration

Don't rely on operational data to check for system ID consistency. This
is purely configurational data thing.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
3 years agoisisd: fix extra space in the mpls-te config output
Igor Ryzhov [Wed, 23 Jun 2021 12:39:56 +0000 (15:39 +0300)]
isisd: fix extra space in the mpls-te config output

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>