Commit Graph

10695 Commits

Author SHA1 Message Date
Quentin Young
edc33b2f22
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>
2018-03-07 15:51:48 -05:00
Donald Sharp
db4a24ddc1 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>
2018-03-07 14:37:58 -05:00
Donald Sharp
4060008bda 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>
2018-03-07 14:33:59 -05:00
Quentin Young
85dd0c8afa
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>
2018-03-07 13:59:15 -05:00
Donald Sharp
2bfe7ba7d4 zebra: Fix vrf output
When you have individual 'ip route..' commands
under a VRF allow them to be displayed properly

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-03-07 13:50:37 -05:00
Donald Sharp
54085eafeb
Merge pull request #1428 from LabNConsulting/working/master/indent
frr: conform with COMMUNITY.md formatting rules
2018-03-07 10:44:37 -05:00
Quentin Young
8590fba34f
Merge pull request #1816 from pguibert6WIND/issue_clear_ipv6
bgpd: clear ip bgp instances with safi invalid
2018-03-07 10:28:29 -05:00
Philippe Guibert
9b475e76c6 bgpd: clear ip bgp instances with invalid safi
This commit fixes the handling of incoming parameters passed in
following vty functions:

clear ip bgp ipv6 [safi] prefix []
clear ip bgp [vrf ] ipv6 [safi] prefix []

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2018-03-07 15:58:48 +01:00
Christian Franke
5fe3789f98
Merge pull request #1812 from qlyoung/bgpd-fix-update-group-commands
bgpd: fix update-group show commands
2018-03-07 14:50:50 +01:00
Olivier Dugeon
97a346e2ce
Merge pull request #1841 from qlyoung/fix-ospf-shutdown-thread-heap-uaf
ospfd: cancel SR thread at shutdown
2018-03-07 10:41:53 +01:00
Donald Sharp
4e48b44f19
Merge pull request #1840 from pguibert6WIND/issue_1829
Misc BGP VRF fixes
2018-03-06 21:24:25 -05:00
vivek
bfd498f0da Merge branch 'master' of https://github.com/frrouting/frr into evpn-ipv6-tenant-routing
Conflicts:
	zebra/zserv.c
2018-03-06 22:19:24 +00:00
Mitesh Kanjariya
7b1bf203ca
Merge branch 'master' into type5-default-originate 2018-03-06 13:48:33 -08:00
vivek
d0be47e8e1 bgpd: Fix warning
Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
2018-03-06 21:29:09 +00:00
Lou Berger
30d85a3090 bgpd: another change to keep indent.py happy
Signed-off-by: Lou Berger <lberger@labn.net>
2018-03-06 14:10:38 -05:00
Lou Berger
3a6351a3d9 pimd: another change to keep indent.py happy
Signed-off-by: Lou Berger <lberger@labn.net>
2018-03-06 14:09:19 -05:00
Lou Berger
996c93142d *: conform with COMMUNITY.md formatting rules, via 'make indent'
Signed-off-by: Lou Berger <lberger@labn.net>
2018-03-06 14:04:32 -05:00
Lou Berger
3380418fa1 bgpd: another change to keep indent.py happy
Signed-off-by: Lou Berger <lberger@labn.net>
2018-03-06 14:01:03 -05:00
Lou Berger
e894f9fd92 lib: change comment block to #define to avoid indent.py from breaking comment
due to DEFUN within comment

