]> git.proxmox.com Git - mirror_frr.git/log
mirror_frr.git
6 years agoMerge branch 'master' into working/master/bgp-vpn-vrf-leaking
paulzlabn [Wed, 14 Mar 2018 20:31:58 +0000 (13:31 -0700)]
Merge branch 'master' into working/master/bgp-vpn-vrf-leaking

6 years agoMerge pull request #1821 from vivek-cumulus/pmsi-parse-display
Philippe Guibert [Wed, 14 Mar 2018 17:32:00 +0000 (18:32 +0100)]
Merge pull request #1821 from vivek-cumulus/pmsi-parse-display

bgpd: Parse PMSI Tunnel Attribute and display

6 years agoMerge pull request #1893 from opensourcerouting/doc-isis-threeway
Quentin Young [Wed, 14 Mar 2018 16:44:45 +0000 (12:44 -0400)]
Merge pull request #1893 from opensourcerouting/doc-isis-threeway

doc: document IS-IS three-way handshake config

6 years agodoc: document IS-IS three-way handshake config
Christian Franke [Wed, 14 Mar 2018 16:07:11 +0000 (17:07 +0100)]
doc: document IS-IS three-way handshake config

6 years agoMerge pull request #1863 from donaldsharp/more_nh_groups
Philippe Guibert [Wed, 14 Mar 2018 15:52:05 +0000 (16:52 +0100)]
Merge pull request #1863 from donaldsharp/more_nh_groups

More nh groups

6 years agoMerge pull request #1886 from donaldsharp/strlcpy
Rafael Zalamena [Wed, 14 Mar 2018 14:59:31 +0000 (11:59 -0300)]
Merge pull request #1886 from donaldsharp/strlcpy

lib: Fixup strlcat and strlcpy to be a bit more descriptive

6 years agoMerge pull request #1869 from opensourcerouting/frr-reload-vnc-fix
Daniel Walton [Wed, 14 Mar 2018 14:54:53 +0000 (07:54 -0700)]
Merge pull request #1869 from opensourcerouting/frr-reload-vnc-fix

tools/frr-reload.py: process vnc settings as sub-context

6 years agoMerge pull request #1819 from donaldsharp/static_stuff
Renato Westphal [Wed, 14 Mar 2018 14:26:20 +0000 (11:26 -0300)]
Merge pull request #1819 from donaldsharp/static_stuff

Static stuff

6 years agoMerge pull request #1884 from donaldsharp/spammy_messages
Renato Westphal [Wed, 14 Mar 2018 13:10:53 +0000 (10:10 -0300)]
Merge pull request #1884 from donaldsharp/spammy_messages

ospf6d: Stop debug messages happening in rare case

6 years agolib: Fixup strlcat and strlcpy to be a bit more descriptive
Donald Sharp [Wed, 14 Mar 2018 12:43:17 +0000 (08:43 -0400)]
lib: Fixup strlcat and strlcpy to be a bit more descriptive

When I use these functions and am programming on linux I
always have to pull up a man page for these two functions
since they exist in *BSD land only.

Modify the name of the size variable to destsize on
pass in to give me the small hint I need to know
what to do.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agolib: Add the ability for other people to call a nexthop write line
Donald Sharp [Sat, 10 Mar 2018 21:15:46 +0000 (16:15 -0500)]
lib: Add the ability for other people to call a nexthop write line

Add code to allow nexthops to be written by people who are
interested in writing their own nexthop line.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agolib: Expose nhgc_find command
Donald Sharp [Sat, 10 Mar 2018 20:16:09 +0000 (15:16 -0500)]
lib: Expose nhgc_find command

Expose to the world the nhgc_find command so that
interested parties can find a stored nexthop group.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agolib: Add nexthop-group cli
Donald Sharp [Sat, 10 Mar 2018 20:12:52 +0000 (15:12 -0500)]
lib: Add nexthop-group cli

Add a nexthop-group cli:

nexthop-group NAME
  nexthop A
  nexthop B
  nexthop C
!

