]> git.puffer.fish Git - mirror/frr.git/log
mirror/frr.git
7 years agotools: Add helper frr-reload shell script for clean error 1898/head
Martin Winter [Thu, 15 Mar 2018 00:31:29 +0000 (17:31 -0700)]
tools: Add helper frr-reload shell script for clean error

Adding the shell script allows a clean error if frr-pythontools
is not installed.

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
7 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

7 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

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

7 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

7 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

7 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

7 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

7 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

7 years agolib: Fixup strlcat and strlcpy to be a bit more descriptive 1886/head
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>
7 years agolib: Add the ability for other people to call a nexthop write line 1863/head
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>
7 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>
7 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>
7 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

7 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

7 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

7 years agoospf6d: Stop debug messages happening in rare case 1884/head
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>
7 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

7 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

7 years agodoc: remove misc trailing whitespace 1704/head
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>
7 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>
7 years agobgpd: Fix warning 1821/head
vivek [Tue, 13 Mar 2018 19:42:41 +0000 (19:42 +0000)]
bgpd: Fix warning

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
7 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>
7 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

7 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>
7 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>
7 years agolib: privileges are granted to vty netns command 1880/head
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>
7 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>
7 years agovtysh: restore some DEFUNs that should not have been reformated by indent.py 1867/head
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

7 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>
7 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

7 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

7 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

7 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

7 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

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

7 years agotests: add unit test for zlog 1873/head
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>
7 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>
7 years agolib, zebra: slight cleanup after rebase 1828/head
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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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

7 years agodocs/install.texi: document --enable-numeric-version 1868/head
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>
7 years agotools/frr-reload.py: process vnc settings as sub-context 1869/head
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>
7 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

7 years agolib: add convenience debugging macros 1860/head
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>
7 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

7 years agoalpine: minimal alpine packaging 1866/head
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>
7 years agoisisd: add nerd-knob to turn three-way-adj off 1830/head
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>
7 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

7 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>
7 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>
7 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>
7 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>
7 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>
7 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.

7 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

7 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

7 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

7 years agoMerge branch 'master' of https://github.com/frrouting/frr into evpn-ipv6-tenant-routing 1806/head
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

7 years agozebra/if_netlink: compile under musl-libc 1861/head
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>
7 years ago*: globally ignore clippy-generated source 1858/head
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>
7 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

7 years agolib: frr_pthread int size nits 1831/head
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>
7 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>
7 years agolib, zebra: Add Rule insertion success/failure messages 1813/head
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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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

7 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

7 years ago*: Add code to notify on route removal status 1852/head
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>
7 years agoMerge pull request #1814 from chiragshah6/mdev
Jafar Al-Gharaibeh [Fri, 9 Mar 2018 00:05:32 +0000 (18:05 -0600)]
Merge pull request #1814 from chiragshah6/mdev

ospf6d: assign zebra router-id to ospf6 instance

7 years agoMerge pull request #1843 from chiragshah6/ospf_vrf_dev
Renato Westphal [Thu, 8 Mar 2018 22:04:08 +0000 (19:04 -0300)]
Merge pull request #1843 from chiragshah6/ospf_vrf_dev

zebra/ospfd:  Treat vrf interface similar to loopback

7 years agoospfd: Treat vrf interface as loopback type 1843/head
Chirag Shah [Tue, 6 Mar 2018 20:55:59 +0000 (12:55 -0800)]
ospfd: Treat vrf interface as loopback type

Ticket:CM-19914

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
7 years agozebra: set vrf as loopback upon interface add
Chirag Shah [Tue, 6 Mar 2018 20:50:32 +0000 (12:50 -0800)]
zebra: set vrf as loopback upon interface add

Move setting vrf loopback flag on ifp after
zebra vrf type is set (ziftype).

Zebra connected not to announce unnumbered for
VRF interface (similar to loopback).

Ticket:CM-19914

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com
7 years agoMerge pull request #1842 from donaldsharp/zserv_buffer_size
Renato Westphal [Thu, 8 Mar 2018 20:27:21 +0000 (17:27 -0300)]
Merge pull request #1842 from donaldsharp/zserv_buffer_size

lib: Increase zapi buffer size

7 years agopimd: mtrace only IGMP sockets 1847/head
Mladen Sablic [Tue, 27 Feb 2018 22:16:45 +0000 (23:16 +0100)]
pimd: mtrace only IGMP sockets

Feature of mtrace only IGMP sockets on pim sm and pim
ssm interfaces. Modifed IGMP socket creation and show
igmp interface command output.

Signed-off-by: Mladen Sablic <mladen.sablic@gmail.com>
7 years agoredhat: update frr.spec for doc build changes
Quentin Young [Wed, 7 Mar 2018 22:36:20 +0000 (17:36 -0500)]
redhat: update frr.spec for doc build changes

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agodoc: change html theme to 'default'
Quentin Young [Wed, 7 Mar 2018 21:28:23 +0000 (16:28 -0500)]
doc: change html theme to 'default'

Looks like older versions of Sphinx switched around naming for the default
themes.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agoMerge pull request #1826 from qlyoung/lsan-suppressions
Martin Winter [Wed, 7 Mar 2018 21:47:43 +0000 (22:47 +0100)]
Merge pull request #1826 from qlyoung/lsan-suppressions

tools: add LeakSanitizer suppressions list

7 years agodoc: fix make setup
Quentin Young [Wed, 7 Mar 2018 19:35:20 +0000 (14:35 -0500)]
doc: fix make setup

Iron out all of the glitches with recursive Automake, 3rd-party
autogenerated Sphinx makefiles, building and installing 3 different
document formats under different targets, and handling clean.

* Implement all Automake-required targets for 3rd-party Makefiles
* Setup subdirectories for 3rd-party Makefiles
* Override implicit Automake document targets
* Clean up explicit targets for developer docs
* Move Sphinx-generated Makefile to an include file
* Update targets for debian packaging

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agolib: Increase zapi buffer size 1842/head
Donald Sharp [Tue, 6 Mar 2018 21:07:14 +0000 (16:07 -0500)]
lib: Increase zapi buffer size

The buffer size is currently 4k.  Increase x4 times to allow for bigger
messages to be sent over the zapi.

The current size sufficient for most cases, but there are a couple
of cases with installing data to the kernel ip rules where we will
quickly hit this 4k size limit.  I forsee flowspec getting close
to this limit as well.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agozebra: Allow for storage of non-configed vrf routes 1819/head
Donald Sharp [Thu, 1 Mar 2018 10:10:47 +0000 (05:10 -0500)]
zebra: Allow for storage of non-configed vrf routes

When zebra is being configed we allow for static routes
to be entered.  This presents a problem for when a vrf
is cli configed but not kernel configed yet.

Modify zebra to notice that when a static route is
entered and either the nexthop vrf or the vrf
is not fully configed, to save that config to the
side.

When vrf's become active( kernel configed ) parse
through the list of saved to the side static routes
and determine if any of them can be installed.

Additionally modify the cli to output the saved
to the side cli, so that we can properly handle
a wr mem.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agodoc: update .gitignore
Quentin Young [Wed, 7 Mar 2018 18:59:15 +0000 (13:59 -0500)]
doc: update .gitignore

Remove the various manpages & info related ignore rules so that git
clean can pick them up and delete them.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>