]> git.proxmox.com Git - mirror_frr.git/log
mirror_frr.git
5 years agoMerge pull request #2909 from netravnen/feature/git-pl-template
Quentin Young [Tue, 4 Sep 2018 15:56:43 +0000 (11:56 -0400)]
Merge pull request #2909 from netravnen/feature/git-pl-template

Add github pull-request-template.md

5 years agoMerge pull request #2934 from LabNConsulting/working/master/rfapi_topotest_support
David Lamparter [Tue, 4 Sep 2018 15:42:32 +0000 (17:42 +0200)]
Merge pull request #2934 from LabNConsulting/working/master/rfapi_topotest_support

add some testing support for use in rfapi topotest

5 years agoMerge pull request #2939 from netravnen/feature/git-issue-teplate
Russ White [Tue, 4 Sep 2018 15:28:18 +0000 (11:28 -0400)]
Merge pull request #2939 from netravnen/feature/git-issue-teplate

Add ISSUE_TEMPLATE

5 years agoMerge pull request #2966 from donaldsharp/v6_cleanup
David Lamparter [Tue, 4 Sep 2018 14:17:39 +0000 (16:17 +0200)]
Merge pull request #2966 from donaldsharp/v6_cleanup

lib: Remove dead code

5 years agolib: Remove dead code
Donald Sharp [Tue, 4 Sep 2018 13:14:53 +0000 (09:14 -0400)]
lib: Remove dead code

The ZEBRA_IPV4_ROUTE_IPV6_NEXTHOP_ADD zapi message has no creators and
no handlers.  Let's just remove.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agoMerge pull request #2950 from qlyoung/misc-doc-updates
David Lamparter [Sat, 1 Sep 2018 03:06:46 +0000 (05:06 +0200)]
Merge pull request #2950 from qlyoung/misc-doc-updates

Misc doc updates

5 years agoMerge pull request #2945 from dslicenc/bgp-ospf-json
David Lamparter [Sat, 1 Sep 2018 03:05:30 +0000 (05:05 +0200)]
Merge pull request #2945 from dslicenc/bgp-ospf-json

bgpd/ospfd: make bgp and ospf json response a bit more consistent

5 years ago.github: Update ISSUE_TEMPLATE.md
Christoffer [Fri, 31 Aug 2018 22:10:42 +0000 (00:10 +0200)]
.github: Update ISSUE_TEMPLATE.md

Addressed @rwestphal comments.

Signed-off-by: Christoffer <netravnen@gmail.com>
5 years ago.github: Updated PULL_REQUEST_TEMPLATE.md
Christoffer [Fri, 31 Aug 2018 20:56:33 +0000 (22:56 +0200)]
.github: Updated PULL_REQUEST_TEMPLATE.md

Addressed @qlyoung's suggestions.

Signed-off-by: Christoffer <netravnen@gmail.com>
5 years ago.github: Updated ISSUE_TEMPALTE.md
Christoffer [Fri, 31 Aug 2018 19:53:02 +0000 (21:53 +0200)]
.github: Updated ISSUE_TEMPALTE.md

Addressed @qlyoung's suggestions.

Signed-off-by: Christoffer <netravnen@gmail.com>
5 years agozebra: remove invalid ref "frr-configuration"
Quentin Young [Fri, 31 Aug 2018 18:04:31 +0000 (18:04 +0000)]
zebra: remove invalid ref "frr-configuration"

