Commit Graph

17036 Commits

Author SHA1 Message Date
Sri Mohana Singamsetty
dfbca14b5e
Merge pull request #4986 from qlyoung/fix-bgp-zero-keepalive-timer-7.2
[7.2] bgpd: do not send keepalives when KA timer is 0
2019-09-16 11:19:50 -07:00
Quentin Young
d8e2b28bd8 bgpd: do not send keepalives when KA timer is 0
RFC4271 specifies behavior when the hold timer is sent to zero - we
should not send keepalives or run a hold timer. But FRR, and other
vendors, allow the keepalive timer to be set to zero with a nonzero hold
timer. In this case we were sending keepalives constantly and maxing out
a pthread to do so. Instead behave similarly to other vendors and do not
send keepalives.

Unsure what the utility of this is, but blasting keepalives is
definitely the wrong thing to do.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2019-09-16 16:18:07 +00:00
Donatas Abraitis
4de6689dc7
Merge pull request #4976 from opensourcerouting/disable-ecmp2-test-7.2
[7.2] Disable bgp-ecmp-topo2 topotest until proper fix is developed
2019-09-14 17:26:42 +03:00
Donald Sharp
19804885a1
Merge pull request #4979 from ton31337/feature/route-map_aggregate_command_7.2
bgpd: [7.2] Apply route-map for aggregate-address
2019-09-14 07:42:33 -04:00
Donatas Abraitis
16570e338a tests: Improve bgp_aggregate-address_route-map test
Rewrite some parts to add more visibility what's going on if test fails.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2019-09-13 14:56:09 +03:00
Donatas Abraitis
fd92514cbc doc: Add documentation for aggregate-address with route-map support
Additionally remove trailling/unnecesarry whitespaces and align code
snippets correctly.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2019-09-13 14:52:46 +03:00
Donatas Abraitis
65e62caddc topotests: Add test for checking if route-map is applied for aggregate-address
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2019-09-13 14:52:40 +03:00
Donatas Abraitis
cde3c2b2ea bgpd: Apply route-map for aggregate-address command
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2019-09-13 14:52:34 +03:00
Martin Winter
cbda750080 tests: Disable bgp-ecmp-topo2 topotest until proper fix is developed
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2019-09-13 02:09:05 +02:00
Donald Sharp
4afb9e38ad
Merge pull request #4971 from mjstapp/fix_redist_update_7_2
[7.2] zebra: revise redistribution delete to improve update case
2019-09-12 17:41:06 -04:00
Mark Stapp
ee8a72f315 zebra: revise redistribution delete to improve update case
When selecting a new best route, zebra sends a redist update
when the route is installed. There are cases where redist
clients may not see that redist add - clients who are not
subscribed to the new route type, e.g. In that case, attempt
to send a redist delete for the old/previous route type.

Revised the redist delete api to accomodate both cases;
also tightened up the const-ness of a few internal redist apis.

[7.2 version]

