]> git.proxmox.com Git - mirror_frr.git/log
mirror_frr.git
3 years agoMerge pull request #8666 from idryzhov/bgp-replace-as
Donald Sharp [Thu, 20 May 2021 14:52:35 +0000 (10:52 -0400)]
Merge pull request #8666 from idryzhov/bgp-replace-as

bgpd, yang: fix replace-as yang leaf

3 years agoMerge pull request #8708 from LabNConsulting/chopps/fix-lyd-merge-use
Igor Ryzhov [Thu, 20 May 2021 14:04:54 +0000 (17:04 +0300)]
Merge pull request #8708 from LabNConsulting/chopps/fix-lyd-merge-use

lib: fix northbound merge code (libyang)

3 years agoMerge pull request #8628 from idryzhov/isis-vrf-redist
Donald Sharp [Thu, 20 May 2021 13:00:46 +0000 (09:00 -0400)]
Merge pull request #8628 from idryzhov/isis-vrf-redist

isisd: fix redistribution in vrf

3 years agolib: fix northbound merge code (libyang)
Christian Hopps [Thu, 20 May 2021 06:49:32 +0000 (06:49 +0000)]
lib: fix northbound merge code (libyang)

lyd_merge_tree replaces dest siblings with source siblings, not what we
want. Instead lyd_merge_siblings to keep both. Instead lyd_merge_siblings
to keep both.

Signed-off-by: Christian Hopps <chopps@labn.net>
3 years agoMerge pull request #8703 from donaldsharp/ospf_tab
Igor Ryzhov [Thu, 20 May 2021 07:36:58 +0000 (10:36 +0300)]
Merge pull request #8703 from donaldsharp/ospf_tab

ospfd: New code adds newline to log files

3 years agoMerge pull request #8697 from idryzhov/fix-zebra-con
Donatas Abraitis [Thu, 20 May 2021 06:31:02 +0000 (09:31 +0300)]
Merge pull request #8697 from idryzhov/fix-zebra-con

zebra: fix possible uninitialized value

3 years agoMerge pull request #8700 from idryzhov/coverity
Mark Stapp [Wed, 19 May 2021 19:56:17 +0000 (15:56 -0400)]
Merge pull request #8700 from idryzhov/coverity

fix a couple of coverity warnings

3 years agoospfd: New code adds newline to log files
Donald Sharp [Wed, 19 May 2021 18:51:23 +0000 (14:51 -0400)]
ospfd: New code adds newline to log files

FRR is not using newlines in log messages.  Remove them.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agoMerge pull request #8645 from idryzhov/ospf6-redistribute-fixes
Donald Sharp [Wed, 19 May 2021 18:42:54 +0000 (14:42 -0400)]
Merge pull request #8645 from idryzhov/ospf6-redistribute-fixes

ospf6 redistribution fixes

3 years agoMerge pull request #8678 from achernavin22/bgp_confed_peer_sort
Donald Sharp [Wed, 19 May 2021 18:33:22 +0000 (14:33 -0400)]
Merge pull request #8678 from achernavin22/bgp_confed_peer_sort

bgpd: recalc peer's sort after changing confed peers

3 years agoMerge pull request #8684 from kuldeepkash/multicast-sm-topo1
Donald Sharp [Wed, 19 May 2021 18:28:48 +0000 (14:28 -0400)]
Merge pull request #8684 from kuldeepkash/multicast-sm-topo1

tests: Fix for multicast_pim_sm test failure

3 years agoMerge pull request #8690 from idryzhov/ospf-fix-tlv-size
Olivier Dugeon [Wed, 19 May 2021 14:16:35 +0000 (16:16 +0200)]
Merge pull request #8690 from idryzhov/ospf-fix-tlv-size

ospfd: fix SID/Label Sub TLV size

3 years agoMerge pull request #8408 from Orange-OpenSource/TE
Igor Ryzhov [Wed, 19 May 2021 14:04:48 +0000 (17:04 +0300)]
Merge pull request #8408 from Orange-OpenSource/TE

ospfd: Correct Coverity defects

3 years agoMerge pull request #8677 from idryzhov/isis-snmp-build-warning
Patrick Ruddy [Wed, 19 May 2021 13:39:47 +0000 (14:39 +0100)]
Merge pull request #8677 from idryzhov/isis-snmp-build-warning

isisd: fix build warning and simplify code

3 years agopbrd: fix coverity warning
Igor Ryzhov [Wed, 19 May 2021 13:24:21 +0000 (16:24 +0300)]
pbrd: fix coverity warning

CID 1500586

There was an attempt to fix it in 920bb6f7 but the commit didn't
actually fix the warning.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
3 years agolib: fix coverity warnings
Igor Ryzhov [Wed, 19 May 2021 12:53:16 +0000 (15:53 +0300)]
lib: fix coverity warnings

CID 1504894

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
3 years agoMerge pull request #8693 from idryzhov/fix-bgp-bfd-reg
Rafael Zalamena [Wed, 19 May 2021 12:23:28 +0000 (09:23 -0300)]
Merge pull request #8693 from idryzhov/fix-bgp-bfd-reg

