]> git.proxmox.com Git - mirror_frr.git/log
mirror_frr.git
5 years agoMerge pull request #4435 from donaldsharp/zclient_buffer_sizing
Mark Stapp [Fri, 31 May 2019 20:20:38 +0000 (16:20 -0400)]
Merge pull request #4435 from donaldsharp/zclient_buffer_sizing

lib, zebra: Ensure route encoding has enough space

5 years agoMerge pull request #4430 from lkrishnamoor/hostname_crash
Donald Sharp [Fri, 31 May 2019 19:02:10 +0000 (15:02 -0400)]
Merge pull request #4430 from lkrishnamoor/hostname_crash

lib: crash when FRR hostname length > 80 chars

5 years agolib: crash when FRR hostname length > 80 chars
Lakshman Krishnamoorthy [Thu, 30 May 2019 21:56:55 +0000 (14:56 -0700)]
lib: crash when FRR hostname length > 80 chars

Although the RFC states hostname length should be < 255 chars,
FRR allows infinite length technically. However, when you try
to set a hostname > 80 chars, you would immediately notice a crash.

RCA: Crash due to buffer overflow. Large buffer sprintf'd into smaller
buffer. Usage of sprintf function instead of snprintf which is safer.

Signed-off-by: Lakshman Krishnamoorthy <lkrishnamoor@vmware.com>
5 years agolib, zebra: Ensure route encoding has enough space
Donald Sharp [Fri, 31 May 2019 12:51:07 +0000 (08:51 -0400)]
lib, zebra: Ensure route encoding has enough space

When you have compiled FRR with a large multipath number
then encoding large ecmp routes between zebra and the
routing daemons.  There exists a theoritical size
of multipath that will cause the encoding to be larger
than the ZEBRA_MAX_PACKET_SIZ.  In the cases where
we have allocated streams that will encode routes
then let's ensure that whatever size we have will
auto-fit what we say we can send.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agoMerge pull request #4434 from donaldsharp/fix_warnings
Mark Stapp [Fri, 31 May 2019 14:10:25 +0000 (10:10 -0400)]
Merge pull request #4434 from donaldsharp/fix_warnings

Fix warnings

5 years agolib: Fix gcc 9 warning -> error issue
Donald Sharp [Fri, 31 May 2019 12:36:37 +0000 (08:36 -0400)]
lib: Fix gcc 9 warning -> error issue

gcc is complaing about this with --enable-dev and --enable-werror:

In function 'nb_log_callback',
    inlined from 'nb_transaction_apply_finish' at lib/northbound.c:1106:4:
lib/northbound.c:777:2: error: '%s' directive argument is null [-Werror=format-overflow=]
  777 |  zlog_debug(
      |  ^~~~~~~~~~~
  778 |   "northbound callback: event [%s] op [%s] xpath [%s] value [%s]",
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  779 |   nb_event_name(event), nb_operation_name(operation), xpath,
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  780 |   value);
      |   ~~~~~~
  CC       lib/ringbuf.lo

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agolib: vtypath_default could be overwritten
Donald Sharp [Fri, 31 May 2019 12:18:55 +0000 (08:18 -0400)]
lib: vtypath_default could be overwritten

The vtypath_default variable had a possibility of being overwritten
due to size constraints.  This fixes this issue.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agoMerge pull request #4315 from lkrishnamoor/route_map_3rd_state
Donald Sharp [Fri, 31 May 2019 01:25:18 +0000 (21:25 -0400)]
Merge pull request #4315 from lkrishnamoor/route_map_3rd_state

lib: Introducing a 3rd state for route-map match cmd: RMAP_NOOP

5 years agoMerge pull request #4369 from patrasar/lmqc_lmqt
Donald Sharp [Fri, 31 May 2019 01:23:11 +0000 (21:23 -0400)]
Merge pull request #4369 from patrasar/lmqc_lmqt

pimd: new cli to configure last-member-query-count & last-member-quer…

5 years agoMerge pull request #4400 from LabNConsulting/working/master/centos7-doc
Donald Sharp [Fri, 31 May 2019 01:22:12 +0000 (21:22 -0400)]
Merge pull request #4400 from LabNConsulting/working/master/centos7-doc

