]> git.puffer.fish Git - matthieu/frr.git/log
matthieu/frr.git
5 years agoMerge pull request #5896 from patrasar/2409015
Donald Sharp [Wed, 4 Mar 2020 02:13:27 +0000 (21:13 -0500)]
Merge pull request #5896 from patrasar/2409015

pimd: neighbor needed true in pim nexthop lookup

5 years agoMerge pull request #5899 from Spantik/clear_bgp_bug
Donald Sharp [Tue, 3 Mar 2020 18:16:01 +0000 (13:16 -0500)]
Merge pull request #5899 from Spantik/clear_bgp_bug

BGPD: Cores when cleared with doppelganger.

5 years agoMerge pull request #5900 from rubenk/bgpd-fix-typo
Donald Sharp [Tue, 3 Mar 2020 18:11:28 +0000 (13:11 -0500)]
Merge pull request #5900 from rubenk/bgpd-fix-typo

bgpd: fix typo in 'show bgp neighbors' output

5 years agoMerge pull request #5886 from sworleys/Trust-Kernel-Direct-Routes
Mark Stapp [Tue, 3 Mar 2020 17:10:35 +0000 (12:10 -0500)]
Merge pull request #5886 from sworleys/Trust-Kernel-Direct-Routes

zebra: trust directly connected kernel/system routes

5 years agoMerge pull request #5873 from mjstapp/zebra_lsp_dtor
Donald Sharp [Tue, 3 Mar 2020 16:48:16 +0000 (11:48 -0500)]
Merge pull request #5873 from mjstapp/zebra_lsp_dtor

zebra: add a free api for LSPs

5 years agobgpd: fix typo in 'show bgp neighbors' output
Ruben Kerkhof [Tue, 3 Mar 2020 15:46:31 +0000 (16:46 +0100)]
bgpd: fix typo in 'show bgp neighbors' output

And fix a typo in a comment while we're at it

Signed-off-by: Ruben Kerkhof <ruben@rubenkerkhof.com>
5 years agoMerge pull request #5890 from mjstapp/zapi_allow_label_num
Russ White [Tue, 3 Mar 2020 14:36:45 +0000 (09:36 -0500)]
Merge pull request #5890 from mjstapp/zapi_allow_label_num

zebra: allow multiple labels in LSP zapi message

5 years agoMerge pull request #5897 from patrasar/2415676
Russ White [Tue, 3 Mar 2020 14:35:43 +0000 (09:35 -0500)]
Merge pull request #5897 from patrasar/2415676

pimd: fix crash seen while executing igmp related configuration

5 years agoBGPD: Cores when cleared with doppelganger.
Santosh P K [Tue, 3 Mar 2020 14:27:30 +0000 (06:27 -0800)]
BGPD: Cores when cleared with doppelganger.

RCA: When doppelganger still around and clear bgp is issued
there are chances of peer getting deleted and next pointer
is a  freed peer pointer.

Fix: Pass address of nnode to get next safe peer pointer.

Signed-off-by: Santosh P K <sapk@vmware.com>
5 years agoMerge pull request #5893 from donaldsharp/clang_mc_clang
Renato Westphal [Tue, 3 Mar 2020 11:53:33 +0000 (08:53 -0300)]
Merge pull request #5893 from donaldsharp/clang_mc_clang

ldpd: Remove double set of lif

5 years agopimd: fix crash seen while executing igmp related configuration
Sarita Patra [Tue, 3 Mar 2020 11:35:43 +0000 (03:35 -0800)]
pimd: fix crash seen while executing igmp related configuration

Issue 1:
1. Enable pim on an interface.
2. Configure query-interval or query max response time,
which results in pimd crash.

Root cause:
1. When pim is enabled on an interface, it creates a igmp socket
with querier_timer and other_querier time as NULL.
2. When query-interval/max_response_time is configured, it call the
function igmp_sock_query_reschedule() to reshedule the query. This
function check either of querier_timer or other_querier timer should
be running. Since in this case both are NULL, it results in crash.

Issue 2:
1. Enable pim on an interface.
2. Execute no ip igmp query-interval or query max response time,
which results in pimd crash.

Root cause:
1. When pim is enabled on an interface, it creates a pim interface
with querier_timer and other_querier time as NULL.
2. When no ip igmp query-interval/max_response_time is executed, it will
check either of querier_timer or other_querier timer should be running.
Since in this case both are NULL, it results in crash.

