]> git.puffer.fish Git - matthieu/frr.git/log
matthieu/frr.git
3 years agobuild: Update configure.ac to reflect proper version 8.0-dev
Donald Sharp [Tue, 18 May 2021 18:40:35 +0000 (14:40 -0400)]
build: Update configure.ac to reflect proper version

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agoMerge pull request #8608 from Fredi-raspall/pr_isis_sr_anycast base_8.0
Renato Westphal [Tue, 18 May 2021 14:35:58 +0000 (11:35 -0300)]
Merge pull request #8608 from Fredi-raspall/pr_isis_sr_anycast

isisd: clear the N-flag in ext. reachability TLVs

3 years agoMerge pull request #8133 from gpnaveen/ospf_basic_testcases
Olivier Dugeon [Tue, 18 May 2021 14:26:12 +0000 (16:26 +0200)]
Merge pull request #8133 from gpnaveen/ospf_basic_testcases

tests: adding ospf basic 2 testcases.

3 years agoMerge pull request #8673 from LabNConsulting/chopps/ly2-again
Donald Sharp [Tue, 18 May 2021 14:21:51 +0000 (10:21 -0400)]
Merge pull request #8673 from LabNConsulting/chopps/ly2-again

lib: libyang2 add missed conversion

3 years agoMerge pull request #8646 from chiragshah6/mdev
Patrick Ruddy [Tue, 18 May 2021 10:45:56 +0000 (11:45 +0100)]
Merge pull request #8646 from chiragshah6/mdev

zebra: evpn check vni oper state in svi up/down event

3 years agoisisd: simplify node Sid handling
Fredi Raspall [Tue, 18 May 2021 08:37:28 +0000 (10:37 +0200)]
isisd: simplify node Sid handling

Centralize the n-flag-clear processing to a single point.

Signed-off-by: Fredi Raspall <fredi@voltanet.io>
3 years agoisisd: clear the N-flag in ext. reachability TLVs
Fredi Raspall [Sun, 2 May 2021 15:13:11 +0000 (17:13 +0200)]
isisd: clear the N-flag in ext. reachability TLVs

If the n-flag-clear option is set in the configuration of a prefix
segment, clear the flag in the extended ip reachability TLVs.

RFCs 7794 and 8667 are not too strict on the setting / clearing the
N-flag in prefix SIDs. However, if there exists a cmd line option
to clear it, it should be cleared in the TLVs announced, as other
vendors do.

Signed-off-by: Fredi Raspall <fredi@voltanet.io>
3 years agoMerge pull request #8535 from opensourcerouting/zlog-rnode
Donatas Abraitis [Tue, 18 May 2021 06:50:42 +0000 (09:50 +0300)]
Merge pull request #8535 from opensourcerouting/zlog-rnode

zebra: replace _rnode_zlog with %pZN ext

3 years agotests: adding ospf basic 2 testcases.
nguggarigoud [Tue, 23 Feb 2021 05:04:28 +0000 (10:34 +0530)]
tests: adding ospf basic 2  testcases.

Test cases included are 1 ospf cost, 1 ospf mtu.

Signed-off-by: nguggarigoud <nguggarigoud@vmware.com>
3 years agolib: libyang2 add missed conversion
Christian Hopps [Mon, 17 May 2021 21:16:28 +0000 (21:16 +0000)]
lib: libyang2 add missed conversion

Signed-off-by: Christian Hopps <chopps@labn.net>
3 years agoMerge pull request #8680 from idryzhov/rip-ripng-fix-crash
Renato Westphal [Tue, 18 May 2021 01:47:27 +0000 (22:47 -0300)]
Merge pull request #8680 from idryzhov/rip-ripng-fix-crash

ripd, ripngd: fix interface wakeup after shutdown

3 years agoMerge pull request #8643 from icosahedral/master
Sri Mohana Singamsetty [Mon, 17 May 2021 18:43:35 +0000 (11:43 -0700)]
Merge pull request #8643 from icosahedral/master

bgpd: modify path selection for EVPN type-5 routes

3 years agoMerge pull request #8676 from idryzhov/test-gitignore
Mark Stapp [Mon, 17 May 2021 16:44:13 +0000 (12:44 -0400)]
Merge pull request #8676 from idryzhov/test-gitignore

tests: fix missing gitignore entry

3 years agoripngd: fix interface wakeup after shutdown
Igor Ryzhov [Mon, 17 May 2021 16:35:57 +0000 (19:35 +0300)]
ripngd: fix interface wakeup after shutdown

RIPNG schedules a call to `ripng_interface_wakeup` in 1 second after
receiving the interface UP event from zebra. The function is called even
if the interface was shut down during this interval.