fix centos7 build - set SPHINXBUILD to match centos7 yum installed package

5 years agoMerge pull request #4426 from mjstapp/fix_memstats_cli
Donald Sharp [Fri, 31 May 2019 01:21:32 +0000 (21:21 -0400)]
Merge pull request #4426 from mjstapp/fix_memstats_cli

lib, vtysh: make 'debug memstats' work via vtysh

5 years agoMerge pull request #4427 from mjstapp/fix_topo_memleak
Donald Sharp [Fri, 31 May 2019 01:20:24 +0000 (21:20 -0400)]
Merge pull request #4427 from mjstapp/fix_topo_memleak

doc: clean up memleak section of topotests doc

5 years agolib, vtysh: make debug memstats work in vtysh
Mark Stapp [Thu, 30 May 2019 20:14:25 +0000 (16:14 -0400)]
lib, vtysh: make debug memstats work in vtysh

Allow vtysh to send the 'debug memstats-on-exit' command
to the running daemons.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
5 years agolib: Introducing a 3rd state for route-map match cmd: RMAP_NOOP
Lakshman Krishnamoorthy [Wed, 29 May 2019 21:32:08 +0000 (14:32 -0700)]
lib: Introducing a 3rd state for route-map match cmd: RMAP_NOOP

Introducing a 3rd state for route_map_apply library function: RMAP_NOOP

Traditionally route map MATCH rule apis  were designed to return
a binary response, consisting of either RMAP_MATCH or RMAP_NOMATCH.
(Route-map SET rule apis return RMAP_OKAY or RMAP_ERROR).
Depending on this response, the following statemachine decided the
course of action:

Action: Apply route-map match and return the result (RMAP_MATCH/RMAP_NOMATCH)
State1: Receveived RMAP_MATCH
THEN: If Routemap type is PERMIT, execute other rules if applicable,
otherwise we PERMIT!
Else: If Routemap type is DENY, we DENYMATCH right away

State2: Received RMAP_NOMATCH, continue on to next route-map, otherwise,
return DENYMATCH by default if nothing matched.

