]> git.proxmox.com Git - mirror_frr.git/log
mirror_frr.git
2 years agoMerge pull request #8508 from opensourcerouting/systemd-no-lib
Quentin Young [Tue, 6 Jul 2021 14:54:25 +0000 (14:54 +0000)]
Merge pull request #8508 from opensourcerouting/systemd-no-lib

2 years agoMerge pull request #8942 from ton31337/fix/cleanups_2
Donald Sharp [Tue, 6 Jul 2021 13:47:41 +0000 (09:47 -0400)]
Merge pull request #8942 from ton31337/fix/cleanups_2

Another round of cleanup

2 years agoMerge pull request #8972 from ton31337/fix/bgp_extended_msg_support
Donald Sharp [Tue, 6 Jul 2021 13:41:45 +0000 (09:41 -0400)]
Merge pull request #8972 from ton31337/fix/bgp_extended_msg_support

bgpd: Extended message support potential fixes

2 years agoMerge pull request #8975 from ton31337/fix/show_ip_route_json_prefix_formatting
Donald Sharp [Tue, 6 Jul 2021 13:40:19 +0000 (09:40 -0400)]
Merge pull request #8975 from ton31337/fix/show_ip_route_json_prefix_formatting

zebra: Do not escape forward slashes for `show ip route json`

2 years agoMerge pull request #8939 from LabNConsulting/chopps/sup-bund-fixes
Donald Sharp [Tue, 6 Jul 2021 11:58:19 +0000 (07:58 -0400)]
Merge pull request #8939 from LabNConsulting/chopps/sup-bund-fixes

Speedup support bundles, fix bugs, add CLI timestamp

2 years agoMerge pull request #8958 from pguibert6WIND/choose_ipv6_linklocal_nht
Donatas Abraitis [Tue, 6 Jul 2021 11:27:15 +0000 (14:27 +0300)]
Merge pull request #8958 from pguibert6WIND/choose_ipv6_linklocal_nht

bgpd: nht unresolved with global address next-hop

2 years agoMerge pull request #8976 from ton31337/fix/bgp_dest_unlock_node
Patrick Ruddy [Tue, 6 Jul 2021 08:03:40 +0000 (09:03 +0100)]
Merge pull request #8976 from ton31337/fix/bgp_dest_unlock_node

bgpd: Unlock bgp_dest for bgp_distance_unset if distance does not match

2 years agoMerge pull request #8979 from opensourcerouting/msdp-topotest-speedup
Donatas Abraitis [Mon, 5 Jul 2021 06:16:27 +0000 (09:16 +0300)]
Merge pull request #8979 from opensourcerouting/msdp-topotest-speedup

topotests: speed up MSDP convergence speed

2 years agoMerge pull request #8888 from dlqs/lua-call
Quentin Young [Mon, 5 Jul 2021 04:13:20 +0000 (04:13 +0000)]
Merge pull request #8888 from dlqs/lua-call

2 years agoMerge pull request #7674 from oerdnj/embedded-deb-packages
Martin Winter [Sun, 4 Jul 2021 14:59:19 +0000 (16:59 +0200)]
Merge pull request #7674 from oerdnj/embedded-deb-packages

Convert the packaging to use git-buildpackage

2 years agotopotests: speed up MSDP convergence speed
Rafael Zalamena [Sun, 4 Jul 2021 14:17:10 +0000 (11:17 -0300)]
topotests: speed up MSDP convergence speed

Decrease the connection retry time to reduce test duration on connection
failures.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2 years agoMerge pull request #8974 from FRRouting/revert-8795-fix-ospf6-router-id
Christian Hopps [Sat, 3 Jul 2021 23:40:03 +0000 (19:40 -0400)]
Merge pull request #8974 from FRRouting/revert-8795-fix-ospf6-router-id

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

2 years agobgpd: Unlock bgp_dest for bgp_distance_unset if distance does not match
Donatas Abraitis [Sat, 3 Jul 2021 19:16:31 +0000 (22:16 +0300)]
bgpd: Unlock bgp_dest for bgp_distance_unset if distance does not match

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2 years agodebian: Merge the official Debian changelog into d/changelog
Ondřej Surý [Mon, 17 May 2021 18:20:33 +0000 (20:20 +0200)]
debian: Merge the official Debian changelog into d/changelog

Signed-off-by: Ondřej Surý <ondrej@sury.org>
2 years agotools: Simplify the script to build Debian binary package
Igor Ryzhov [Mon, 17 May 2021 18:18:01 +0000 (20:18 +0200)]
tools: Simplify the script to build Debian binary package

Signed-off-by: Ondřej Surý <ondrej@sury.org>
2 years agodebian: Update the upstream version to 7.7~dev-1
Ondřej Surý [Tue, 4 May 2021 20:53:33 +0000 (22:53 +0200)]
debian: Update the upstream version to 7.7~dev-1