This is incorrect and also leads to a crash in the following scenario:
```
vtysh -c "conf" -c "router ripng vrf red" -c "network enp2s0"
ip link add red type vrf table 1
ip link set enp2s0 vrf red
ip link set enp2s0 down
ip link set enp2s0 up && sleep 2 && ip link del red
```

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
3 years agoripd: fix interface wakeup after shutdown
Igor Ryzhov [Mon, 17 May 2021 16:34:02 +0000 (19:34 +0300)]
ripd: fix interface wakeup after shutdown

RIP schedules a call to `rip_interface_wakeup` in 1 second after
receiving the interface UP event from zebra. The function is called even
if the interface was shut down during this interval.

This is incorrect and also leads to a crash in the following scenario:
```
vtysh -c "conf" -c "router rip vrf red" -c "network enp2s0"
ip link add red type vrf table 1
ip link set enp2s0 vrf red
ip link set enp2s0 down
ip link set enp2s0 up && ip link del red
```

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
3 years agotests: fix missing gitignore entry
Igor Ryzhov [Mon, 17 May 2021 10:01:55 +0000 (13:01 +0300)]
tests: fix missing gitignore entry

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
3 years agoMerge pull request #8672 from qlyoung/fix-bgp-timer-display
Igor Ryzhov [Sat, 15 May 2021 11:18:50 +0000 (14:18 +0300)]
Merge pull request #8672 from qlyoung/fix-bgp-timer-display

3 years agobgpd: fix display of timers when only 1 is changed
Quentin Young [Fri, 14 May 2021 18:59:16 +0000 (14:59 -0400)]
bgpd: fix display of timers when only 1 is changed

When only one of the keepalive or hold timers is changed from the
default, bgp won't print the timers command in the config.

Signed-off-by: Quentin Young <qlyoung@nvidia.com>
3 years agoMerge pull request #8556 from donaldsharp/bgp_pbr_weird
Russ White [Fri, 14 May 2021 03:14:34 +0000 (23:14 -0400)]
Merge pull request #8556 from donaldsharp/bgp_pbr_weird

Bgp flowspec cleanups

3 years agoMerge pull request #8144 from LabNConsulting/chopps/ly2
Martin Winter [Thu, 13 May 2021 23:12:06 +0000 (01:12 +0200)]
Merge pull request #8144 from LabNConsulting/chopps/ly2

libyang2

3 years agolib: adapt to version 2 of libyang
Christian Hopps [Tue, 4 May 2021 14:41:58 +0000 (10:41 -0400)]
lib: adapt to version 2 of libyang

Compile with v2.0.0 tag of `libyang2` branch of:
https://github.com/CESNET/libyang

staticd init load time of 10k routes now 6s vs ly1 time of 150s

Signed-off-by: Christian Hopps <chopps@labn.net>
3 years agoMerge pull request #8658 from gromit1811/bugfix_8567
Martin Winter [Thu, 13 May 2021 18:12:43 +0000 (20:12 +0200)]
Merge pull request #8658 from gromit1811/bugfix_8567

Fix #8567 OSPFv3-26.13 ANVL failure

3 years agoMerge pull request #8649 from ton31337/fix/unify-naming-for-topotests-directory
Donald Sharp [Thu, 13 May 2021 11:26:15 +0000 (07:26 -0400)]
Merge pull request #8649 from ton31337/fix/unify-naming-for-topotests-directory

tests: Rename tests/topotests directories to be consistent

3 years agoMerge pull request #8659 from mjstapp/fix_connected_multi
Donald Sharp [Thu, 13 May 2021 11:23:42 +0000 (07:23 -0400)]
Merge pull request #8659 from mjstapp/fix_connected_multi

lib,zebra: Use a flag to track down status for connected addrs

3 years agoMerge pull request #8663 from donaldsharp/pretty_function
Donatas Abraitis [Thu, 13 May 2021 05:23:06 +0000 (08:23 +0300)]
Merge pull request #8663 from donaldsharp/pretty_function

Use __func__ instead of __PRETTY_FUNCTION__

3 years agoMerge pull request #8544 from donaldsharp/weird_stuff_in_topo
Mark Stapp [Wed, 12 May 2021 16:28:07 +0000 (12:28 -0400)]
Merge pull request #8544 from donaldsharp/weird_stuff_in_topo

tests: Fix pylint issues in test_bgp_recursive_route_ebgp_multi_hop.py