This will allow interested parties to hook into the cli for
nexthops.  Users can add callback functions for add/delete
of a nexthop group as well as add/delete of each individual
nexthop.

Future work( PBR and static routes ) will take advantage
of this.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agoMerge pull request #1830 from opensourcerouting/isis-three-way-adj
Donald Sharp [Wed, 14 Mar 2018 12:22:18 +0000 (08:22 -0400)]
Merge pull request #1830 from opensourcerouting/isis-three-way-adj

IS-IS: implement three-way handshake as per RFC5303

6 years agoMerge pull request #1880 from pguibert6WIND/enforce_vrf_netns_enable
Donald Sharp [Wed, 14 Mar 2018 11:51:38 +0000 (07:51 -0400)]
Merge pull request #1880 from pguibert6WIND/enforce_vrf_netns_enable

lib: enforce vrf netns if setns() returns ok

6 years agoMerge pull request #1867 from LabNConsulting/working/master/indent2
Quentin Young [Wed, 14 Mar 2018 01:09:15 +0000 (21:09 -0400)]
Merge pull request #1867 from LabNConsulting/working/master/indent2

more indent.py related changes

6 years agoospf6d: Stop debug messages happening in rare case
Donald Sharp [Wed, 14 Mar 2018 01:06:04 +0000 (21:06 -0400)]
ospf6d: Stop debug messages happening in rare case

When we have a interface disabled in ospfv3 and
we are receiving messages on it.  We will spam
the log file repeatedly.  Debug guard the message.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agoMerge pull request #1704 from qlyoung/docuser
Martin Winter [Tue, 13 Mar 2018 22:12:54 +0000 (15:12 -0700)]
Merge pull request #1704 from qlyoung/docuser

Documentation update to ReST

6 years agoMerge pull request #1831 from qlyoung/frr-pthread-fixups
Renato Westphal [Tue, 13 Mar 2018 21:22:22 +0000 (18:22 -0300)]
Merge pull request #1831 from qlyoung/frr-pthread-fixups

lib: some frr_pthread fixes

6 years agodoc: remove misc trailing whitespace
Quentin Young [Tue, 13 Mar 2018 21:11:51 +0000 (17:11 -0400)]
doc: remove misc trailing whitespace

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
6 years agodoc: Update CentOS6 doc to use puias repo for updated sphinx
Martin Winter [Tue, 13 Mar 2018 21:02:34 +0000 (14:02 -0700)]
doc: Update CentOS6 doc to use puias repo for updated sphinx

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
6 years agobgpd: Fix warning
vivek [Tue, 13 Mar 2018 19:42:41 +0000 (19:42 +0000)]
bgpd: Fix warning

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
6 years agobgpd: Fix enum, use API for log string
vivek [Tue, 13 Mar 2018 18:14:26 +0000 (18:14 +0000)]
bgpd: Fix enum, use API for log string

Suggested-by: Philippe Guibert <philippe.guibert@6wind.com>
Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
6 years agoMerge branch 'master' of https://github.com/frrouting/frr into pmsi-parse-display
vivek [Tue, 13 Mar 2018 17:50:08 +0000 (17:50 +0000)]
Merge branch 'master' of https://github.com/frrouting/frr into pmsi-parse-display

6 years agodoc: don't check for sphinx-build on `make clean`
Quentin Young [Tue, 13 Mar 2018 17:18:19 +0000 (13:18 -0400)]
doc: don't check for sphinx-build on `make clean`

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
6 years agoMerge branch 'master' into docuser
Quentin Young [Tue, 13 Mar 2018 16:08:38 +0000 (12:08 -0400)]
Merge branch 'master' into docuser

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
6 years agolib: privileges are granted to vty netns command
Philippe Guibert [Tue, 13 Mar 2018 14:26:03 +0000 (15:26 +0100)]
lib: privileges are granted to vty netns command

Vty commands that link netns context to a vrf is requiring some
privileges. The change consists in retrieving the privileges at the
vrf_cmd_init() called by the relevant daemon. Then use it.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
6 years agozebra: upon associating netns with vrf, prileges are raised
Philippe Guibert [Tue, 13 Mar 2018 13:51:31 +0000 (14:51 +0100)]
zebra: upon associating netns with vrf, prileges are raised

