]> git.puffer.fish Git - matthieu/frr.git/log
matthieu/frr.git
4 years agotopotests: add standard nhrp test between spoke and hub
Philippe Guibert [Wed, 10 Mar 2021 15:08:55 +0000 (16:08 +0100)]
topotests: add standard nhrp test between spoke and hub

This test establishes a binding between nbma ip of a spoke and its
protocol address. This information is pushed to hub.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
4 years agozebra: move neighbor table configuration to dplane contexts
Philippe Guibert [Fri, 26 Feb 2021 09:04:25 +0000 (10:04 +0100)]
zebra: move neighbor table configuration to dplane contexts

Instead of directly configuring the neighbor table after read from zapi
interface, a zebra dplane context is prepared to host the interface and
the family where the neighbor table is updated. Also, some other fields
are hosted: app_probes, ucast_probes, and mcast_probes. More information
on those fields can be found on ip-ntable configuration.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
4 years agozebra, lib: handle NEIGH_ADD/DELETE to zebra dataplane framework
Philippe Guibert [Thu, 25 Feb 2021 10:12:34 +0000 (11:12 +0100)]
zebra, lib: handle NEIGH_ADD/DELETE to zebra dataplane framework

EVPN neighbor operations were already done in the zebra dataplane
framework. Now that NHRP is able to use zebra to perform neighbor IP
operations (by programming link IP operations), handle this operation
under dataplane framework:
- assign two new operations NEIGH_IP_INSTALL and NEIGH_IP_DELETE; this
is reserved for GRE like interfaces:
example: ip neigh add A.B.C.D lladdr E.F.G.H
- use 'struct ipaddr' to store and encode the link ip address
- reuse dplane_neigh_info, and create an union with mac address
- reuse the protocol type and use it for neighbor operations; this
permits to store the daemon originating this neighbor operation.
a new route type is created: ZEBRA_ROUTE_NEIGH.
- the netlink level functions will handle a pointer, and a type; the
type indicates the family of the pointer: AF_INET or AF_INET6 if the
link type is an ip address, mac address otherwise.
- to keep backward compatibility with old queries, as no extension was
done, an option NEIGH_NO_EXTENSION has been put in place
- also, 2 new state flags are used: NUD_PERMANENT and NUD_FAILED.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
4 years agozebra: handler for configuring neighbor table
Philippe Guibert [Mon, 16 Dec 2019 12:34:00 +0000 (13:34 +0100)]
zebra: handler for configuring neighbor table

neighbor table api in zebra is added. a netlink api is created for that.
the handler is called from the api defined in the previous commit.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
4 years agozebra: fixes NDA_DST in netlink_neigh_update() function
Philippe Guibert [Thu, 25 Feb 2021 14:06:23 +0000 (15:06 +0100)]
zebra: fixes NDA_DST in netlink_neigh_update() function

When netlink_neigh_update() is called, the link registration was
failing, due to bad request length.
Also, the query was failing if NDA_DST was an ipv6 address.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
4 years agolib: add api to configure neighbor table per interface
Philippe Guibert [Mon, 16 Dec 2019 12:32:28 +0000 (13:32 +0100)]
lib: add api to configure neighbor table per interface

this api is needed for nhrp. the goal is to implement it in zebra, while
other daemon will used it.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
4 years agonhrp, lib, zebra: add/del neighbor entry possible from nhrp
Philippe Guibert [Fri, 13 Dec 2019 17:09:11 +0000 (18:09 +0100)]
nhrp, lib, zebra: add/del neighbor entry possible from nhrp

a zebra api is extended to offer ability to add or remove neighbor
entry from daemon. Also this extension makes possible to add neigh
entry, not only between IPs and macs, but also between IPs and NBMA IPs.
This API supports configuring ipv6/ipv4 entries with ipv4/ipv6 lladdr.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
4 years agonhrpd: link layer registration to notifications
Philippe Guibert [Thu, 12 Dec 2019 15:08:26 +0000 (16:08 +0100)]
nhrpd: link layer registration to notifications

neighbor notifications are done in zebra. so, instead of relying on
nhrp, rely on zebra by using zebra api interface.
Consequently, the code originally used in nhrp for netlink neighor
notification is no more used.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
4 years agozebra: link layer config and notification, implementation in zebra
Philippe Guibert [Thu, 12 Dec 2019 15:06:59 +0000 (16:06 +0100)]
zebra: link layer config and notification, implementation in zebra