3 years agopimd: Use __func__ instead of __PRETTY_FUNCTION__
Donald Sharp [Wed, 12 May 2021 16:04:57 +0000 (12:04 -0400)]
pimd: Use __func__ instead of __PRETTY_FUNCTION__

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agoospfd: Use _func__ instead of __PRETTY_FUNCTION__
Donald Sharp [Wed, 12 May 2021 16:03:59 +0000 (12:03 -0400)]
ospfd: Use _func__ instead of __PRETTY_FUNCTION__

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agozebra: Use __func__ instead of __PRETTY_FUNCTION__
Donald Sharp [Wed, 12 May 2021 16:02:05 +0000 (12:02 -0400)]
zebra: Use __func__ instead of __PRETTY_FUNCTION__

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agobgpd: use __func__ instead of __PRETTY_FUNCTION__
Donald Sharp [Wed, 12 May 2021 16:00:23 +0000 (12:00 -0400)]
bgpd: use __func__ instead of __PRETTY_FUNCTION__

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agolib,zebra: Use a flag to track down status for connected addrs
Mark Stapp [Tue, 11 May 2021 19:57:39 +0000 (15:57 -0400)]
lib,zebra: Use a flag to track down status for connected addrs

Track 'down' state of connected addresses with a new flag. We
may have multiple addresses on an interface that share a prefix;
in those cases, we need to determine when the first address
is valid, to install a connected route, and similarly detect
when the last address goes 'down', to remove the connected
route.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
3 years agoMerge pull request #8661 from donaldsharp/more_privs
Mark Stapp [Wed, 12 May 2021 11:54:14 +0000 (07:54 -0400)]
Merge pull request #8661 from donaldsharp/more_privs

lib: Add ZCAP_IPC_LOCK

3 years agotests: Add pytestmark to the flowspec topotest
Donald Sharp [Sat, 24 Apr 2021 01:40:33 +0000 (21:40 -0400)]
tests: Add pytestmark to the flowspec topotest

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agobgpd: Remove usage of prefix2str and use builtin in bgp_zebra.c
Donald Sharp [Sat, 24 Apr 2021 01:37:03 +0000 (21:37 -0400)]
bgpd: Remove usage of prefix2str and use builtin in bgp_zebra.c

Convert over from prefix2str explicit call and use the builtin
%pFX we have now.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agobgpd: reduce cut-n-paste of bgp_zebra_announce_default for install
Donald Sharp [Sat, 24 Apr 2021 01:31:11 +0000 (21:31 -0400)]
bgpd: reduce cut-n-paste of bgp_zebra_announce_default for install

This bit of code was cut-n-pasted all over the place:

               if (!bpa->installed && !bpa->install_in_progress) {
                       bgp_send_pbr_rule_action(bpa, NULL, true);
                       bgp_zebra_announce_default(bgp, nh,
                                                  bpa->afi,
                                                  bpa->table_id, true);
               }

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agobgpd: reduce cut-n-paste code in bgp_pbr.c
Donald Sharp [Sat, 24 Apr 2021 00:57:14 +0000 (20:57 -0400)]
bgpd: reduce cut-n-paste code in bgp_pbr.c

Create a function bgp_bpr_bpa_remove that is this cut-n-paste code:

       if (bpa->refcnt == 0) {
               if (bpa->installed && bpa->table_id != 0) {
                       bgp_send_pbr_rule_action(bpa, NULL, false);
                       bgp_zebra_announce_default(bpa->bgp, &(bpa->nh),
                                                  AFI_IP,
                                                  bpa->table_id,
                                                  false);
                       bpa->installed = false;
               }
       }

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agotests: Fix pylint issues in test_bgp_recursive_route_ebgp_multi_hop.py
Donald Sharp [Fri, 23 Apr 2021 12:28:05 +0000 (08:28 -0400)]
tests: Fix pylint issues in test_bgp_recursive_route_ebgp_multi_hop.py

Tests had format for strings with 2 variables but 1 place to put the data.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agoMerge pull request #8660 from qlyoung/fix-bgp-conditional-advertisement-deconfig...
Donatas Abraitis [Wed, 12 May 2021 09:57:50 +0000 (12:57 +0300)]
Merge pull request #8660 from qlyoung/fix-bgp-conditional-advertisement-deconfig-removing-unrelated-filters

bgpd: fix deconfig of conditional advertisement

3 years agoMerge pull request #8629 from donaldsharp/parse_rtattr
Igor Ryzhov [Wed, 12 May 2021 08:38:09 +0000 (11:38 +0300)]
Merge pull request #8629 from donaldsharp/parse_rtattr

Parse rtattr

3 years agoMerge pull request #8509 from volta-networks/pathd_ls_client
Olivier Dugeon [Wed, 12 May 2021 07:42:56 +0000 (09:42 +0200)]
Merge pull request #8509 from volta-networks/pathd_ls_client

pathd: Traffic Engineering Database support