Fix:
When pim is enabled on an interface, it creates a igmp socket with
mtrace_only as true. So add a check if mtrace_only is true, then don't
reshedule the query.

Signed-off-by: Sarita Patra <saritap@vmware.com>
5 years agopimd: neighbor needed true in pim nexthop lookup
Sarita Patra [Tue, 3 Mar 2020 11:31:22 +0000 (03:31 -0800)]
pimd: neighbor needed true in pim nexthop lookup

Issue:
Client---LHR---RP
1. Add kernel route for RP on LHR. Client send join
2. (*,G) will be get created in LHR and RP.
3. Kill the FRR on all the nodes
4. Start FRR only on LHR node
5. In LHR, (*, G) will be created with iif as unknown.

Root cause:
In the step 4, When LHR will receive igmp join, it will call
the function pim_ecmp_fib_lookup_if_vif_index which will look
for nexthop to RP with neighbor needed as false. So RPF lookup will
be true as the route is present in the kernel. It will create a
(*, G) channel_oil with incoming interface as the RPF interface
towards RP and install the (*,G) mroute in kernel.
Along with this (*,G) upstream gets craeted, which call the function
pim_rpf_update, which will look for the nexthop to RP with neighbor
needed as true. As the frr is not running in RP, no neighbor is present
on the nexthop interface. Due to which this will fail and will update
the channel_oil incoming interface as MAXVIFS(32).

Fix:
pim_ecmp_fib_lookup_if_vif_index() call the function pim_ecmp_nexthop_lookup
with neighbor_needed as true.

Signed-off-by: Sarita Patra <saritap@vmware.com>
5 years agoldpd: Remove double set of lif
Donald Sharp [Tue, 3 Mar 2020 01:29:01 +0000 (20:29 -0500)]
ldpd: Remove double set of lif

The lif variable was being set in the if statement and
immediately copied into from xf.  No need to do this
twice.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agozebra: allow multiple labels in LSP zapi message
Mark Stapp [Mon, 2 Mar 2020 20:51:22 +0000 (15:51 -0500)]
zebra: allow multiple labels in LSP zapi message

The handlers for a couple of the main LSP-oriented zapi
messages explicitly limited themselves to a single out-label.
Allow multiple labels if the sender ... sends them.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
5 years agozebra: trust directly connected kernel/system routes
Stephen Worley [Mon, 2 Mar 2020 18:16:02 +0000 (13:16 -0500)]
zebra: trust directly connected kernel/system routes

We made the decision to explicitly trust kernel and system routes
of every other type with 058c16b7e239f1c50a1d4b4376a6aff6b8dad959.

So, we should trust directly connected routes the same way, assuming
the interface exists.

Old Behavior:

K   2.2.2.1/32 [0/0] is directly connected, unknown inactive, 00:00:39

New Behavior:

K>* 2.2.2.1/32 [0/0] is directly connected, test1, 00:00:03

As a bonus, this fixes the issues we were seeing with not removing
directly connected routes of certain interface types when
those interfaces go down/are deleted.

Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
5 years agoMerge pull request #5855 from ton31337/fix/allow_using_add_sub_for_local-preference
Sri Mohana Singamsetty [Mon, 2 Mar 2020 17:40:34 +0000 (09:40 -0800)]
Merge pull request #5855 from ton31337/fix/allow_using_add_sub_for_local-preference

bgpd: Allow using add/subtract for local-preference in route-maps

5 years agoMerge pull request #5780 from chiragshah6/evpn_dev1
Sri Mohana Singamsetty [Mon, 2 Mar 2020 17:39:37 +0000 (09:39 -0800)]
Merge pull request #5780 from chiragshah6/evpn_dev1

zebra:remote vtep delete handling

5 years agozebra: add a free api for LSPs
Mark Stapp [Thu, 27 Feb 2020 17:18:48 +0000 (12:18 -0500)]
zebra: add a free api for LSPs

consolidate some LSP cleanup code into a common free function.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
5 years agoMerge pull request #5874 from donaldsharp/hash_backet2
Mark Stapp [Fri, 28 Feb 2020 21:26:55 +0000 (16:26 -0500)]
Merge pull request #5874 from donaldsharp/hash_backet2

*: change hash_backet to hash_bucket