zebra implements zebra api for configuring link layer information. that
can be an arp entry (for ipv4) or ipv6 neighbor discovery entry. This
can also be an ipv4/ipv6 entry associated to an underlay ipv4 address,
as it is used in gre point to multipoint interfaces.
this api will also be used as monitoring. an hash list is instantiated
into zebra (this is the vrf bitmap). each client interested in those entries
in a specific vrf, will listen for following messages: entries added, removed,
or who-has messages.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
4 years agolib: link layer neighbor registration and notification, define API msgs
Philippe Guibert [Thu, 12 Dec 2019 15:05:14 +0000 (16:05 +0100)]
lib: link layer neighbor registration and notification, define API msgs

This patch implements new zapi api to get neighbor information that zebra knows
and that other daemons may need to know. Actually, nhrp daemons is
interested in getting the neighbor information on gre interfaces, and
the API will be used for that.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
4 years agonhrpd: use CALLOC instead of MALLOC
Philippe Guibert [Tue, 16 Jul 2019 13:04:33 +0000 (15:04 +0200)]
nhrpd: use CALLOC instead of MALLOC

in order to apply a memset to a non initialised structure, use CALLOC
instead of MALLOC

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
4 years agonhrpd: lookup appropriate ipsec path
Philippe Guibert [Tue, 16 Jul 2019 13:21:29 +0000 (15:21 +0200)]
nhrpd: lookup appropriate ipsec path

lookup appropriate ipsec path. there are systems where the path where
the charon.vici file is not in standard paths. For that, 'ipsec
--piddir' may help in solving the path.

result of ipsec --piddir is as follow for example:
'
/etc/ike/ipsec.d/run
'

Note that the assumption is done that even if there are several
instances of strongswan across the vrfs, the charon.vici path file is
the same across vrfs. Consequently, as there is a thread per vrf that
performs vici initialisation, and file path retrieval is part of the
vici initialisation procedure, in order to avoid intempestive system
calls, use a boolean 'vici_charon_filepath_done' to avoid doing
unnecessary calls.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
4 years agoMerge pull request #8432 from ton31337/fix/use_bool_for_use32bit_asn
Quentin Young [Fri, 9 Apr 2021 15:59:38 +0000 (15:59 +0000)]
Merge pull request #8432 from ton31337/fix/use_bool_for_use32bit_asn

bgpd: Use bool type to check if use32bit ASN

4 years agoMerge pull request #8428 from idryzhov/show-memory-daemon
Donald Sharp [Fri, 9 Apr 2021 15:18:25 +0000 (11:18 -0400)]
Merge pull request #8428 from idryzhov/show-memory-daemon

vtysh: add "show memory" for a single daemon

4 years agoMerge pull request #8433 from ton31337/fix/mpls_prd_dead_code
Donald Sharp [Fri, 9 Apr 2021 15:17:49 +0000 (11:17 -0400)]
Merge pull request #8433 from ton31337/fix/mpls_prd_dead_code

bgpd: Remove dead code regarding prefix_rd allocation

4 years agoMerge pull request #8422 from idryzhov/fix-show-ip-ospf
Donald Sharp [Fri, 9 Apr 2021 12:14:17 +0000 (08:14 -0400)]
Merge pull request #8422 from idryzhov/fix-show-ip-ospf

ospfd: fix crash on "show ip ospf neighbor detail"

4 years agobgpd: Remove dead code regarding prefix_rd allocation
Donatas Abraitis [Fri, 9 Apr 2021 07:52:36 +0000 (10:52 +0300)]
bgpd: Remove dead code regarding prefix_rd allocation

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
4 years agobgpd: Use bool type to check if use32bit ASN
Donatas Abraitis [Fri, 9 Apr 2021 07:43:11 +0000 (10:43 +0300)]
bgpd: Use bool type to check if use32bit ASN

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
4 years agoMerge pull request #8430 from ton31337/fix/revert_0b6d35324ef3fd2b4d5997103795cad73eb...
Patrick Ruddy [Fri, 9 Apr 2021 11:25:21 +0000 (12:25 +0100)]
Merge pull request #8430 from ton31337/fix/revert_0b6d35324ef3fd2b4d5997103795cad73eb72954

Revert "bgpd: BGP session not established for ipv6 link local address…

4 years agodoc: add "show memory [DAEMON]"
Igor Ryzhov [Fri, 9 Apr 2021 08:30:49 +0000 (11:30 +0300)]
doc: add "show memory [DAEMON]"

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
4 years agoospfd: fix crash on "show ip ospf neighbor detail"
Igor Ryzhov [Wed, 7 Apr 2021 23:14:34 +0000 (02:14 +0300)]
ospfd: fix crash on "show ip ospf neighbor detail"