3 years agotests: Skip example_topojson_test and example_test from being tested
Donatas Abraitis [Wed, 12 May 2021 06:00:30 +0000 (09:00 +0300)]
tests: Skip example_topojson_test and example_test from being tested

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
3 years agoMerge pull request #8622 from volta-networks/fix_ospf6_max_if_addr
Russ White [Wed, 12 May 2021 02:04:07 +0000 (22:04 -0400)]
Merge pull request #8622 from volta-networks/fix_ospf6_max_if_addr

ospf6d: Limit the number of interface addresses being supported in ospfv3

3 years agozebra: Consolidate on 1 function netlink_parse_rattr_nested
Donald Sharp [Wed, 5 May 2021 03:48:17 +0000 (23:48 -0400)]
zebra: Consolidate on 1 function netlink_parse_rattr_nested

if_netlink.c created it's on nested parsing #define which
is identical to netlink_parse_rtattr_nested.  Consolidate
on one instead of having this duality.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agozebra: memset the `struct rtattr *tb[SIZE]` in setting function
Donald Sharp [Wed, 5 May 2021 03:43:47 +0000 (23:43 -0400)]
zebra: memset the `struct rtattr *tb[SIZE]` in setting function

In order to parse the netlink message into the
`struct rtattr *tb[size]` it is assumed that the buffer is
memset to 0 before the parsing.  As such if you attempt
to read a value that was not returned in the message
you will not crash when you test for it.

The code has places were we memset it and places where we don't.
This *will* lead to crashes when the kernel changes.  In
our parsing routines let's have them memset instead of having
to remember to do it pre pass in to the parser.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agolib: Add ZCAP_IPC_LOCK
Donald Sharp [Tue, 11 May 2021 23:50:07 +0000 (19:50 -0400)]
lib: Add ZCAP_IPC_LOCK

We'll need ZCAP_IPC_LOCK for future work coming down the pike
related to dataplane work being done.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agobgpd: fix deconfig of conditional advertisement
Quentin Young [Tue, 11 May 2021 20:58:38 +0000 (16:58 -0400)]
bgpd: fix deconfig of conditional advertisement

Deconfiguring conditional advertisement resulted in all other policy
settings on the peer getting removed due to an excessively large memset.

This also created a desync with the northbound config tree, which caused
its own set of problems...

Fix the memset to just remove the conditional advertisement config.

Signed-off-by: Quentin Young <qlyoung@nvidia.com>
3 years agoospf6d: document the interface address limits for ospfv3
lynne [Tue, 11 May 2021 13:10:10 +0000 (09:10 -0400)]
ospf6d: document the interface address limits for ospfv3

Signed-off-by: Lynne Morrison <lynne@voltanet.io>
3 years agoospf6d: Limit the number of interface addresses being supported
lynne [Tue, 4 May 2021 15:06:49 +0000 (11:06 -0400)]
ospf6d: Limit the number of interface addresses being supported

The code had no limits on addresses configured on an interface running
ospf6d.  The code would crash when more than 100 addresses were added.
This change limits the number of interface address to 100 if mtu is set
to the default value.  If the mtu is set to a jumbo packet size or larger
we will support 200 interface addresses.

Signed-off-by: Lynne Morrison <lynne@voltanet.io>
3 years agoMerge pull request #8652 from ton31337/fix/doc_bgp_alias
Igor Ryzhov [Tue, 11 May 2021 13:11:46 +0000 (16:11 +0300)]
Merge pull request #8652 from ton31337/fix/doc_bgp_alias

doc: Move BGP community alias under a separate section

3 years agoMerge pull request #8589 from idryzhov/bgp-cli-nb-fixes
Russ White [Tue, 11 May 2021 11:58:23 +0000 (07:58 -0400)]
Merge pull request #8589 from idryzhov/bgp-cli-nb-fixes

bgp cli/nb fixes

3 years agoMerge pull request #8650 from idryzhov/bgp-fix-redist
Russ White [Tue, 11 May 2021 11:28:42 +0000 (07:28 -0400)]
Merge pull request #8650 from idryzhov/bgp-fix-redist

bgpd: fix redistribution in vrf

3 years agotools: Ignore mass renaming of topotests for git blame
Donatas Abraitis [Mon, 10 May 2021 17:17:52 +0000 (20:17 +0300)]
tools: Ignore mass renaming of topotests for git blame

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
3 years agotests: Unify directory naming for topotests
Donatas Abraitis [Mon, 10 May 2021 17:11:47 +0000 (20:11 +0300)]
tests: Unify directory naming for topotests

Change every `-` to `_` in directory names. This is to avoid mixing _ and -.

