]> git.puffer.fish Git - mirror/frr.git/log
mirror/frr.git
4 years agoMerge pull request #6871 from CHKDSK88/doc_openwrt
Donald Sharp [Thu, 6 Aug 2020 13:51:03 +0000 (09:51 -0400)]
Merge pull request #6871 from CHKDSK88/doc_openwrt

doc: Update instructions for building for OpenWrt

4 years agoMerge pull request #6854 from mjstapp/sharp_lsp_update
Donald Sharp [Thu, 6 Aug 2020 13:43:12 +0000 (09:43 -0400)]
Merge pull request #6854 from mjstapp/sharp_lsp_update

sharpd: support 'update lsp' zapi testing

4 years agoMerge pull request #6859 from mjstapp/fix_dplane_sa_again
Donald Sharp [Thu, 6 Aug 2020 13:42:33 +0000 (09:42 -0400)]
Merge pull request #6859 from mjstapp/fix_dplane_sa_again

zebra: fix coverity SA warning in dataplane

4 years agodoc: Update instructions for building for OpenWrt 6871/head
Pawel Dembicki [Thu, 6 Aug 2020 12:32:38 +0000 (14:32 +0200)]
doc: Update instructions for building for OpenWrt

Frr was added to official OpenWrt repo. No need to use
unofficial sources from Github PR.

Signed-off-by: Pawel Dembicki <p.dembicki@wb.com.pl>
4 years agoMerge pull request #6866 from chiragshah6/mdev
Renato Westphal [Thu, 6 Aug 2020 00:00:24 +0000 (21:00 -0300)]
Merge pull request #6866 from chiragshah6/mdev

lib: yang afi-safi identityref translation

4 years agoMerge pull request #6864 from volta-networks/fix_ldp_oc_withdraw
Renato Westphal [Wed, 5 Aug 2020 23:59:22 +0000 (20:59 -0300)]
Merge pull request #6864 from volta-networks/fix_ldp_oc_withdraw

ldpd: ldp-oc withdraw fix

4 years agolib: yang afi-safi identityref translation 6866/head
Chirag Shah [Wed, 5 Aug 2020 21:38:49 +0000 (14:38 -0700)]
lib: yang afi-safi identityref translation

Add more afi safis in conversion to-from string
to indentityref.

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
4 years agoldpd: ldp-oc withdraw fix 6864/head
lynne [Wed, 5 Aug 2020 19:22:08 +0000 (15:22 -0400)]
ldpd: ldp-oc withdraw fix

When LDP is configured in Order Control mode and we receive a
label withdraw message, we should only resend label withdraws to
peers that are the NH for that fec being withdrawn.

Signed-off-by: Lynne Morrison <lynne@voltanet.io>
4 years agoMerge pull request #6847 from donaldsharp/time_to_rerun
Donatas Abraitis [Wed, 5 Aug 2020 14:34:46 +0000 (17:34 +0300)]
Merge pull request #6847 from donaldsharp/time_to_rerun

Time to rerun

4 years agoMerge pull request #6850 from mobash-rasool/pim-fixes
Donald Sharp [Wed, 5 Aug 2020 14:03:50 +0000 (10:03 -0400)]
Merge pull request #6850 from mobash-rasool/pim-fixes

pimd: crash fix when RP is removed

4 years agoMerge pull request #6860 from opensourcerouting/bgp-docs-missing
Donatas Abraitis [Wed, 5 Aug 2020 12:07:33 +0000 (15:07 +0300)]
Merge pull request #6860 from opensourcerouting/bgp-docs-missing

doc: update some BGP documentation items

4 years agoMerge pull request #6858 from donaldsharp/display_type_string
Donatas Abraitis [Wed, 5 Aug 2020 07:52:17 +0000 (10:52 +0300)]
Merge pull request #6858 from donaldsharp/display_type_string

zebra: When debugging route notifications use string instead of number

4 years agopimd: crash fix when RP is removed 6850/head
Mobashshera Rasool [Tue, 4 Aug 2020 06:24:29 +0000 (06:24 +0000)]
pimd: crash fix when RP is removed

pimd crash at pim_msg_build_jp_groups (
grp=grp@entry=0x7ffca55b5d1e, sgs=sgs@entry=0x17821a0, size=20)
 at pimd/pim_msg.c:198

Fix for https://github.com/FRRouting/frr/issues/6849

Root Cause:
===========
pimd has crashed because pim_upstream_rpf_clear function sets the
up->rpf.source_nexthop.interface pointer to NULL and has not removed
the upstream source node from the neighbor. When the upstream gets
deleted the source is not removed from neighbor
neigh->upstream_jp_agg->groups->sources list. This source node has
pointer to upstream freed memory. Hence when on_neighbor_jp_timer expires,
it tries to access the upstream pointer and crashed.