In order to create the netns context, the zebra parser at startup needs
to have its privileges raised.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
6 years agovtysh: restore some DEFUNs that should not have been reformated by indent.py
Lou Berger [Mon, 12 Mar 2018 15:51:21 +0000 (11:51 -0400)]
vtysh: restore some DEFUNs that should not have been reformated by indent.py

6 years agotools: fix indent.py to recognize all DEFUN types:
Lou Berger [Fri, 9 Mar 2018 16:49:29 +0000 (11:49 -0500)]
tools: fix indent.py to recognize all DEFUN types:
    DEFUN
    DEFUN_ATTR
    DEFUN_CMD_ELEMENT
    DEFUN_CMD_FUNC_DECL
    DEFUN_CMD_FUNC_TEXT
    DEFUN_DEPRECATED
    DEFUN_HIDDEN
    DEFUN_NOSH
    DEFUNSH
    DEFUNSH_ATTR
    DEFUNSH_DEPRECATED
    DEFUNSH_HIDDEN

Signed-off-by: Lou Berger <lberger@labn.net>
6 years agoMerge pull request #1806 from vivek-cumulus/evpn-ipv6-tenant-routing
Philippe Guibert [Tue, 13 Mar 2018 09:20:29 +0000 (10:20 +0100)]
Merge pull request #1806 from vivek-cumulus/evpn-ipv6-tenant-routing

*: EVPN symmetric routing for IPv6 tenant routes

6 years agoMerge pull request #1860 from qlyoung/debug-mt-safe
Renato Westphal [Tue, 13 Mar 2018 02:34:51 +0000 (23:34 -0300)]
Merge pull request #1860 from qlyoung/debug-mt-safe

lib: add convenience debugging macros

6 years agoMerge pull request #1828 from qlyoung/zapi-cleanup
Renato Westphal [Tue, 13 Mar 2018 01:43:05 +0000 (22:43 -0300)]
Merge pull request #1828 from qlyoung/zapi-cleanup

zebra: giant zapi cleanup

6 years agoMerge pull request #1873 from qlyoung/fix-zlog-hexdump
Russ White [Mon, 12 Mar 2018 23:18:30 +0000 (19:18 -0400)]
Merge pull request #1873 from qlyoung/fix-zlog-hexdump

Fix zlog_hexdump

6 years agoMerge pull request #1781 from mkanjari/type5-default-originate
Russ White [Mon, 12 Mar 2018 23:17:21 +0000 (19:17 -0400)]
Merge pull request #1781 from mkanjari/type5-default-originate

Type5 default originate

6 years agoMerge branch 'master' into type5-default-originate
Mitesh Kanjariya [Mon, 12 Mar 2018 21:47:28 +0000 (14:47 -0700)]
Merge branch 'master' into type5-default-originate

6 years agotests: add unit test for zlog
Quentin Young [Mon, 12 Mar 2018 18:04:56 +0000 (14:04 -0400)]
tests: add unit test for zlog

Just tests zlog_hexdump right now

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
6 years agolib: fixup zlog_hexdump
Quentin Young [Mon, 12 Mar 2018 18:01:47 +0000 (14:01 -0400)]
lib: fixup zlog_hexdump

* Allocate correct amount of memory
* Use snprintf() instead of sprintf()

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
6 years agolib, zebra: slight cleanup after rebase
Quentin Young [Fri, 9 Mar 2018 22:40:16 +0000 (17:40 -0500)]
lib, zebra: slight cleanup after rebase

Rebased zapi-cleanup, needs a bit of poking.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
6 years agolib, zebra: clean up zapi nits
Quentin Young [Fri, 9 Mar 2018 20:59:39 +0000 (15:59 -0500)]
lib, zebra: clean up zapi nits