With reference to PR 4078 (https://github.com/FRRouting/frr/pull/4078),
we require a 3rd state because of the following situation:

The issue - what if, the rule api needs to abort or ignore a rule?:
"match evpn vni xx" route-map filter can be applied to incoming routes
regardless of whether the tunnel type is vxlan or mpls.
This rule should be N/A for mpls based evpn route, but applicable to only
vxlan based evpn route.

Today, the filter produces either a match or nomatch response regardless of
whether it is mpls/vxlan, resulting in either permitting or denying the
route.. So an mpls evpn route may get filtered out incorrectly.
Eg: "route-map RM1 permit 10 ; match evpn vni 20" or
"route-map RM2 deny 20 ; match vni 20"

With the introduction of the 3rd state, we can abort this rule check safely.
How? The rules api can now return RMAP_NOOP (or another enum) to indicate
that it encountered an invalid check, and needs to abort just that rule,
but continue with other rules.

Question: Do we repurpose an existing enum RMAP_OKAY or RMAP_ERROR
as the 3rd state (or create a new enum like RMAP_NOOP)?
RMAP_OKAY and RMAP_ERROR are used to return the result of set cmd.

We chose to go with RMAP_NOOP (but open to ideas),
as a way to bypass the rmap filter

As a result we have a 3rd state:
State3: Received RMAP_NOOP
Then, proceed to other route-map, otherwise return RMAP_PERMITMATCH by default.

Signed-off-by:Lakshman Krishnamoorthy <lkrishnamoor@vmware.com>

5 years agoMerge pull request #4413 from donaldsharp/bgp_distance_comes_closer
Sri Mohana Singamsetty [Thu, 30 May 2019 16:45:43 +0000 (09:45 -0700)]
Merge pull request #4413 from donaldsharp/bgp_distance_comes_closer

Bgp distance comes closer

5 years agoMerge pull request #4410 from donaldsharp/invalid
Mark Stapp [Thu, 30 May 2019 15:32:48 +0000 (11:32 -0400)]
Merge pull request #4410 from donaldsharp/invalid

doc: Fix doc showing command that does not exist

5 years agopimd: new cli to configure last-member-query-count & last-member-query-interval
Sarita Patra [Mon, 20 May 2019 17:40:12 +0000 (10:40 -0700)]
pimd: new cli to configure last-member-query-count & last-member-query-interval

Introduce new cli commands ip igmp last-member-query-count <1-7>
ip igmp last-member-query-interval <1-255> deciseconds.

Display the config in show running config and show ip igmp interface

Signed-off-by: Sarita Patra <saritap@vmware.com>
5 years agoMerge pull request #4408 from donaldsharp/bgp_status_fsm
Sri Mohana Singamsetty [Thu, 30 May 2019 03:00:57 +0000 (20:00 -0700)]
Merge pull request #4408 from donaldsharp/bgp_status_fsm

bgpd: Update an fsm debug message

5 years agoMerge pull request #4393 from donaldsharp/debug_all
Renato Westphal [Thu, 30 May 2019 02:55:50 +0000 (23:55 -0300)]
Merge pull request #4393 from donaldsharp/debug_all

Debug all

5 years agoMerge pull request #4267 from qlyoung/fix-misc-compile-warnings
Renato Westphal [Thu, 30 May 2019 02:55:17 +0000 (23:55 -0300)]
Merge pull request #4267 from qlyoung/fix-misc-compile-warnings

Fix misc compile warnings, remove strcpy & strcat

5 years agoMerge pull request #4402 from chiragshah6/evpn_dev1
Sri Mohana Singamsetty [Wed, 29 May 2019 19:44:41 +0000 (12:44 -0700)]
Merge pull request #4402 from chiragshah6/evpn_dev1

bgpd: fix debug to have proper nhop display

5 years agoMerge pull request #4415 from mjstapp/dplane_dist_setters
Donald Sharp [Wed, 29 May 2019 19:39:27 +0000 (15:39 -0400)]
Merge pull request #4415 from mjstapp/dplane_dist_setters

zebra: add setters for distance, instance

5 years agoMerge pull request #4351 from patrasar/pim_show_ip_mroute_summary
Donald Sharp [Wed, 29 May 2019 19:38:47 +0000 (15:38 -0400)]
Merge pull request #4351 from patrasar/pim_show_ip_mroute_summary

pimd: new cli command show ip mroute summary

5 years agolib: fix helpstring truncation
Quentin Young [Tue, 28 May 2019 20:25:45 +0000 (20:25 +0000)]
lib: fix helpstring truncation

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
5 years agobgpd: use XCALLOC to allocate string buf
Quentin Young [Fri, 17 May 2019 00:08:21 +0000 (00:08 +0000)]
bgpd: use XCALLOC to allocate string buf

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
5 years agolib: use static storage for vty_cwd
Quentin Young [Wed, 15 May 2019 22:42:41 +0000 (22:42 +0000)]
lib: use static storage for vty_cwd

Why are we allocating this

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
5 years agobgpd: fix pointer bug introduced in strlcat change
Quentin Young [Wed, 15 May 2019 07:35:04 +0000 (07:35 +0000)]
bgpd: fix pointer bug introduced in strlcat change

Inconsistent use of a string pointer led to improperly terminated
strings (terminated too soon)

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
5 years agobgpd: suppress dead store warning
Quentin Young [Thu, 9 May 2019 16:04:07 +0000 (16:04 +0000)]
bgpd: suppress dead store warning

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
5 years agoospfd: initialize maybe-uninitialized bool
Quentin Young [Wed, 8 May 2019 19:17:32 +0000 (19:17 +0000)]
ospfd: initialize maybe-uninitialized bool

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
5 years agolib, zebra: remove uses of strncpy
Quentin Young [Wed, 8 May 2019 18:33:53 +0000 (18:33 +0000)]
lib, zebra: remove uses of strncpy

This removes the last removable uses of strncpy in FRR.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
5 years agozebra: strcat -> strlcat
Quentin Young [Mon, 6 May 2019 22:55:59 +0000 (22:55 +0000)]
zebra: strcat -> strlcat

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
5 years agostaticd: strcpy -> strlcpy
Quentin Young [Mon, 6 May 2019 21:30:10 +0000 (21:30 +0000)]
staticd: strcpy -> strlcpy

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
5 years agovtysh: strcpy -> strlcpy, strcat -> strlcat
Quentin Young [Mon, 6 May 2019 21:28:55 +0000 (21:28 +0000)]
vtysh: strcpy -> strlcpy, strcat -> strlcat

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
5 years agopbrd: strcpy -> strlcpy
Quentin Young [Mon, 6 May 2019 21:27:33 +0000 (21:27 +0000)]
pbrd: strcpy -> strlcpy

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
5 years agopimd: strcpy -> strlcpy
Quentin Young [Mon, 6 May 2019 21:26:15 +0000 (21:26 +0000)]
pimd: strcpy -> strlcpy

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
5 years agoripngd: strcat -> strlcat
Quentin Young [Mon, 6 May 2019 21:11:22 +0000 (21:11 +0000)]
ripngd: strcat -> strlcat

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
5 years agolib: remove some strcpy, strcat
Quentin Young [Mon, 6 May 2019 21:05:20 +0000 (21:05 +0000)]
lib: remove some strcpy, strcat

Replace with strlcpy, strlcat

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
5 years agobgpd: remove strcpy, strcat
Quentin Young [Mon, 6 May 2019 21:05:06 +0000 (21:05 +0000)]
bgpd: remove strcpy, strcat

Replace with strlcpy, strlcat

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
5 years agobgpd: fix rfapi false compiler warning
Quentin Young [Mon, 6 May 2019 18:24:25 +0000 (18:24 +0000)]
bgpd: fix rfapi false compiler warning

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
5 years agobgpd: fix false compiler warning
Quentin Young [Mon, 6 May 2019 18:22:56 +0000 (18:22 +0000)]
bgpd: fix false compiler warning

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
5 years agolib: fix false compiler warning
Quentin Young [Mon, 6 May 2019 18:20:16 +0000 (18:20 +0000)]
lib: fix false compiler warning

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
5 years agolib: fix uninitialized variable in backtrace output
Quentin Young [Mon, 6 May 2019 18:18:01 +0000 (18:18 +0000)]
lib: fix uninitialized variable in backtrace output

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
5 years agozebra: fix maybe-uninitialized pointer
Quentin Young [Mon, 6 May 2019 18:01:56 +0000 (18:01 +0000)]
zebra: fix maybe-uninitialized pointer

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
5 years agozebra: fix unused variable on OmniOS
Quentin Young [Mon, 6 May 2019 18:00:25 +0000 (18:00 +0000)]
zebra: fix unused variable on OmniOS

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
5 years agozebra: add setters for distance, instance
Mark Stapp [Fri, 17 May 2019 18:41:01 +0000 (14:41 -0400)]
zebra: add setters for distance, instance

Add a few more 'setters' for dplane context objects.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
5 years agodoc: clean up memleak section of topotests doc
Mark Stapp [Wed, 29 May 2019 15:45:02 +0000 (11:45 -0400)]
doc: clean up memleak section of topotests doc

Cleaned up some repetition (cut-and-paste?) in the topotests
developer doc.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
5 years agopimd: new cli command show ip mroute summary
Sarita Patra [Thu, 16 May 2019 16:58:28 +0000 (09:58 -0700)]
pimd: new cli command show ip mroute summary

Introduced a new command "show ip mroute summary"
to display total number of (*, G) and (S, G) mroutes
created and number of mroutes installed in the kernel.

Signed-off-by: Sarita Patra <saritap@vmware.com>
5 years agoMerge pull request #4414 from opensourcerouting/feature/fix-isis-warnings
Mark Stapp [Wed, 29 May 2019 15:38:42 +0000 (11:38 -0400)]
Merge pull request #4414 from opensourcerouting/feature/fix-isis-warnings

isisd: Fix some minor warnings

5 years agoMerge pull request #4326 from sworleys/Move-NH-Active-Functions
Mark Stapp [Wed, 29 May 2019 15:35:27 +0000 (11:35 -0400)]
Merge pull request #4326 from sworleys/Move-NH-Active-Functions

zebra: Move nexthop_active_XXX functions to zebra_nhg.c

5 years agoMerge pull request #4404 from qlyoung/const-linklist
Mark Stapp [Wed, 29 May 2019 15:28:08 +0000 (11:28 -0400)]
Merge pull request #4404 from qlyoung/const-linklist

lib: const a couple linklist apis

5 years agoMerge pull request #4228 from mjstapp/dplane_notif
Donald Sharp [Wed, 29 May 2019 14:10:05 +0000 (10:10 -0400)]
Merge pull request #4228 from mjstapp/dplane_notif

zebra: async notifications from the dataplane

5 years agozebra: BGP always sends distance no need to double check
Donald Sharp [Wed, 29 May 2019 12:57:11 +0000 (08:57 -0400)]
zebra: BGP always sends distance no need to double check

BGP always sends down the correct distance to use.  We do
not need rib_add_multipath to double check the code.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agobgpd: Always send down correct admin distance
Donald Sharp [Wed, 29 May 2019 12:56:03 +0000 (08:56 -0400)]
bgpd: Always send down correct admin distance

In all cases that we are sending routes down to zebra send the
correct admin distance.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agoisisd: Remove unnecessary use of strcpy
Christian Franke [Wed, 29 May 2019 12:44:07 +0000 (14:44 +0200)]
isisd: Remove unnecessary use of strcpy

`strcpy` is a dangerous function and should not be used. In this
particular place, there is no need for copying strings at all, so let's
just stick to referencing static strings.

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
5 years agoisisd: Remove warning about shadowing a variable
Christian Franke [Wed, 29 May 2019 12:43:24 +0000 (14:43 +0200)]
isisd: Remove warning about shadowing a variable

There is no need to redefine `struct isis_lsp *lsp` inside of the
if condition. Let's just remove it.

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
5 years agoMerge pull request #4401 from manuhalo/fix_isisd_remove_conf
Donald Sharp [Wed, 29 May 2019 11:46:38 +0000 (07:46 -0400)]
Merge pull request #4401 from manuhalo/fix_isisd_remove_conf

isisd: del routes when area is unconfigured

5 years agoisisd: del routes when area is unconfigured
Emanuele Di Pascale [Tue, 28 May 2019 14:46:06 +0000 (16:46 +0200)]
isisd: del routes when area is unconfigured

attempt to fix #4399

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agoMerge pull request #4407 from opensourcerouting/snap-fix-master
Donald Sharp [Wed, 29 May 2019 01:06:20 +0000 (21:06 -0400)]
Merge pull request #4407 from opensourcerouting/snap-fix-master

Snap fix master

5 years agosnapcraft: Add libdb5.3 dependency
Martin Winter [Tue, 28 May 2019 22:56:24 +0000 (00:56 +0200)]
snapcraft: Add libdb5.3 dependency

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
5 years agosnapcraft: Disable libyang CACHE for snap package (Temp workaround)
Martin Winter [Mon, 18 Feb 2019 15:57:24 +0000 (07:57 -0800)]
snapcraft: Disable libyang CACHE for snap package (Temp workaround)

There seems to be a bug in latest libyang running when running in
a snap container which causes a failure of the cache logic. Disable
CACHE for now as it's not yet needed. Will be re-enabled in a later
release

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
5 years agosnapcraft: Add FabricD to Snap package
Martin Winter [Thu, 7 Feb 2019 23:12:14 +0000 (15:12 -0800)]
snapcraft: Add FabricD to Snap package

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
5 years agosnapcraft: Update bgpd to use newer rpki lib
Martin Winter [Thu, 7 Feb 2019 22:44:47 +0000 (14:44 -0800)]
snapcraft: Update bgpd to use newer rpki lib

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
5 years agosnapcraft: Add libyang to snap package
Martin Winter [Thu, 17 Jan 2019 19:02:04 +0000 (11:02 -0800)]
snapcraft: Add libyang to snap package

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
5 years agosnapcraft: Add missing staticd.conf.default
Martin Winter [Thu, 7 Feb 2019 15:07:25 +0000 (07:07 -0800)]
snapcraft: Add missing staticd.conf.default

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
5 years agosnapcraft: Don't stage libc6
Martin Winter [Thu, 17 Jan 2019 19:01:05 +0000 (11:01 -0800)]
snapcraft: Don't stage libc6

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
5 years agosnapcraft: Update RTRLIB to 0.6.3
Martin Winter [Thu, 17 Jan 2019 16:32:47 +0000 (08:32 -0800)]
snapcraft: Update RTRLIB to 0.6.3

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
5 years agodoc: Fix doc showing command that does not exist
Donald Sharp [Tue, 28 May 2019 22:58:11 +0000 (18:58 -0400)]
doc: Fix doc showing command that does not exist

The `bgp bestpath prefix-validate disallow-invalid` command referenced in
the rpki documentation does not actually exist, remove the erroneous docs

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agobgpd: Update an fsm debug message
Donald Sharp [Tue, 28 May 2019 22:08:28 +0000 (18:08 -0400)]
bgpd: Update an fsm debug message

When debugging I was having a hard time correlating some data and noticed that
a particular debug was not being very useful.

Signed-off-by: Donald Sharp <sharpd@cumulusnstworks.com>
5 years agozebra: Move nexthop_active_XXX functions to zebra_nhg.c
Stephen Worley [Mon, 13 May 2019 19:46:05 +0000 (12:46 -0700)]
zebra: Move nexthop_active_XXX functions to zebra_nhg.c

Since these functions are not really rib processing problems
let's move them to zebra_nhg.c which is meant for processing of
nexthop groups.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agolib: Separate out the debug_init api
Donald Sharp [Sat, 25 May 2019 00:15:31 +0000 (20:15 -0400)]
lib: Separate out the debug_init api

Separate out the debug_init api to have 2 functions:

1) Function to register a callback
2) Function to initiate the cli.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agolib: Make the debug callbacks a list of callbacks
Donald Sharp [Sat, 25 May 2019 00:09:01 +0000 (20:09 -0400)]
lib: Make the debug callbacks a list of callbacks