5 years agoMerge pull request #5822 from rbauduin/patch-2
Donatas Abraitis [Fri, 28 Feb 2020 20:55:15 +0000 (22:55 +0200)]
Merge pull request #5822 from rbauduin/patch-2

doc: Document attribute-unchanged directive

5 years agoMerge pull request #5878 from mjstapp/fix_nhg_for_fpm
Stephen Worley [Fri, 28 Feb 2020 20:25:40 +0000 (15:25 -0500)]
Merge pull request #5878 from mjstapp/fix_nhg_for_fpm

zebra: fix nexthop_group conversion in fpm code

5 years ago*: change hash_backet to hash_bucket
Donald Sharp [Thu, 27 Feb 2020 01:03:34 +0000 (20:03 -0500)]
*: change hash_backet to hash_bucket

It's been a year search and destroy.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
5 years agoMerge pull request #5862 from sworleys/PBR-No-Table-Range
Donatas Abraitis [Fri, 28 Feb 2020 16:28:51 +0000 (18:28 +0200)]
Merge pull request #5862 from sworleys/PBR-No-Table-Range

pbrd: unconfigure table range

5 years agoMerge pull request #5876 from ton31337/feature/doc_vrrpd_update
Mark Stapp [Fri, 28 Feb 2020 15:57:11 +0000 (10:57 -0500)]
Merge pull request #5876 from ton31337/feature/doc_vrrpd_update

doc: Change interface name for vrrp example

5 years agozebra: fix nexthop_group conversion in fpm code
Mark Stapp [Fri, 28 Feb 2020 13:45:56 +0000 (08:45 -0500)]
zebra: fix nexthop_group conversion in fpm code

Recent commit that embedded the nhg_hash_entry's group
missed a couple of fpm modules.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
5 years agoMerge pull request #5859 from donaldsharp/clang_latest
Mark Stapp [Fri, 28 Feb 2020 12:51:52 +0000 (07:51 -0500)]
Merge pull request #5859 from donaldsharp/clang_latest

Clean up clang latest SA warnings

5 years agotests: Add a test case for `set local-preference +/-LOCAL_PREF`
Donatas Abraitis [Sun, 23 Feb 2020 18:59:54 +0000 (20:59 +0200)]
tests: Add a test case for `set local-preference +/-LOCAL_PREF`

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
5 years agodoc: Use +/- for `set local-preference` to add/subtract the value
Donatas Abraitis [Sun, 23 Feb 2020 18:55:14 +0000 (20:55 +0200)]
doc: Use +/- for `set local-preference` to add/subtract the value

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
5 years agobgpd: Allow using add/subtract for local-preference in route-maps
Donatas Abraitis [Sat, 22 Feb 2020 21:04:21 +0000 (23:04 +0200)]
bgpd: Allow using add/subtract for local-preference in route-maps

We already have a generic support for add/sub in route-maps. It's already
handled in route_value_compile().

Just convert to string (allow passing (-) minus sign) - works like expected.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
5 years agodoc: Change interface name for vrrp example
Donatas Abraitis [Fri, 28 Feb 2020 11:58:38 +0000 (13:58 +0200)]
doc: Change interface name for vrrp example

Looks like copy-paste error.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
5 years agoMerge pull request #5875 from donaldsharp/support_rfcs
Donatas Abraitis [Fri, 28 Feb 2020 07:23:44 +0000 (09:23 +0200)]
Merge pull request #5875 from donaldsharp/support_rfcs

doc: Add notice of rfc-4893 in supported rfc's.

5 years agoMerge pull request #5857 from mjstapp/embed_nhg_in_nhe
Stephen Worley [Thu, 27 Feb 2020 23:43:59 +0000 (18:43 -0500)]
Merge pull request #5857 from mjstapp/embed_nhg_in_nhe

zebra,lib: Embed lib nexthop-group in zebra hash entry

5 years agodoc: Add notice of rfc-4893 in supported rfc's.
Donald Sharp [Thu, 27 Feb 2020 22:51:30 +0000 (17:51 -0500)]
doc: Add notice of rfc-4893 in supported rfc's.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agozebra: Embed lib nexthop-group in zebra hash entry
Mark Stapp [Tue, 25 Feb 2020 13:29:46 +0000 (08:29 -0500)]
zebra: Embed lib nexthop-group in zebra hash entry