* Get correct data size when parsing VRF ids
* Move some vars into smaller scope

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
6 years agolib: zclient.h style fixes
Quentin Young [Wed, 7 Mar 2018 17:30:51 +0000 (12:30 -0500)]
lib: zclient.h style fixes

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
6 years agolib, zebra: use existing zapi header struct
Quentin Young [Wed, 7 Mar 2018 16:23:58 +0000 (11:23 -0500)]
lib, zebra: use existing zapi header struct

Nobody uses it, but it's got the same definition. Move the parser
function into zclient.c and use it.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
6 years agozebra: reorganize zserv, batch i/o
Quentin Young [Tue, 6 Mar 2018 23:08:37 +0000 (18:08 -0500)]
zebra: reorganize zserv, batch i/o

Group send and receive functions together, change handlers to take a
message instead of looking at ->ibuf and ->obuf, allow zebra to read
multiple packets off the wire at a time.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
6 years agozebra: standardize ZAPI message handler args
Quentin Young [Tue, 6 Mar 2018 22:57:33 +0000 (17:57 -0500)]
zebra: standardize ZAPI message handler args

A lot of the handler functions that are called directly from the ZAPI
input processing code take different argument sets where they don't need
to. These functions are called from only one place and all have the same
fundamental information available to them to do their work. There is no
need to specialize what information is passed to them; it is cleaner and
easier to understand when they all accept the same base set of
information and extract what they need inline.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
6 years agozebra: add struct zmsghdr
Quentin Young [Tue, 6 Mar 2018 22:09:36 +0000 (17:09 -0500)]
zebra: add struct zmsghdr

Formalize the ZAPI header by documenting it in code and providing it to
message handlers free of charge to reduce complexity.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
6 years agozebra: dont return a status code in zapi handlers
Quentin Young [Tue, 6 Mar 2018 22:01:42 +0000 (17:01 -0500)]
zebra: dont return a status code in zapi handlers

All of the ZAPI message handlers return an integer that means different
things to each of them, but nobody ever reads these integers, so this is
technical debt that we can just eliminate outright.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
6 years agotests: add unit test for zlog
Quentin Young [Mon, 12 Mar 2018 18:04:56 +0000 (14:04 -0400)]
tests: add unit test for zlog

Just tests zlog_hexdump right now

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
6 years agolib: fixup zlog_hexdump
Quentin Young [Mon, 12 Mar 2018 18:01:47 +0000 (14:01 -0400)]
lib: fixup zlog_hexdump

* Allocate correct amount of memory
* Use snprintf() instead of sprintf()

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
6 years agoMerge pull request #1868 from ajones-rvbd/ajones-for-upstream
Donald Sharp [Mon, 12 Mar 2018 18:09:41 +0000 (14:09 -0400)]
Merge pull request #1868 from ajones-rvbd/ajones-for-upstream

docs/install.texi: document --enable-numeric-version

6 years agodocs/install.texi: document --enable-numeric-version
Arthur Jones [Mon, 12 Mar 2018 16:32:23 +0000 (16:32 +0000)]
docs/install.texi: document --enable-numeric-version

Document the configure option to strip non-numeric characters from
the version string.

Testing done:

Build alpine packages in docker, run texinfo on the doc apk package.

Issue: https://github.com/FRRouting/frr/issues/1859
Signed-off-by: Arthur Jones <arthur.jones@riverbed.com>
6 years agotools/frr-reload.py: process vnc settings as sub-context
Christian Franke [Mon, 5 Mar 2018 16:16:04 +0000 (17:16 +0100)]
tools/frr-reload.py: process vnc settings as sub-context

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
6 years agoMerge pull request #1858 from qlyoung/gitignore-clippy-sources
Renato Westphal [Mon, 12 Mar 2018 15:21:24 +0000 (12:21 -0300)]
Merge pull request #1858 from qlyoung/gitignore-clippy-sources

*: globally ignore clippy-generated source

6 years agolib: add convenience debugging macros
Quentin Young [Fri, 9 Mar 2018 17:07:25 +0000 (12:07 -0500)]
lib: add convenience debugging macros

* Add DEBUG*() macros