Fix:
====
Before setting the interface pointer to NULL, remove the node from
neigh->upstream_jp_agg->groups->sources list. Also the upstream state
has to be changed to Not joined.

Removed extra line changes.

Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
4 years agoMerge pull request #6861 from donaldsharp/pim_doc_fixups
Donatas Abraitis [Wed, 5 Aug 2020 05:35:49 +0000 (08:35 +0300)]
Merge pull request #6861 from donaldsharp/pim_doc_fixups

doc: Update doc for `ip pim use-source ..` command

4 years agodoc: Update doc for `ip pim use-source ..` command 6861/head
Donald Sharp [Wed, 5 Aug 2020 00:19:43 +0000 (20:19 -0400)]
doc: Update doc for `ip pim use-source ..` command

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agodoc: document addpath 6860/head
Rafael Zalamena [Tue, 4 Aug 2020 22:31:11 +0000 (19:31 -0300)]
doc: document addpath

Document the commands `addpath-tx-all-paths`,
`addpath-tx-bestpath-per-AS` and attempt to provide an useful
explanation.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
4 years agoMerge pull request #6857 from mjstapp/fix_lsp_backup_update
Renato Westphal [Tue, 4 Aug 2020 22:12:57 +0000 (19:12 -0300)]
Merge pull request #6857 from mjstapp/fix_lsp_backup_update

zebra: reset LSP backup nh info on update

4 years agodoc: improve neighbor shutdown
Rafael Zalamena [Tue, 4 Aug 2020 21:47:54 +0000 (18:47 -0300)]
doc: improve neighbor shutdown

Add more neighbor shutdown documentation and reference the RFC.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
4 years agodoc: document allowas-in
Rafael Zalamena [Tue, 4 Aug 2020 21:35:53 +0000 (18:35 -0300)]
doc: document allowas-in

Document the command `allowas-in` and attempt to provide an useful
explanation.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
4 years agodoc: document bgp AS override
Rafael Zalamena [Tue, 4 Aug 2020 21:19:27 +0000 (18:19 -0300)]
doc: document bgp AS override

Document the command `as-override` and attempt to provide an useful
explanation.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
4 years agoMerge pull request #6698 from deastoe/fpm-netlink-fixes
Donald Sharp [Tue, 4 Aug 2020 19:59:51 +0000 (15:59 -0400)]
Merge pull request #6698 from deastoe/fpm-netlink-fixes

zebra: always set kernel table ID in FPM netlink

4 years agozebra: fix SA warning in dataplane 6859/head
Mark Stapp [Tue, 4 Aug 2020 18:52:43 +0000 (14:52 -0400)]
zebra: fix SA warning in dataplane

A previous SA fix introduced ... a different SA warning; fix it.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
4 years agozebra: When debugging route notifications use string instead of number 6858/head
Donald Sharp [Tue, 4 Aug 2020 18:41:00 +0000 (14:41 -0400)]
zebra: When debugging route notifications use string instead of number

Current behavior:
eva# show mem
2020/08/04 18:07:38 ZEBRA: Not Notifying Owner: 2 about prefix 3.3.3.3/32(254) 2 vrf: 0

Fix it to show:

2020/08/04 18:07:38 ZEBRA: Not Notifying Owner: connected about prefix 3.3.3.3/32(254) 2 vrf: 0

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agoMerge pull request #6809 from opensourcerouting/staticd-disable-acl
Donald Sharp [Tue, 4 Aug 2020 18:01:26 +0000 (14:01 -0400)]
Merge pull request #6809 from opensourcerouting/staticd-disable-acl

vtysh: don't send access list commands to staticd

4 years agosharpd: support 'update lsp' zapi testing 6854/head
Mark Stapp [Tue, 4 Aug 2020 13:34:37 +0000 (09:34 -0400)]
sharpd: support 'update lsp' zapi testing

Add 'update' support so that sharpd can exercise add,
update, and delete zapi exchanges for LSPs.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
4 years agoMerge pull request #6727 from opensourcerouting/nb-cfg-backoff
Donald Sharp [Tue, 4 Aug 2020 17:54:55 +0000 (13:54 -0400)]
Merge pull request #6727 from opensourcerouting/nb-cfg-backoff

lib: introduce configuration back-off timer for YANG-modeled commands

4 years agoMerge pull request #6815 from donaldsharp/vtysh_goes_vroom
Renato Westphal [Tue, 4 Aug 2020 17:42:41 +0000 (14:42 -0300)]
Merge pull request #6815 from donaldsharp/vtysh_goes_vroom

vtysh: Speed up output of configuration across daemons

4 years agozebra: reset LSP backup nh info on update 6857/head
Mark Stapp [Tue, 4 Aug 2020 16:46:26 +0000 (12:46 -0400)]
zebra: reset LSP backup nh info on update