Fixes #8419.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
4 years agoMerge pull request #8424 from taspelund/allow_no_advertise_evpn
Donatas Abraitis [Fri, 9 Apr 2021 07:55:11 +0000 (10:55 +0300)]
Merge pull request #8424 from taspelund/allow_no_advertise_evpn

bgpd: always allow no advertise-svi-ip/default-gw

4 years agoRevert "bgpd: BGP session not established for ipv6 link local address with vrf config"
Donatas Abraitis [Fri, 9 Apr 2021 07:14:32 +0000 (10:14 +0300)]
Revert "bgpd: BGP session not established for ipv6 link local address with vrf config"

This reverts commit 0b6d35324ef3fd2b4d5997103795cad73eb72954.

4 years agovtysh: add "show memory" for a single daemon
Igor Ryzhov [Thu, 8 Apr 2021 15:47:43 +0000 (18:47 +0300)]
vtysh: add "show memory" for a single daemon

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
4 years agoMerge pull request #8402 from opensourcerouting/debian10-topotest-fix
Patrick Ruddy [Thu, 8 Apr 2021 13:54:54 +0000 (14:54 +0100)]
Merge pull request #8402 from opensourcerouting/debian10-topotest-fix

tests: fix for l3mdev topotests on kernel 4.19

4 years agobgpd: always allow no advertise-svi-ip/default-gw
Trey Aspelund [Thu, 8 Apr 2021 07:25:22 +0000 (07:25 +0000)]
bgpd: always allow no advertise-svi-ip/default-gw

Current behavior has an EVPN_ENABLED check for both standard and 'no'
forms of 'advertise-svi-ip' and 'advertise-default-gw'. This prevents a
user from removing either command from running config if
'advertise-all-vni' is not present.
This commit removes/adjusts the EVPN_ENABLED checks to always allow the
'no' command so config doesn't get stuck.

Signed-off-by: Trey Aspelund <taspelund@nvidia.com>
4 years agoMerge pull request #7434 from sudhanshukumar22/bgp-link-local-address
Donatas Abraitis [Thu, 8 Apr 2021 06:26:55 +0000 (09:26 +0300)]
Merge pull request #7434 from sudhanshukumar22/bgp-link-local-address

bgpd: BGP session not established for ipv6 link local address with vrf config

4 years agoMerge pull request #8365 from aldobrrrr/fix_parse_topology_function_in_isis_topo1_vrf...
Mark Stapp [Wed, 7 Apr 2021 19:01:12 +0000 (15:01 -0400)]
Merge pull request #8365 from aldobrrrr/fix_parse_topology_function_in_isis_topo1_vrf_test

topotests: fix 'parse_topology' function in test_isis_topo1_vrf.py

4 years agoMerge pull request #8415 from mjstapp/fix_ospf_keyid_config
Igor Ryzhov [Wed, 7 Apr 2021 12:16:47 +0000 (15:16 +0300)]
Merge pull request #8415 from mjstapp/fix_ospf_keyid_config

ospfd: permit over-write of message-digest-key

4 years agoMerge pull request #8413 from mjstapp/zebra_doc_debugs
Quentin Young [Tue, 6 Apr 2021 22:11:50 +0000 (22:11 +0000)]
Merge pull request #8413 from mjstapp/zebra_doc_debugs

docs: add zebra debug docs

4 years agoMerge pull request #8411 from donaldsharp/nhrp_really
Jafar Al-Gharaibeh [Tue, 6 Apr 2021 20:00:57 +0000 (15:00 -0500)]
Merge pull request #8411 from donaldsharp/nhrp_really

nhrpd: Fixup tab usage and sockunion2str usage

4 years agoospfd: permit over-write of message-digest-key
Mark Stapp [Tue, 6 Apr 2021 19:26:51 +0000 (15:26 -0400)]
ospfd: permit over-write of message-digest-key

Allow over-write of message-digest-key interface config. Most
attributes handle multi-instance by ... ignoring instances,
and tolerating repeated config: do the same for md5 auth.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
4 years agodocs: add zebra debug docs
Mark Stapp [Tue, 6 Apr 2021 18:18:18 +0000 (14:18 -0400)]
docs: add zebra debug docs

Add docs for the zebra debug commands.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
4 years agoMerge pull request #8405 from mjstapp/skip_backup_lsps
Russ White [Tue, 6 Apr 2021 15:11:52 +0000 (11:11 -0400)]
Merge pull request #8405 from mjstapp/skip_backup_lsps

zebra: don't process LSPs with backups immediately

4 years agoMerge pull request #8407 from ton31337/fix/nexthop_should_not_be_changed_if_peer_shar...
Russ White [Tue, 6 Apr 2021 15:02:19 +0000 (11:02 -0400)]
Merge pull request #8407 from ton31337/fix/nexthop_should_not_be_changed_if_peer_shares_common_subnet