bgpd: fix zebra bfd registration

3 years agoMerge pull request #8665 from volta-networks/fix_pathd_coverity
Olivier Dugeon [Wed, 19 May 2021 12:16:00 +0000 (14:16 +0200)]
Merge pull request #8665 from volta-networks/fix_pathd_coverity

pathd: Clean coverity issues after merge pathd link state feature.

3 years agozebra: fix possible uninitialized value
Igor Ryzhov [Wed, 19 May 2021 11:59:00 +0000 (14:59 +0300)]
zebra: fix possible uninitialized value

Found by Coverity.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
3 years agoMerge pull request #8682 from idryzhov/fix-default-originate
Donald Sharp [Wed, 19 May 2021 11:03:47 +0000 (07:03 -0400)]
Merge pull request #8682 from idryzhov/fix-default-originate

ospfd, ospf6d: fix "default-information originate" in non-existing vrf

3 years agoMerge pull request #8667 from volta-networks/fix_pathd_cli_affinity
Olivier Dugeon [Wed, 19 May 2021 10:28:28 +0000 (12:28 +0200)]
Merge pull request #8667 from volta-networks/fix_pathd_cli_affinity

pathd: Fix affinity command to exclude options to match implementation.

3 years agoospfd: Correct Coverity defects
Olivier Dugeon [Tue, 6 Apr 2021 10:09:25 +0000 (12:09 +0200)]
ospfd: Correct Coverity defects

When browsing or parsing OSPF LSA TLVs, we need to use the LSA length which is
part of the LSA header. This length, encoded in 16 bits, must be first
converted to host byte order with ntohs() function. However, Coverity Scan
considers that ntohs() function return TAINTED data. Thus, when the length is
used to control for() loop, Coverity Scan marks this part of the code as defect
with "Untrusted Loop Bound" due to the usage of Tainted variable. Similar
problems occur when browsing sub-TLV where length is extracted with ntohs().

To overcome this limitation, a size attribute has been added to the ospf_lsa
structure. The size is set when lsa->data buffer is allocated. In addition,
when an OSPF packet is received, the size of the payload is controlled before
contains is processed. For OSPF LSA, this allow a secure buffer allocation.
Thus, new size attribute contains the exact buffer allocation allowing a
strict control during TLV browsing.

This patch adds extra control to bound for() loop during TLV browsing to
avoid potential problem as suggested by Coverity Scan. Controls are based
on new size attribute of the ospf_lsa structure to avoid any ambiguity.

Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
3 years agoMerge pull request #8688 from idryzhov/bgp-vrf-bind-priv
Donatas Abraitis [Wed, 19 May 2021 07:02:20 +0000 (10:02 +0300)]
Merge pull request #8688 from idryzhov/bgp-vrf-bind-priv

bgpd: raise privs for SO_BINDTODEVICE

3 years agobgpd: fix zebra bfd registration
Igor Ryzhov [Tue, 18 May 2021 20:31:52 +0000 (23:31 +0300)]
bgpd: fix zebra bfd registration

If there's no default router configured at the moment when bgpd is
connected to zebra, bgpd is not registered as a BFD client.

We should do the registration regardless of the config existence.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
3 years agoMerge pull request #8686 from idryzhov/fix-doc-index
Mark Stapp [Tue, 18 May 2021 19:33:48 +0000 (15:33 -0400)]
Merge pull request #8686 from idryzhov/fix-doc-index

doc: remove redundant index directives

3 years agobuild: Update configure.ac to reflect new master version
Donald Sharp [Tue, 18 May 2021 18:41:39 +0000 (14:41 -0400)]
build: Update configure.ac to reflect new master version

That we are building towards.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agoospfd: fix SID/Label Sub TLV size
Igor Ryzhov [Tue, 18 May 2021 15:25:14 +0000 (18:25 +0300)]
ospfd: fix SID/Label Sub TLV size

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
3 years agopathd: Clean coverity issues after merge pathd link state feature.
Javier Garcia [Thu, 13 May 2021 11:17:44 +0000 (13:17 +0200)]
pathd: Clean coverity issues after merge pathd link state feature.

Signed-off-by: Javier Garcia <javier.garcia@voltanet.io>
3 years agopathd: Fix affinity command to exclude options to match implementation.
Javier Garcia [Thu, 13 May 2021 11:38:41 +0000 (13:38 +0200)]
pathd: Fix affinity command to exclude options to match implementation.

Including documentation update.

Signed-off-by: Javier Garcia <javier.garcia@voltanet.io>
3 years agoMerge pull request #8608 from Fredi-raspall/pr_isis_sr_anycast
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 agobgpd: raise privs for SO_BINDTODEVICE
Igor Ryzhov [Tue, 18 May 2021 14:07:06 +0000 (17:07 +0300)]
bgpd: raise privs for SO_BINDTODEVICE