This set of macros allows you to write printf-like debugging lines that
automatically check whether a debug is on before printing. This should
eliminate the need for explicit checks in simple cases. For example:

if (SUCH_AND_SUCH_DEBUG_IS_ON) {
zlog_warn(...);
}

Becomes:

DEBUG(warn, such_and_such, ...);

Or, equivalently,

DEBUGE(such_and_such, ...);

The levels passed to DEBUG are expanded into the names of zlog_*
functions, so the same zlog levels are available. There's also a set of
macros that have the level built into them; DEBUGE for errors, DEBUGW
for warnings, etc. Good for brevity.

* Add singular setting macros

Change the 'SET' macros to accept a boolean indicating whether the
provided bits should be set or unset, and map on/off macros to them.
Helps condense code where you already have a boolean condition that
tells you what you want to do as you can avoid writing the branch.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
6 years agoMerge pull request #1866 from ajones-rvbd/ajones-for-upstream
Donald Sharp [Mon, 12 Mar 2018 12:23:53 +0000 (08:23 -0400)]
Merge pull request #1866 from ajones-rvbd/ajones-for-upstream

alpine: minimal alpine packaging

6 years agoalpine: minimal alpine packaging
Arthur Jones [Sun, 11 Mar 2018 17:32:24 +0000 (10:32 -0700)]
alpine: minimal alpine packaging

For building dev packages for alpine, we provide a minimal APKBUILD
file and add a configure option for only numeric versions in the
VERSION variable as alpine does not allow non-numeric characters
in the version string.

These changes allow alpine to be built, but don't yet provide a
mechanism to build.  Changes to do the build in docker are coming
soon...

Testing done:

Built alpine packages in local docker environment, packages
showed no "dev" in the package name.  Also built CentOS packages
with numeric version disabled and the "dev" is still in the package
name.

Issue: https://github.com/FRRouting/frr/issues/1859
Signed-off-by: Arthur Jones <arthur.jones@riverbed.com>
6 years agoisisd: add nerd-knob to turn three-way-adj off
Christian Franke [Mon, 5 Mar 2018 20:29:15 +0000 (21:29 +0100)]
isisd: add nerd-knob to turn three-way-adj off

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
6 years agoisisd: P2P adjacencies should only be included in LSPDB/SPF when they are up
Christian Franke [Mon, 5 Mar 2018 20:01:21 +0000 (21:01 +0100)]
isisd: P2P adjacencies should only be included in LSPDB/SPF when they are up

6 years agoisisd: implement threeway adjacencies
Christian Franke [Mon, 5 Mar 2018 20:00:40 +0000 (21:00 +0100)]
isisd: implement threeway adjacencies

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
6 years agoisisd: add support for TLV 240 P2P Three-Way Adjacency
Christian Franke [Mon, 5 Mar 2018 17:51:17 +0000 (18:51 +0100)]
isisd: add support for TLV 240 P2P Three-Way Adjacency

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
6 years agoisisd: remove unused debug code
Christian Franke [Mon, 5 Mar 2018 17:45:36 +0000 (18:45 +0100)]
isisd: remove unused debug code

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
6 years agoisisd: allocate circuit_id only for broadcast circuits
Christian Franke [Mon, 5 Mar 2018 17:45:02 +0000 (18:45 +0100)]
isisd: allocate circuit_id only for broadcast circuits

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
6 years agoisisd: cleanup usage of circuit_id
Christian Franke [Mon, 5 Mar 2018 17:42:30 +0000 (18:42 +0100)]
isisd: cleanup usage of circuit_id

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
6 years agoisisd: revert some counterproductive indentation
Christian Franke [Sat, 10 Mar 2018 17:16:34 +0000 (18:16 +0100)]
isisd: revert some counterproductive indentation

This reverts some of commit 996c93142d3abfab0f6d6c800474e22a8cfbdbc5.

6 years agoMerge pull request #1847 from msablic/pim_auto_mtrace
Donald Sharp [Sat, 10 Mar 2018 12:55:48 +0000 (07:55 -0500)]
Merge pull request #1847 from msablic/pim_auto_mtrace