If an existing LSP nh is updated, ensure any backup nh
info is also reset.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
4 years agoMerge pull request #6812 from mjstapp/fix_dplane_ret_sa
Sri Mohana Singamsetty [Tue, 4 Aug 2020 16:06:17 +0000 (09:06 -0700)]
Merge pull request #6812 from mjstapp/fix_dplane_ret_sa

zebra: fix SA warning, handle return code

4 years agoMerge pull request #6834 from ton31337/feature/documentation_for_bgp_wide_option
Quentin Young [Tue, 4 Aug 2020 15:45:23 +0000 (11:45 -0400)]
Merge pull request #6834 from ton31337/feature/documentation_for_bgp_wide_option

doc: Add wide option for show bgp commands

4 years agoMerge pull request #6821 from Niral-Networks/niral_6VPE_6PE_fix
Stephen Worley [Tue, 4 Aug 2020 15:17:31 +0000 (11:17 -0400)]
Merge pull request #6821 from Niral-Networks/niral_6VPE_6PE_fix

BGP : Fix for nexthop as IPv4 mapped IPv6 address

4 years agoMerge pull request #6770 from opensourcerouting/fpm-race
Quentin Young [Tue, 4 Aug 2020 15:04:22 +0000 (11:04 -0400)]
Merge pull request #6770 from opensourcerouting/fpm-race

zebra: FPM fixes

4 years agovtysh: Speed up output of configuration across daemons 6815/head
Donald Sharp [Tue, 28 Jul 2020 14:58:47 +0000 (10:58 -0400)]
vtysh: Speed up output of configuration across daemons

With a config that contains a large number of prefix-lists a 'show run' command
was an expensive operation:

sharpd@eva ~/frr_internal2 ((cl4.1.0))> time vtysh -c "show run" | grep ACTIVE | wc -l
32397
________________________________________________________
Executed in   14.53 secs   fish           external
   usr time   14.45 secs  591.00 micros   14.45 secs
   sys time    0.03 secs  189.00 micros    0.03 secs
sharpd@eva ~/frr_internal2 ((cl4.1.0))>

Effectively we are keeping a linked list of data to store the configuration.
When we received a new item we would look in the list to see if it already
does, by doing a string search across each element in the list.

Add to the master configuration a hash of items for O(1) lookup.
Keep the list for order so we don't mangle that up.

New time:
sharpd@eva ~/frr_internal1 (dev)> time vtysh -c "show run" | grep ACTIVE | wc -l
32397
________________________________________________________
Executed in  277.94 millis    fish           external
   usr time  237.46 millis   20.53 millis  216.93 millis
   sys time   14.31 millis    0.00 millis   14.31 millis

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agolib: Put back applied count for route-maps 6847/head
Donald Sharp [Mon, 3 Aug 2020 22:15:29 +0000 (18:15 -0400)]
lib: Put back applied count for route-maps

The applied count for individual sub sections of route-maps
was lost.  Put it back.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agolib: Allow `no call WORD`
Donald Sharp [Mon, 3 Aug 2020 22:06:05 +0000 (18:06 -0400)]
lib: Allow `no call WORD`

The `no call` cli was not accepting the original CLI as
a quick cut-n-paste.  This fixes that.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agolib, tests: Add notation about whether or not a route-map is about to be reprocessed
Donald Sharp [Mon, 3 Aug 2020 22:00:34 +0000 (18:00 -0400)]
lib, tests: Add notation about whether or not a route-map is about to be reprocessed

When you make a change to a route-map or a prefix-list it depends on, note
that the route-map needs to be reprocessed for the change.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agolib,zebra,bgpd: Fix for nexthop as IPv4 mapped IPv6 address 6821/head
Kaushik [Wed, 29 Jul 2020 15:48:57 +0000 (08:48 -0700)]
lib,zebra,bgpd: Fix for nexthop as IPv4 mapped IPv6 address

Added a macro to validate the v4 mapped v6 address.
Modified bgp receive & send updates for v4 mapped v6 address as
nexthop and installing it as recursive nexthop in RIB.
Minor change in fpm while sending the routes for nexthop as
v4 mapped v6 address.

Signed-off-by: Kaushik <kaushik@niralnetworks.com>
4 years agoMerge pull request #6844 from donaldsharp/bestpath_routes
Donatas Abraitis [Tue, 4 Aug 2020 05:13:49 +0000 (08:13 +0300)]
Merge pull request #6844 from donaldsharp/bestpath_routes

Bestpath routes

4 years agostaticd,vtysh: no access list commands 6809/head
Rafael Zalamena [Tue, 4 Aug 2020 00:22:52 +0000 (21:22 -0300)]
staticd,vtysh: no access list commands