tests: Nexthop should not be changed if peer X shares a common subnet

4 years agonhrpd: Fixup tab usage and sockunion2str usage
Donald Sharp [Tue, 6 Apr 2021 14:09:48 +0000 (10:09 -0400)]
nhrpd: Fixup tab usage and sockunion2str usage

For some reason the usage of tabs in a string snuck in as well
as using a sockunion2str instead of %pSU.  Fix.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
4 years agoMerge pull request #8295 from opensourcerouting/ospf6-topo-stabilize
Mark Stapp [Tue, 6 Apr 2021 13:48:45 +0000 (09:48 -0400)]
Merge pull request #8295 from opensourcerouting/ospf6-topo-stabilize

topotest: stabilize OSPFv3 topology

4 years agoMerge pull request #8360 from kuldeepkash/bgp_graceful_restart
Martin Winter [Tue, 6 Apr 2021 12:09:52 +0000 (14:09 +0200)]
Merge pull request #8360 from kuldeepkash/bgp_graceful_restart

tests: Fix for BGP_GR test failures

4 years agotests: Nexthop should not be changed if peer X shares a common subnet
Donatas Abraitis [Tue, 6 Apr 2021 06:51:21 +0000 (09:51 +0300)]
tests: Nexthop should not be changed if peer X shares a common subnet

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
4 years agoMerge pull request #8391 from idryzhov/fix-bgp-nb-prefix-list
Renato Westphal [Tue, 6 Apr 2021 04:10:41 +0000 (01:10 -0300)]
Merge pull request #8391 from idryzhov/fix-bgp-nb-prefix-list

bgpd: prefix-list and route-map nb fixes

4 years agoMerge pull request #8384 from volta-networks/fix_no_srb_block
Quentin Young [Tue, 6 Apr 2021 03:44:25 +0000 (03:44 +0000)]
Merge pull request #8384 from volta-networks/fix_no_srb_block

tools: do in-place SRGB/SRLB changes

4 years agozebra: be more selective about processing LSPs
Mark Stapp [Mon, 5 Apr 2021 19:10:44 +0000 (15:10 -0400)]
zebra: be more selective about processing LSPs

When certain events occur (connected route changes e.g.)
zebra examines LSPs to see if they might have been affected. For
LSPs with backup nhlfes, skip this immediate processing and
wait for the owning protocol daemon to react.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
4 years agozebra: add 'detail' mpls debug setting
Mark Stapp [Mon, 5 Apr 2021 17:48:21 +0000 (13:48 -0400)]
zebra: add 'detail' mpls debug setting

Add setting and cli for 'debug zebra mpls detail'.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
4 years agoMerge pull request #8348 from chiragshah6/mdev
Igor Ryzhov [Mon, 5 Apr 2021 16:32:43 +0000 (19:32 +0300)]
Merge pull request #8348 from chiragshah6/mdev

yang, bgpd: add northbound transactional callbacks for neighbor route-map for af l2vpn-evpn

4 years agotests: fix python3 backported iproute2 vrf check
David Schweizer [Mon, 5 Apr 2021 07:25:55 +0000 (09:25 +0200)]
tests: fix python3 backported iproute2 vrf check

Signed-off-by: David Schweizer <dschweizer@opensourcerouting.org>
4 years agotests: fix l3mdev config in isis-topo1-vrf topotest
David Schweizer [Mon, 5 Apr 2021 07:25:54 +0000 (09:25 +0200)]
tests: fix l3mdev config in isis-topo1-vrf topotest

Signed-off-by: David Schweizer <dschweizer@opensourcerouting.org>
4 years agotests: fix l3mdev config in bgp_vrf_lite_ipv6_rtadv topotest
David Schweizer [Mon, 5 Apr 2021 07:25:53 +0000 (09:25 +0200)]
tests: fix l3mdev config in bgp_vrf_lite_ipv6_rtadv topotest

Signed-off-by: David Schweizer <dschweizer@opensourcerouting.org>
4 years agotests: fix l3mdev config in bgp_l3vpn_to_bgp_vrf topotest
David Schweizer [Mon, 5 Apr 2021 07:25:52 +0000 (09:25 +0200)]
tests: fix l3mdev config in bgp_l3vpn_to_bgp_vrf topotest

Signed-off-by: David Schweizer <dschweizer@opensourcerouting.org>
4 years agotests: fix l3mdev config in bgp_evpn_rt5 topotest
David Schweizer [Mon, 5 Apr 2021 07:25:51 +0000 (09:25 +0200)]
tests: fix l3mdev config in bgp_evpn_rt5 topotest