The priv raise was incorrectly dropped in 97896a9.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
3 years agodoc: remove redundant index directives
Igor Ryzhov [Tue, 18 May 2021 12:29:59 +0000 (15:29 +0300)]
doc: remove redundant index directives

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
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 agotests: Fix for multicast_pim_sm failure
Kuldeep Kashyap [Tue, 18 May 2021 01:50:49 +0000 (18:50 -0700)]
tests: Fix for multicast_pim_sm failure

Test case test_verify_mroute_when_5_different_receiver_joining_same_sources_p0
is failing intermittently in master. Fixed the issue.

Signed-off-by: Kuldeep Kashyap <kashyapk@vmware.com>
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 agoospf6d: free "default-information originate" config when removing router
Igor Ryzhov [Fri, 7 May 2021 14:53:13 +0000 (17:53 +0300)]
ospf6d: free "default-information originate" config when removing router

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
3 years agoospf6d: fix crash when removing router from vrf that doesn't exist
Igor Ryzhov [Fri, 7 May 2021 14:52:41 +0000 (17:52 +0300)]
ospf6d: fix crash when removing router from vrf that doesn't exist

`listgetdata(listhead(list))` crashes for an empty list.

Reproducible with:
```
router ospf6 vrf doesntexist
 default-information originate always
 exit
no router ospf6 vrf doesntexist
```

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
3 years agoospf6d: always free redistribute config
Igor Ryzhov [Fri, 7 May 2021 14:05:40 +0000 (17:05 +0300)]
ospf6d: always free redistribute config

When the ospf6 instance in unknown VRF is deleted, the redistribution
config is not freed, because it is not registered in zebra. We should
always free the config regardless of zebra registration status.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
3 years agoospf6d: fix "default-information originate" in non-existing vrf
Igor Ryzhov [Mon, 17 May 2021 22:24:22 +0000 (01:24 +0300)]
ospf6d: fix "default-information originate" in non-existing vrf

If the default route redistribution is configured in OSPF6 router before
the VRF is created, then this is not currently registered in zebra after
the VRF creation.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
3 years agoospfd: fix "default-information originate" in non-existing vrf
Igor Ryzhov [Mon, 17 May 2021 22:23:35 +0000 (01:23 +0300)]
ospfd: fix "default-information originate" in non-existing vrf

If the default route redistribution is configured in OSPF router before
the VRF is created, then this is not currently registered in zebra after
the VRF creation.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
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 agobgpd: recalc peer's sort after changing confed peers
Alexander Chernavin [Mon, 17 May 2021 09:34:03 +0000 (05:34 -0400)]
bgpd: recalc peer's sort after changing confed peers

Currently, when AS number of an existing BGP neighbor is added in a BGP
confederation, AS_CONFED_SEQUENCE segment attribute will be missing in
prefixes advertised to the neighbor. Also, receiving prefixes from the
neighbor will be withdrawn because of "Malformed AS path from A.B.C.D".

    neighbor 10.100.200.3 remote-as 123
    bgp confederation identifier 65001
    bgp confederation peers 123

With this change, update peer's sort after adding or removing its AS
number in a BGP confederation.

Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
3 years agoisisd: fix build warning and simplify code
Igor Ryzhov [Mon, 17 May 2021 10:07:24 +0000 (13:07 +0300)]
isisd: fix build warning and simplify code

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 agoisisd: fix dangling instances
Igor Ryzhov [Sun, 9 May 2021 13:43:29 +0000 (16:43 +0300)]
isisd: fix dangling instances

We only need an instance when we have at least one area configured in a
VRF. Currently we have the following issues:
- instance for the default VRF is always created
- instance is not removed after the last area config is removed

This commit fixes both issues.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
3 years agoisisd: fix memleak when deleting area and instance
Igor Ryzhov [Sun, 9 May 2021 13:09:38 +0000 (16:09 +0300)]
isisd: fix memleak when deleting area and instance

Release memory for all redistributed route info.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
3 years agoisisd: fix redistribution in vrf
Igor Ryzhov [Tue, 4 May 2021 21:10:31 +0000 (00:10 +0300)]
isisd: fix redistribution in vrf

When the redistribution is configured in non-default VRF, isisd should
redistribute routes from this VRF instead of default.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
3 years agoisisd: fix "default-information originate always"
Igor Ryzhov [Sun, 9 May 2021 14:07:39 +0000 (17:07 +0300)]
isisd: fix "default-information originate always"

We don't need to register for default routes from zebra, when the
origination type is set to "always".

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
3 years agoisisd: deregister vrf from zebra when vrf is disabled
Igor Ryzhov [Tue, 4 May 2021 18:58:23 +0000 (21:58 +0300)]
isisd: deregister vrf from zebra when vrf is disabled

Currently the VRF is deregistered only when it is re-enabled again.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
3 years agobgpd, yang: fix replace-as yang leaf
Igor Ryzhov [Thu, 13 May 2021 11:32:52 +0000 (14:32 +0300)]
bgpd, yang: fix replace-as yang leaf

The leaf is called "no-replace-as" in the model but is used reversed in
all the code. Let's rename it to comply with the actual behavior.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.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>