Embed nexthop-group, which is just a pointer, in the zebra
nexthop-hash-entry object, rather than mallocing one.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
5 years agoMerge pull request #5872 from Jafaral/backet
Donald Sharp [Thu, 27 Feb 2020 15:56:27 +0000 (10:56 -0500)]
Merge pull request #5872 from Jafaral/backet

Revert "*: change hash_backet to hash_bucket"

5 years agoRevert "*: change hash_backet to hash_bucket"
Jafar Al-Gharaibeh [Thu, 27 Feb 2020 15:47:02 +0000 (09:47 -0600)]
Revert "*: change hash_backet to hash_bucket"

This reverts commit 3895c42a2eb534a70ef25412547e798c1c1ef5a1.

LabN CI update needs to be coordinated before merging this

Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
5 years agoldpd: Cleanup indentation in merge_nbrps
Donald Sharp [Mon, 24 Feb 2020 14:12:17 +0000 (09:12 -0500)]
ldpd: Cleanup indentation in merge_nbrps

We had a very deeply nested function, reduce the indentation
for easier reading.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agobgpd: Cleanup indentation in bgp_route_refresh_receive
Donald Sharp [Mon, 24 Feb 2020 14:08:54 +0000 (09:08 -0500)]
bgpd: Cleanup indentation in bgp_route_refresh_receive

Some code in bgp_route_refresh_receive was spread across several
lines because of an end of line commit.  Move comment to a place
to allow better formating.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agoMerge pull request #5870 from donaldsharp/hash_backet
Jafar Al-Gharaibeh [Thu, 27 Feb 2020 15:02:35 +0000 (09:02 -0600)]
Merge pull request #5870 from donaldsharp/hash_backet

*: change hash_backet to hash_bucket

5 years agobgpd: agg_node_lookup not unlocking
Donald Sharp [Mon, 24 Feb 2020 13:45:36 +0000 (08:45 -0500)]
bgpd: agg_node_lookup not unlocking

SA has found a case where we did a table lookup of a rn( and
associated lock of that node ) where we did not unlock it.

Unlock the node before moving on to the next one.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agonhrpd: Cleanup set but unused variables
Donald Sharp [Mon, 24 Feb 2020 13:47:46 +0000 (08:47 -0500)]
nhrpd: Cleanup set but unused variables

There existed some variables set but never used.  Clean this up.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agoospfd: Cleanup set but unused variables
Donald Sharp [Mon, 24 Feb 2020 13:37:34 +0000 (08:37 -0500)]
ospfd: Cleanup set but unused variables

There existed some variables set but never used.  Clean this up.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agozebra: Cleanup set but unused variables
Donald Sharp [Mon, 24 Feb 2020 13:36:09 +0000 (08:36 -0500)]
zebra: Cleanup set but unused variables

There existed some variables set but never used.  Clean this up.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agoldpd: Cleanup set but unused variables
Donald Sharp [Mon, 24 Feb 2020 13:34:53 +0000 (08:34 -0500)]
ldpd: Cleanup set but unused variables

There existed some variables set but never used.  Clean this up.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agolib: Cleanup set but unused variables
Donald Sharp [Mon, 24 Feb 2020 13:29:27 +0000 (08:29 -0500)]
lib: Cleanup set but unused variables

There existed some variables set but never used.  Clean this up.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agobgpd: Cleanup set but unused variables
Donald Sharp [Mon, 24 Feb 2020 13:29:15 +0000 (08:29 -0500)]
bgpd: Cleanup set but unused variables

There existed some variables set but never used.  Clean this up.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agoMerge pull request #5864 from kuldeepkash/route_map
Donatas Abraitis [Thu, 27 Feb 2020 08:03:16 +0000 (10:03 +0200)]
Merge pull request #5864 from kuldeepkash/route_map

tests: Optimizing route-map test cases

5 years ago*: change hash_backet to hash_bucket
Donald Sharp [Thu, 27 Feb 2020 01:03:34 +0000 (20:03 -0500)]
*: change hash_backet to hash_bucket

It's been a year search and destroy.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agotests: Modified scripts to optimize execution time for route-map test suite
Kuldeep Kashyap [Tue, 25 Feb 2020 20:30:10 +0000 (20:30 +0000)]
tests: Modified scripts to optimize execution time for route-map test suite

1. Modified scripts to optimize execution time for route-map test suite
2. Removed unnecessary print statements from /lib/bgp.py