Signed-off-by: David Schweizer <dschweizer@opensourcerouting.org>
4 years agotests: add l3mdev config helpers for VRF topotests
David Schweizer [Mon, 5 Apr 2021 07:25:50 +0000 (09:25 +0200)]
tests: add l3mdev config helpers for VRF topotests

Signed-off-by: David Schweizer <dschweizer@opensourcerouting.org>
4 years agotests: Fix for BGP_GR test failures
Kuldeep Kashyap [Mon, 29 Mar 2021 00:55:07 +0000 (17:55 -0700)]
tests: Fix for BGP_GR test failures

Few tests were failing in BGP-GR intermittently. Fixing the failures.

Signed-off-by: Kuldeep Kashyap <kashyapk@vmware.com>
4 years agoMerge pull request #8240 from reubendowle/fixes/nhrp-nat
Jafar Al-Gharaibeh [Sun, 4 Apr 2021 03:37:25 +0000 (22:37 -0500)]
Merge pull request #8240 from reubendowle/fixes/nhrp-nat

nhrp: NAT fixes

4 years agoMerge pull request #8378 from pguibert6WIND/listen_group_limit
Quentin Young [Sun, 4 Apr 2021 00:42:19 +0000 (00:42 +0000)]
Merge pull request #8378 from pguibert6WIND/listen_group_limit

bgpd: increase the maximum number of neighbors in a listen group

4 years agoMerge pull request #8364 from stipmonster/master
Quentin Young [Sun, 4 Apr 2021 00:33:19 +0000 (00:33 +0000)]
Merge pull request #8364 from stipmonster/master

Added pathd to the init files

4 years agoMerge pull request #8392 from idryzhov/ospf-ignore-dup
Donald Sharp [Fri, 2 Apr 2021 16:33:11 +0000 (12:33 -0400)]
Merge pull request #8392 from idryzhov/ospf-ignore-dup

ospfd: ignore duplicated "ip ospf area" commands

4 years agoMerge pull request #8376 from mjstapp/fix_remove_inet6_ntoa
Donald Sharp [Fri, 2 Apr 2021 13:31:36 +0000 (09:31 -0400)]
Merge pull request #8376 from mjstapp/fix_remove_inet6_ntoa

lib, ripngd: Remove inet6_ntoa

4 years agoMerge pull request #8382 from taspelund/add_rd_all_v2
Donatas Abraitis [Fri, 2 Apr 2021 08:08:58 +0000 (11:08 +0300)]
Merge pull request #8382 from taspelund/add_rd_all_v2

Add support for 'rd all' in EVPN and L3VPN commands

4 years agobgpd: increase the maximum number of neighbors
Philippe Guibert [Wed, 31 Mar 2021 15:51:34 +0000 (17:51 +0200)]
bgpd: increase the maximum number of neighbors

increase the maximum number of neighbors in a bgp group.
Set the maximum value to 50000 instead of 5000.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
4 years agoospfd: ignore duplicated "ip ospf area" commands
Igor Ryzhov [Fri, 2 Apr 2021 00:22:24 +0000 (03:22 +0300)]
ospfd: ignore duplicated "ip ospf area" commands

Fixes #8388.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
4 years agoMerge pull request #8375 from mjstapp/fix_ignore_pcep_test_files
Donald Sharp [Thu, 1 Apr 2021 20:45:20 +0000 (16:45 -0400)]
Merge pull request #8375 from mjstapp/fix_ignore_pcep_test_files

build: add pceplib test output to gitignore

4 years agoMerge pull request #8358 from idryzhov/fix-nb-vrf-crash
Mark Stapp [Thu, 1 Apr 2021 20:42:03 +0000 (16:42 -0400)]
Merge pull request #8358 from idryzhov/fix-nb-vrf-crash

*: modify VRF_CONFIGURED flag only in VRF NB layer

4 years agobgpd: prefix-list and route-map nb fixes
Igor Ryzhov [Thu, 1 Apr 2021 19:54:39 +0000 (22:54 +0300)]
bgpd: prefix-list and route-map nb fixes

Fix missing/incorrect callbacks.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
4 years agoMerge pull request #8385 from idryzhov/fix-no-bfd
Mark Stapp [Thu, 1 Apr 2021 16:51:10 +0000 (12:51 -0400)]
Merge pull request #8385 from idryzhov/fix-no-bfd

Fix "no bfd" crash

4 years agoMerge pull request #8383 from idryzhov/bgpd-fix-build
Donald Sharp [Thu, 1 Apr 2021 13:21:00 +0000 (09:21 -0400)]
Merge pull request #8383 from idryzhov/bgpd-fix-build