Don't send access list commands to `staticd` since it doesn't use them.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
4 years agotopotests: remove sharpd from route map output
Rafael Zalamena [Tue, 28 Jul 2020 12:33:08 +0000 (09:33 -0300)]
topotests: remove sharpd from route map output

`sharpd` doesn't handle any route map commands and neither should show
up in route map commands. This makes the CI pass again after not sending
route map commands to it again.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
4 years agosharpd,vtysh: no access list or route map commands
Rafael Zalamena [Mon, 3 Aug 2020 23:55:47 +0000 (20:55 -0300)]
sharpd,vtysh: no access list or route map commands

Don't send access list or route map commands to `sharpd` since it
doesn't use them.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
4 years agovtysh: recategorize access list commands
Rafael Zalamena [Tue, 28 Jul 2020 00:27:50 +0000 (21:27 -0300)]
vtysh: recategorize access list commands

Create a new category for access lists commands so we can avoid sending
configurations (which might be big) to daemons which do not use it.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
4 years agoMerge pull request #6832 from pguibert6WIND/ignore_nhrp
Renato Westphal [Mon, 3 Aug 2020 23:03:39 +0000 (20:03 -0300)]
Merge pull request #6832 from pguibert6WIND/ignore_nhrp

nhrpd: ignore zebra updates about our routes being deleted/added

4 years agolib: introduce configuration back-off timer for YANG-modeled commands 6727/head
Renato Westphal [Thu, 2 Jul 2020 17:43:36 +0000 (14:43 -0300)]
lib: introduce configuration back-off timer for YANG-modeled commands

When using the default CLI mode, the northbound layer needs to create
a separate transaction to process each YANG-modeled command since
they are supposed to be applied immediately (there's no candidate
configuration nor the "commit" command like in the transactional
CLI). The problem is that configuration transactions have an overhead
associated to them, in big part because of the use of some heavy
libyang functions like `lyd_validate()` and `lyd_diff()`. As of
now this overhead is substantial and doesn't scale well when large
numbers of transactions need to be performed in sequence.

As an example, loading 50k prefix-lists using a single transaction
takes about 2 seconds on a modern CPU. Loading the same 50k
prefix-lists using 50k transactions can take more than an hour
to complete (which is unacceptable by any standard). To fix this
problem, some heavy optimization work needs to be done on libyang and
on the FRR northbound itself too (e.g. perform partial configuration
diffs whenever possible).  This, however, should be a long term
effort since these optimizations shouldn't be trivial to implement
and we're far from having the performance numbers we need.

In the meanwhile, this commit introduces a simple but efficient
workaround to alleviate the issue. In short, a new back-off timer
was introduced in the CLI to monitor and detect when too many
YANG-modeled commands are being received at the same time. When
a certain threshold is reached (100 YANG-modeled commands within
one second), the northbound starts to group all subsequent commands
into a single large transaction, which allows them to be processed
much faster (e.g. seconds and not hours).  It's essentially a
protection mechanism that creates dynamically-sized transactions
when necessary to prevent performance issues from happening. This
mechanism is enabled both when parsing configuration files and when
reading commands from a terminal.

The downside of this optimization is that, if several YANG-modeled
commands are grouped into the same transaction and at least one of
them fails, the whole transaction is rejected. This is undesirable
since users don't expect transactional behavior when that's not
enabled explicitly. To minimize this issue, the CLI will log all
commands that were rejected whenever that happens, to make the
user aware of what happened and have enough information to fix
the problem. Commands that fail due to parsing errors or CLI-level
validations in general are rejected separately.

Again, this proposed workaround is intended to be temporary. The
goal is to provided a quick fix to issues like #6658 while we work
on better long-term solutions.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
4 years ago*: introduce DEFPY_YANG & friends
Renato Westphal [Mon, 6 Jul 2020 15:47:44 +0000 (12:47 -0300)]
*: introduce DEFPY_YANG & friends

DEFPY_YANG will allow the CLI to identify which commands are
YANG-modeled or not before executing them. This is going to be
useful for the upcoming configuration back-off timer work that
needs to commit pending configuration changes before executing a
command that isn't YANG-modeled.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
4 years agoMerge pull request #6845 from opensourcerouting/foreach-safi-formatting
Quentin Young [Mon, 3 Aug 2020 16:27:28 +0000 (12:27 -0400)]
Merge pull request #6845 from opensourcerouting/foreach-safi-formatting

clang-format: add FOREACH_SAFI to the ForEachMacros list

4 years agoMerge pull request #6781 from chiragshah6/mdev
Renato Westphal [Mon, 3 Aug 2020 15:57:45 +0000 (12:57 -0300)]
Merge pull request #6781 from chiragshah6/mdev

yang: create route-map leafref reference type