Allow multiple callers to initialize themselves to receive
callbacks for debug on/off operations.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agobgpd: fix debug to have proper nhop display
Chirag Shah [Sat, 25 May 2019 00:50:46 +0000 (17:50 -0700)]
bgpd: fix debug to have proper nhop display

Display nexthop based on route type.

Ticket:CM-25129
Testing Done:

evpn route:
*  [2]:[0]:[0]:[48]:[aa:aa:aa:aa:01:1a]:[32]:[45.0.2.111]
    36.0.0.25              0 64000 5560 i

old:
BGP: Tx route add VRF 46 45.0.2.111/32 metric 0 tag 0 flags 0x1409 nhnum 1
BGP:   nhop [1]: 2400:1d:: if 50 VRF 46

New:
BGP: import evpn prefix [2]:[aa:aa:aa:aa:01:1a]:[45.0.2.111]/224 as
ip prefix 45.0.2.111/32 in vrf vrf1

BGP: bgp_zebra_announce: p=45.0.2.111/32, bgp_is_valid_label: 2
BGP: Tx route add VRF 46 45.0.2.111/32 metric 0 tag 0 flags 0x1409 nhnum 1
BGP:   nhop [1]: 36.0.0.25 if 50 VRF 46

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
5 years agolib: const a couple linklist apis
Quentin Young [Wed, 22 May 2019 16:27:16 +0000 (16:27 +0000)]
lib: const a couple linklist apis

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
5 years agoMerge pull request #4391 from ton31337/feature/delete_prefix_list_by_sequence_number
Donald Sharp [Tue, 28 May 2019 20:14:52 +0000 (16:14 -0400)]
Merge pull request #4391 from ton31337/feature/delete_prefix_list_by_sequence_number