bgpd: fix build warnings

4 years agobfdd: fix profiles autocompletion
Igor Ryzhov [Thu, 1 Apr 2021 12:48:24 +0000 (15:48 +0300)]
bfdd: fix profiles autocompletion

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
4 years agobbfd: clear nb config entries when removing bfd node
Igor Ryzhov [Thu, 1 Apr 2021 12:42:53 +0000 (15:42 +0300)]
bbfd: clear nb config entries when removing bfd node

When bfd node is removed, we must clear all NB entries set by its
children - sessions and profiles. Let's store some fake data as an entry
for the bfd node to be able to unset it later.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
4 years agobfdd: remove profiles when removing bfd node
Igor Ryzhov [Thu, 1 Apr 2021 12:29:18 +0000 (15:29 +0300)]
bfdd: remove profiles when removing bfd node

Fixes #8379.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
4 years agobgpd: fix build warnings
Igor Ryzhov [Thu, 1 Apr 2021 08:03:58 +0000 (11:03 +0300)]
bgpd: fix build warnings

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
4 years agobgpd: BGP session not established for ipv6 link local address with vrf config
sudhanshukumar22 [Sun, 1 Nov 2020 11:50:35 +0000 (03:50 -0800)]
bgpd: BGP session not established for ipv6 link local address with vrf config

Description:
BGP session not established for ipv6 link local address with vrf config

Problem Description/Summary :
BGP session not established for ipv6 link local address with vrf configyy
1.Configure ipv6 link-local address fe80::1234/64 on dut1 and fe80::4567/64 on dut2
2.Configure BGP neighbors for ipv6 link-local on both dut1 and dut2
3.Verify BGP session is UP over link-local ipv6 address
4.Observed that bgp session not established for ipv6 link local address

Expected Behavior :
BGP session should be established for ipv6 link local address with vrf config

Signed-off-by: sudhanshukumar22 <sudhanshu.kumar@broadcom.com>
4 years agotools: do in-place SRGB/SRLB changes
Emanuele Di Pascale [Mon, 29 Mar 2021 18:18:42 +0000 (20:18 +0200)]
tools: do in-place SRGB/SRLB changes

avoid issuing a [no] command if we are then issuing the affirmative
one. This avoids spurious requests for the default label ranges,
which might fail if something else is using those labels.

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
4 years agonhrpd: Fix memory leak in error path when forwarding packets
Reuben Dowle [Thu, 1 Apr 2021 01:08:40 +0000 (14:08 +1300)]
nhrpd: Fix memory leak in error path when forwarding packets

Signed-off-by: Reuben Dowle <reuben.dowle@4rf.com>
4 years agobgpd: fix old vpn command compilation failures
Trey Aspelund [Thu, 1 Apr 2021 01:10:12 +0000 (01:10 +0000)]
bgpd: fix old vpn command compilation failures

set_vpn_nexthop/no_set_vpn_nexthop were failing due to missing
declarations and unused variables.
This adds the missing declaration and removes unused variables.

Signed-off-by: Trey Aspelund <taspelund@nvidia.com>
4 years agodoc: Add Displaying Routes by RD section
Trey Aspelund [Fri, 19 Mar 2021 06:37:43 +0000 (06:37 +0000)]
doc: Add Displaying Routes by RD section

Add docs for commands to display BGP table per-RD.
Also update commands to mention flowspec, routes,
advertised-routes, and received-routes.

Signed-off-by: Trey Aspelund <taspelund@nvidia.com>
4 years agobgpd: Add 'rd all' keyword to EVPN/L3VPN show cmds
Trey Aspelund [Tue, 9 Mar 2021 04:28:04 +0000 (04:28 +0000)]
bgpd: Add 'rd all' keyword to EVPN/L3VPN show cmds

New and improved submission for this commit -- updated to accommodate
changes from 4027d19b0.

Adds support for 'rd all' matching for EVPN and L3VPN show commands.
Introduces evpn_show_route_rd_all_macip().
Cleans up some show commands to use SHOW_DISPLAY string constants.

Signed-off-by: Trey Aspelund <taspelund@nvidia.com>
4 years agonhrpd: Ensure invalid pointer is not used if two NAT extensions received
Reuben Dowle [Thu, 1 Apr 2021 01:06:24 +0000 (14:06 +1300)]
nhrpd: Ensure invalid pointer is not used if two NAT extensions received

Also cleanup some minor style issues

Signed-off-by: Reuben Dowle <reuben.dowle@4rf.com>
4 years agoMerge pull request #8345 from dslicenc/frr-reload-vrf-static
Mark Stapp [Wed, 31 Mar 2021 20:52:43 +0000 (16:52 -0400)]
Merge pull request #8345 from dslicenc/frr-reload-vrf-static