Signed-off-by: Kuldeep Kashyap <kashyapk@vmware.com>
5 years agoMerge pull request #5866 from qlyoung/fix-ipaddr-isset
Mark Stapp [Wed, 26 Feb 2020 20:34:50 +0000 (15:34 -0500)]
Merge pull request #5866 from qlyoung/fix-ipaddr-isset

lib: fix ipaddr_isset

5 years agolib: fix ipaddr_isset
Quentin Young [Wed, 26 Feb 2020 17:14:21 +0000 (12:14 -0500)]
lib: fix ipaddr_isset

Meaning inverted by mistake

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
5 years agodoc: document attribute-unchanged directive
rbauduin [Mon, 17 Feb 2020 12:13:11 +0000 (13:13 +0100)]
doc: document attribute-unchanged directive

This directive was undocumented, but is the way to configure the
next-hop to be left unchanged for ipv6 setups (in ipv4, a route-map with
`set next-hop unchanged` works fine, but this is unavailable for ipv6) .

Signed-off-by: Raphael Bauduin <rb@raphinou.com>
5 years agopbrd: unconfigure table range
Stephen Worley [Mon, 24 Feb 2020 20:51:39 +0000 (15:51 -0500)]
pbrd: unconfigure table range

Implement the [no] version of `pbr table range`. We had the command
but were doing nothing with it.

This just calls the set_table_range API again using the defaults.

Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
5 years agoMerge pull request #5783 from ton31337/fix/bad_formatting_bgpd_gr
Russ White [Tue, 25 Feb 2020 16:01:27 +0000 (11:01 -0500)]
Merge pull request #5783 from ton31337/fix/bad_formatting_bgpd_gr

bgpd: Format properly `show bgp neighbors` for graceful restart stuff

5 years agoMerge pull request #5270 from NaveenThanikachalam/rmap
Donald Sharp [Tue, 25 Feb 2020 14:15:49 +0000 (09:15 -0500)]
Merge pull request #5270 from NaveenThanikachalam/rmap

lib: Optimizing route-maps

5 years agoMerge pull request #5771 from pguibert6WIND/show_route_table_protocol
Donald Sharp [Tue, 25 Feb 2020 14:14:56 +0000 (09:14 -0500)]
Merge pull request #5771 from pguibert6WIND/show_route_table_protocol

vty: add command to get route with table, vrf and protocol

5 years agolib: use const in nexthop_group copy api
Mark Stapp [Tue, 25 Feb 2020 13:26:38 +0000 (08:26 -0500)]
lib: use const in nexthop_group copy api

Add some const to the nhg copy api.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
5 years agopimd: fix SA reports
Mark Stapp [Thu, 20 Feb 2020 13:41:57 +0000 (08:41 -0500)]
pimd: fix SA reports

Fix a couple of SA warnings introduced recently; replace some
'strcpy' calls.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
5 years agoMerge pull request #5838 from volta-networks/fix_isis_ifdown
Renato Westphal [Fri, 21 Feb 2020 13:41:09 +0000 (10:41 -0300)]
Merge pull request #5838 from volta-networks/fix_isis_ifdown

isisd: do not disable circuit on ifdown

5 years agoMerge pull request #5844 from qlyoung/fix-zebra-gr-unnecessary-malloc
Donatas Abraitis [Fri, 21 Feb 2020 13:03:46 +0000 (15:03 +0200)]
Merge pull request #5844 from qlyoung/fix-zebra-gr-unnecessary-malloc

Fix zebra gr unnecessary malloc

5 years agoMerge pull request #5847 from mjstapp/fix_pim_sas
Quentin Young [Thu, 20 Feb 2020 18:51:07 +0000 (13:51 -0500)]
Merge pull request #5847 from mjstapp/fix_pim_sas

pimd: fix SA reports

5 years agopimd: fix SA reports
Mark Stapp [Thu, 20 Feb 2020 13:41:57 +0000 (08:41 -0500)]
pimd: fix SA reports

Fix a couple of SA warnings introduced recently; replace some
'strcpy' calls.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
5 years agoMerge pull request #5842 from qlyoung/fix-test-then-xfree-again
Donatas Abraitis [Thu, 20 Feb 2020 12:40:02 +0000 (14:40 +0200)]
Merge pull request #5842 from qlyoung/fix-test-then-xfree-again

lib: do not test before XFREE