There is, in fact, no such additional information

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
5 years agodoc: update subdir.am
Quentin Young [Fri, 31 Aug 2018 17:15:14 +0000 (17:15 +0000)]
doc: update subdir.am

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
5 years agodoc: update misc build docs
Quentin Young [Thu, 30 Aug 2018 19:18:30 +0000 (19:18 +0000)]
doc: update misc build docs

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
5 years agodoc: name correct sphinx package under FreeBSD 11
Quentin Young [Thu, 30 Aug 2018 17:32:47 +0000 (17:32 +0000)]
doc: name correct sphinx package under FreeBSD 11

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
5 years agodoc: rename building_frr_on* -> building_frr_for*
Quentin Young [Thu, 30 Aug 2018 17:31:45 +0000 (17:31 +0000)]
doc: rename building_frr_on* -> building_frr_for*

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
5 years agobgpd: convert from conditional operator to if-then for json changes
Don Slice [Fri, 31 Aug 2018 16:32:22 +0000 (16:32 +0000)]
bgpd: convert from conditional operator to if-then for json changes

Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
5 years agoMerge pull request #2913 from opensourcerouting/non-recursive-prep
Quentin Young [Fri, 31 Aug 2018 15:43:59 +0000 (11:43 -0400)]
Merge pull request #2913 from opensourcerouting/non-recursive-prep

pre-final non-recursive make

5 years agoMerge pull request #2955 from ton31337/feature/nexthop_blackhole
David Lamparter [Fri, 31 Aug 2018 15:33:40 +0000 (17:33 +0200)]
Merge pull request #2955 from ton31337/feature/nexthop_blackhole

plist: Add safety check to avoid going over 4294967295 for prefix-list

5 years agoMerge pull request #2940 from ton31337/fix/as-path_validation
David Lamparter [Fri, 31 Aug 2018 13:56:44 +0000 (15:56 +0200)]
Merge pull request #2940 from ton31337/fix/as-path_validation

bgpd: Validate as-path access-list before continuing regarding invaliā€¦

5 years agoplist: Add safety check to avoid going over 4294967295 for prefix-list
Donatas Abraitis [Fri, 31 Aug 2018 13:38:56 +0000 (16:38 +0300)]
plist: Add safety check to avoid going over 4294967295 for prefix-list

5 years agobgpd: change conditional operators for bgp/ospf json changes
Don Slice [Fri, 31 Aug 2018 12:50:02 +0000 (12:50 +0000)]
bgpd: change conditional operators for bgp/ospf json changes

Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
5 years agobgpd: Validate as-path access-list before continuing regarding invalid chars
Donatas Abraitis [Wed, 29 Aug 2018 16:12:30 +0000 (19:12 +0300)]
bgpd: Validate as-path access-list before continuing regarding invalid chars

Signed-off-by: Donatas Abraitis donatas.abraitis@gmail.com
5 years ago.github: Updated ISSUE_TEMPALTE.md
Christoffer [Fri, 31 Aug 2018 11:00:25 +0000 (13:00 +0200)]
.github: Updated ISSUE_TEMPALTE.md

Addressed all of @qlyoung's "presentational nits
and a formatting suggestion". As well as
@rwestphal's idea of OS and FRR name+version
numbers.

Signed-off-by: Christoffer <netravnen@gmail.com>
5 years agoMerge pull request #2785 from donaldsharp/AGGanomics
Lou Berger [Fri, 31 Aug 2018 10:58:12 +0000 (06:58 -0400)]
Merge pull request #2785 from donaldsharp/AGGanomics

Abstract `void *aggregate` pointer in `struct route_node`

5 years agoMerge pull request #2951 from qlyoung/sort-route-maps
David Lamparter [Fri, 31 Aug 2018 10:17:20 +0000 (12:17 +0200)]
Merge pull request #2951 from qlyoung/sort-route-maps

lib: sort route-maps for display

5 years agostatic: Put vty_frame around vrf output in staticd.
Donald Sharp [Wed, 29 Aug 2018 02:47:24 +0000 (22:47 -0400)]
static: Put vty_frame around vrf output in staticd.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agostaticd: Fix mixup in vrf translations
Donald Sharp [Wed, 29 Aug 2018 02:45:06 +0000 (22:45 -0400)]
staticd: Fix mixup in vrf translations

When we store the nexthop for ref-counting, keep
track of the nexthop vrf_id as well.  This will allow
us to track the nexthop per vrf!

Additionally when we get the callback from zebra about
a nexthop update, iterate over all static routes to
see if the nexthop we are getting a callback is
one we are concerned about.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agovtysh: Let staticd know about vrf sub-mode
Donald Sharp [Wed, 29 Aug 2018 02:43:42 +0000 (22:43 -0400)]
vtysh: Let staticd know about vrf sub-mode