Just for consistency and directory sorting properly.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
3 years agotools: Fix topotest directory for Travis
Donatas Abraitis [Mon, 10 May 2021 16:51:51 +0000 (19:51 +0300)]
tools: Fix topotest directory for Travis

ospf1-topo1 => ospf1_topo1

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
3 years agodoc: Require topotests directory to be consistent with others
Donatas Abraitis [Mon, 10 May 2021 12:50:58 +0000 (15:50 +0300)]
doc: Require topotests directory to be consistent with others

Just add a requirement to avoid hyphens in directory naming.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
3 years agodoc: Move BGP community alias under a separate section
Donatas Abraitis [Mon, 10 May 2021 06:18:54 +0000 (09:18 +0300)]
doc: Move BGP community alias under a separate section

There are more useful CLI commands comming, thus it's desired to have it's
own section.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
3 years agoMerge pull request #8406 from adharkar/frr-es_rd
Russ White [Tue, 11 May 2021 10:51:41 +0000 (06:51 -0400)]
Merge pull request #8406 from adharkar/frr-es_rd

bgpd: Handle EAD/EVI local route updates on VNI RD change

3 years agoospf6d: Send MAXAGE LS update for received old self-originated LSAs
Martin Buck [Mon, 10 May 2021 20:48:32 +0000 (22:48 +0200)]
ospf6d: Send MAXAGE LS update for received old self-originated LSAs

Fixes OSPFv3-26.13 ANVL RFC conformance bug #8576 by improving the bugfix
for #7030 from 4c63a76a. That commit changed handling of received old
non-MAXAGE LSAs with a MAXAGE counterpart in the LSDB from "add all LSAs to
LSDB and flood non-self-originated ones" to "add & flood only
non-self-originated LSAs and ignore self-originated LSAs". The new behaviour
is similar but adds sending a MAXAGE LS Update for received self-originated
LSAs to remove the old LSAs from the network, resulting in "add & flood
non-self-originated LSAs, don't add but send MAXAGE LS Update for
self-originated LSAs". The missing MAXAGE LS Update is what OSPFv3-26.13
ANVL complained about.

Signed-off-by: Martin Buck <mb-tmp-tvguho.pbz@gromit.dyndns.org>
3 years agobgpd: scope evpn specific path selection to type-2 routes
Neal Shrader [Thu, 6 May 2021 18:51:06 +0000 (14:51 -0400)]
bgpd: scope evpn specific path selection to type-2 routes

For EVPN routes, there is specific logic in place for path selection
surrounding MAC Mobility.  For pure type-5 routes, if a route is
advertised with a MED, this is ignored since it ultimately falls inside
of the EVPN specific path selection logic, and ultimately selects the
lower IP address.  This change ensures only type-2 routes fall into the
EVPN BGP path selection.

Signed-off-by: Neal Shrader <neal@digitalocean.com>
3 years agopathd. Pathd TED support . Documentation update - [part 4/4]
Javier Garcia [Thu, 22 Apr 2021 14:09:54 +0000 (16:09 +0200)]
pathd. Pathd TED support . Documentation update - [part 4/4]

    - As an example of pathd and igp (ospfd) config:

    ! igp ospfv2 snippet
    interface eth0
     ip ospf network point-to-point
    !
    router ospf$
     mpls-te on
     mpls-te export
     ...

    !pathd snippet
    segment-routing
     traffic-eng
      mpls-te on
      mpls-te import ospfv2

      segment-list sl-1
      index 10  nai adjacency 10.1.2.11 10.1.2.1
      index 20  nai adjacency 10.1.20.1 10.1.20.2
      index 30  nai adjacency 10.2.5.2 10.2.5.5
      !
      policy color 5 endpoint 10.10.10.5
      name five
      binding-sid 5555
      candidate-path preference 600 name cp51 explicit segment-list sl-1
      candidate-path preference 500 name cp52-dyn dynamic

Signed-off-by: Javier Garcia <javier.garcia@voltanet.io>
3 years agopathd. TED support . Topotest - [part 3/4]
Javier Garcia [Thu, 22 Apr 2021 14:08:52 +0000 (16:08 +0200)]
pathd. TED support . Topotest - [part 3/4]

Signed-off-by: Javier Garcia <javier.garcia@voltanet.io>
3 years agopathd. TED support . Validation of candidate path - [part 2/4]
Javier Garcia [Thu, 22 Apr 2021 14:04:42 +0000 (16:04 +0200)]
pathd. TED support . Validation of candidate path - [part 2/4]

    - Explicit segment list nai will be resolved to corresponded sid.
    - Dynamic segment list (from pce) will be validated.
    - If segment list could not be resolved or validated won't be used.
    - Now this new config is supported