plist: Delete prefix-list by sequence number

5 years agozebra: generate updates from notifications
Mark Stapp [Sun, 14 Apr 2019 21:16:11 +0000 (17:16 -0400)]
zebra: generate updates from notifications

If an async notification changes a route that's current,
generate an update to keep the kernel in sync.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
5 years agoMerge pull request #4384 from dslicenc/bgp-no-delete-default
Lou Berger [Tue, 28 May 2019 15:45:34 +0000 (11:45 -0400)]
Merge pull request #4384 from dslicenc/bgp-no-delete-default

bgpd: disable deleting default instance if vrf instances exist

5 years agoMerge pull request #4371 from manuhalo/fix_isisd_large_mtu
Olivier Dugeon [Tue, 28 May 2019 15:40:39 +0000 (17:40 +0200)]
Merge pull request #4371 from manuhalo/fix_isisd_large_mtu

isisd: support circuits with mtu > 8192

5 years agoMerge pull request #4239 from sarav511/rp
Jafar Al-Gharaibeh [Tue, 28 May 2019 15:26:28 +0000 (10:26 -0500)]
Merge pull request #4239 from sarav511/rp

pimd: PIM Bootstrap Message Processing

5 years agoMerge pull request #4322 from sworleys/Nexthop-Cmp
Renato Westphal [Tue, 28 May 2019 14:32:44 +0000 (11:32 -0300)]
Merge pull request #4322 from sworleys/Nexthop-Cmp