Signed-off-by: Mark Stapp <mjs@voltanet.io>
2019-09-12 11:30:42 -04:00
Donatas Abraitis
ad1fb8e40e
Merge pull request #4944 from donaldsharp/72_increase_time_out
[7.2]tests: Ensure we wait 1 bgp timeout period before declaring failure
2019-09-07 07:11:26 +03:00
Donald Sharp
5ba498905f tests: Ensure we wait 1 bgp timeout period before declaring failure
The lib/bgp.py test code is bringing up neighbors and clearing them
to test that things are working appropriately.  The problem we have
is that we are only waiting 30 seconds for declaration of failure.
In a high load system packets can be lost and as such the initial
convergence may not happen.  Modify the test to wait for 1 retry
window test period before declaring failure.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2019-09-06 13:02:58 -04:00
Donald Sharp
81b96c6e95
Merge pull request #4936 from ton31337/feature/documentation_for_rfc8212_7.2
doc: [7.2] Add documentation for `bgp ebgp-requires-policy` command
2019-09-06 07:37:16 -04:00
Donatas Abraitis
8b29169eb4 doc: Add documentation for bgp ebgp-requires-policy command
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2019-09-05 20:05:05 +03:00
Mark Stapp
6c11fdb3c4
Merge pull request #4932 from sworleys/Static-Route-Dev-Redist-Fix
staticd: Re-send/Remove routes on interface events
2019-09-04 15:06:55 -04:00
Donald Sharp
641adc3196
Merge pull request #4883 from mjstapp/dplane_vteps
Zebra: use dataplane for evpn vtep programming
2019-09-04 14:14:20 -04:00
David Lamparter
ce9d312c1c
Merge pull request #4930 from donaldsharp/4851_fixup
isisd: Enabling build with openssl
2019-09-04 20:08:37 +02:00
Mark Stapp
8ce4c74607
Merge pull request #4789 from sworleys/Nexthop-Sort-Optimization
lib: Nexthop Sorting Optimizations
2019-09-04 13:35:50 -04:00
Stephen Worley
c14b7f18f6 staticd: Re-send/Remove routes on interface events
We were not processing interface up/down events for device only
static routes. This patch looks up the ifp and then calls
the same API we are using for interface add/remove events.

Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
2019-09-04 12:38:56 -04:00
Mark Stapp
0bbd4ff442 zebra: move EVPN VTEP programming to dataplane
Move VTEP install/uninstall to the zebra dataplane. Remove
synch kernel-facing apis and helper functions.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
2019-09-04 10:30:17 -04:00
Donald Sharp
c9042b2890
Merge pull request #4877 from mjstapp/dplane_neighs
zebra: move evpn neighbors to dataplane
2019-09-04 10:23:31 -04:00
Michal Ruprich
6252100f88 isisd: Enabling build with openssl
Similar to PR #4677, I am enabling the openssl library for md5
authentication in IS-IS

Signed-off-by: Michal Ruprich <michalruprich@gmail.com>
2019-09-04 09:39:47 -04:00
Donald Sharp
628c0de887
Merge pull request #4874 from manuhalo/fix_isis_mtu
isisd: check MTU when configuring circuit
2019-09-04 07:54:08 -04:00
Donald Sharp
947d34af23
Merge pull request #4869 from rtrlib/2019-08-22-bugfix-master
bgpd: rpki fixes (master)
2019-09-04 07:49:14 -04:00
Donatas Abraitis
240c41c821
Merge pull request #4908 from qlyoung/vtysh-find-regexp
vtysh, lib: allow regexp in `find` command
2019-09-04 14:47:34 +03:00
Donald Sharp
4e279d01b7
Merge pull request #4918 from brchiu/fix_values_cnt_error
lib: Fix erroneously setting pointer values_cnt as NULL
2019-09-04 06:53:33 -04:00
Jafar Al-Gharaibeh
ad489a1892
Merge pull request #4927 from donaldsharp/eigrp_sa_fix
eigrpd: Fix SA issue with setting but not using
2019-09-04 01:00:06 -05:00
Jafar Al-Gharaibeh
cc7f8ad974
Merge pull request #4926 from donaldsharp/pbr_mark
doc: Update pbr to reflect new mark match command.
2019-09-03 21:17:13 -05:00
Donald Sharp
11d443f591
Merge pull request #4925 from ddutt/master
bgpd: Fixes to error message printed for failed peerings
2019-09-03 20:36:53 -04:00
Bi-Ruei, Chiu
dd9a956ee6 lib: Fix erroneously setting pointer values_cnt as NULL
It should be :

  *values_cnt = 0;

not

  values_cnt = 0;

Signed-off-by: Bi-Ruei, Chiu <biruei.chiu@gmail.com>
2019-09-04 08:27:43 +08:00
Donald Sharp
7d7acfc779 eigrpd: Fix SA issue with setting but not using
We assign a value to the eigrp data structure and then
immediately overwrite it in the for loop.  No need to
do a eigrp_lookup.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2019-09-03 19:22:27 -04:00
Donald Sharp
91dd8efee3
Merge pull request #4924 from Jafaral/gnulinux
zebra: use GNU_LINUX instead of LINUX
2019-09-03 19:21:06 -04:00
Donald Sharp
a547ef391c doc: Update pbr to reflect new mark match command.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2019-09-03 19:18:21 -04:00
Donald Sharp
453ff8cd87
Merge pull request #4923 from Jafaral/pbrmark
pbrd: support mark matches
2019-09-03 19:12:44 -04:00
Marcin Matląg
95a9fe025a pbrd: initial fwmark support for pbr matches #4460
Adds support to specify marks in pbr-map match clause.
Marks should be provided as decimal (unsigned int).