segment-list sl-1
 index 10  nai prefix 10.1.2.1/32 iface 1
 index 30  nai adjacency 10.2.5.2 10.2.5.5
 index 40  nai prefix 10.10.10.5/32 algorithm 0

Signed-off-by: Javier Garcia <javier.garcia@voltanet.io>
3 years agoMerge pull request #8648 from idryzhov/fix-test-assert
David Lamparter [Mon, 10 May 2021 10:52:21 +0000 (12:52 +0200)]
Merge pull request #8648 from idryzhov/fix-test-assert

tests: fix build warning

3 years agopathd. TED support . Client to link State - [part 1/4]
Javier Garcia [Thu, 22 Apr 2021 13:52:27 +0000 (15:52 +0200)]
pathd. TED support . Client to link State - [part 1/4]

    - pathd will act as a client to for the configured igp.
    - pathd must be configured to activate and receive data from igp.

    !pathd config snippet
    segment-routing
     traffic-eng
      mpls-te on
      mpls-te import ospfv2

Signed-off-by: Javier Garcia <javier.garcia@voltanet.io>
3 years agobgpd: deregister bgp instance from zebra when vrf is deleted
Igor Ryzhov [Sun, 9 May 2021 22:22:34 +0000 (01:22 +0300)]
bgpd: deregister bgp instance from zebra when vrf is deleted

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
3 years agoMerge pull request #8639 from idryzhov/isis-new-bfd-lib
Rafael Zalamena [Sun, 9 May 2021 20:10:42 +0000 (17:10 -0300)]
Merge pull request #8639 from idryzhov/isis-new-bfd-lib

isisd: rework BFD integration

3 years agoRevert "bgpd: vrf route leaking, fix vrf redistribute"
Igor Ryzhov [Sun, 9 May 2021 19:28:36 +0000 (22:28 +0300)]
Revert "bgpd: vrf route leaking, fix vrf redistribute"

This reverts commit 6b2433c63f7fd3027cea8e06ca45f85bd3eea6f2.

3 years agoMerge pull request #8627 from volta-networks/fix_pceplib_scan_build
David Lamparter [Sun, 9 May 2021 18:25:24 +0000 (20:25 +0200)]
Merge pull request #8627 from volta-networks/fix_pceplib_scan_build

pceplib. Clean scan-build static analyzer messages.

3 years agoMerge pull request #8441 from mjstapp/fix_topo_pylint1
David Lamparter [Sun, 9 May 2021 17:48:33 +0000 (19:48 +0200)]
Merge pull request #8441 from mjstapp/fix_topo_pylint1

3 years agoMerge pull request #8626 from idryzhov/fix-isis-topo1
David Lamparter [Sun, 9 May 2021 17:46:01 +0000 (19:46 +0200)]
Merge pull request #8626 from idryzhov/fix-isis-topo1

tests: fix isis-topo1 topologies

3 years agoMerge branch 'pull/8563'
David Lamparter [Sun, 9 May 2021 17:38:24 +0000 (19:38 +0200)]
Merge branch 'pull/8563'

w/ style fix to speed things along

3 years agozebra: fix style warnings in previous commits
David Lamparter [Sun, 9 May 2021 17:37:12 +0000 (19:37 +0200)]
zebra: fix style warnings in previous commits

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
3 years agoMerge pull request #8631 from dslicenc/pimd-timer-fix
David Lamparter [Sun, 9 May 2021 17:31:36 +0000 (19:31 +0200)]
Merge pull request #8631 from dslicenc/pimd-timer-fix

3 years agoMerge pull request #8380 from mjstapp/nexthop_cmp_basic
David Lamparter [Sun, 9 May 2021 17:29:45 +0000 (19:29 +0200)]
Merge pull request #8380 from mjstapp/nexthop_cmp_basic

3 years agoMerge pull request #8642 from idryzhov/bgp-gr-no-oper
David Lamparter [Sun, 9 May 2021 17:24:10 +0000 (19:24 +0200)]
Merge pull request #8642 from idryzhov/bgp-gr-no-oper

bgpd: don't return error for GR no-op commands

3 years agoMerge pull request #8640 from pjdruddy/fix-bgp-auth-key-error
David Lamparter [Sun, 9 May 2021 17:22:55 +0000 (19:22 +0200)]
Merge pull request #8640 from pjdruddy/fix-bgp-auth-key-error

tests: fix intermittent key error in bgp-auth topotest

3 years agoMerge pull request #8472 from donaldsharp/more_valgrind_stuff
David Lamparter [Sun, 9 May 2021 17:20:47 +0000 (19:20 +0200)]
Merge pull request #8472 from donaldsharp/more_valgrind_stuff