pimd: mtrace only IGMP sockets

6 years agoMerge pull request #1861 from ajones-rvbd/ajones-for-upstream
Donald Sharp [Sat, 10 Mar 2018 12:05:14 +0000 (07:05 -0500)]
Merge pull request #1861 from ajones-rvbd/ajones-for-upstream

zebra/if_netlink: compile under musl-libc

6 years agoMerge branch 'master' of https://github.com/frrouting/frr into pmsi-parse-display
vivek [Sat, 10 Mar 2018 04:14:17 +0000 (04:14 +0000)]
Merge branch 'master' of https://github.com/frrouting/frr into pmsi-parse-display

Conflicts:
bgpd/bgp_attr.c

6 years agoMerge branch 'master' of https://github.com/frrouting/frr into evpn-ipv6-tenant-routing
vivek [Sat, 10 Mar 2018 04:03:41 +0000 (04:03 +0000)]
Merge branch 'master' of https://github.com/frrouting/frr into evpn-ipv6-tenant-routing

Conflicts:
bgpd/bgp_evpn.c

6 years agozebra/if_netlink: compile under musl-libc
Arthur Jones [Fri, 9 Mar 2018 23:08:24 +0000 (15:08 -0800)]
zebra/if_netlink: compile under musl-libc

musl-libc is a lightweight libc used by alpine linux:

https://www.musl-libc.org/

AFAICT, this is the only change to the source needed to get
basic frr support compiling on musl.

Two changes in one patch, get ethhdr from netinet/if_ether.h
and replace the only __caddr_t I could find in the source base
with caddr_t.

Testing done:

Compiled apk packages using a docker environment (patches
coming soon) also compiled redhat and debian using a similar
docker environment (RFC patches for those changes are queued
up too)...

Issue: https://github.com/FRRouting/frr/issues/1859
Signed-off-by: Arthur Jones <arthur.jones@riverbed.com>
6 years ago*: globally ignore clippy-generated source
Quentin Young [Fri, 9 Mar 2018 22:51:42 +0000 (17:51 -0500)]
*: globally ignore clippy-generated source

Tired of dealing with this

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
6 years agovtysh: add bgpd vpn-policy nodes
G. Paul Ziemba [Mon, 12 Feb 2018 03:50:02 +0000 (19:50 -0800)]
vtysh: add bgpd vpn-policy nodes

Signed-off-by: G. Paul Ziemba <paulz@labn.net>
6 years agobgpd: vpn-vrf route leaking
G. Paul Ziemba [Fri, 9 Mar 2018 20:52:55 +0000 (15:52 -0500)]
bgpd: vpn-vrf route leaking
    - add "debug bgp vpn label" CLI
    - improved debug messages for "debug bgp bestpath"
    - send vrf label to zebra after zebra informs bgpd of vrf_id
    - withdraw vrf_label from zebra if zebra informs bgpd that vrf_id is disabled
Signed-off-by: G. Paul Ziemba <paulz@labn.net>
6 years agoisisd: debug msg: display distance when adding redist route
G. Paul Ziemba [Sat, 3 Mar 2018 21:22:29 +0000 (13:22 -0800)]
isisd: debug msg: display distance when adding redist route

Signed-off-by: G. Paul Ziemba <paulz@labn.net>
6 years agoospfd: resend redistribute request to zebra after ospf gets notified of vrf_id
G. Paul Ziemba [Wed, 28 Feb 2018 08:01:13 +0000 (00:01 -0800)]
ospfd: resend redistribute request to zebra after ospf gets notified of vrf_id

Signed-off-by: G. Paul Ziemba <paulz@labn.net>
6 years agoospfd: debug detail for redistribute
G. Paul Ziemba [Wed, 28 Feb 2018 07:59:42 +0000 (23:59 -0800)]
ospfd: debug detail for redistribute

Signed-off-by: G. Paul Ziemba <paulz@labn.net>
6 years agozebra: debug additional detail for route announce/redist
G. Paul Ziemba [Fri, 9 Mar 2018 15:53:32 +0000 (10:53 -0500)]
zebra: debug additional detail for route announce/redist
       alos add a comment