4 years agoclang-format: add FOREACH_SAFI to the ForEachMacros list 6845/head
Renato Westphal [Mon, 3 Aug 2020 15:18:24 +0000 (12:18 -0300)]
clang-format: add FOREACH_SAFI to the ForEachMacros list

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
4 years agodoc: Add documentation for the new cli 6844/head
Donald Sharp [Mon, 3 Aug 2020 14:33:03 +0000 (10:33 -0400)]
doc: Add documentation for the new cli

Document the `show bgp ipv4 uni neighbors 192.168.161.2 bestpath-routes`
command.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agobgpd: Add `bestpath-routes` to neighbor command
Donald Sharp [Fri, 31 Jul 2020 16:12:37 +0000 (12:12 -0400)]
bgpd: Add `bestpath-routes` to neighbor command

Add the ability to list the bestpath-routes to the
`show bgp afi safi neighbor X` command.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agobgpd: Abstract the header inclusion for show_adj_route
Donald Sharp [Fri, 31 Jul 2020 16:33:59 +0000 (12:33 -0400)]
bgpd: Abstract the header inclusion for show_adj_route

Cut-n-paste code can go away.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agoMerge pull request #6833 from donaldsharp/pcount_selected
Donatas Abraitis [Sat, 1 Aug 2020 10:09:28 +0000 (13:09 +0300)]
Merge pull request #6833 from donaldsharp/pcount_selected

bgpd: Add to neighbor prefix-counts the count of best path selected

4 years agoyang: route-map model description format 6781/head
Chirag Shah [Wed, 29 Jul 2020 20:03:35 +0000 (13:03 -0700)]
yang: route-map model description format

Added "." at the enf of each description of fields.

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
4 years agoyang: route-map style format
Chirag Shah [Tue, 21 Jul 2020 05:04:28 +0000 (22:04 -0700)]
yang: route-map style format

Align to yanglint format

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
4 years agoyang: create route-map leafref reference type
Chirag Shah [Tue, 21 Jul 2020 04:47:03 +0000 (21:47 -0700)]
yang: create route-map leafref reference type

Create leafref reference type for route-map name.

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
4 years agodoc: Add wide option for show bgp commands 6834/head
Donatas Abraitis [Fri, 31 Jul 2020 19:14:00 +0000 (22:14 +0300)]
doc: Add wide option for show bgp commands

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
4 years agobgpd: Add to neighbor prefix-counts the count of best path selected 6833/head
Donald Sharp [Fri, 31 Jul 2020 14:06:39 +0000 (10:06 -0400)]
bgpd: Add to neighbor prefix-counts the count of best path selected

When we have a prefix that has been selected, note that that
particular flag has been set and give that information to the
end user.

eva# show bgp ipv4 uni neighbors 192.168.161.131 prefix-counts
Prefix counts for 192.168.161.131, IPv4 Unicast
PfxCt: 814246

Counts from RIB table walk:

              Adj-in: 0
              Damped: 0
             Removed: 0
             History: 0
               Stale: 0
               Valid: 814246
             All RIB: 814246
       PfxCt counted: 814246
 PfxCt Best Selected: 0
             Useable: 814246
eva# show bgp ipv4 uni neighbors 192.168.161.2 prefix-counts
Prefix counts for 192.168.161.2, IPv4 Unicast
PfxCt: 814070

Counts from RIB table walk:

              Adj-in: 0
              Damped: 0
             Removed: 0
             History: 0
               Stale: 0
               Valid: 814070
             All RIB: 814070
       PfxCt counted: 814070
 PfxCt Best Selected: 814070
             Useable: 814070

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agonhrpd: ignore zebra updates about our routes being deleted/added 6832/head
Philippe Guibert [Thu, 5 Mar 2020 14:50:37 +0000 (14:50 +0000)]
nhrpd: ignore zebra updates about our routes being deleted/added

nhrp listens for route entries to be deleted, in case some new routes
impact the current routes installed by nhrp. To prevent from
unconfiguring nhrp shortcut route, just prevent nhrp routes to be
processed.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
4 years agoMerge pull request #6778 from mjstapp/fix_topo_route_scale
Rafael Zalamena [Thu, 30 Jul 2020 20:59:42 +0000 (17:59 -0300)]
Merge pull request #6778 from mjstapp/fix_topo_route_scale

tests: rework route_scale topotest

4 years agoMerge pull request #6824 from liweitianux/patch-1
Donald Sharp [Thu, 30 Jul 2020 18:34:34 +0000 (14:34 -0400)]
Merge pull request #6824 from liweitianux/patch-1

ospfd: Fix Zebra route add message truncation issue

4 years agozebra: fix SA warning, handle return code 6812/head
Mark Stapp [Tue, 28 Jul 2020 12:30:52 +0000 (08:30 -0400)]
zebra: fix SA warning, handle return code

Handle a return code, resolving an SA warning