tools: Add some more data to ignore for valgrind

3 years agotests: fix build warning
Igor Ryzhov [Sun, 9 May 2021 15:23:43 +0000 (18:23 +0300)]
tests: fix build warning

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
3 years agozebra: check vni oper state in svi up notif
Chirag Shah [Wed, 5 May 2021 01:09:37 +0000 (18:09 -0700)]
zebra: check vni oper state in svi up notif

When clagd is stopped on secondary device,
all vxlan interfaces (vnis) are kept in protodown state.
FRR treats protodown vxlan interfaces (vnis) as interface down
and sends vni delete to bgpd.

In the event of clagd down, SVIs are flapping as underlying
bridge is going through churn.
When FRR receives SVI up notification do not trigger event to bgpd
if vnis are operationaly down.

Ticket:#2600210 CM-22929
Reviewed By:CCR-11544
Testing Done:
Performed CLAG stop/start on secondary device, all vxlan devices
remained in protodown along with this validated the vnis are cleaned up
and added back in bgpd.

Signed-off-by: Chirag Shah <chirag@nvidia.com>
3 years agoMerge pull request #8634 from idryzhov/ospf-vrf-redist
Mark Stapp [Fri, 7 May 2021 19:22:19 +0000 (15:22 -0400)]
Merge pull request #8634 from idryzhov/ospf-vrf-redist

ospf redistribution fixes

3 years agoMerge pull request #8347 from volta-networks/fix_ospv6_filter_debug
Russ White [Fri, 7 May 2021 18:27:01 +0000 (14:27 -0400)]
Merge pull request #8347 from volta-networks/fix_ospv6_filter_debug

ospf6d: Fix when an "export-list" or "filter-list out" is configured

3 years agoospfd: free "default-information originate" config when removing router
Igor Ryzhov [Fri, 7 May 2021 15:10:01 +0000 (18:10 +0300)]
ospfd: free "default-information originate" config when removing router

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
3 years agoMerge pull request #8632 from wesleycoakley/le-32-128-fix
Igor Ryzhov [Fri, 7 May 2021 09:05:59 +0000 (12:05 +0300)]
Merge pull request #8632 from wesleycoakley/le-32-128-fix

lib: ip prefix-list "le" and "ge" bug squish

3 years agolib: remove old bfd library
Igor Ryzhov [Thu, 6 May 2021 12:17:11 +0000 (15:17 +0300)]
lib: remove old bfd library

This commit also adds missing `bfd_protocol_integration_set_shutdown` to
ospf6d and pimd.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
3 years agoisisd: fix bfd config output
Igor Ryzhov [Thu, 6 May 2021 12:00:36 +0000 (15:00 +0300)]
isisd: fix bfd config output

Don't show default BFD config ("no isis bfd") if show_enabled flag is not set.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
3 years agoisisd: enable autocompletion for bfd profiles
Igor Ryzhov [Thu, 6 May 2021 11:54:54 +0000 (14:54 +0300)]
isisd: enable autocompletion for bfd profiles

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
3 years agoisisd: fix "no bfd profile" command
Igor Ryzhov [Thu, 6 May 2021 11:54:37 +0000 (14:54 +0300)]
isisd: fix "no bfd profile" command

Instead of setting the profile to an empty string we should destroy the
NB node.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
3 years agoisisd: rework BFD integration
Igor Ryzhov [Thu, 6 May 2021 11:44:05 +0000 (14:44 +0300)]
isisd: rework BFD integration

Rewrite the BFD integration code to use the new library.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
3 years agoMerge pull request #8581 from qlyoung/bgp-fix-last-reset-buffer-size
Donatas Abraitis [Thu, 6 May 2021 19:31:09 +0000 (22:31 +0300)]
Merge pull request #8581 from qlyoung/bgp-fix-last-reset-buffer-size

bgpd: rework BGP_MAX_PACKET_SIZE & friends

3 years agobgpd: don't return error for GR no-op commands
Igor Ryzhov [Thu, 6 May 2021 18:33:14 +0000 (21:33 +0300)]
bgpd: don't return error for GR no-op commands

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
3 years agolib: ip prefix-list enforce expected ge le behavior
Wesley Coakley [Wed, 5 May 2021 14:28:53 +0000 (10:28 -0400)]
lib: ip prefix-list enforce expected ge le behavior

When specifying only an "le" for an existing ip prefix-list qualified with
both an "le" and "ge" make sure to remove the "ge" property so it does
not stay in the tree.

E.g. Saying these two things in order:

ip prefix-list test seq 1 permit 1.1.0.0/16 ge 18 le 24
ip prefix-list test seq 1 permit 1.1.0.0/16 ge 18