lib: Add nexthop_cmp

5 years agodoc/developer: set SPHINXBUILD to match centos7 yum installed package
Lou Berger [Tue, 28 May 2019 13:42:33 +0000 (09:42 -0400)]
doc/developer: set SPHINXBUILD to match centos7 yum installed package

Signed-off-by: Lou Berger <lberger@labn.net>
5 years agozebra: mpls lsp async notifications
Mark Stapp [Fri, 12 Apr 2019 19:34:12 +0000 (15:34 -0400)]
zebra: mpls lsp async notifications

Add LSP notification event type; add a handler for LSP notifs;
dispatch to that handler.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
5 years agozebra: add dplane context lsp setters
Mark Stapp [Fri, 3 May 2019 15:02:16 +0000 (11:02 -0400)]
zebra: add dplane context lsp setters

Add some setters for dataplane context LSP data to support
LSP async notifications.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
5 years agozebra: support route changes via dplane notifications
Mark Stapp [Wed, 10 Apr 2019 16:04:00 +0000 (12:04 -0400)]
zebra: support route changes via dplane notifications

Allow route notifications to trigger route state changes,
such as installed -> not installed.

Clean up the fib-specific nexthop-group in a couple of
un-install paths.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
5 years agozebra: share rib processing of updates and notifications
Mark Stapp [Fri, 5 Apr 2019 14:38:35 +0000 (10:38 -0400)]
zebra: share rib processing of updates and notifications