Signed-off-by: Mark Stapp <mjs@voltanet.io>
4 years agotests: Avoid top ecmp route_scale test case when memory limited 6778/head
Mark Stapp [Wed, 29 Jul 2020 20:57:37 +0000 (16:57 -0400)]
tests: Avoid top ecmp route_scale test case when memory limited

Address-sanitizer runs in the CI appear to require more
memory than is available (at present), so skip the top
x32 route_scale testcase when running with <4G of ram.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
4 years agotests: rework route_scale topotest
Mark Stapp [Mon, 20 Jul 2020 18:51:16 +0000 (14:51 -0400)]
tests: rework route_scale topotest

Make some changes to the route-scale topotest, in view of
issue #6734. Table-drive the test to eliminate some
repeated code. Assert and fail if a step in the progression
of scale fails. Wait a little longer between checking the show
output - it's costly to generate that output at scale. Add a
memleak testcase.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
4 years agoMerge pull request #6825 from kuldeepkash/evpn_type2_tests
Mark Stapp [Thu, 30 Jul 2020 18:09:24 +0000 (14:09 -0400)]
Merge pull request #6825 from kuldeepkash/evpn_type2_tests

tests: Skipping evpn_type5_test_topo1 tests from CI runs

4 years agoospfd: Fix Zebra route add message truncation issue 6824/head
Aaron LI [Thu, 30 Jul 2020 11:22:34 +0000 (19:22 +0800)]
ospfd: Fix Zebra route add message truncation issue

The `INET_ADDRSTRLEN` is 16 and is only enough to format an IPv4 address.
So when there is a prefix (`/xx`), the debug output may get truncated.
Use `PREFIX2STR_BUFFER` macro instead to fix the issue.

Signed-off-by: Aaron LI <aly@aaronly.me>
4 years agotests: Skipping evpn_type5_test_topo1 tests from CI runs 6825/head
Kuldeep Kashyap [Thu, 30 Jul 2020 12:12:07 +0000 (12:12 +0000)]
tests: Skipping evpn_type5_test_topo1 tests from CI runs

1. evpn_type5_test_topo1 tests started failing in CI for all Ubuntu 18.04 machine,
which are having kernel version: 5.4.0-42-generic
2. We will enable these tests once issue is found and fixed.

Signed-off-by: Kuldeep Kashyap <kashyapk@vmware.com>
4 years agoMerge pull request #6732 from opensourcerouting/printfrr-prep
Quentin Young [Wed, 29 Jul 2020 18:29:34 +0000 (14:29 -0400)]
Merge pull request #6732 from opensourcerouting/printfrr-prep

*: preparations for printfrr coccinelle run

4 years agoMerge pull request #6769 from opensourcerouting/acl-regress
Donald Sharp [Wed, 29 Jul 2020 13:57:39 +0000 (09:57 -0400)]
Merge pull request #6769 from opensourcerouting/acl-regress

lib,yang: merge cisco/zebra access list styles

4 years agozebra,fpm: serialize zebra table walks 6770/head
Rafael Zalamena [Fri, 17 Jul 2020 19:15:04 +0000 (16:15 -0300)]
zebra,fpm: serialize zebra table walks

We were not getting any benefits from attempting to walk all tables at the
same time and it made debugging harder, so lets execute one table walk
per time.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
4 years agozebra,fpm: fix race on completion detection
Rafael Zalamena [Fri, 17 Jul 2020 14:37:38 +0000 (11:37 -0300)]
zebra,fpm: fix race on completion detection

Zebra runs on a different thread than FPM, so we need to synchronize
them by using events. While here, implement completion detection for all
kinds of walk.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
4 years agozebra,fpm: fix input handling
Rafael Zalamena [Fri, 17 Jul 2020 17:37:55 +0000 (14:37 -0300)]
zebra,fpm: fix input handling

Two important fixes:

* `stream_read_try` does a dirty trick and converts the `-1` return to
  `-2` when errno is `EAGAIN`, `EWOULDBLOCK` or `EINTR`.
* Don't enable reads until the connection is complete.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
4 years agoMerge pull request #6792 from chiragshah6/pim_dev
David Lamparter [Tue, 28 Jul 2020 13:13:00 +0000 (15:13 +0200)]
Merge pull request #6792 from chiragshah6/pim_dev

*: pim igmp yang registery to appropriate makefile

4 years agoMerge pull request #6787 from toreanderson/master
David Lamparter [Tue, 28 Jul 2020 13:09:15 +0000 (15:09 +0200)]
Merge pull request #6787 from toreanderson/master

tools: do not silently ignore errors when loading config during startup

4 years agoMerge pull request #6758 from chiragshah6/yang_nb6
Russ White [Tue, 28 Jul 2020 11:22:24 +0000 (07:22 -0400)]
Merge pull request #6758 from chiragshah6/yang_nb6