staticd was not transitioning into vrf sub-mode, this fixes it.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agoMerge pull request #2923 from pguibert6WIND/fix_veth_namespace
David Lamparter [Fri, 31 Aug 2018 06:51:01 +0000 (08:51 +0200)]
Merge pull request #2923 from pguibert6WIND/fix_veth_namespace

zebra: when veth link is used across vrf, the link may not be good

5 years agolib: Move aggregate pointer into aggregate route/table
Donald Sharp [Fri, 3 Aug 2018 17:25:13 +0000 (13:25 -0400)]
lib: Move aggregate pointer into aggregate route/table

Move the aggregate pointer from the route_node into agg_node
so that people using struct route_node will see a savings
in data size.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agobgpd, ripngd: Convert to using new agg_table/route
Donald Sharp [Fri, 3 Aug 2018 17:22:48 +0000 (13:22 -0400)]
bgpd, ripngd: Convert to using new agg_table/route

Switch bgp and ripngd to use the new aggregate table and
route data structures.  This was mainly a search and replace
operation.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agolib: Add Aggregate Table and Aggregate_node
Donald Sharp [Fri, 3 Aug 2018 17:18:59 +0000 (13:18 -0400)]
lib: Add Aggregate Table and Aggregate_node

Add a abstraction for `struct route_node` and `struct route_table`
such that we can have an aggregate route_node and table.  This
is because only bgp/rfapi and ripng use the aggregate data pointer
in `struct route_node`.  For full route tables other routing
protocols and tables are paying a 8 byte overhead per node.
A full bgp table ends up being ~1.2 million routes in bgp
and zebra.  This is not an insiginificant amount of data.

So create the data structures for this replacement, but
do not replace the aggregate pointer yet.  This is because
later commits will convert rfapi and ripng over to this
new data, and finally we'll move the aggregate pointer.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agolib: sort route-maps for display
Quentin Young [Thu, 30 Aug 2018 21:22:22 +0000 (21:22 +0000)]
lib: sort route-maps for display

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
5 years agoospfd: fix more warnings with the bgp ospf json commit
Don Slice [Thu, 30 Aug 2018 17:15:47 +0000 (17:15 +0000)]
ospfd: fix more warnings with the bgp ospf json commit

Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
5 years agoMerge pull request #2947 from mjstapp/fix_os_name
Quentin Young [Thu, 30 Aug 2018 17:01:22 +0000 (13:01 -0400)]
Merge pull request #2947 from mjstapp/fix_os_name

lib: fix use of frrpthread os_name

5 years agoconfigure: Update version to 6.1-dev frr-6.1-dev
Martin Winter [Thu, 30 Aug 2018 16:11:10 +0000 (09:11 -0700)]
configure: Update version to 6.1-dev

We are now working on 6.1-dev for new work.

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
5 years agobgpd/ospfd: resolve warnings for bgp/ospf json commit
Don Slice [Thu, 30 Aug 2018 15:54:46 +0000 (15:54 +0000)]
bgpd/ospfd: resolve warnings for bgp/ospf json commit

Signed-off-by: Don Slice <dslice@cumulusnetwork.com>
5 years agolib: fix use of frrpthread os_name
Mark Stapp [Thu, 30 Aug 2018 15:44:45 +0000 (11:44 -0400)]
lib: fix use of frrpthread os_name

Fix test for presence of configured os pthread name.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
5 years agoMerge pull request #2859 from LabNConsulting/working/master/meminfo
David Lamparter [Thu, 30 Aug 2018 14:44:47 +0000 (16:44 +0200)]
Merge pull request #2859 from LabNConsulting/working/master/meminfo

lib: qmem show changes (header and max)

5 years agobgpd/ospfd: make bgp and ospf json response a bit more consistent
Don Slice [Wed, 29 Aug 2018 12:19:54 +0000 (12:19 +0000)]
bgpd/ospfd: make bgp and ospf json response a bit more consistent