5 years agoMerge pull request #5845 from TomasKorbar/master
Donald Sharp [Thu, 20 Feb 2020 11:32:02 +0000 (06:32 -0500)]
Merge pull request #5845 from TomasKorbar/master

Make frr able to be built by gcc 10

5 years agoMerge pull request #5768 from donaldsharp/bgp_nexthop
Donatas Abraitis [Thu, 20 Feb 2020 08:05:53 +0000 (10:05 +0200)]
Merge pull request #5768 from donaldsharp/bgp_nexthop

Bgp nexthop

5 years agoMerge pull request #5831 from donaldsharp/small_test_speedups
Donatas Abraitis [Thu, 20 Feb 2020 07:43:26 +0000 (09:43 +0200)]
Merge pull request #5831 from donaldsharp/small_test_speedups

Small test speedups

5 years agopimd: Make frr able to be built by gcc 10
Tomas Korbar [Thu, 20 Feb 2020 06:37:55 +0000 (07:37 +0100)]
pimd: Make frr able to be built by gcc 10

- Add extern modifier to some declarations in header file and move
qpim_all_pim_routers_addr definition to pimd/pimd.c

`GCC now defaults to -fno-common. As a result, global variable accesses
are more efficient on various targets. In C, global variables with
multiple tentative definitions now result in linker errors.`
Taken from https://gcc.gnu.org/gcc-10/changes.html

Signed-off-by: Tomas Korbar <tkorbar@redhat.com>
5 years agoMerge pull request #5840 from opensourcerouting/route-map-recurse
Donald Sharp [Thu, 20 Feb 2020 03:56:25 +0000 (22:56 -0500)]
Merge pull request #5840 from opensourcerouting/route-map-recurse

lib: don't allow to recurse inside route-map node

5 years agozebra: remove null check before XFREE in GR code
Quentin Young [Thu, 20 Feb 2020 02:36:54 +0000 (21:36 -0500)]
zebra: remove null check before XFREE in GR code

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
5 years agozebra: reduce scope of XCALLOC for gr processing
Quentin Young [Wed, 19 Feb 2020 21:43:57 +0000 (16:43 -0500)]
zebra: reduce scope of XCALLOC for gr processing

Somewhat gnarly code flow here that might be leaking memory - can't tell
if it's a test artifact or not, but in any case this reduces the
situations in which we need to alloc a block.

And we don't need to check XCALLOC for success...
And we don't need to null check before XFREE...
Or set XFREE'd pointers to NULL...

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
5 years agolib: do not test before XFREE
Quentin Young [Wed, 19 Feb 2020 22:06:44 +0000 (17:06 -0500)]
lib: do not test before XFREE

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
5 years agolib: don't allow to recurse inside route-map node
Rafael Zalamena [Wed, 19 Feb 2020 20:51:07 +0000 (17:51 -0300)]
lib: don't allow to recurse inside route-map node

vtysh should handle going back up one level to try the command, there is
no need to be able to recurse inside route-map.

This also fixes a problem with northbound hitting the XPath queue limit
of 8 nodes.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
5 years agotests: Reduce rip[ng]-topo1 run time
Donald Sharp [Wed, 19 Feb 2020 13:06:44 +0000 (08:06 -0500)]
tests: Reduce rip[ng]-topo1 run time

Reduce rip topo1 run time from ~100 seconds down to ~45 seconds.

1) Reduce very very long sleeps
2) Modify rip timers to be more aggressive in sending data.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agoMerge pull request #5826 from mjstapp/fix_cli_pfx_doc
Donald Sharp [Wed, 19 Feb 2020 20:08:08 +0000 (15:08 -0500)]
Merge pull request #5826 from mjstapp/fix_cli_pfx_doc

doc: correct ip prefix token mapping table

5 years agotests: bgp_multiview_topo1 was taking too long
Donald Sharp [Wed, 19 Feb 2020 12:56:50 +0000 (07:56 -0500)]
tests: bgp_multiview_topo1 was taking too long

The bgp_multiview_topo1 test had two issues

a) An abbundance of sleeps that are not necessary
b) The convergence time was too short.

The upshoot of this is that the test goes from 72 -> 33 seconds
run time on my machine.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agoMerge pull request #5788 from karamalla0406/large_comm
Donatas Abraitis [Wed, 19 Feb 2020 20:03:59 +0000 (21:03 +0100)]
Merge pull request #5788 from karamalla0406/large_comm

bgpd: support 'show ip bgp large-community" on default vrf