Signed-off-by: Lou Berger <lberger@labn.net>
2018-03-06 13:59:05 -05:00
Lou Berger
da5a0d00ed Makefile.am: Add 'make indent' target
Signed-off-by: Lou Berger <lberger@labn.net>
2018-03-06 13:58:54 -05:00
Lou Berger
f574eae5c4 tools: fix indent.py FRR indent pattern matching
Signed-off-by: Lou Berger <lberger@labn.net>
2018-03-06 13:58:46 -05:00
Quentin Young
45a4385612
ospfd: cancel SR thread at shutdown
Otherwise if it is scheduled the thread pointer will be accessed after
the shutdown task finishes accessing, having deleted the structure that
owns said pointer, which causes a heap UAF.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2018-03-06 13:42:53 -05:00
Philippe Guibert
c214a6e928 lib: NS_DEFAULT wrong value
The NS_DEFAULT value returns UNKNOWN in the case the vrf lite backend is
used, whereas this is wrong. This commit fixes the default value.
Also, it fixes the default value in the case NETNS support from system
is not ok, or some error can occur when reading default NS at startup.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2018-03-06 18:18:32 +01:00
Philippe Guibert
85f87e0e3e bgpd: permit bgp vrf socket creation on some cases
When VRF is not yet available at startup, the check for main socket
presence must be done. As the main socket creation is made in a separate
place from vrf socket for netns, ths main socket creation must not be
prevented when a BGP VRF relies on vrf lite mechanism.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2018-03-06 18:18:32 +01:00
Renato Westphal
defd0965f4
Merge pull request #1811 from donaldsharp/nht_send_type
lib, zebra: Add type and instance to nexthop update message
2018-03-06 13:48:40 -03:00
Quentin Young
ce08776d95
Merge pull request #1833 from opensourcerouting/fix-vtysh-output-init
vtysh: initialize vty structure correctly for output to terminal
2018-03-06 11:47:47 -05:00
Philippe Guibert
6dfe83b8f7
Merge pull request #1728 from mkanjari/evpn-bug-fixes
Evpn bug fixes
2018-03-06 17:27:10 +01:00
Quentin Young
985e36a609
lib: frr_pthread.c style
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2018-03-06 11:03:00 -05:00
Quentin Young
5da39765e2
Merge branch 'master' into docuser
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2018-03-06 10:53:27 -05:00
Quentin Young
e3e3afffc9
doc: sync ospf-sr docs from master
7666589034

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2018-03-06 10:50:30 -05:00
Quentin Young
e207a4b589
doc: prevent clean target from building manpages
Unconditional automake subdirectory flag = 'man' causes manpages to
always be built regardless of target, which is undesirable for `clean`.
Remove unconditional flag and override automake targets that need to
build manpages instead.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2018-03-06 10:33:21 -05:00
Renato Westphal
c187f94a65
Merge pull request #1818 from pguibert6WIND/issue_vrfnetns_capabilities
bgpd,ospfd: add sys_admin capabilities
2018-03-06 12:15:35 -03:00
Rafael Zalamena
cc7d9cab99
Merge pull request #1789 from Orange-OpenSource/master
ospfd: Add json output for Segment Routing
2018-03-05 21:55:59 -03:00
Christian Franke
4a9746fdd0 vtysh: initialize vty structure correctly for output to terminal
Signed-off-by: Christian Franke <chris@opensourcerouting.org>
2018-03-06 01:37:49 +01:00
Quentin Young
d8a8a8de00
lib: some frr_pthread fixes
* Use atomic fixed-width thread identifiers
* Add ability to change thread name at runtime

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2018-03-05 18:04:54 -05:00
Renato Westphal
41d19ab553
Merge pull request #1809 from donaldsharp/intf_json
vrf nexthop cleanups
2018-03-05 19:33:05 -03:00
Quentin Young
6d9f7064c5
Merge pull request #1827 from opensourcerouting/fix-ringbuf-test-setup
tests: fix python test description for test_ringbuf
2018-03-05 15:13:46 -05:00
Christian Franke
2d0e9b8026 tests: update gitignore
Signed-off-by: Christian Franke <chris@opensourcerouting.org>
2018-03-05 19:50:21 +01:00
Christian Franke
4cfe547340 tests: fix python test description for test_ringbuf
Signed-off-by: Christian Franke <chris@opensourcerouting.org>
2018-03-05 19:44:41 +01:00
Quentin Young
a9d0a90fe8
tools: add LeakSanitizer suppressions list
Building FRR with AddressSanitizer is kind of annoying since
libpython3.5 leaks memory, clippy links libpython3.5 and clippy runs as
part of the build process. LeakSanitizer has a way to suppress leaks at
runtime by setting the LSAN_OPTIONS environment variable to contain a
file path to a suppression list:

LSAN_OPTIONS=suppressions=path/to/suppr.txt

This commit provides the file. Setting this environment variable to

LSAN_OPTIONS=suppressions=../tools/lsan-suppressions.txt

before building should allow a clean build with ASAN enabled. The
relative path is there because LeakSanitizer looks at paths relative to
the binary it is sanitizing; clippy is in lib/ so the path is set
relative to lib/.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2018-03-05 13:28:34 -05:00
Quentin Young
e221d227e3
doc: allow env var to ovveride sphinx defaults
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2018-03-05 11:03:27 -05:00
vivek
052ea98b43 bgpd: Fix warnings
Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
2018-03-04 06:56:19 +00:00
vivek
7fd077aadd bgpd: Parse PMSI Tunnel Attribute and display
Received PMSI tunnel attributes (in EVPN type-3 route) were not recognized.
Parse them and display the tunnel type when looking at routes. Note that
the only tunnel type currently supported is ingress replication (IR). A
warning message will be logged if the received tunnel type is something
else, but the attribute is otherwise ignored.

Updates: a21bd7a (bgpd: add PMSI_TUNNEL_ATTRIBUTE to EVPN IMET routes)
Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
2018-03-04 03:28:50 +00:00
Russ White
6768912110
Merge pull request #1797 from chiragshah6/ospfv3_dev
ospf6d: ECMP for external routes
2018-03-02 15:56:08 -05:00
Philippe Guibert
4b322ffebb bgpd,ospfd: add sys_admin capabilities
This capability, when used, is mapped over linux sys_admin capability.
This is necessary from the daemon perspective, in order to handle NETNS
based VRFs, because calling setns() requires sys admin capability.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2018-03-02 15:20:43 +01:00
Olivier Dugeon
a8e31fced6
Merge pull request #1815 from donaldsharp/ospf_sr_cleanup
ospfd: Cleanup ospf SR log messages
2018-03-02 13:26:13 +01:00
Donald Sharp
df25d29213 ospfd: Cleanup ospf SR log messages
When OSPF SR is not configured one would expect
to not see any output from it at all in the debug
log with no debugs turned on.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-03-02 05:15:33 -05:00
Martin Winter
24a532dcc2
doc: Update Building instructions for CentOS6
- Added warning for CentOS 6 support to be limited
- Added instructions for installing sphinx27-build manually

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-03-02 01:57:43 -05:00
Martin Winter
ccd40deece
redhat: Update CentOS6 to use python27-sphinx package
sphinx > 1.1 is needed which is provided by the non-standard
python27-sphinx for CentOS 6 / RedHat 6

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-03-02 01:57:43 -05:00
Martin Winter
609dee9d83
redhat: Update spec file for new rst documentation
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-03-02 01:57:42 -05:00