Problem reported that some bgp and ospf json commands did not return
any json output at all if the bgp/ospf instance did not exist.
Additionally, some bgp and ospf json commands did not return any json
output if the instance existed but no neighbors were defined.  This
fix makes these commands more consistent in returning empty braces for
json output and issue a message if not using json output.  Additionally,
made the flag "use_json" a bool to make it consistent since previously,
it had been defined as an int, char, u_char, and bool at various places.

Ticket: CM-21040
Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
5 years agodoc: drop colspan/rowspan elements
David Lamparter [Wed, 29 Aug 2018 03:28:06 +0000 (05:28 +0200)]
doc: drop colspan/rowspan elements

The sphinx 'text' writer apparently doesn't support these, and the
'dummy' writer is only available on recent versions, and all of this
makes the build a bit annoying...

Signed-off-by: David Lamparter <equinox@diac24.net>
5 years agodoc: html default off
David Lamparter [Sat, 18 Aug 2018 15:06:22 +0000 (17:06 +0200)]
doc: html default off

... RPM builds break if we enable this unconditionally; should really
change this in CI instead.

Signed-off-by: David Lamparter <equinox@diac24.net>
5 years agobuild: add Makefile variable easy access
David Lamparter [Sat, 25 Aug 2018 05:35:31 +0000 (07:35 +0200)]
build: add Makefile variable easy access

This adds 2 helper targets for use in scripts to easily get at Makefile
variables without parsing the Makefile or config.status.

Signed-off-by: David Lamparter <equinox@diac24.net>
5 years agobuild: improve python search pattern
David Lamparter [Wed, 22 Aug 2018 04:04:32 +0000 (06:04 +0200)]
build: improve python search pattern

- try pythonN.N-config after pythonN-config
- use "python-config --ldflags" instead of --libs
- add Python 3.6 to explicitly searched versions
- if linking fails, try with "-lz" added

Signed-off-by: David Lamparter <equinox@diac24.net>
5 years agobuild: add warning when overwriting vars on "make"
David Lamparter [Tue, 21 Aug 2018 18:33:13 +0000 (20:33 +0200)]
build: add warning when overwriting vars on "make"

doing things like `make CC="mmix-linux-musl-gcc"` breaks the hosttools/
cross-compilation setup pretty hard and just straight up should not be
done.  These vars belong on `configure`, not `make`.

Signed-off-by: David Lamparter <equinox@diac24.net>
5 years agobuild: cache a few more results in ./configure
David Lamparter [Sat, 18 Aug 2018 06:03:02 +0000 (08:03 +0200)]
build: cache a few more results in ./configure

Makes configure re-runs faster if the `-C` option is used.

Signed-off-by: David Lamparter <equinox@diac24.net>
5 years agobuild: -Werror does not belong in AM_CPPFLAGS
David Lamparter [Sat, 18 Aug 2018 03:08:19 +0000 (05:08 +0200)]
build: -Werror does not belong in AM_CPPFLAGS