5 years agoMerge pull request #5834 from opensourcerouting/route-map-fix-crash
Donald Sharp [Wed, 19 Feb 2020 20:03:12 +0000 (15:03 -0500)]
Merge pull request #5834 from opensourcerouting/route-map-fix-crash

lib: fix route-map coverity scan issue

5 years agoMerge pull request #5836 from donaldsharp/bgp_collision
Donatas Abraitis [Wed, 19 Feb 2020 19:51:02 +0000 (20:51 +0100)]
Merge pull request #5836 from donaldsharp/bgp_collision

bgpd: Add a better breadcrumb for when bgp is missconfiged

5 years agoMerge pull request #5837 from qlyoung/fix-zapi-pbr-unsupported-ip-family-log-message...
Donatas Abraitis [Wed, 19 Feb 2020 19:41:30 +0000 (20:41 +0100)]
Merge pull request #5837 from qlyoung/fix-zapi-pbr-unsupported-ip-family-log-message-newline

zebra: remove \n in zapi pbr family log msg

5 years agoisisd: do not disable circuit on ifdown
Emanuele Di Pascale [Wed, 19 Feb 2020 16:37:21 +0000 (17:37 +0100)]
isisd: do not disable circuit on ifdown

when zebra detects that an interface is gone, notify the circuit but do
not disable it - the interface is still configured until it isn't.

Without this fix, removing the interface in the kernel and then removing
the circuit from the configuration would cause an assertion in isis_csm.c:78

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agozebra: remove \n in zapi pbr family log msg
Quentin Young [Wed, 19 Feb 2020 16:24:43 +0000 (11:24 -0500)]
zebra: remove \n in zapi pbr family log msg

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
5 years agobgpd: Add a better breadcrumb for when bgp is missconfiged
Donald Sharp [Wed, 19 Feb 2020 15:52:14 +0000 (10:52 -0500)]
bgpd: Add a better breadcrumb for when bgp is missconfiged

Currently During bgp open collision resolution if both
the router-id's are the same, we correctly follow
the RFC and close the connection.  The problem is of course
that there is no notification of the error in configuration
to the end user other than a subtle open debug message.

Explicitly call out the miss-configuration as an error message
as that this miss-config took several hours of debugging to notice.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agodoc: correct ip prefix token mapping table
Mark Stapp [Tue, 18 Feb 2020 19:08:21 +0000 (14:08 -0500)]
doc: correct ip prefix token mapping table

Fix the table that shows the mapping between ip network cli
tokens and the data struct that the cli handler will see.
Optional network/subnet types appear as a pointer to an
all-zeroes struct, not a NULL pointer.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
5 years agoMerge pull request #5802 from ton31337/feature/aggregate-address_origin_override
Donald Sharp [Wed, 19 Feb 2020 13:38:31 +0000 (08:38 -0500)]
Merge pull request #5802 from ton31337/feature/aggregate-address_origin_override

bgpd: Allow overriding ORIGIN for aggregate-address

5 years agolib: fix route-map coverity scan issue
Rafael Zalamena [Wed, 19 Feb 2020 13:35:28 +0000 (10:35 -0300)]
lib: fix route-map coverity scan issue

Use better TAILQ free idiom to avoid coverity scan warnings. This fixes
the coverity scan issue 1491240 .

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
5 years agoMerge pull request #5830 from mjstapp/fix_rtadv_stubs
Donald Sharp [Wed, 19 Feb 2020 13:31:57 +0000 (08:31 -0500)]
Merge pull request #5830 from mjstapp/fix_rtadv_stubs

zebra: fix missing rtadv stub functions

5 years agoMerge pull request #5809 from donaldsharp/vrf_name
Donatas Abraitis [Wed, 19 Feb 2020 13:23:32 +0000 (14:23 +0100)]
Merge pull request #5809 from donaldsharp/vrf_name

Print out vrf name as well as id

5 years agoMerge pull request #5795 from donaldsharp/lua_dev_doc
Donatas Abraitis [Wed, 19 Feb 2020 13:23:11 +0000 (14:23 +0100)]
Merge pull request #5795 from donaldsharp/lua_dev_doc

doc: Add some basic how-to for lua and clean up some found issues

5 years agozebra: fix missing rtadv stub functions
Mark Stapp [Tue, 18 Feb 2020 21:49:54 +0000 (16:49 -0500)]
zebra: fix missing rtadv stub functions