Frr reload vrf static

4 years agoMerge pull request #8377 from idryzhov/fix-disable-bfdd
Mark Stapp [Wed, 31 Mar 2021 16:39:17 +0000 (12:39 -0400)]
Merge pull request #8377 from idryzhov/fix-disable-bfdd

ospfd: fix building with --disable-bfdd

4 years agotools: frr-reload fixes for deleting vrf static routes
Don Slice [Fri, 19 Mar 2021 19:10:14 +0000 (15:10 -0400)]
tools: frr-reload fixes for deleting vrf static routes

Problems reported that in certain cases, frr-reload.py would
delete vrf static routes inadvertantly due to two different
reasons. First, vrf statics with null0 or Null0 nexthops would
fail the match since rendered as blackholes.  This was already
fixed for non-vrf statics so added for vrf-based.  Second,
frr-reload would fail to match due to different formats for
adding the command. If entered in the old way
"ip route x.x.x.x/x y.y.y.y vrf NAME" and rendered
in the new sway "vrf NAME\nip route x.x.x.x/x y.y.y.y" it would
fail to match do an inadvertant delete.

Ticket: 2570270
Signed-off-by: Don Slice <dslice@nvidia.com>
4 years agotools: frr-reload.py changes to make black happy
Don Slice [Fri, 19 Mar 2021 19:03:51 +0000 (15:03 -0400)]
tools: frr-reload.py changes to make black happy

Since black is finding issues before applying my change, committing
those changes separately

Signed-off-by: Don Slice <dslice@nvidia.com>
4 years agoMerge pull request #8350 from opensourcerouting/printfrr-revamp
Mark Stapp [Wed, 31 Mar 2021 13:10:30 +0000 (09:10 -0400)]
Merge pull request #8350 from opensourcerouting/printfrr-revamp

lib: `printfrr()` care package

4 years agoospfd: fix building with --disable-bfdd
Igor Ryzhov [Wed, 31 Mar 2021 12:54:34 +0000 (15:54 +0300)]
ospfd: fix building with --disable-bfdd

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
4 years agolib: remove inet6_ntoa api
Mark Stapp [Wed, 31 Mar 2021 12:29:29 +0000 (08:29 -0400)]
lib: remove inet6_ntoa api

Remove inet6_ntoa() - used static buffer, not needed.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
4 years agoripngd: use pI6 instead of inet6_ntoa
Mark Stapp [Wed, 31 Mar 2021 12:28:30 +0000 (08:28 -0400)]
ripngd: use pI6 instead of inet6_ntoa

Stop using unsafe inet6_ntoa(), just use %pI6.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
4 years agobuild: add pceplib test output to gitignore
Mark Stapp [Wed, 31 Mar 2021 12:27:11 +0000 (08:27 -0400)]
build: add pceplib test output to gitignore

Add some pcep unit-test output files to gitignore.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
4 years agoMerge pull request #7419 from patrasar/routemap_nb
Igor Ryzhov [Tue, 30 Mar 2021 23:26:51 +0000 (02:26 +0300)]
Merge pull request #7419 from patrasar/routemap_nb

Routemap nb

4 years agodoc/developer: improve printfrr extension docs
David Lamparter [Sun, 21 Mar 2021 16:35:43 +0000 (17:35 +0100)]
doc/developer: improve printfrr extension docs

The table is getting rather clunky, let's just break this out and make
it pretty there.

Signed-off-by: David Lamparter <equinox@diac24.net>
4 years agolib: save errno in vty_out()
David Lamparter [Fri, 26 Mar 2021 13:27:51 +0000 (14:27 +0100)]
lib: save errno in vty_out()

... so `%m` works correctly, without us trampling over `errno` before we
get to formatting it.

Signed-off-by: David Lamparter <equinox@diac24.net>
4 years agolib: add `%dPF` & `%dSO` formats
David Lamparter [Fri, 26 Mar 2021 13:20:08 +0000 (14:20 +0100)]
lib: add `%dPF` & `%dSO` formats

Just quick helpers to print `AF_*` and `SOCK_*` constants.

Signed-off-by: David Lamparter <equinox@diac24.net>
4 years agolib: fix & improve `%pSU` format
David Lamparter [Fri, 26 Mar 2021 13:16:01 +0000 (14:16 +0100)]
lib: fix & improve `%pSU` format

This wasn't quite formatting IPv6+port in a useful way (no brackets),
and printing the scope ID (interface index) and unix addrs is useful
too.