(probably neither do the ASAN/... FLAGS, but let's leave that alone.)

Also, it was intentional that it's $(WERROR) and not @WERROR@.  The
former can be overwritten at comandline as "make WERROR=" while the
latter can't.

Signed-off-by: David Lamparter <equinox@diac24.net>
5 years agobuild: non-recursive solaris
David Lamparter [Sat, 18 Aug 2018 02:05:55 +0000 (04:05 +0200)]
build: non-recursive solaris

Signed-off-by: David Lamparter <equinox@diac24.net>
5 years agobuild: fix some oddities in solaris/
David Lamparter [Wed, 15 Aug 2018 22:56:48 +0000 (00:56 +0200)]
build: fix some oddities in solaris/

target_* is always wrong for FRR because we are not a compiler.  We only
use host_* and build_*.

Signed-off-by: David Lamparter <equinox@diac24.net>
5 years agobuild: trigger fewer unneccessary clippy rebuilds
David Lamparter [Wed, 15 Aug 2018 22:03:58 +0000 (00:03 +0200)]
build: trigger fewer unneccessary clippy rebuilds

Make sure we include the clippy binary file in our timestamp mangling so
`make` will correctly determine when clippy files don't need to be
rebuilt.

Signed-off-by: David Lamparter <equinox@diac24.net>
5 years agobuild: non-recursive debianpkg
David Lamparter [Wed, 15 Aug 2018 22:47:28 +0000 (00:47 +0200)]
build: non-recursive debianpkg

Signed-off-by: David Lamparter <equinox@diac24.net>
5 years agobuild: non-recursive doc + parallel sphinx
David Lamparter [Wed, 15 Aug 2018 20:59:31 +0000 (22:59 +0200)]
build: non-recursive doc + parallel sphinx

Sphinx actually does work with a parallel build, if the doctree creation
is a separate step (which the other builds will then just read
unmodified.)  This can be done with the "dummy" target.

This also adds "-j6" to sphinx-build and adds a "--disable-doc-html"
switch on ./configure to turn on/off building HTML docs separately.

Also, HTML docs are now installed by "make install" to
/usr/share/doc/frr/html.

Signed-off-by: David Lamparter <equinox@diac24.net>
5 years agoMerge pull request #2942 from mjstapp/fix_new_atomics
David Lamparter [Thu, 30 Aug 2018 06:04:29 +0000 (08:04 +0200)]
Merge pull request #2942 from mjstapp/fix_new_atomics

libs: fix missing atomics for some gcc versions

5 years agoMerge pull request #2754 from chiragshah6/mdev1
David Lamparter [Thu, 30 Aug 2018 06:00:25 +0000 (08:00 +0200)]
Merge pull request #2754 from chiragshah6/mdev1

*: pthread set name abstraction

5 years ago*: pthread set name abstraction
Chirag Shah [Mon, 30 Jul 2018 15:05:42 +0000 (08:05 -0700)]
*: pthread set name abstraction

Testing Done:

 TOR#cat /proc/2670/task/2672/comm
 bgpd_ka

TOR# ps H -C bgpd -o 'pid tid cmd comm'
  PID   TID CMD                         COMMAND
  2670  2670 /usr/lib/frr/bgpd -M snmp - bgpd
  2670  2671 /usr/lib/frr/bgpd -M snmp - bgpd
  2670  2672 /usr/lib/frr/bgpd -M snmp - bgpd_ka

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
5 years agolibs: fix missing atomics for some gcc versions
Mark Stapp [Wed, 29 Aug 2018 19:39:19 +0000 (15:39 -0400)]
libs: fix missing atomics for some gcc versions

stdatomic.h does not have aliases for all of the useful gcc
atomic primitives; add them in for that path through
frratomic.h.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
5 years agoMerge pull request #2938 from pguibert6WIND/spurious_message
Christian Franke [Wed, 29 Aug 2018 17:21:59 +0000 (19:21 +0200)]
Merge pull request #2938 from pguibert6WIND/spurious_message

lib: remove spurious message when netns is not available

5 years agoMerge pull request #2917 from opensourcerouting/doc-devel-openwrt
Quentin Young [Wed, 29 Aug 2018 15:39:07 +0000 (11:39 -0400)]
Merge pull request #2917 from opensourcerouting/doc-devel-openwrt

doc/developer/openwrt: Update instructions for building for OpenWRT

5 years agorfp_example: add 'rfp full-table-download' config to support topotest
Lou Berger [Wed, 29 Aug 2018 15:08:10 +0000 (11:08 -0400)]
rfp_example: add 'rfp full-table-download' config to support topotest

Signed-off-by: Lou Berger <lberger@labn.net>
5 years agorfapi: debug related changes to support topotest -- add cost
Lou Berger [Wed, 29 Aug 2018 13:20:24 +0000 (09:20 -0400)]
rfapi: debug related changes to support topotest -- add cost

Signed-off-by: Lou Berger <lberger@labn.net>
5 years agozebra: do not update link if interface is veth interface
Philippe Guibert [Wed, 29 Aug 2018 09:29:07 +0000 (11:29 +0200)]
zebra: do not update link if interface is veth interface

when interface is a virtual ethernet interface, then there is no need to
update link pointer of interface.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
5 years ago.github: Add ISSUE_TEMPLATE.md
Christoffer [Wed, 29 Aug 2018 09:18:03 +0000 (11:18 +0200)]
.github: Add ISSUE_TEMPLATE.md

Content of file ISSUE_TEMPLATE.md lossly based upon
https://github.com/sysrepo/sysrepo/blob/e38fcc3c00638f97e9d0c27cb6ca2d0bc2b645dc/.github/ISSUE_TEMPLATE.md

Signed-off-by: Christoffer <netravnen@gmail.com>
5 years ago.github: Updated PULL_REQUEST_TEMPLATE.md per Quentin's request.
Christoffer [Wed, 29 Aug 2018 09:12:52 +0000 (11:12 +0200)]
.github: Updated PULL_REQUEST_TEMPLATE.md per Quentin's request.

Signed-off-by: Christoffer <netravnen@gmail.com>
5 years agodoc: add comment on closing PRs
Lou Berger [Tue, 28 Aug 2018 21:14:14 +0000 (17:14 -0400)]
doc: add comment on closing PRs

Signed-off-by: Lou Berger <lberger@labn.net>
5 years agodoc: add comment on PR title and description
Lou Berger [Tue, 28 Aug 2018 21:13:26 +0000 (17:13 -0400)]
doc: add comment on PR title and description

Signed-off-by: Lou Berger <lberger@labn.net>
5 years agolib: remove spurious message when netns is not available
Philippe Guibert [Wed, 29 Aug 2018 07:27:17 +0000 (09:27 +0200)]
lib: remove spurious message when netns is not available

remove spurious message when netns is not available.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
5 years agoMerge pull request #2932 from donaldsharp/ferr_fix
David Lamparter [Wed, 29 Aug 2018 04:06:53 +0000 (06:06 +0200)]
Merge pull request #2932 from donaldsharp/ferr_fix

lib: Use the actual string we want to limit '===' line to

5 years agorfp_example: add rfp holddown-factor to support topotest
Lou Berger [Tue, 28 Aug 2018 19:11:54 +0000 (15:11 -0400)]
rfp_example: add rfp holddown-factor to support topotest

Signed-off-by: Lou Berger <lberger@labn.net>
5 years agolib: atomic_add_fetch_explicit not supported on all platforms
Lou Berger [Tue, 28 Aug 2018 23:19:54 +0000 (19:19 -0400)]
lib: atomic_add_fetch_explicit not supported on all platforms

Signed-off-by: Lou Berger <lberger@labn.net>
5 years agolib: qmem show changes (header and max)
Lou Berger [Tue, 28 Aug 2018 20:54:07 +0000 (16:54 -0400)]
lib: qmem show changes (header and max)
     add header to show qmem, align table with headers
     add tracking of max # allocs and max bytes alloc'ed

Signed-off-by: Lou Berger <lberger@labn.net>
5 years agoMerge pull request #2933 from mjstapp/more_atomics
Lou Berger [Tue, 28 Aug 2018 20:30:21 +0000 (16:30 -0400)]
Merge pull request #2933 from mjstapp/more_atomics

libs: add atomic xxx_and_fetch apis

5 years agoMerge pull request #2337 from pguibert6WIND/netns_alias
Renato Westphal [Tue, 28 Aug 2018 20:10:04 +0000 (17:10 -0300)]
Merge pull request #2337 from pguibert6WIND/netns_alias

default VRF naming update

5 years agorfapi: debug related changes to support topotest
Lou Berger [Tue, 28 Aug 2018 19:11:50 +0000 (15:11 -0400)]
rfapi: debug related changes to support topotest

Signed-off-by: Lou Berger <lberger@labn.net>
5 years agolib: Use the actual string we want to limit '===' line to
Donald Sharp [Tue, 28 Aug 2018 18:34:41 +0000 (14:34 -0400)]
lib: Use the actual string we want to limit '===' line to

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agolibs: add atomic xxx_and_fetch apis
Mark Stapp [Tue, 28 Aug 2018 16:48:58 +0000 (12:48 -0400)]
libs: add atomic xxx_and_fetch apis

We have the fetch_and_xxx apis, which return the _old_ value;
adding the xxx_and_fetch versions, which return the new value.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
5 years agoMerge pull request #2931 from donaldsharp/pim_zebra_crash
David Lamparter [Tue, 28 Aug 2018 16:13:24 +0000 (18:13 +0200)]
Merge pull request #2931 from donaldsharp/pim_zebra_crash

zebra: Fix crash in mroute debug

5 years agozebra: Fix crash in mroute debug
Donald Sharp [Tue, 28 Aug 2018 14:35:35 +0000 (10:35 -0400)]
zebra: Fix crash in mroute debug

There exists a possibility that the ifindex we are passed
does not exist and as such we should check for it not
resolving as part of the debug.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agolib: overwrite default vrf name upon zapi vrf add event
Philippe Guibert [Tue, 28 Aug 2018 08:37:56 +0000 (10:37 +0200)]
lib: overwrite default vrf name upon zapi vrf add event

The default vrf name is overwritten, upon reception of zapi vrf event.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
5 years agozebra: add an option to zebra command to change default vrf name
Philippe Guibert [Wed, 25 Jul 2018 07:38:56 +0000 (09:38 +0200)]
zebra: add an option to zebra command to change default vrf name

There is a possibility to change the default vrf name, using the '-o'
option.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
5 years agodoc: add information about dynamic update of default vrf name
Philippe Guibert [Fri, 22 Jun 2018 14:01:07 +0000 (16:01 +0200)]
doc: add information about dynamic update of default vrf name

It is possible to dynamically change default VRF name, if vrf backend is
a netns backend. By creating a link to the default netns in
/var/run/netns folder, then the file name will be used to name the
default VRF. If no backend netns is chosen, it is explained that it is
still possible to statically configure the default vrf name to new
define.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
5 years agolib: avoid default vrf name memory allocation at startup
Philippe Guibert [Wed, 4 Jul 2018 15:30:14 +0000 (17:30 +0200)]
lib: avoid default vrf name memory allocation at startup

If default VRF is used, with standard naming convention,
memory allocation can be avoided.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
5 years agolib: protect newly created vrfs against default vrf naming.
Philippe Guibert [Fri, 22 Jun 2018 14:03:11 +0000 (16:03 +0200)]
lib: protect newly created vrfs against default vrf naming.

Prevent from creating vrf, if the default vrf name is the same as the
vrf to be created.
Also, prevent at startup from creating default vrf with a name already
used in vrf list.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
5 years agolib: set default vrf name at startup
Philippe Guibert [Wed, 27 Jun 2018 16:23:09 +0000 (18:23 +0200)]
lib: set default vrf name at startup

For the daemons that do not use vrf_init(), the call to the define
will return a default vrf if no other values has been overriden.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
5 years agobgpd: handle vrf aliases in vty API
Philippe Guibert [Thu, 31 May 2018 08:12:11 +0000 (10:12 +0200)]
bgpd: handle vrf aliases in vty API

Because a VRF name can be used for default VRF, or an alias of an
already created VRF can be passed as parameter, the default VRF name
must be found out. This avoids creating double BGP instances for
example.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
5 years agoospfd: adaptations to handle vrf alias
Philippe Guibert [Wed, 6 Jun 2018 08:13:44 +0000 (10:13 +0200)]
ospfd: adaptations to handle vrf alias

Some adaptations are done to handle alias when creationg ospf instance.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
5 years agobgpd: authorize default vrf name usage
Philippe Guibert [Fri, 22 Jun 2018 12:32:35 +0000 (14:32 +0200)]
bgpd: authorize default vrf name usage

Now it is possible to configure BGP default instance by using its
default vrf name.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
5 years agozebra: detect if a netns is the default netns
Philippe Guibert [Fri, 22 Jun 2018 11:55:55 +0000 (13:55 +0200)]
zebra: detect if a netns is the default netns

In the case the default netns has a netns path, then a new NETNS
creation will be bypassed.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
5 years ago*: add a vrf update hook to be informed of the vrf name
Philippe Guibert [Tue, 29 May 2018 09:17:10 +0000 (11:17 +0200)]
*: add a vrf update hook to be informed of the vrf name

The Vrf aliases can be known with a specific hook. That hook will then,
from zebra propagate the information to the relevant zapi clients.
The registration hook function is the same for all daemons.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
5 years agolib: autocomple vrf list authorises default vrf name
Philippe Guibert [Fri, 22 Jun 2018 12:32:01 +0000 (14:32 +0200)]
lib: autocomple vrf list authorises default vrf name

Now it is possible to dump default vrf information by its name.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
5 years agolib: offer an API to get and set default vrf name
Philippe Guibert [Fri, 22 Jun 2018 11:54:47 +0000 (13:54 +0200)]
lib: offer an API to get and set default vrf name

The get API is used each time the VRF_DEFAULT_NAME macro is used.
The set API is not yet used.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
5 years agoMerge pull request #2930 from donaldsharp/pim_debug
David Lamparter [Tue, 28 Aug 2018 13:56:27 +0000 (15:56 +0200)]
Merge pull request #2930 from donaldsharp/pim_debug

pimd: Add some more useful data to debug output

5 years agopimd: Add some more useful data to debug output
Donald Sharp [Tue, 28 Aug 2018 12:50:16 +0000 (08:50 -0400)]
pimd: Add some more useful data to debug output

End user was seeing this debug but we are not giving
the user enough information to debug this on his own.
Add a tiny bit of extra information that could point
the user to solving the problem for themselves.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agoMerge pull request #2918 from opensourcerouting/fix-watchfrr-sigchld-handling
Donald Sharp [Tue, 28 Aug 2018 11:35:18 +0000 (07:35 -0400)]
Merge pull request #2918 from opensourcerouting/fix-watchfrr-sigchld-handling

watchfrr: fix global restart

5 years agozebra: when veth link is used across vrf, the link may not be good
Philippe Guibert [Mon, 27 Aug 2018 15:00:18 +0000 (17:00 +0200)]
zebra: when veth link is used across vrf, the link may not be good

This function is changed so that the interface index is searched across
the correct namespace.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
5 years agodoc/developer/openwrt: Update instructions for building for OpenWRT
Christian Franke [Thu, 16 Aug 2018 12:49:34 +0000 (14:49 +0200)]
doc/developer/openwrt: Update instructions for building for OpenWRT

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
5 years agoMerge pull request #2898 from donaldsharp/vrf_bitmap_is_whack
Lou Berger [Sun, 26 Aug 2018 11:49:46 +0000 (07:49 -0400)]
Merge pull request #2898 from donaldsharp/vrf_bitmap_is_whack

lib: Convert vrf bit-map to a hash.

5 years agoMerge pull request #2920 from donaldsharp/bsd_warnings
David Lamparter [Sun, 26 Aug 2018 02:07:35 +0000 (04:07 +0200)]
Merge pull request #2920 from donaldsharp/bsd_warnings

Bsd warnings

5 years agozebra: No prototype and uninited variables
Donald Sharp [Sat, 25 Aug 2018 22:28:19 +0000 (18:28 -0400)]
zebra: No prototype and uninited variables

Add a header to cleanup no declaration and properly
wrapper some variables to appropriate #ifdef.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agolib: Cleanup uninted `top` variable in ferr.c
Donald Sharp [Sat, 25 Aug 2018 22:27:11 +0000 (18:27 -0400)]
lib: Cleanup uninted `top` variable in ferr.c

The `top` variable could possibly be used without
any initialization, remove the possibility.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agoisisd: Include header for function declaration
Donald Sharp [Sat, 25 Aug 2018 22:26:01 +0000 (18:26 -0400)]
isisd: Include header for function declaration

isis_handle_pdu is called but not declared for usage
by not including the appropriate header.

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