Signed-off-by: Ondřej Surý <ondrej@sury.org>
2 years agodoc: Use dpkg-buildpackage to build packages (add note about debuild)
Ondřej Surý [Mon, 15 Feb 2021 07:43:26 +0000 (08:43 +0100)]
doc: Use dpkg-buildpackage to build packages (add note about debuild)

The debuild command fails when we are doing source package only build
because it expects the arch-dependent .changes file to be present.  Thus
in the instructions we switch to using dpkg-buildpackage directly and
add a note about using debuild in more complicated scenarios.

Signed-off-by: Ondřej Surý <ondrej@sury.org>
2 years agodoc: Add instructions on how to build only source packages
Ondřej Surý [Mon, 15 Feb 2021 07:40:08 +0000 (08:40 +0100)]
doc: Add instructions on how to build only source packages

In the CI, it's better to build the source package only once and then
instead of checking out the whole repository, only distribute the source
packages to the individual jobs.

Signed-off-by: Ondřej Surý <ondrej@sury.org>
2 years agodoc: Update debian packaging instructions
Ondřej Surý [Thu, 11 Feb 2021 20:27:49 +0000 (21:27 +0100)]
doc: Update debian packaging instructions

The debian packaging instructions have been updated, so they actually
work.

Signed-off-by: Ondřej Surý <ondrej@sury.org>
2 years agodebian: Add support for Debian bullseye to the packaging script
Ondřej Surý [Thu, 11 Feb 2021 19:53:43 +0000 (20:53 +0100)]
debian: Add support for Debian bullseye to the packaging script

The Debian bullseye is frozen now, so this adds support to this
Debian release to the packaging script.

Signed-off-by: Ondřej Surý <ondrej@sury.org>
2 years agodebian: Fix the debian packaging script to build on non-default branch
Ondřej Surý [Thu, 11 Feb 2021 19:44:09 +0000 (20:44 +0100)]
debian: Fix the debian packaging script to build on non-default branch

The packaging script would fail to run on non-master branch, fix that
by pulling original branch name.