Currently supported on Linux only. Attempting to configure
marks on other platform will result in:

"pbr marks are not supported on this platform"

Signed-off-by: Marcin Matlag <marcin.matlag@gmail.com>
Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
2019-09-03 15:30:10 -05:00
Dinesh G Dutt
05912a17e6 bgpd: Fixes to error message printed for failed peerings
There was a silly bug introduced when the command to show failed sessions
was added. A missing "," caused the wrong error message to be printed.
Debugging this led down a path that:
   - Led to discovering one more error message that needed to be added
   - Providing the error code along with the string in the JSON output
     to allow programs to key off numbers rather than strings.
   - Fixing the missing ","
   - Changing the error message to "Waiting for Peer IPv6 LLA" to
     make it clear that we're waiting for the link local addr.

Signed-off-by: Dinesh G Dutt <5016467+ddutt@users.noreply.github.com>
2019-09-03 19:55:49 +00:00
Donald Sharp
9d55926924
Merge pull request #4892 from pguibert6WIND/nhtresolvedefaultvrf
zebra: nht resolution default configurable per vrf
2019-09-03 15:40:43 -04:00
Jafar Al-Gharaibeh
70bc8385a3 zebra: use GNU_LINUX instead of LINUX
Everywhere else in the code we use GNU_LINUX, that is the symbol we actualy define in the configuration. Don't rely on compiler's built-in symbols.

Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
2019-09-03 14:22:38 -05:00
Quentin Young
68376178e5
Merge pull request #4919 from opensourcerouting/config-warnings
build: error out on implicit missing libcap, warn for protobuf FPM
2019-09-03 14:55:38 -04:00
Quentin Young
9dcb41a65c
Merge pull request #4604 from opensourcerouting/mutex-sugar
mutex syntactic sugar
2019-09-03 14:55:14 -04:00
Rafael Zalamena
94c56f124a
Merge pull request #4922 from pguibert6WIND/bfd_close_sockets
bfdd: close bfd echo sockets, upon vrf disable
2019-09-03 14:18:13 -03:00
Quentin Young
68912a2066 vtysh, lib: allow regexp in find command
¯\_(ツ)_/¯

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2019-09-03 16:09:52 +00:00
David Lamparter
81047bc5b7 doc: add frr_{each,with} to coding style
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2019-09-03 17:18:35 +02:00
David Lamparter
0cf6db21ec *: frr_elevate_privs -> frr_with_privs
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2019-09-03 17:18:35 +02:00
David Lamparter
ba28659f1c tools: extend checkpatch.pl for frr_{with,each}
For frr_each, just fix some existing warnings;  for frr_with_* add a
warning indicating that braces should always be used.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2019-09-03 17:15:17 +02:00
David Lamparter
6421f2c6d9 doc: add developer docs for frr_with_mutex
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2019-09-03 17:15:17 +02:00
David Lamparter
00dffa8cde lib: add frr_with_mutex() block-wrapper
frr_with_mutex(...) { ... } locks and automatically unlocks the listed
mutex(es) when the block is exited.  This adds a bit of safety against
forgetting the unlock in error paths & co. and makes the code a slight
bit more readable.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2019-09-03 17:15:17 +02:00
David Lamparter
48373d46f1 lib: add some macro helpers
Macro soup, now with 50% more macros.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2019-09-03 17:15:17 +02:00
Russ White
a3aea4ebaf
Merge pull request #4907 from donaldsharp/ospf_write_q
ospfd: Do not turn on write thread unless we have something in it
2019-09-03 11:12:35 -04:00