... should result in the second statement "overwriting" the first like
this:

vxdev-arch# do show ip prefix-list
ZEBRA: ip prefix-list foobar: 3 entries
   seq 1 permit 15.0.0.0/16 ge 18

Previously this did not happen and "le" would stick around since it was
never given NB_OP_DESTROY and purged from the data tree.

Signed-off-by: Wesley Coakley <wcoakley@nvidia.com>
3 years agotools: stop frr-reload squashing le 32 / le 128
Wesley Coakley [Thu, 6 May 2021 16:31:37 +0000 (12:31 -0400)]
tools: stop frr-reload squashing le 32 / le 128

frr-reload no longer consolidates ip prefix-list "le 32" or "le 128"
rules when a "ge" is present, more accurately representing existing user
config and reflecting also what is accepted in CLI.

Signed-off-by: Wesley Coakley <wcoakley@nvidia.com>
3 years agobgpd: rework BGP_MAX_PACKET_SIZE & friends
Quentin Young [Tue, 27 Apr 2021 20:20:27 +0000 (16:20 -0400)]
bgpd: rework BGP_MAX_PACKET_SIZE & friends

BGP_MAX_PACKET_SIZE no longer represented the absolute maximum BGP
packet size as it did before, instead it was defined as 4096 bytes,
which is the maximum unless extended message capability is negotiated,
in which case the maximum goes to 65k.

That introduced at least one bug - last_reset_cause was undersized for
extended messages, and when sending an extended message > 4096 bytes
back to a peer as part of NOTIFY data would trigger a bounds check
assert.

This patch redefines the macro to restore its previous meaning,
introduces a new macro - BGP_STANDARD_MESSAGE_MAX_PACKET_SIZE - to
represent the 4096 byte size, and renames the extended size to
BGP_EXTENDED_MESSAGE_MAX_PACKET_SIZE for consistency. Code locations
that definitely should use the small size have been updated, locations
that semantically always need whatever the max is, no matter what that
is, use BGP_MAX_PACKET_SIZE.

BGP_EXTENDED_MESSAGE_MAX_PACKET_SIZE should only be used as a constant
when storing what the negotiated max size is for use at runtime and to
define BGP_MAX_PACKET_SIZE. Unless there is a future standard that
introduces a third valid size it should not be used for any other
purpose.

Signed-off-by: Quentin Young <qlyoung@nvidia.com>
3 years agoMerge pull request #8638 from ton31337/fix/bgp_doc
Quentin Young [Thu, 6 May 2021 14:24:50 +0000 (14:24 +0000)]
Merge pull request #8638 from ton31337/fix/bgp_doc

doc: Remove trailing whitespaces and fix WARNING: Error in "code-block"

3 years agotests: fix intermittent key error in bgp-auth topotest
Pat Ruddy [Thu, 6 May 2021 13:36:52 +0000 (14:36 +0100)]
tests: fix intermittent key error in bgp-auth topotest

There is a rare case where with prefix peers the peer is
completely absent from the json output when checking the
peer state resulting in a python key error. Check key exists
before checking the state.

Signed-off-by: Pat Ruddy <pat@voltanet.io>
3 years agoMerge pull request #8636 from idryzhov/ospfv3-vrf-support
Rafael Zalamena [Thu, 6 May 2021 11:50:32 +0000 (08:50 -0300)]
Merge pull request #8636 from idryzhov/ospfv3-vrf-support

OSPFv3 VRF support

3 years agodoc: Remove trailing whitespaces and fix WARNING: Error in "code-block"
Donatas Abraitis [Thu, 6 May 2021 11:09:10 +0000 (14:09 +0300)]
doc: Remove trailing whitespaces and fix WARNING: Error in "code-block"

maximum 1 argument(s) allowed, 56 supplied.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
3 years agoMerge pull request #8497 from ton31337/feature/bgp_community_alias
Donald Sharp [Thu, 6 May 2021 10:07:07 +0000 (06:07 -0400)]
Merge pull request #8497 from ton31337/feature/bgp_community_alias

bgpd: Create BGP alias names for community/large-community

3 years agodoc: update ospf6d for vrf support
Igor Ryzhov [Wed, 5 May 2021 20:40:13 +0000 (23:40 +0300)]
doc: update ospf6d for vrf support

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
3 years agotests: add topotest for ospf6d vrf support
harios_niral [Wed, 5 May 2021 20:19:31 +0000 (23:19 +0300)]
tests: add topotest for ospf6d vrf support

Co-authored-by: Kaushik Nath <kaushiknath.null@gmail.com>
Signed-off-by: harios_niral <hari@niralnetworks.com>