EVPN northbound conversion for vrf l3vni mapping command

4 years agoMerge pull request #6808 from ton31337/fix/dampening_reuse_limit_assert
Russ White [Tue, 28 Jul 2020 10:20:29 +0000 (06:20 -0400)]
Merge pull request #6808 from ton31337/fix/dampening_reuse_limit_assert

bgpd: Bypass SA tests regarding division by zero for reuse_limit in dampening

4 years agoMerge pull request #6806 from donaldsharp/tests_log_monitor
David Lamparter [Mon, 27 Jul 2020 22:15:22 +0000 (00:15 +0200)]
Merge pull request #6806 from donaldsharp/tests_log_monitor

tests: Remove 'log monitor' from tests

4 years agoMerge pull request #6805 from ton31337/fix/dead_code
Rafael Zalamena [Mon, 27 Jul 2020 21:35:20 +0000 (18:35 -0300)]
Merge pull request #6805 from ton31337/fix/dead_code

bgpd: Remove peer_afc_set()

4 years agoMerge pull request #6804 from donaldsharp/remove_cisco_compatability
Rafael Zalamena [Mon, 27 Jul 2020 20:15:02 +0000 (17:15 -0300)]
Merge pull request #6804 from donaldsharp/remove_cisco_compatability

doc: Remove `Cisco Compatability` section

4 years agobgpd: Bypass SA tests regarding division by zero for reuse_limit in dampening 6808/head
Donatas Abraitis [Mon, 27 Jul 2020 17:38:42 +0000 (20:38 +0300)]
bgpd: Bypass SA tests regarding division by zero for reuse_limit in dampening

reuse_limit can't be zero basically, Coverity just does not know how the
value comes in.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
4 years agoMerge pull request #6765 from mjstapp/backup_nhg_netlink
Renato Westphal [Mon, 27 Jul 2020 15:49:36 +0000 (12:49 -0300)]
Merge pull request #6765 from mjstapp/backup_nhg_netlink

lib,zebra: support multiple backup nexthops

4 years agotests: Remove 'log monitor' from tests 6806/head
Donald Sharp [Mon, 27 Jul 2020 15:09:16 +0000 (11:09 -0400)]
tests: Remove 'log monitor' from tests

The `log monitor' command is a no-op and actually
outputs a `this doesn't do anything` warning.  Let's remove
this cli line from our tests as that don't do anything and
people will look at these configs for guidance.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agoMerge pull request #6803 from donaldsharp/coverity_moo_moo
Donatas Abraitis [Mon, 27 Jul 2020 14:20:51 +0000 (17:20 +0300)]
Merge pull request #6803 from donaldsharp/coverity_moo_moo

Coverity code cleanup

4 years agobgpd: Remove peer_afc_set() 6805/head
Donatas Abraitis [Mon, 27 Jul 2020 14:16:32 +0000 (17:16 +0300)]
bgpd: Remove peer_afc_set()

Dead code.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
4 years agoMerge pull request #6662 from kuldeepkash/evpn_type2_tests
Mark Stapp [Mon, 27 Jul 2020 12:16:31 +0000 (08:16 -0400)]
Merge pull request #6662 from kuldeepkash/evpn_type2_tests

tests: Adding test suites evpn_type5_test_topo1

4 years agodoc: Remove `Cisco Compatability` section 6804/head
Donald Sharp [Mon, 27 Jul 2020 11:57:13 +0000 (07:57 -0400)]
doc: Remove `Cisco Compatability` section

This code was deprecated in 5.0 and removed after a year.
It has not been in the code base and we forgot to update the
doc.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agobgpd: Deref after null check in bgp_evpn_vty.c 6803/head
Donald Sharp [Mon, 27 Jul 2020 11:10:41 +0000 (07:10 -0400)]
bgpd: Deref after null check in bgp_evpn_vty.c

Coverity has noticed that we are using bgp_evpn after
we have already NULL checked it one time.  Add an assert
to make Coverity happy here, if we get to this point
something terrible has happened.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agobgpd: Prevent Null pointer usage
Donald Sharp [Mon, 27 Jul 2020 10:59:45 +0000 (06:59 -0400)]
bgpd: Prevent Null pointer usage

Coverity rightly points out that bgp_table_top might return
NULL and immediately deref'ing it might be a problem.
Add a bit of safety.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agobgpd: Comment out dead code for future
Donald Sharp [Mon, 27 Jul 2020 10:54:23 +0000 (06:54 -0400)]
bgpd: Comment out dead code for future

I wanted to preserve the old code flow to see what might
be needed in the future in commit:
23ca3269da5f9d898cb54d42c560d519b9cb9915