Use some common handling for both route update results
processing and dataplane notification processing. Use the
fib-specific nexthop-group if the update to a route results
in different nexthop status than the default rib-provided
nexthop-group.

Use the fib-specific nexthop-group, if present, to provide
the output of 'show ip fib'.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
5 years agozebra: add 'set' api for dplane context provider
Mark Stapp [Wed, 3 Apr 2019 08:46:14 +0000 (04:46 -0400)]
zebra: add 'set' api for dplane context provider

Add a setter for the 'source provider' attribute in dplane
contexts.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
5 years agozebra: add source plugin info to dplane context
Mark Stapp [Tue, 2 Apr 2019 16:25:33 +0000 (12:25 -0400)]
zebra: add source plugin info to dplane context

Some updates may be the result of a plugin's actions - such
as an async notification. Add accessor so that we can
identify that an update was generated by a plugin.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
5 years agozebra: add a fib-specific nexthop-group
Mark Stapp [Mon, 25 Mar 2019 21:25:46 +0000 (17:25 -0400)]
zebra: add a fib-specific nexthop-group

Add a fib-specific nhg, distinct from the nhg developed from
the route-owner / RIB information.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
5 years agozebra: add dplane context accessors
Mark Stapp [Sun, 17 Mar 2019 18:41:11 +0000 (14:41 -0400)]
zebra: add dplane context accessors