Add in a few missing stub route-advert functions; these are
needed to build frr with v6 route adverts disabled.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
5 years agoMerge pull request #5823 from donaldsharp/irdp_what
Mark Stapp [Tue, 18 Feb 2020 19:27:48 +0000 (14:27 -0500)]
Merge pull request #5823 from donaldsharp/irdp_what

Irdp build and log fixes

5 years agoMerge pull request #5651 from AnuradhaKaruppiah/evpn-pim-fixes
Philippe Guibert [Tue, 18 Feb 2020 17:21:16 +0000 (18:21 +0100)]
Merge pull request #5651 from AnuradhaKaruppiah/evpn-pim-fixes

EVPN-PIM: complete anycast (MLAG) VTEP support

5 years agoMerge pull request #5813 from mjstapp/zapi_labels_use_nh
Donald Sharp [Tue, 18 Feb 2020 14:57:22 +0000 (09:57 -0500)]
Merge pull request #5813 from mjstapp/zapi_labels_use_nh

*: encode zapi labels message using nexthops

5 years agozebra: Fix checksum calculation to not include old checksum
Donald Sharp [Tue, 18 Feb 2020 00:43:22 +0000 (19:43 -0500)]
zebra: Fix checksum calculation to not include old checksum

As part of checksum calculation for a received packet we were
comparing the checksum returned from in_cksum.  Typically
when we calculate the checksum the value stored in the checksum
must be all 0's.  Store the received checksum and then set
the checksum to 0 and then compare.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agozebra: Fix zlog_debug -> flog_err for error situations in IRDP
Donald Sharp [Tue, 18 Feb 2020 00:31:57 +0000 (19:31 -0500)]
zebra: Fix zlog_debug -> flog_err for error situations in IRDP

In several places we would send debug messages for failure situations
that really should be errors.

Signed-off-by: Donald Sharpd <sharpd@cumulusnetworks.com>
5 years agozebra: SO_BROADCAST needs a uint32_t instead of a uint8_t
Donald Sharp [Tue, 18 Feb 2020 00:24:16 +0000 (19:24 -0500)]
zebra: SO_BROADCAST needs a uint32_t instead of a uint8_t

Using SO_BROADCAST, in the linux kernel, requires a uint32_t to be passed
in for all SOL_SOCKET calls.  Modify code to use it.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agolib: Optimizing route-maps - Part-4
Naveen Thanikachalam [Fri, 20 Dec 2019 09:25:30 +0000 (01:25 -0800)]
lib: Optimizing route-maps - Part-4

The commit includes the documentation for the newly introduced
commands to enable/disable the optimization.

Signed-off-by: NaveenThanikachalam <nthanikachal@vmware.com>
5 years agolib: Optimizing route-maps - Part-3
Naveen Thanikachalam [Fri, 20 Dec 2019 06:57:09 +0000 (22:57 -0800)]
lib: Optimizing route-maps - Part-3

* This commit implements the code style suggestions from Polychaeta.
* This commit also introduces a CLI to toggle the optimization and, a hidden
  CLI to display the contents of the constructed prefix tree.

Signed-off-by: NaveenThanikachalam <nthanikachal@vmware.com>
5 years agolib: Optimizing route-maps - Part-2
Naveen Thanikachalam [Sat, 2 Nov 2019 02:43:10 +0000 (19:43 -0700)]
lib: Optimizing route-maps - Part-2

This commit introduces the logic that computes the best-match route-map index
for a given prefix.

Signed-off-by: NaveenThanikachalam <nthanikachal@vmware.com>
5 years agolib: Optimizing route-maps - Part-1
Naveen Thanikachalam [Sat, 2 Nov 2019 02:42:20 +0000 (19:42 -0700)]
lib: Optimizing route-maps - Part-1

* This commit introduces the building blocks.
    A per-route-map prefix tree is introduced.
    This tree will consist of the prefixes defined within the prefix-lists
    that are added to the match clause of that route-map.

Signed-off-by: NaveenThanikachalam <nthanikachal@vmware.com>
5 years agoMerge pull request #5801 from donaldsharp/bgp_peer_sort
Sri Mohana Singamsetty [Tue, 18 Feb 2020 05:39:37 +0000 (21:39 -0800)]
Merge pull request #5801 from donaldsharp/bgp_peer_sort

Bgp peer sort