Commit Graph

10379 Commits

Author SHA1 Message Date
Russ White
fac615f43b
Merge pull request #1873 from qlyoung/fix-zlog-hexdump
Fix zlog_hexdump
2018-03-12 19:18:30 -04:00
Russ White
6b63fd5c51
Merge pull request #1781 from mkanjari/type5-default-originate
Type5 default originate
2018-03-12 19:17:21 -04:00
Mitesh Kanjariya
9bb3ca515b
Merge branch 'master' into type5-default-originate 2018-03-12 14:47:28 -07:00
Quentin Young
abccc77544
tests: add unit test for zlog
Just tests zlog_hexdump right now

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2018-03-12 15:39:45 -04:00
Quentin Young
e049c5fcce
lib: fixup zlog_hexdump
* Allocate correct amount of memory
* Use snprintf() instead of sprintf()

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2018-03-12 15:39:34 -04:00
Donald Sharp
9d16566bb3
Merge pull request #1868 from ajones-rvbd/ajones-for-upstream
docs/install.texi: document --enable-numeric-version
2018-03-12 14:09:41 -04:00
Arthur Jones
12cd053cd6 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>
2018-03-12 09:46:05 -07:00
Renato Westphal
cea2ce5fbe
Merge pull request #1858 from qlyoung/gitignore-clippy-sources
*: globally ignore clippy-generated source
2018-03-12 12:21:24 -03:00
Donald Sharp
aed03cfd3c
Merge pull request #1866 from ajones-rvbd/ajones-for-upstream
alpine: minimal alpine packaging
2018-03-12 08:23:53 -04:00
Arthur Jones
c737c7bab3 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>
2018-03-11 11:28:45 -07:00
Donald Sharp
6680578bb6
Merge pull request #1847 from msablic/pim_auto_mtrace
pimd: mtrace only IGMP sockets
2018-03-10 07:55:48 -05:00
Donald Sharp
b82aab8c86
Merge pull request #1861 from ajones-rvbd/ajones-for-upstream
zebra/if_netlink: compile under musl-libc
2018-03-10 07:05:14 -05:00
Arthur Jones
ba85366ad3 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>
2018-03-09 15:20:14 -08:00
Quentin Young
2b1236a27e
*: globally ignore clippy-generated source
Tired of dealing with this

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2018-03-09 17:52:15 -05:00
Philippe Guibert
58e7db106d
Merge pull request #1813 from donaldsharp/pbr_setup
Pbr setup
2018-03-09 18:05:03 +01:00
Donald Sharp
b6c5d34354 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>
2018-03-09 11:11:40 -05:00
Donald Sharp
a03219780f 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>
2018-03-09 11:07:41 -05:00
Donald Sharp
43fe6a2a73 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>
2018-03-09 11:07:41 -05:00
Donald Sharp
1fbfe5a572 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>
2018-03-09 11:07:41 -05:00
Donald Sharp
fd71d73eb3 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>
2018-03-09 11:07:41 -05:00
Donald Sharp
e16abbb303 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>
2018-03-09 11:07:41 -05:00
vivek
942bf97b13 *: 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>
2018-03-09 11:07:41 -05:00
Donald Sharp
dba32923eb lib, vtysh: Start cli for nexthop-group
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-03-09 11:07:41 -05:00
Donald Sharp
7ee30f288e 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>
2018-03-09 11:07:41 -05:00
Donald Sharp
ba1849ef8c 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>
2018-03-09 11:07:41 -05:00
Donald Sharp
e208c8f943 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>
2018-03-09 11:07:41 -05:00
Renato Westphal
c67667e74c
Merge pull request #1808 from qlyoung/debug-mt-safe
MT-safe debug facilities
2018-03-09 11:25:37 -03:00
Renato Westphal
2aedb75283
Merge pull request #1852 from donaldsharp/notify_owner_fail
*: Add code to notify on successful route removal
2018-03-08 23:33:21 -03:00
Donald Sharp
5e54c60269 *: 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>
2018-03-08 19:50:06 -05:00
Jafar Al-Gharaibeh
e28a328600
Merge pull request #1814 from chiragshah6/mdev
ospf6d: assign zebra router-id to ospf6 instance
2018-03-08 18:05:32 -06:00
Renato Westphal
1ffd1bcf86
Merge pull request #1843 from chiragshah6/ospf_vrf_dev
zebra/ospfd:  Treat vrf interface similar to loopback
2018-03-08 19:04:08 -03:00
Chirag Shah
0c74bbe03e ospfd: Treat vrf interface as loopback type
Ticket:CM-19914

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2018-03-08 13:15:58 -08:00
Chirag Shah
b0fa6f6a10 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
2018-03-08 12:44:19 -08:00
Renato Westphal
4012dd8880
Merge pull request #1842 from donaldsharp/zserv_buffer_size
lib: Increase zapi buffer size
2018-03-08 17:27:21 -03:00
Mladen Sablic
f83f396624 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>
2018-03-08 09:40:48 +01:00
Martin Winter
1708ca553b
Merge pull request #1826 from qlyoung/lsan-suppressions
tools: add LeakSanitizer suppressions list
2018-03-07 22:47:43 +01: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
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
Mitesh Kanjariya
7b1bf203ca
Merge branch 'master' into type5-default-originate 2018-03-06 13:48:33 -08: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