Coverity doesn't like dead code.  So let's comment it out.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agoMerge pull request #6802 from donaldsharp/various
Donatas Abraitis [Mon, 27 Jul 2020 07:36:24 +0000 (10:36 +0300)]
Merge pull request #6802 from donaldsharp/various

Various

4 years agovrrpd: Make clang 11 happy 6802/head
Donald Sharp [Sun, 26 Jul 2020 23:05:09 +0000 (19:05 -0400)]
vrrpd: Make clang 11 happy

Recent changes to remove PRIu... in commit:
6cde4b45528e52819c803de92d10d4be3abddf29

causes clang 11 to be unhappy, with length of field warnings.
Modify the offending code to compile properly using that compiler.
I've tested against clang 11 and gcc 9.3

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agodoc: Add doc for `coalesce-time` in bgp
Donald Sharp [Sun, 26 Jul 2020 22:58:25 +0000 (18:58 -0400)]
doc: Add doc for `coalesce-time` in bgp

The documentation for this command was missing.  Add a little
bit of data for people in the future.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agoMerge pull request #6796 from russellb/bgp-debug-newline
Quentin Young [Fri, 24 Jul 2020 23:09:36 +0000 (19:09 -0400)]
Merge pull request #6796 from russellb/bgp-debug-newline

bgpd: Add missing newline to a log message

4 years agoMerge pull request #6771 from opensourcerouting/netbsd-tls-buf
Quentin Young [Fri, 24 Jul 2020 18:53:28 +0000 (14:53 -0400)]
Merge pull request #6771 from opensourcerouting/netbsd-tls-buf

lib: fix TLS log buffer on NetBSD

4 years agobgpd: Add missing newline to a log message 6796/head
Russell Bryant [Fri, 24 Jul 2020 00:26:54 +0000 (20:26 -0400)]
bgpd: Add missing newline to a log message

While checking my BGP debugging settings at the console, I noticed
this message was missing a newline.  Add it to be consistent with the
other similar messages.

Signed-off-by: Russell Bryant <rbryant@redhat.com>
4 years agoMerge pull request #6793 from maduri111/bgpd-wide
Donatas Abraitis [Fri, 24 Jul 2020 05:42:26 +0000 (08:42 +0300)]
Merge pull request #6793 from maduri111/bgpd-wide

bgpd: wide option

4 years agoMerge pull request #6730 from wesleycoakley/pbrd-dscp-ecn
Russ White [Thu, 23 Jul 2020 16:08:38 +0000 (12:08 -0400)]
Merge pull request #6730 from wesleycoakley/pbrd-dscp-ecn

DSCP / ECN-based PBR Matching

4 years agoMerge pull request #6243 from pguibert6WIND/flowspec_some_regression_seen
Quentin Young [Thu, 23 Jul 2020 15:26:00 +0000 (11:26 -0400)]
Merge pull request #6243 from pguibert6WIND/flowspec_some_regression_seen

Flowspec some regression seen

4 years agobgpd: wide option 6793/head
Madhuri Kuruganti [Thu, 23 Jul 2020 09:20:52 +0000 (14:50 +0530)]
bgpd: wide option

Signed-off-by: Madhuri Kuruganti <k.madhuri@samsung.com>
4 years agotools: do not silently ignore errors when loading config during startup 6787/head
Tore Anderson [Wed, 22 Jul 2020 15:32:18 +0000 (17:32 +0200)]
tools: do not silently ignore errors when loading config during startup

Drop the `-n` (`--noerror`) flag from the `vtysh -b` invocation called by the
init script responsible for starting FRR. This ensures that errors in the
configuration file is propagated to the administrator, and prevents a node from
entering a production network while running an essentially undefined
configuration (a behaviour that I can personally attest to has the potential to
cause disastrous network outages - documented in more detail in Cumulus
Networks CS#12791).

Silently ignoring errors also leads to the rather odd behaviour that starting
FRR will ostensibly succeed, while reloading it immediately after - without
changing the configuration - will fail. This is due to the fact that the `-n`
flag is not used while reloading.

The use of the `-n` flag appears to have been introduced without any
explanation in commit 858aa29c6862ed2390baee53b6fc9f54e65246e2 by @donaldsharp.
Looking at the commit message, I suspect that it was not an intentional change.
It seems more likely to me that it was just meant to be used during testing and
development, but ended up being committed to master by accident.

Ticket:CM-28003

Signed-off-by: Tore Anderson <tore@fud.no>
4 years ago*: pim igmp yang registery to appropriate makefile 6792/head
Chirag Shah [Thu, 23 Jul 2020 06:16:05 +0000 (23:16 -0700)]
*: pim igmp yang registery to appropriate makefile

Move pim and igmp yang files registery to appropriate makefiles.

In yang directory makefile move under `PIMD`
Remove pimd yang files from library makefile instead move them
to pimd makefile.

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>