Signed-off-by: G. Paul Ziemba <paulz@labn.net>
6 years agozebra: add BGP VPN route type to meta_queue_map
G. Paul Ziemba [Fri, 9 Mar 2018 15:47:43 +0000 (10:47 -0500)]
zebra: add BGP VPN route type to meta_queue_map

Signed-off-by: G. Paul Ziemba <paulz@labn.net>
6 years agolib: fix comment in zclient.c
G. Paul Ziemba [Wed, 28 Feb 2018 07:57:59 +0000 (23:57 -0800)]
lib: fix comment in zclient.c

Signed-off-by: G. Paul Ziemba <paulz@labn.net>
6 years agolib: Keep indent/clang happy
G. Paul Ziemba [Fri, 9 Mar 2018 20:37:10 +0000 (15:37 -0500)]
lib: Keep indent/clang happy

Signed-off-by: G. Paul Ziemba <paulz@labn.net>
6 years agolib: add new BGP VPN policy command node
G. Paul Ziemba [Fri, 9 Mar 2018 15:45:50 +0000 (10:45 -0500)]
lib: add new BGP VPN policy command node

Signed-off-by: G. Paul Ziemba <paulz@labn.net>
6 years agolib: add BGP VPN route type
G. Paul Ziemba [Fri, 9 Mar 2018 15:44:56 +0000 (10:44 -0500)]
lib: add BGP VPN route type

Signed-off-by: G. Paul Ziemba <paulz@labn.net>
6 years agobgpd: some more debug info when 'debug updates out' is set
G. Paul Ziemba [Mon, 19 Feb 2018 22:55:30 +0000 (14:55 -0800)]
bgpd: some more debug info when 'debug updates out' is set

Signed-off-by: G. Paul Ziemba <paulz@labn.net>
6 years agobgpd: rfapi: avoid null pointer dereference in vnc_export_bgp_disable if rfapi is...
G. Paul Ziemba [Sun, 11 Feb 2018 16:13:12 +0000 (08:13 -0800)]
bgpd: rfapi: avoid null pointer dereference in vnc_export_bgp_disable if rfapi is not provisioned

Signed-off-by: G. Paul Ziemba <paulz@labn.net>
6 years agoMerge pull request #1813 from donaldsharp/pbr_setup
Philippe Guibert [Fri, 9 Mar 2018 17:05:03 +0000 (18:05 +0100)]
Merge pull request #1813 from donaldsharp/pbr_setup

Pbr setup

6 years agolib: frr_pthread int size nits
Quentin Young [Fri, 9 Mar 2018 16:20:53 +0000 (11:20 -0500)]
lib: frr_pthread int size nits

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
6 years agodoc: don't build html by default
Quentin Young [Fri, 9 Mar 2018 16:12:38 +0000 (11:12 -0500)]
doc: don't build html by default

Since docs are rebuilt on every make invocation, don't bother building html by
default to save a bit of time.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
6 years agolib, zebra: Add Rule insertion success/failure messages
Donald Sharp [Fri, 23 Feb 2018 18:48:06 +0000 (13:48 -0500)]
lib, zebra: Add Rule insertion success/failure messages

Add code to allow rule insertion notifications to be
sent back up the stack.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agodoc: disable parallel build
Quentin Young [Fri, 9 Mar 2018 16:11:04 +0000 (11:11 -0500)]
doc: disable parallel build

Sphinx is not designed to be run in parallel and exhibits filesystem race
conditions if it is. Disable parallel build.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
6 years agozebra: Make the ifp part of the rule structure
Donald Sharp [Fri, 23 Feb 2018 18:45:36 +0000 (13:45 -0500)]
zebra: Make the ifp part of the rule structure

Every place we need to pass around the rule structure
we need to pass around the ifp as well.  Move it into
the structure.  This will also allow us to notify up
to higher level protocols that this worked properly
or not better too.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agozebra: Keep track of rules written
Donald Sharp [Fri, 16 Feb 2018 02:34:04 +0000 (21:34 -0500)]
zebra: Keep track of rules written