Signed-off-by: David Lamparter <equinox@diac24.net>
4 years agolib: add `%pSQ` and `%pSE` string escape formats
David Lamparter [Mon, 22 Mar 2021 09:12:42 +0000 (10:12 +0100)]
lib: add `%pSQ` and `%pSE` string escape formats

These are for string quoting (`%pSQ`) and string escaping (`%pSE`); the
sets / escape methods are currently rather "basic" and might be extended
in the future.

Signed-off-by: David Lamparter <equinox@diac24.net>
4 years agolib: add `%*pHX` + `%*pHS` hexdump in printfrr
David Lamparter [Thu, 18 Feb 2021 23:08:11 +0000 (00:08 +0100)]
lib: add `%*pHX` + `%*pHS` hexdump in printfrr

(I'll get to `zlog_hexdump()` in a separate pass.)

Signed-off-by: David Lamparter <equinox@diac24.net>
4 years agolib: add `%pFB` extension to print struct fbuf *
David Lamparter [Tue, 2 Mar 2021 20:39:49 +0000 (21:39 +0100)]
lib: add `%pFB` extension to print struct fbuf *

Useful to insert output from another bprintfrr() call.

Signed-off-by: David Lamparter <equinox@diac24.net>
4 years agolib: add `%pVA` recursive printfrr
David Lamparter [Tue, 2 Mar 2021 19:45:57 +0000 (20:45 +0100)]
lib: add `%pVA` recursive printfrr

Analogous to Linux kernel `%pV` (but our mechanism expects 2 specifier
chars and `%pVA` is clearer anyway.)

Signed-off-by: David Lamparter <equinox@diac24.net>
4 years agolib: add `FMT_NSTD()` for non-standard printf exts
David Lamparter [Fri, 26 Mar 2021 17:11:21 +0000 (18:11 +0100)]
lib: add `FMT_NSTD()` for non-standard printf exts

... to suppress the warnings when using something that isn't quite ISO C
compatible and would otherwise cause compiler warnings from `-Wformat`.

Signed-off-by: David Lamparter <equinox@diac24.net>
4 years agolib: allow discerning unspec width in printfrr ext
David Lamparter [Fri, 26 Mar 2021 16:58:54 +0000 (17:58 +0100)]
lib: allow discerning unspec width in printfrr ext

With 0 currently the default value for the width specifier, it's not
possible to discern that from a %*p where 0 was passed as the length
parameter.  Use -1 to allow for that.

Signed-off-by: David Lamparter <equinox@diac24.net>
4 years agolib: put printfrr extension args into struct
David Lamparter [Sat, 20 Mar 2021 08:02:04 +0000 (09:02 +0100)]
lib: put printfrr extension args into struct

... for easier extensibility.  Add width, # and - flags while at it.

Signed-off-by: David Lamparter <equinox@diac24.net>
4 years agobgpd: North-bound implementation for bgp rmaps
Sarita Patra [Fri, 30 Oct 2020 07:45:43 +0000 (00:45 -0700)]
bgpd: North-bound implementation for bgp rmaps

This commit introduces the implementation for the north-bound
callbacks for the bgp-specific route-map match and set clauses.

Signed-off-by: NaveenThanikachalam <nthanikachal@vmware.com>
Signed-off-by: Sarita Patra <saritap@vmware.com>
4 years agoospfd: North-bound implementation for ospfd rmaps
Sarita Patra [Fri, 30 Oct 2020 07:44:04 +0000 (00:44 -0700)]
ospfd: North-bound implementation for ospfd rmaps

This commit introduces the implementation for the north-bound
callbacks for the ospfd-specific route-map match and set clauses.

Signed-off-by: NaveenThanikachalam <nthanikachal@vmware.com>
Signed-off-by: Sarita Patra <saritap@vmware.com>
4 years agoospf6d: North-bound implementation for ospf6d rmaps
Sarita Patra [Fri, 30 Oct 2020 07:42:34 +0000 (00:42 -0700)]
ospf6d: North-bound implementation for ospf6d rmaps

This commit introduces the implementation for the north-bound
callbacks for the ospf6d-specific route-map match and set clauses.

Signed-off-by: NaveenThanikachalam <nthanikachal@vmware.com>
Signed-off-by: Sarita Patra <saritap@vmware.com>
4 years agozebra: North-bound implementation for zebra rmaps
Sarita Patra [Fri, 30 Oct 2020 07:41:19 +0000 (00:41 -0700)]
zebra: North-bound implementation for zebra rmaps

This commit introduces the implementation for the north-bound
callbacks for the zebra-specific route-map match and set clauses.

Signed-off-by: NaveenThanikachalam <nthanikachal@vmware.com>
Signed-off-by: Sarita Patra <saritap@vmware.com>