Commit Graph

24700 Commits

Author SHA1 Message Date
Louis Scalbert
c295917b4a 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>
2021-07-01 14:40:14 +02:00
Louis Scalbert
c54fb080a0 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>
2021-07-01 14:40:14 +02:00
Louis Scalbert
6794884231 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>
---
2021-07-01 14:40:14 +02:00
Louis Scalbert
08965422d0 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>
2021-07-01 14:40:07 +02:00
Renato Westphal
c36a440cba
Merge pull request #8950 from idryzhov/ospf6-router-id
ospf6d: use per-vrf router id instead of one global
2021-06-30 11:22:08 -03:00
Quentin Young
309f6af605
Merge pull request #8952 from Jafaral/show-ip-mroute
pimd: make show ip mroute output consistent
2021-06-30 04:35:38 +00:00
Quentin Young
5e02b133bf
Merge pull request #8943 from idryzhov/build-warn
tests: fix build warning
2021-06-30 04:33:30 +00:00
Quentin Young
f27e08373c
Merge pull request #8887 from LabNConsulting/chopps/fix-test-retries 2021-06-29 19:24:59 +00:00
Jafar Al-Gharaibeh
530b12cf6e 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>
2021-06-29 14:19:35 -05:00
Philippe Guibert
eed936b334
Merge pull request #8744 from sworleys/RTADV-Fix-Upstream
zebra: rework RA handling for vrf-lite
2021-06-29 19:20:54 +02:00
Igor Ryzhov
3c5122c5a7 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>
2021-06-29 18:10:41 +03:00
Olivier Dugeon
55a02e1ed4
Merge pull request #8824 from volta-networks/fix_check_for_link_param_change
isisd, ospfd: update interface_link_params callback to check for change
2021-06-29 16:53:54 +02:00
Donatas Abraitis
d1b599209f
Merge pull request #8401 from taspelund/bgp_default_afis
bgpd: Expand 'bgp default <afi>-<safi>' cmds
2021-06-29 16:57:07 +03:00
Igor Ryzhov
f102386a04 tests: fix build warning
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-06-29 16:13:12 +03:00
Rafael Zalamena
176d039a27
Merge pull request #8937 from idryzhov/index-once-again
doc: remove unnecessary index directives
2021-06-29 07:27:29 -03:00
Igor Ryzhov
5c54512ecc doc: remove "no" from clicmd directives
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-06-29 12:50:10 +03:00
Igor Ryzhov
ba88ced84c
Merge pull request #8835 from ranjanyash54/clear_process
ospf6d: "clear ipv6 ospf6 process" command
2021-06-29 11:54:39 +03:00
Donatas Abraitis
7702d0b720
Merge pull request #8911 from donaldsharp/command_node
lib: Add some hash name differentiation for Command Hash's
2021-06-29 11:47:16 +03:00
Quentin Young
3f8711681e
Merge pull request #8850 from opensourcerouting/ospf6-checksum-json
ospf6d: consistent checksum JSON output
2021-06-29 02:23:06 +00:00
Trey Aspelund
38d11af5e8 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>
2021-06-28 20:55:59 +00:00
Trey Aspelund
b01830dc5b 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>
2021-06-28 20:55:51 +00:00
Trey Aspelund
4a804cedc8 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>
2021-06-28 20:53:59 +00:00
Trey Aspelund
5441ad101b 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>
2021-06-28 20:53:59 +00:00
Trey Aspelund
b16bcbba97 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>
2021-06-28 20:53:59 +00:00
Igor Ryzhov
c9ba467f68 doc: remove unnecessary index directives
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-06-28 17:49:14 +03:00
Karen Schoener
0b4124c18c 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>
2021-06-28 10:32:52 -04:00
Mark Stapp
0e5572bc63
Merge pull request #8932 from anlancs/fix-some-doc-warnings
doc: fix some compile warning
2021-06-28 10:30:34 -04:00
Donald Sharp
d57b090fcb
Merge pull request #8925 from idryzhov/ospf6-duplicated-read
ospf6d: fix duplicated packet read
2021-06-28 07:44:33 -04:00
Donald Sharp
3d16b5c146
Merge pull request #8931 from anlancs/master-fix-doc-ospf-instances
doc: add a note for ospfd instances
2021-06-28 07:37:28 -04:00
anlancs
7aa6fb2d6a 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>
2021-06-28 14:36:45 +08:00
Yash Ranjan
f71ed6df3e 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>
2021-06-27 20:56:10 -07:00
anlancs
5ebb223905 doc: add a note for ospfd instances
Multiple instances of ospfd don't support vrf henceforth.

Signed-off-by: anlancs <anlan_cs@tom.com>
2021-06-28 09:32:38 +08:00
Igor Ryzhov
709bd20421 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>
2021-06-26 12:57:26 +03:00
Donald Sharp
32694c41bb
Merge pull request #8909 from idryzhov/isis-conf
isisd: fix extra space in the mpls-te config output
2021-06-25 19:34:41 -04:00
Donald Sharp
329f4cd3ed
Merge pull request #8926 from opensourcerouting/ospfv3-nssa-typo
doc: fix typo in OSPFv3 NSSA
2021-06-25 19:33:58 -04:00
Donald Sharp
ad1ea39d60
Merge pull request #8924 from volta-networks/fix_pcinit_coverity
pathd: coverity msg , frr_weak_random instead rand.
2021-06-25 19:15:30 -04:00
Donald Sharp
31cd08c94e
Merge pull request #8920 from mjstapp/fix_bgp_adv_sa
bgpd: Fix SA warning about freeing an aspath
2021-06-25 19:13:25 -04:00
Rafael Zalamena
84f38d8caf doc: fix typo in OSPFv3 NSSA
Also change the command font to highlight it.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2021-06-25 16:10:33 -03:00
Christian Hopps
065549df13
Merge pull request #8907 from idryzhov/isis-batching
Fix ISIS config batching
2021-06-25 10:32:28 -04:00
Donald Sharp
49b549d50a
Merge pull request #8463 from opensourcerouting/build-assorted-20210413
build system housekeeping
2021-06-25 10:32:05 -04:00
Donald Sharp
b4835c13b0
Merge pull request #8923 from kuldeepkash/bgp_convergence_test
tests: Fix generate support bundle issue for test_route_map_topo1
2021-06-25 08:18:32 -04:00
Javier Garcia
2568524825 pathd: coverity msg , frr_weak_random instead rand.
Signed-off-by: Javier Garcia <javier.garcia@voltanet.io>
2021-06-25 11:52:02 +02:00
Christian Hopps
ed776e38f6
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>
2021-06-25 05:33:04 +00:00
Christian Hopps
d8c3138cd9 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>
2021-06-25 02:33:03 +00:00
Kuldeep Kashyap
25b43d5654 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>
2021-06-24 15:26:59 -07:00
Russ White
e88ed0d667
Merge pull request #8912 from gpnaveen/ospf_asbr_summary
tests: Adding ospfv2 summarisation test cases.
2021-06-24 16:19:22 -04:00
Stephen Worley
a7c91c4246
Merge pull request #8731 from mjstapp/fix_pw_backups
zebra: Fix pseudowires with backup nexthops
2021-06-24 12:46:31 -04:00
Donald Sharp
c81d78cf1c lib: Add some hash name differentiation for Command Hash's
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-06-24 10:51:34 -04:00
David Lamparter
5c076fe7e7 doc: mark deprecated ./configure options
These aren't compile-time settings anymore.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2021-06-24 16:42:59 +02:00
David Lamparter
9b802bf44f 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>
2021-06-24 16:42:59 +02:00