Signed-off-by: Ondřej Surý <ondrej@sury.org>
2 years agodebian: Make the autopkgtest more resilient (Closes: #980111)
Ondřej Surý [Sun, 7 Feb 2021 11:52:35 +0000 (12:52 +0100)]
debian: Make the autopkgtest more resilient (Closes: #980111)

The Debian autopkgtest would fail with new PAM introduced in Debian bullseye.
Add a little loop to wait a little longer for the changes to propagate.

Signed-off-by: Ondřej Surý <ondrej@sury.org>
2 years agodebian: Update the tools/build-debian-package.sh to be example build script
Ondřej Surý [Sun, 27 Sep 2020 11:17:57 +0000 (13:17 +0200)]
debian: Update the tools/build-debian-package.sh to be example build script

Signed-off-by: Ondřej Surý <ondrej@sury.org>
2 years agodebian: Remove now obsolete tarsource.sh script
Ondřej Surý [Sun, 27 Sep 2020 10:18:21 +0000 (12:18 +0200)]
debian: Remove now obsolete tarsource.sh script

Signed-off-by: Ondřej Surý <ondrej@sury.org>
2 years agodebian: Remove the changelog-auto automation in favor of dch
Ondřej Surý [Sun, 27 Sep 2020 09:46:31 +0000 (11:46 +0200)]
debian: Remove the changelog-auto automation in favor of dch

Signed-off-by: Ondřej Surý <ondrej@sury.org>
2 years agodebian: Update tools/build-debian-package.sh to use git-buildpackage
Ondřej Surý [Sun, 27 Sep 2020 09:08:13 +0000 (11:08 +0200)]
debian: Update tools/build-debian-package.sh to use git-buildpackage

Signed-off-by: Ondřej Surý <ondrej@sury.org>
2 years agodebian: Adjust tarsource.sh to use native debian/changelog
Ondřej Surý [Sat, 26 Sep 2020 16:53:34 +0000 (18:53 +0200)]
debian: Adjust tarsource.sh to use native debian/changelog

Signed-off-by: Ondřej Surý <ondrej@sury.org>
2 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>
2 years agozebra: Show prefixLen in `show ip route json` output additionally
Donatas Abraitis [Sat, 3 Jul 2021 11:17:28 +0000 (14:17 +0300)]
zebra: Show prefixLen in `show ip route json` output additionally

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2 years agozebra: Do not escape forward slashes for `show ip route json`
Donatas Abraitis [Sat, 3 Jul 2021 11:09:28 +0000 (14:09 +0300)]
zebra: Do not escape forward slashes for `show ip route json`

Basically, this is handled by JSON-C library. I've compiled with the
latest release of json-c and it works well.

Didn't test with various distribution versions, but this change is kinda
dependend from the json-c lib version the distra has.

Before:
```
  "192.168.100.1\/32":[
    {
      "prefix":"192.168.100.1\/32",
```

After:
```
  "192.168.100.1/32":[
    {
      "prefix":"192.168.100.1/32",
```

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2 years agobgpd: Show max packet size per update-group
Donatas Abraitis [Fri, 2 Jul 2021 20:48:16 +0000 (23:48 +0300)]
bgpd: Show max packet size per update-group

```
exit1-debian-9# sh ip bgp update-groups
Update-group 2:
  Created: Fri Jul  2 20:47:23 2021
  MRAI value (seconds): 0

  Update-subgroup 2:
    Created: Fri Jul  2 20:47:23 2021
    Join events: 1
    Prune events: 0
    Merge events: 0
    Split events: 0
    Update group switch events: 0
    Peer refreshes combined: 0
    Merge checks triggered: 0
    Coalesce Time: 1200
    Version: 14
    Packet queue length: 0
    Total packets enqueued: 8
    Packet queue high watermark: 1
    Adj-out list count: 11
    Advertise list: empty
    Flags:
    Max packet size: 65535
    Peers:
      - eth1
Update-group 3:
  Created: Fri Jul  2 20:47:43 2021
  MRAI value (seconds): 0

  Update-subgroup 3:
    Created: Fri Jul  2 20:47:43 2021
    Join events: 1
    Prune events: 0
    Merge events: 0
    Split events: 0
    Update group switch events: 0
    Peer refreshes combined: 0
    Merge checks triggered: 0
    Coalesce Time: 1200
    Version: 14
    Packet queue length: 0
    Total packets enqueued: 8
    Packet queue high watermark: 1
    Adj-out list count: 11
    Advertise list: empty
    Flags:
    Max packet size: 4096
    Peers:
      - 192.168.10.17
```

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2 years agobgpd: Set 4096 instead of 65535 as new max packet size for a new peer
Donatas Abraitis [Fri, 2 Jul 2021 13:50:39 +0000 (16:50 +0300)]
bgpd: Set 4096 instead of 65535 as new max packet size for a new peer

New peers should be initialized with a usual max packet size and later
determined on OPEN messages.

Testing with different peers supporting/not supporting extended support.

2021/07/02 13:48:00 BGP: [WEV7K-2GAQ5] u2:s2 send UPDATE len 8991 (max message len: 65535) numpfx 1788
2021/07/02 13:48:03 BGP: [WEV7K-2GAQ5] u3:s3 send UPDATE len 4096 (max message len: 4096) numpfx 809
2021/07/02 13:48:03 BGP: [WEV7K-2GAQ5] u3:s3 send UPDATE len 4096 (max message len: 4096) numpfx 809

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2 years agobgpd: Create another update-group depending on max bgp packet size
Donatas Abraitis [Fri, 2 Jul 2021 13:48:11 +0000 (16:48 +0300)]
bgpd: Create another update-group depending on max bgp packet size

This should be garuanteed that we create a separate update-group if
bgp max packet size differs.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2 years agodoc: space code block
Donald Lee [Fri, 2 Jul 2021 20:34:50 +0000 (04:34 +0800)]
doc: space code block

Signed-off-by: Donald Lee <dlqs@gmx.com>
2 years agoRevert "ospf6d: fix LSAs remain in LSDB with an old router-id value"
Donald Sharp [Fri, 2 Jul 2021 16:38:11 +0000 (12:38 -0400)]
Revert "ospf6d: fix LSAs remain in LSDB with an old router-id value"

2 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

2 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

2 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

2 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

2 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>
2 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>
2 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

2 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>
2 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>
2 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>
2 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>
2 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>
2 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>
2 years agobgpd: nht unresolved with global address next-hop
Philippe Guibert [Wed, 30 Jun 2021 12:07:52 +0000 (14:07 +0200)]
bgpd: nht unresolved with global address next-hop

When bgp peers with ipv6 link local addresses, it may receive a
BGP update with next-hop containing both LL and GA information.
By default, nexthop tracking applies to GA, and ignores presence
of LL, when both addresses are present. This is a problem for
resolving GA as next-hop as the next-hop information can be solved
by using the LL address only.

The solution consists in defaulting the nexthop ipv6 choice to LL
when available, and moving back to GA if a route-map is locally
configured at inbound.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2 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>
2 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>
2 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>
2 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>
2 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>
2 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>
---

2 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>
2 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…

2 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>
2 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

2 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

2 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>
2 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

2 years agobgpd: Restore bgp_routemap logic
Donald Lee [Wed, 30 Jun 2021 15:15:42 +0000 (23:15 +0800)]
bgpd: Restore bgp_routemap logic

Signed-off-by: Donald Lee <dlqs@gmx.com>
2 years agotests: generate support bundles in parallel, fix bugs
Christian Hopps [Wed, 30 Jun 2021 15:45:24 +0000 (15:45 +0000)]
tests: generate support bundles in parallel, fix bugs

Speedup (large topo): OLD: ~6 minutes NEW: ~1 second
  (when paired with generate_support_bundle.py changes)
- Collect from each node in parallel

Bug fixes:
- sub-directory test name was the same internal pytest function name
  for any test, and not the actual test name.

Signed-off-by: Christian Hopps <chopps@labn.net>
2 years agotests: collect support bundle data in parallel, fix bugs
Christian Hopps [Tue, 29 Jun 2021 22:03:31 +0000 (22:03 +0000)]
tests: collect support bundle data in parallel, fix bugs

Speedup (large topo): OLD: ~6 minutes NEW: ~1 second.
  (when paired with common_config.py changes)
- Collect each "proc" support in parallel
- For each "proc" only call vtysh once with all commands

Bug fixes:
- output was broken, a dump of python "repr" format of str.

Signed-off-by: Christian Hopps <chopps@labn.net>
2 years agovtysh: add CLI timestamp '-t' flag
Christian Hopps [Tue, 29 Jun 2021 00:15:25 +0000 (00:15 +0000)]
vtysh: add CLI timestamp '-t' flag

Example output:

    flk# show version
    % 2021/06/29 00:25:01.562

    FRRouting 8.1-dev-my-manual-build (flk).
    Copyright 1996-2005 Kunihiro Ishiguro, et al.

    ...

Signed-off-by: Christian Hopps <chopps@labn.net>
2 years agotests: extend timeout period for failing mcast test
Christian Hopps [Wed, 30 Jun 2021 09:05:22 +0000 (09:05 +0000)]
tests: extend timeout period for failing mcast test

Signed-off-by: Christian Hopps <chopps@labn.net>
2 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>
2 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

2 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>
2 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>
2 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

2 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

2 years ago*: Do not check for XMALLOC/XCALLOC against NULLs
Donatas Abraitis [Tue, 29 Jun 2021 12:18:22 +0000 (15:18 +0300)]
*: Do not check for XMALLOC/XCALLOC against NULLs

We don't check this pattern anywhere in the code basically, so let's
unify the code.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2 years agotools: Add coccinelle script for checking against XMALLOC/XCALLOC NULLs
Donatas Abraitis [Tue, 29 Jun 2021 12:16:01 +0000 (15:16 +0300)]
tools: Add coccinelle script for checking against XMALLOC/XCALLOC NULLs

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2 years agobgpd: Avoid more assignments within checks (round 2)
Donatas Abraitis [Tue, 29 Jun 2021 11:53:39 +0000 (14:53 +0300)]
bgpd: Avoid more assignments within checks (round 2)

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2 years agobgpd: No need casting to boolean for boolean
Donatas Abraitis [Tue, 29 Jun 2021 11:47:31 +0000 (14:47 +0300)]
bgpd: No need casting to boolean for boolean

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2 years agolib: Avoid using assignments within checks
Donatas Abraitis [Tue, 29 Jun 2021 11:43:16 +0000 (14:43 +0300)]
lib: Avoid using assignments within checks

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2 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

2 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>
2 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

2 years agobuild, doc: extricate `--enable-systemd`
David Lamparter [Mon, 19 Apr 2021 08:35:53 +0000 (10:35 +0200)]
build, doc: extricate `--enable-systemd`

Ouch, that is a *lot* of places to update...

Signed-off-by: David Lamparter <equinox@diac24.net>
2 years agolib, watchfrr: remove `HAVE_SYSTEMD`, use own code
David Lamparter [Mon, 19 Apr 2021 08:33:18 +0000 (10:33 +0200)]
lib, watchfrr: remove `HAVE_SYSTEMD`, use own code

This replaces the external libsystemd dependency with... pretty much the
same amount of built-in code.  But with one fewer dependency and build
switch needed.

Also check `JOURNAL_STREAM` for future logging integration.

Signed-off-by: David Lamparter <equinox@diac24.net>
2 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>
2 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

2 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

2 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>
2 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>
2 years agobgpd: Avoid using assignments within checks
Donatas Abraitis [Tue, 29 Jun 2021 11:40:14 +0000 (14:40 +0300)]
bgpd: Avoid using assignments within checks

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2 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

2 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>
2 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

2 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

2 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

2 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>
2 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>
2 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>
2 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>
2 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>
2 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>