Build: #395 failed Custom build by Github Hook with revision master
Code commits
FRR - Topotests
FRR - FreeRangeRouting
-
Quentin Young bb6bf8403554c7c5bc904090867856c9ac19e3ef
Merge pull request #4156 from ton31337/fix/allow_backslash_in_as-path_regexp
bgpd: Allow backslash in as-path filter lists -
Mark Stapp <mjs@voltanet.io> c02a40c14fec005d419ad1dbd3fac0e9521b9c6f
Merge pull request #4165 from dslicenc/rnh-invalid-nexthops
zebra: stop sending invalid nexthops to clients -
Don Slice <dslice@cumulusnetworks.com> e47c4d3cfe7bf7c97f4b10fc6347f484093f14bd
zebra: stop sending invalid nexthops to clients
Found that zebra_rnh_apply_nht_rmap would set the
NEXTHOP_FLAG_ACTIVE if not blocked by the route-map, even
if the flag was not active prior to the check. This fix
changes the flag used to denote the nexthop is filtered so
that proper active state can be retained. Additionally,
found two cases where we would send invalid nexthops via
send_client, which would also cause this crash. All three
fixed in this commit.
Signed-off-by: Don Slice <dslice@cumulusnetworks.com> -
Quentin Young fd3938ac3dd36b4c09ec5023769dd4cfc6ee0fc6
Merge pull request #4164 from opensourcerouting/rm-ports
ports: remove abandoned ports subdirectory -
Mark Stapp <mjs@voltanet.io> 6019e4fdd85f766a73f01cbc152fdd5888392398
Merge pull request #4154 from donaldsharp/zebra_run_once
Zebra: run nht once -
Donald Sharp dd50eeb11501268003148b4d445be882db12823d
lib, zebra: Remove unused flag
The NEXTHOP_FLAG_FILTERED went away when we started treating
static routes like every other route in the system. This was
a special case for handling static route code that just didn't
get finished cleaning up.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com> -
Donald Sharp 80ad04184f2e0b20bf8d0eff8fdd94fc1fb690da
zebra: Double check is not necessary in nexthop_active_update
The nexthop_active_update command looks at each individual
nexthop and decides if it has changed. If any nexthop
has changed we will set the re->status to ROUTE_ENTRY_CHANGED
and ROUTE_ENTRY_NEXTHOPS_CHANGED.
Additionally the test for old_nh_num != curr_active
makes no sense because suppose we have several events
we are processing at the same time and a total ecmp
of 16 but 14 are active at the start and 14 are active
at the end but different interfaces are up or down.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com> -
Donald Sharp 6883bf8d35e0e0cf9c5960af317c8d499fd81d4c
zebra: Run nexthop_active_check once
We currently run nexthop_active_check multiple times. Make the
code run once and figure out state from that.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com> -
Donald Sharp df38b099ee52c682d2120e65a95b749e6b31bb59
zebra: Update flag output for route entry dump
Update the nexthop flag output for the route entry dump to
include all possible flag states be output.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com> -
Donald Sharp 99eabcec1aab693ccc56dbda823f3b4571e484c9
zebra: nexthop_active_update does not need set
We are effectively calling nexthop_active_update() on every
route entry being processed for installation at least 2 times.
This is a bit ridiculous. We need to resolve the nexthops
when we know a route has changed in some manner, so do so.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com> -
Sri Mohana Singamsetty <srimohans@gmail.com> fd5c2ea54ccaf2bf7f5dda90e49f9c15203708f0
Merge pull request #4116 from nitinsoniism/show_l2vpn_evpn_route_detail
bgpd: new show cmd - bgp l2vpn evpn route detail -
Donald Sharp 454192f46f76c221670f4a7aa4bfc0c870d6ed45
lib: Add a counter for number of nexthops
Add a ability to count the number of nexthops in a nexthop_group.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com> -
Donald Sharp 73587535ff205e7e65eb77765be565fc76707e0c
tests: bgp_l3vpn_to_bgp_vrf were bailing to quickly
The tests are not coming up consistently on my test box. Add a bit of wait
time to test to allow normal bgp when the first attempt doesn't come up.
Especially since bgp timeouts are 120 seconds with non datacenter compiles.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com> -
Mark Stapp <mjs@voltanet.io> ad7d96c159a2e32b5b78573076d82331f3ccd056
Merge pull request #4141 from opensourcerouting/nb-minor-fixes
northbound minor fixes and improvements -
Renato Westphal 13b5e99ce4e245bbe1e89c3c4d8f8a7acb7cb1f7
ports: remove abandoned ports subdirectory
This subdirectory is outdated in all possible ways. Remove it.
FRR already has a FreeBSD port and it's maintained separately.
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>- Makefile.am (version 13b5e99ce4e245bbe1e89c3c4d8f8a7acb7cb1f7) (diffs)
- ports/Makefile (version 13b5e99ce4e245bbe1e89c3c4d8f8a7acb7cb1f7) (diffs)
- ports/README (version 13b5e99ce4e245bbe1e89c3c4d8f8a7acb7cb1f7) (diffs)
- ports/files/md5 (version 13b5e99ce4e245bbe1e89c3c4d8f8a7acb7cb1f7) (diffs)
- ports/pkg/COMMENT (version 13b5e99ce4e245bbe1e89c3c4d8f8a7acb7cb1f7) (diffs)
- ports/pkg/DESCR (version 13b5e99ce4e245bbe1e89c3c4d8f8a7acb7cb1f7) (diffs)
- ports/pkg/PLIST (version 13b5e99ce4e245bbe1e89c3c4d8f8a7acb7cb1f7) (diffs)
-
Renato Westphal <renato@openbsd.org> 328b7abec5a160c4786889be22e284e0acff03f0
Merge pull request #4160 from pguibert6WIND/optionZforgotten
bgpd: add the -Z option to run bgp without zebra -
Renato Westphal c650e48c54c2f524a473781f019b059daf2fd8d0
lib: introduce flog() to simplify the northbound code a little bit
flog() is a small wrapper around zlog() that can be useful in a
few places to reduce code duplication.
Signed-off-by: Renato Westphal <renato@opensourcerouting.org> -
Renato Westphal e412d3b8d974dd39d95ce484b021a6593d373151
lib: move zlog() prototype back to the public logging API
zlog() should be part of the public logging API as it's useful in
the cases where the logging priority isn't known at compile time
(i.e. it depends on a variable).
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>- isisd/isis_misc.c (version e412d3b8d974dd39d95ce484b021a6593d373151) (diffs)
- lib/log.h (version e412d3b8d974dd39d95ce484b021a6593d373151) (diffs)
- lib/log_int.h (version e412d3b8d974dd39d95ce484b021a6593d373151) (diffs)
- lib/yang.c (version e412d3b8d974dd39d95ce484b021a6593d373151) (diffs)
- zebra/zebra_rib.c (version e412d3b8d974dd39d95ce484b021a6593d373151) (diffs)
-
Renato Westphal ec3ee0ebb8d3d51a07899356a876b268b3d72eb7
lib: make nb_candidate_edit() more flexible
Certain operations, like removing non-presence containers or
modifying list keys, are not considered to be valid from the
perspective of the northbound layer. This is because we want to
implement a minimum set of northbound configuration callbacks and
use them to process all possible configuration changes.
The removal of a np-container [1], for example, can be processed by
calling the "delete" callback of all of its child nodes (recursion
is used for np-container child nodes). Similarly, the modification
of a list key can be processed as if the corresponding list entry
was removed and readded with updated key values. This strategy saves
us the burden of implementing lots of extra configuration callbacks.
That said, the nb_operation_is_valid() function shouldn't be used
for anything other than checking which callbacks are valid for
which YANG nodes. Using it in the nb_candidate_edit() function
is inappropriate as we want as much flexibility as possible when
editing a candidate configuration. We should allow CLI commands,
for example, to remove np-containers (the northbound layer will then
figure out which callbacks need to be called when this candidate
is committed). Remove the check.
[1] We can't do the same for presence containers since they have a
"create" callback associated with them.
Signed-off-by: Renato Westphal <renato@opensourcerouting.org> -
Renato Westphal 1ae9686cdf1b3e514345a5c8ddfa060d9d0429eb
lib: don't initialize the northbound database in the unit tests
Move call to nb_db_init() from nb_init() to frr_init() so that only
the FRR daemons will initialize the northbound database. This should
fix a few warnings when running some unit tests.
Signed-off-by: Renato Westphal <renato@opensourcerouting.org> -
Renato Westphal de4eaa3c55f3230d6c8e90581b228f52ef4c735d
lib: sync sysrepo module with latest API changes
Signed-off-by: Renato Westphal <renato@opensourcerouting.org> -
Philippe Guibert c0064d2ae83e3995806ec3c54554af3c14bc30bb
bgpd: add the -Z option to run bgp without zebra
this feature was already pushed, but the way the arguments were passed
to bgp were wrong.
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com> -
Donatas Abraitis <donatas.abraitis@gmail.com> da6035e993ea6ab2b6d71857115e695519b1bc88
bgpd: Allow backslash in as-path filter lists
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com> -
Quentin Young 3c7940063b40250354cccc6b582a81d10a5a4261
.gitignore: ignore core dumps
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com> -
Quentin Young 5716ca94da80d25d6180f710563f976dd055c693
lib: remove core dump
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com> -
Donald Sharp 87faa29bce4ff2497dfb75b29b02912ff31542fe
Merge pull request #4151 from opensourcerouting/ospf-assorted-20190417
assorted OSPF fixes -
Mark Stapp <mjs@voltanet.io> 3127c0ace35fb4196f6ad92ebab80dff73f11e74
Merge pull request #4148 from donaldsharp/ospf6_list_headinator
ospf6d: listhead returns a listnode * -
David Lamparter f32b6b9ceabc2960282845c7494892b9cd25d271
ospfd: make ECMP nexthop order deterministic
The order of ECMP nexthops currently depends on whatever order the
pqueue code returns the vertices in, which is essentially random since
they compare as equal. While this shouldn't cause issues normally, it
is nondeterministic and causes the ldp-topo1 test to fail when the
ordering comes up different. Also, nondeterministic behaviour is not a
nice thing to have here in general.
Just sort by nexthop address; realistic numbers of ECMP nexthops should
hopefully not make this a performance issue. (Also, nexthops should be
hot in the caches here.)
Signed-off-by: David Lamparter <equinox@opensourcerouting.org> -
David Lamparter a61b32f00dffd7c75a84842286265eacf7bc318f
ospfd: fix clang-SA warning
Need to clear refresh_list before dropping the reference.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org> -
Donald Sharp 1019731833f2f5a5b6b28d0909df4895cc388398
ospf6d: listhead returns a listnode *
The ospf6_route_get_first_nh_index function call calls
listhead which returns a (listnode *) but we are casting
it to a (struct ospf6_nexthop *) and away we go.
Fixes: #4142
Found By: Kwind
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com> -
Donald Sharp 42452fcbb2523b004908208dcda0db1284c74384
Merge pull request #4147 from mjstapp/fix_pim_zebra_warning
pimd: fix compile warnings -
Russ White <russ@riw.us> fe586c647b26d87da59249fe821e04cf27ac1c87
Merge pull request #4084 from qlyoung/bgp-prefix-md5-auth
Support TCP MD5 auth on prefixes & enable MD5 auth for BGP listen ranges -
Mark Stapp <mjs@voltanet.io> d1a1b09c45abec1e76360943da20afa4f94c9903
pimd: fix compile warnings
Remove set-but-unused variables that provoke compile warnings
Signed-off-by: Mark Stapp <mjs@voltanet.io> -
Mark Stapp <mjs@voltanet.io> ce3c7c2f782e6329d8824f3db6097324839094bd
Merge pull request #4132 from opensourcerouting/northbound-debug
lib: add fine-grained debugging in the northbound -
Quentin Young c74fea17c20c6b62504d9acc1825376c6aad5d36
Merge pull request #4143 from opensourcerouting/update-libyang-build-intr
doc: update libyang build instructions to enable compiler optimizations -
Russ White <russ@riw.us> 0145af37e9383ee39c26be17467beadcc5cc2cb0
Merge pull request #4031 from nitinsoniism/show_evpn_route_vni_all_detail
bgpd: new show cmd - bgp l2vpn evpn route vni all detail -
Quentin Young d79e0e085bc177d85eccd8267e343d6cdb5baff9
doc: document bgp listen ranges and md5 behavior
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com> -
Quentin Young 9e7d9a61acc551ff73b10fa2892d38d4bd0109f3
bgpd: add support for MD5 auth on listen ranges
Co-authored-by: Donald Sharp <sharpd@cumulusnetworks.com>
Co-authored-by: Quentin Young <qlyoung@cumulusnetworks.com>
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com> -
Quentin Young b33e46666d390dbbbe4b5434b11df0100da94ed4
lib: add support for extended TCP MD5 auth
MD5 auth on TCP is supported for prefixes in recent versions of Linux;
add complementary support for FRR.
This is a reworked version of Donald's commit to keep library
compatibility and obviate the need for changes in daemons that don't
need to support this themselves.
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com> -
Renato Westphal <renato@openbsd.org> 4a86cac885bbb21f8e382c294ae5a8b4e0fbfd22
Merge pull request #3720 from donaldsharp/bgp_vrf_peering
lib: Allow bgp to always create a listen socket for the vrf -
Lou Berger 817489896f23647e2edfcd053a86924fbaec0724
Merge pull request #3762 from pguibert6WIND/do_not_alloc_lists_fs_by_def
bgpd: do not allocate lists on fs entries of bgp entries. -
Russ White <russ@riw.us> 0697abef9d425e0443a6746021ed012eed3cfd13
Merge pull request #4096 from donaldsharp/pim_nht_cleanup
Pim nht cleanup -
Russ White <russ@riw.us> bfb1d6a7bf738a17c23e525c4c0e96f4fb379aaf
Merge pull request #4094 from mjstapp/dplane_system_routes
zebra: dataplane notifications for system route changes -
Russ White <russ@riw.us> c03b550b7a03e94bb077d0f43689035f08752e79
Merge pull request #4029 from ak503/isis_yang
isis: priority of isis commands in interface configuration -
Renato Westphal 45242058ecc742dc97a8039e0ff9316840458aee
doc: update libyang build instructions to enable compiler optimizations
libyang defaults CMAKE_BUILD_TYPE to "Debug", which disables compiler
optimizations. We should instruct our users to build libyang in the
"Release" mode so that compiler optimizations are enabled and they
can benefit from the associated performance improvements.
Signed-off-by: Renato Westphal <renato@opensourcerouting.org> -
Dmitrii Turlupov <dturlupov@factor-ts.ru> ee22b196135c9ca6229f36d0d5c6dd1d725f7656
fabricd: allow redistribute statements with both the route-map and metric options
Signed-off-by: Dmitrii Turlupov <dturlupov@factor-ts.ru> -
Dmitrii Turlupov <dturlupov@factor-ts.ru> db450368970568e9590c59cfcfa07b5e80902ecc
yang: priority of isis commands in interface configuration
Move down the "circuit-type" leaf in the isisd YANG module so that
"ip[v6] router isis" will be the first commands displayed in the
running configuration.
Fixes #4028.
Signed-off-by: Dmitrii Turlupov <dturlupov@factor-ts.ru> -
Dmitrii Turlupov <dturlupov@factor-ts.ru> 82c25998be1b6580e1b9e7200831a7c3e2e9ce3a
isisd: allow redistribute statements with both the route-map and metric options
Fixes #4012.
Signed-off-by: Dmitrii Turlupov <dturlupov@factor-ts.ru> -
Renato Westphal <renato@openbsd.org> 586d3786037816786171fc0f33da8e092d36aa58
Merge pull request #4139 from qlyoung/doc-add-libyang-denablecache-fix
doc: document libyang cache bug workaround -
Quentin Young 03e72d8071aa749fd97899148564d613ab82d934
doc: document libyang cache bug workaround
Document workaround for
https://github.com/CESNET/libyang/issues/752
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com> -
Renato Westphal 9eb2c0a1dc80c2693f3290df85e04dbe58f7575d
lib: add fine-grained debugging in the northbound
Split the "debug northbound" command into the following commands:
* debug northbound callbacks configuration
* debug northbound callbacks state
* debug northbound callbacks rpc
* debug northbound notifications
* debug northbound events
* debug northbound client confd
* debug northbound client sysrepo
If "debug northbound" is entered alone, all of its suboptions
are enabled.
This commit also adds code to debug state/rpc callbacks and
notifications (only configuration callbacks were logged before).
Use the debugging infrastructure from "lib/debug.h" in order to
benefit from its facilities (e.g. MT-safe debugging) and avoid
code duplication.
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>- lib/northbound.c (version 9eb2c0a1dc80c2693f3290df85e04dbe58f7575d) (diffs)
- lib/northbound.h (version 9eb2c0a1dc80c2693f3290df85e04dbe58f7575d) (diffs)
- lib/northbound_cli.c (version 9eb2c0a1dc80c2693f3290df85e04dbe58f7575d) (diffs)
- lib/northbound_confd.c (version 9eb2c0a1dc80c2693f3290df85e04dbe58f7575d) (diffs)
- lib/northbound_sysrepo.c (version 9eb2c0a1dc80c2693f3290df85e04dbe58f7575d) (diffs)
-
Renato Westphal e0cade1bbc408b96a60fbbe40cd2f32aa31e73f3
lib: fix inverted logic in the "debug all" command
Signed-off-by: Renato Westphal <renato@opensourcerouting.org> -
Philippe Guibert 45ec928f498430930b9696636b22056b0a673b44
Merge pull request #4130 from donaldsharp/show_frr
zebra: Add hidden 'show frr' command -
Donald Sharp d2f5903b846cf9ee1e2675f0d5db657f34f5d5c8
zebra: Add hidden 'show frr' command
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com> -
Russ White <russ@riw.us> f765a2ff8e3f2010a2ea6e63afc3d5e5cb303a6f
Merge pull request #4081 from donaldsharp/rnh_reorder
zebra: Make rnh only send response once on first registration -
Russ White <russ@riw.us> 8bf8d8b2b22e895ff0faf033c35c3f7e7627ef82
Merge pull request #4103 from qlyoung/fix-ospf-+metric
ospfd: fix behavior of +/-metric -
Russ White <russ@riw.us> 72709da4f2d8b5ef7c2a41f63bd1cf32b68d925f
Merge pull request #4105 from donaldsharp/pim_cleanups
Pim cleanups -
Russ White <russ@riw.us> 45f3dcd317558fc2b96d23bc52e4489fd900df85
Merge pull request #4111 from sworleys/Netlink-Rule-SA-Fix
zebra: Fix late memset of pbr rule in rule_netlink -
Quentin Young b9645ada293b95064362ef4e0e308d5a14650e5a
Merge pull request #4125 from mjstapp/fix_debug_pim_static
pimd: use debug pim static -
Mark Stapp <mjs@voltanet.io> 35a1272051315544b65e40d6cc0f85df62df1c66
pimd: use debug pim static
Replace cli 'debug static' with 'debug pim static', to make
the 'debug static' node available for staticd (eventually).
Signed-off-by: Mark Stapp <mjs@voltanet.io> -
Donald Sharp d53387edbef3be8bf145a68127d79fbbe846038f
Merge pull request #4119 from pacovn/201904_master__pw_fixes
zebra: pseudowire event recovery (DoS fix) -
Nitin Soni <nsoni@cumulusnetworks.com> 21f3551ed58afb203457a0a1887657002855b0ee
bgpd: new show cmd - bgp l2vpn evpn route detail
This command is added to provide detailed information. It will be
useful in troubleshooting as we will be able to dump all detailed info
using a single command.
"show bgp l2vpn evpn route [detail] ...". Additional filtering
can be done by providing type of the route.
Command will display the detailed content for all rd and macs-ip as
displayed by "show bgp l2vpn evpn route rd <> mac <>" for a single
rd, mac, ip from the global bgp routing table.
Ticket: CM-24397
Signed-off-by: Nitin Soni <nsoni@cumulusnetworks.com>
Reviewed-by:
Testing-Done: -
Mark Stapp <mjs@voltanet.io> cf363e1bd86a2594aa3698d4e6561cfe14ea7d9a
zebra: dataplane notifications for system route changes
Add notifications from zebra to the dataplane subsystem when
kernel or connected routes change.
Signed-off-by: Mark Stapp <mjs@voltanet.io> -
F. Aragon <paco@voltanet.io> 72b1ee34b5315f8cc58b9181fe60d239b3c91087
zebra: pseudowire event recovery (DoS fix)
When having a route recovery, because of the route installation
cycling and the next hop label check, it could happen that the PW
never gets recovered. The original code shows the intention of retrying,
but the code was missing. The fix includes the call to the timer programming
the recovery attempt.
Example for reproducing the issue:
|P1| <-> |P2| <-> |P3|
- Being P1, P2, P3 nodes, using IS-IS as IGP, and having a pseudowire
betwen P1 and P3 (P1, P2, P3 having configured LDP daemons).
- After 60 seconds, kill the IS-IS daemon in P2.
- Wait 30 seconds
- Launch again the IS-IS daemon in P2
- The bug/issue is that after P1 <-> P3 recovering connectivity sometimes
the PW is not recovered because the reason explained in the first paragraph.
Signed-off-by: F. Aragon <paco@voltanet.io> -
Donald Sharp 6dc8dbf9bc64b45da40eef8c14c3e662bce237fb
Merge pull request #4115 from Wojtek242/wojtek242/doc-overview-fix
doc: replace old text with info about integrated configuration mode -
Mark Stapp <mjs@voltanet.io> a5f42f7dea6f1ac3472b94f801e30ffb5130ac48
Merge pull request #4114 from chiragshah6/evpn_dev2
zebra: avoid removing node twice from rb_tree -
Wojciech Kozlowski <wk@wojciechkozlowski.eu> 560470b55207da4855c99d6a4829a43eb1f31f00
doc: replace old text with info about integrated configuration mode
Signed-off-by: W. Kozlowski <wk@wojciechkozlowski.eu> -
Chirag Shah 8a88f81550def495fbcb9d59324438ebf08d414d
zebra: avoid removing node twice from rb_tree
In zebra terminate path, the node was attempted to remove
twice from the RB_TREE table. This lead to a crash during
zebra shutdown zebra_router_free_table already calls RB_REMOVE
to remove a node from rb tree table.
siginfo=0x7fffd9134a30, context=<optimized out>) at lib/sigevent.c:249
rbt=<optimized out>, t=<optimized out>) at lib/openbsd-tree.c:226
t=0x56296965ff50 <zebra_router_table_head_RB_INFO>) at lib/openbsd-tree.c:383
rbt=rbt@entry=0x562969669bd0 <zrouter+16>, elm=elm@entry=0x56296afcf810)
at lib/openbsd-tree.c:393
(elm=0x56296afcf810, head=0x562969669bd0 <zrouter+16>) at zebra/zebra_router.h:46
Singned-off-by: Chirag Shah <chirag@cumulusnetworks.com> -
Donald Sharp 6f0f014f0883ce45340af35090cdad85531a53d2
pimd: Add JoinDesired(S,G) to deciding to set spt bit
The decision for Update_SPTbit(S,G, iif) includes a test
for JoinDesired(S,G) in section 4.2.2. When we were deciding
to update the spt bit we were not taking this into account.
This commit fixes this issue.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com> -
Donald Sharp ca6cb21b60b6251f6d0bbe02eebfbee6b574de9a
pimd: Only send triggered response after all of *,G message is read
pim was sending a triggered response on every S,G RPT prune information
read. Suppose we had this in a *,G message:
*,G
S1, G RPT Prune
S2, G RPT Prune
We would send two triggered *,G messages upstream. This leads to over
processing and quickly changing state if S1 or S2 were in different
states.
Modify the code to send just one Triggered *,G upstream after looking
at all S,G state for a *,G.
Ticket: CM-24531
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com> -
Donald Sharp e3af36d3ed71ce0659870423889df7da0fded094
pimd: Update state when receiving S,G join when in S,G RPT Prune state
When we receive a S,G join and the ifchannel is in S,G RPT Prune state,
pim should transition the ifchannel state to JOIN and transition the
pim_upstream state for the S,G stream.
Ticket: CM-24513
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com> -
Nitin Soni <nsoni@cumulusnetworks.com> c7ef6cf297c959a7f7fc6a1fec0bf901beefefd6
bgpd: new show cmd - bgp l2vpn evpn route vni all detail
This command is added to provide detailed information. It will be
useful in troubleshooting as we will be able to dump all detailed info
using a single command.
"net show bgp evpn route vni <all|id> [detail]". Additional filtering
can be done by providing vtep ip.
Command will display the detailed content for all vni and macs as
displayed by "net show bgp evpn route vni <> mac <> ip <>" for a single
vni, mac, ip.
Ticket: CM-24397
Signed-off-by: Nitin Soni <nsoni@cumulusnetworks.com>
Reviewed-by:
Testing-Done: -
Quentin Young c8d8450442fbc9967a2e9cbbb5a963dc2ff3de00
Merge pull request #3779 from opensourcerouting/fix-mpls-label-topotests
tests: Remove some inconsistent local labels in check in test_ldp_vpls_topo1 -
Quentin Young e3659a9a726e3ec3cd3ca16ab33e04968b1f37ce
Merge pull request #4102 from opensourcerouting/sendbuf_recvbuf_privs
*: setting the socket send/recv buffer sizes doesn't need elevated privs -
Stephen Worley <sworley@cumulusnetworks.com> cc42104c35610bba4c22f89b795aa506c2f28a91
zebra: Fix late memset of pbr rule in rule_netlink
We were memsetting zebra_pbr_rule struct after
we had already put some information in it. Also updated
the init of the struct to use braces instead of a
memset.
Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com> -
Donald Sharp 977e9f37914715390c6aefdc00cd8082e6f7f8b2
Merge pull request #4095 from pacovn/201904_master__lm_aliasing_fixes
zebra: label manager race condition fix -
Mark Stapp <mjs@voltanet.io> 2e4f15a0ded98e5990f096ded131029446225ea7
Merge pull request #4099 from donaldsharp/clang_sa
Clang sa fixes -
Quentin Young 236e900ca428cfcebfdf07ce27de9afffd24b923
ospfd: fix behavior of +/-metric
OSPFD uses -1 as a sentinel value for uninitialized metrics. When
applying a route map with a +/-metric to redistributed routes, we were
using -1 as our base value to increment or decrement on, which meant
that if you set e.g. +10, you would end up with a redistributed route of
metric 9.
This patch also removes an off-by-one sanity check that would cause a
set metric +1 or set metric 0 to result in a metric value of 20 :-)
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com> -
Renato Westphal 338b8e914ab1dc30f56f5bcbabd525d547bbc1ea
*: setting the socket send/recv buffer sizes doesn't need elevated privs
The less code running under elevated privileges the better.
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>- eigrpd/eigrp_network.c (version 338b8e914ab1dc30f56f5bcbabd525d547bbc1ea) (diffs)
- lib/zclient.c (version 338b8e914ab1dc30f56f5bcbabd525d547bbc1ea) (diffs)
- ospfd/ospf_network.c (version 338b8e914ab1dc30f56f5bcbabd525d547bbc1ea) (diffs)
- ripd/ripd.c (version 338b8e914ab1dc30f56f5bcbabd525d547bbc1ea) (diffs)
- zebra/zserv.c (version 338b8e914ab1dc30f56f5bcbabd525d547bbc1ea) (diffs)
-
Quentin Young 421ac5391f22b0659762b184c33c50ff302256ce
Merge pull request #4101 from pacovn/doc_typo1
doc: fix typo -
F. Aragon <paco@voltanet.io> 39e97e8732a128718ba17505ad8a1efa8d44e177
doc: fix typo
Signed-off-by: F. Aragon <paco@voltanet.io> -
Donald Sharp 3393df5cf1c0ea2e4aaa3e405253cae90070d53c
lib: Fixup IFF_OUT_LOG macro to make SA happy
The IFF_OUT_LOG macro is using BUFSIZE, which is the sizeof(logbuf)
but for some reason 8.0 clang SA is not happy with it. Just
make it happy.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com> -
Donald Sharp ea8b2282869d6c4a1626be98e0a6c883e48ab314
bgpd: pi->peer assignment exists no need for null check
The creation of a new `struct bgp_path_info` requires a legitimate
peer being passed in for creation. There exists no code paths
where this is not true. As such checking pi->peer for null convinces
SA that it might happen.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com> -
Donald Sharp 9591da265339577c67a6f8083cdce4ac73070724
bgpd: Remove extra alloc function bgp_path_info_new
The bgp_path_info_new function whenever it was called
pretty much duplicated the info_make function call. So
convert over to using it and remove the bgp_path_info_new
function so people are not tempted.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>- bgpd/bgp_route.c (version 9591da265339577c67a6f8083cdce4ac73070724) (diffs)
- bgpd/bgp_route.h (version 9591da265339577c67a6f8083cdce4ac73070724) (diffs)
- bgpd/rfapi/rfapi.c (version 9591da265339577c67a6f8083cdce4ac73070724) (diffs)
- bgpd/rfapi/rfapi_import.c (version 9591da265339577c67a6f8083cdce4ac73070724) (diffs)
-
Donald Sharp e425c0196cd5fbfea89edea9adcc9bca18b0fb32
ospfd: rn may be null
rn is not set the first time through the do {} while (); loop
As such we need to protect against it from being null( although
highly unlikely to ever happen given the ospf code base.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com> -
Mark Stapp <mjs@voltanet.io> a1a972fff5a803a2e836525a8525e256c0c4ff3a
Merge pull request #4066 from sworleys/Add-NG-Hash-Func
lib: Add hash function for nexthop groups -
Stephen Worley <sworley@cumulusnetworks.com> 1b1fe1c4090ee98908f216d13af0c766df772714
lib: Add hash function for nexthop groups
Add a hash function to turn a nexthop group into a
32 bit unsigned hash key with jhash. We do not care to
hash any recursively resolved nexthops, just the group.
Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>- lib/nexthop.c (version 1b1fe1c4090ee98908f216d13af0c766df772714) (diffs)
- lib/nexthop.h (version 1b1fe1c4090ee98908f216d13af0c766df772714) (diffs)
- lib/nexthop_group.c (version 1b1fe1c4090ee98908f216d13af0c766df772714) (diffs)
- lib/nexthop_group.h (version 1b1fe1c4090ee98908f216d13af0c766df772714) (diffs)
-
Renato Westphal <renato@openbsd.org> 6709b814abdb68503a360271e6fa157c5f0a9c40
Merge pull request #4085 from donaldsharp/zebra_nht_individual_items
zebra: Allow specification of v[4|6] addrs on some commands -
Donald Sharp dbeca4841bd4453f0d5e993e51d02d29d4e1f0d4
zebra: Allow specification of v[4|6] addrs on some commands
The `show ipv[4|6] <nht|import-check> ...` commands are starting
to produce a bunch of output due to multiple daemons now
using the code. Allow the specification of a v4 or v6 address
to allow the show command to only display the interesting nht.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com> -
Donald Sharp 2de05c606e34e8ea2bb60fce110228caeb356e48
pimd: Initiate *,G S,G RPT Prune in some cases
On the LHR after we decide that traffic is flowing and
we set the SPT bit for the S,G *and* the incoming IIF
of the S,G is different than the incoming IIF of the *,G
we should immediately send the *,G S,G RPT Prune as
a triggered response instead of waiting for the next
cycle.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com> -
Donald Sharp 43763b11d0d51b60809cddc4722daae359a4d1a9
pimd: Tracking of RPF is *separate* from the lookup
Start the separation of tracking a Destination from the act
of looking it up. The cojoining of these two concepts led
to a bunch of code that had to think about both problems leading
to weird situations and code paths. Simplify the code by making
pim_ecmp_nexthop_search a static function and we only ever
call pim_ecmp_nexthop_lookup when we need to do a RPF().
pim_ecmp_nexthop_lookup will now attempt to find a stored pnc
and if it finds one it will report on the answer from it.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>- pimd/pim_cmd.c (version 43763b11d0d51b60809cddc4722daae359a4d1a9) (diffs)
- pimd/pim_nht.c (version 43763b11d0d51b60809cddc4722daae359a4d1a9) (diffs)
- pimd/pim_nht.h (version 43763b11d0d51b60809cddc4722daae359a4d1a9) (diffs)
- pimd/pim_rp.c (version 43763b11d0d51b60809cddc4722daae359a4d1a9) (diffs)
- pimd/pim_rpf.c (version 43763b11d0d51b60809cddc4722daae359a4d1a9) (diffs)
- pimd/pim_zebra.c (version 43763b11d0d51b60809cddc4722daae359a4d1a9) (diffs)
-
Donald Sharp 5bd51314352b25420ef1c8df7265b95cdad88e37
pimd: Determining if we are the RP should happen always
When creating new RP information from a `ip pim rp A.B.C.D/M A.B.C.D`
we should determine if we are the RP even if we can or cannot
determine if we have a path to the RP via RPF.
This is because we should determine if we are the RP based upon a
connected ip address match not whether or not we have a path to
the RPF. We would normally think this is not important but
RPF is inherently asynchronous and we can have a state where
we have registered for nht but have not received the actual
path back yet from zebra.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com> -
Donald Sharp 2cb7234faff0ac0c0b51cb4c0585d0500bb48f7e
pimd: Add a flag PIM_NEXTHOP_ANSWER_RECEIVED
Track whether or not we have received an answer from
our query to do nexthop tracking. This allows us to
go straight to doing a synchronous query for our
RPF.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com> -
Donald Sharp 2ccc414b19c9c2115fae5b2c36c69b480b7cfcd9
pimd: Zero out nhop being used
Zero out the lookup nexthop for usage, prevent a crash.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com> -
Donald Sharp c54eeca10feedd17fe468d4b81af17209da7d350
Merge pull request #4093 from mjstapp/fix_vrf_sched_flag
zebra: remove unused VRF_RIB_SCHEDULED flag -
F. Aragon <paco@voltanet.io> 98e9ab8b31804593a140fd147450d455bd26ed4a
zebra: label manager race condition fix
This fix covers the case where two or more events are processed but only one
becoming effective. E.g. when mixing a synchronous label request from a LDP
deamon and an asynchronous request from a BGP daemon it could happen to the
BGP having the label chunk, but the LDP stuck waiting for the response.
Given e.g.
ldpd <-------->
(sync label request)
Zebra (label proxy) <--> Zebra (shared label manager)
bgpd <-------->
(async label request)
Sequence:
LDP label request ----->
Zebra (label proxy FW) ----> Zebra (LM)
BGP label request ----->
Zebra (label proxy FW) ----> Zebra (LM)
<---- Zebra (LM) RP LDP
<---- Zebra (LM) RP BGP
Signed-off-by: F. Aragon <paco@voltanet.io> -
Mark Stapp <mjs@voltanet.io> f4c6e2a81533c0efc3b0582298ff47770bc189da
zebra: remove unused VRF_RIB_SCHEDULED flag
We don't use th vrf-level VRF_RIB_SCHEDULED flag any longer;
remove it and collapse the zebra_vrf flags' values.
Signed-off-by: Mark Stapp <mjs@voltanet.io> -
Jafar Al-Gharaibeh <Jafaral@users.noreply.github.com> 5eec4615a2ca5992f68572f500ede951960acfa4
Merge pull request #4083 from donaldsharp/static_reinstall_nexthops
staticd: Allow reinstall of static nexthops on vrf restart -
Donald Sharp f61f266a0e484d3ba78a644f36a3a4f7113cfc74
Merge pull request #3548 from opensourcerouting/rip-vrf
rip(ng)d: add VRF support -
Martin Winter 97ec2683d428b6a0e7412f5e2c1c7db3a941051a
tests: test_ldp_vpls_topo1 Remove some inconsistent labels in check
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>- tests/topotests/ldp-vpls-topo1/r1/show_ldp_binding.ref (version 97ec2683d428b6a0e7412f5e2c1c7db3a941051a) (diffs)
- tests/topotests/ldp-vpls-topo1/r2/show_ldp_binding.ref (version 97ec2683d428b6a0e7412f5e2c1c7db3a941051a) (diffs)
- tests/topotests/ldp-vpls-topo1/r3/show_ldp_binding.ref (version 97ec2683d428b6a0e7412f5e2c1c7db3a941051a) (diffs)