Keep track of rules written into the kernel.  This will
allow us to delete them on shutdown if we are not cleaned
up properly.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agozebra: Cleanup api
Donald Sharp [Fri, 16 Feb 2018 01:11:12 +0000 (20:11 -0500)]
zebra: Cleanup api

Allow the add/delete to go through a intermediary function in
zebra_pbr.c instead of directly to the underlying os call.  This
will allow future refinements to track the data a bit better
so that on shutdown we can delete the rules.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agozebra: Cleanup a couple of api issues
Donald Sharp [Fri, 16 Feb 2018 00:55:56 +0000 (19:55 -0500)]
zebra: Cleanup a couple of api issues

1) use uint32_t instead of u_int32_t as we are supposed to
2) Consolidate priority into the rule.
3) Cleanup the api from this.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agolib, zebra: Add rule encoding
Donald Sharp [Thu, 15 Feb 2018 00:52:01 +0000 (19:52 -0500)]
lib, zebra: Add rule encoding

Add some code to pass the rule we want installed into
the kernel.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years ago*: PBR - netlink interaction and basic definitions
vivek [Sun, 4 Feb 2018 12:33:33 +0000 (12:33 +0000)]
*: PBR - netlink interaction and basic definitions

Implement netlink interactions for Policy Based Routing. This includes
APIs to install and uninstall rules and handle notifications from the
kernel related to rule addition or deletion. Various definitions are
added to facilitate this.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agolib, vtysh: Start cli for nexthop-group
Donald Sharp [Fri, 26 Jan 2018 15:59:15 +0000 (10:59 -0500)]
lib, vtysh: Start cli for nexthop-group

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agolib: Isolate nexthop_group functions to nexthop_group.c
Donald Sharp [Fri, 26 Jan 2018 15:12:35 +0000 (10:12 -0500)]
lib: Isolate nexthop_group functions to nexthop_group.c

Also modify `struct route_entry` to use nexthop_groups.
Move ALL_NEXTHOPS loop to nexthop_group.h

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agolib, zebra: Allow zapi to send down the tableid
Donald Sharp [Fri, 9 Feb 2018 23:38:02 +0000 (18:38 -0500)]
lib, zebra: Allow zapi to send down the tableid

Allow the calling daemon to pass down what table-id we
want to use to install the route.  Useful for PBR.

The vrf id passed must be the VRF_DEFAULT else this
value is ignored.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agobgpd, lib, zebra: Switch to work_queue_free_and_null
Donald Sharp [Mon, 5 Feb 2018 15:40:09 +0000 (10:40 -0500)]
bgpd, lib, zebra: Switch to work_queue_free_and_null

The work_queue_free function free'd up the wq pointer but
did not set it too NULL.  This of course causes situations
where we may use the work_queue after it is freed.  Let's
modify the work_queue to set the pointer for you.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agoMerge pull request #1808 from qlyoung/debug-mt-safe
Renato Westphal [Fri, 9 Mar 2018 14:25:37 +0000 (11:25 -0300)]
Merge pull request #1808 from qlyoung/debug-mt-safe

MT-safe debug facilities

6 years agoMerge pull request #1852 from donaldsharp/notify_owner_fail
Renato Westphal [Fri, 9 Mar 2018 02:33:21 +0000 (23:33 -0300)]
Merge pull request #1852 from donaldsharp/notify_owner_fail

*: Add code to notify on successful route removal

6 years ago*: Add code to notify on route removal status
Donald Sharp [Thu, 8 Mar 2018 15:25:12 +0000 (10:25 -0500)]
*: Add code to notify on route removal status

If a interested party removes one of it's routes let
it know that it has happened as asked for.

Add a ZAPI_ROUTE_REMOVED to the send of the route_notify_owner
Add a ZAPI_ROUTE_REMOVE_FAIL to the send of the route_notify_owner

Add code in sharpd to notice this and to allow it to keep
track of routes removed for that invocation and give timing
results.

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