Add several accessors for data items needed to produce a
notification context.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
5 years agozebra: begin dataplane notifications
Mark Stapp [Wed, 20 Mar 2019 20:40:27 +0000 (16:40 -0400)]
zebra: begin dataplane notifications

Add dataplane route notification type; add handler for zebra
routes.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
5 years agozebra: set nexthop install state more accurately
Mark Stapp [Wed, 20 Mar 2019 18:44:29 +0000 (14:44 -0400)]
zebra: set nexthop install state more accurately

When setting route nexthops' installation state based on a
dataplane context struct, unset the installed state if a
nexthop was not present in the dataplane context.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
5 years agozebra: add api to locate route-node from dplane ctx
Mark Stapp [Wed, 20 Mar 2019 15:27:20 +0000 (11:27 -0400)]
zebra: add api to locate route-node from dplane ctx

Create a helper api that locates a zebra route-node from info
in a dplane context struct. Moved code from the results handler
to make a more-general api that could be used in other paths.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
5 years agozebra: add api to update route from dplane ctx
Mark Stapp [Tue, 19 Mar 2019 20:18:42 +0000 (16:18 -0400)]
zebra: add api to update route from dplane ctx

Add an api to update the status of a route based on info
from a dplane context object. Use the api when processing
route update results from the dataplane.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
5 years agozebra: add a start callback for dplane plugins
Mark Stapp [Fri, 12 Apr 2019 15:27:13 +0000 (11:27 -0400)]
zebra: add a start callback for dplane plugins

Add a callback called at start time, once the dplane pthread
and thread_master are available. The callback is optional.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
5 years agoMerge pull request #4377 from ton31337/feature/show_fqdn_in_show_ip_bgp
Russ White [Tue, 28 May 2019 11:53:20 +0000 (07:53 -0400)]
Merge pull request #4377 from ton31337/feature/show_fqdn_in_show_ip_bgp

bgpd: Show FQDN in `show [ip] bgp` output

5 years agoMerge pull request #4346 from pguibert6WIND/regression_bgp_down_bfd
Russ White [Tue, 28 May 2019 11:51:25 +0000 (07:51 -0400)]
Merge pull request #4346 from pguibert6WIND/regression_bgp_down_bfd

bgpd: do not unregister bfd session when bgp session goes down

5 years agoMerge pull request #4396 from donaldsharp/rpki_stuff
Renato Westphal [Mon, 27 May 2019 23:57:19 +0000 (20:57 -0300)]
Merge pull request #4396 from donaldsharp/rpki_stuff

bgpd: convert a couple of debug strings in rpki to prefix2str

5 years agoMerge pull request #4394 from donaldsharp/list_doc_update
Renato Westphal [Mon, 27 May 2019 23:56:06 +0000 (20:56 -0300)]
Merge pull request #4394 from donaldsharp/list_doc_update

doc: Update docs to represent changes on the ground

5 years agoMerge pull request #4390 from qlyoung/frrstr-beginswith-endswith
Renato Westphal [Mon, 27 May 2019 23:55:14 +0000 (20:55 -0300)]
Merge pull request #4390 from qlyoung/frrstr-beginswith-endswith

lib: rename begins_with, add frrstr_endswith

5 years agobgpd: convert a couple of debug strings in rpki to prefix2str
Donald Sharp [Mon, 27 May 2019 01:51:59 +0000 (21:51 -0400)]
bgpd: convert a couple of debug strings in rpki to prefix2str

Was getting a couple of compile errors with newer compilers
when compiling rpki around the prefix length.  Convert
them over to prefix2str as that is all it is doing.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agodoc: Update docs to represent changes on the ground
Donald Sharp [Sun, 26 May 2019 00:28:35 +0000 (20:28 -0400)]
doc: Update docs to represent changes on the ground

The lists documentation had not been updated to represent
the for_eachXXX to frr_eachXXX changes.  Make it so.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>