]> git.proxmox.com Git - mirror_frr.git/log
mirror_frr.git
7 years agoMerge pull request #1051 from donaldsharp/plists
David Lamparter [Tue, 5 Sep 2017 02:41:17 +0000 (04:41 +0200)]
Merge pull request #1051 from donaldsharp/plists

Refactor Access and Prefix Lists application

7 years agoMerge pull request #1086 from donaldsharp/zebra_import
Renato Westphal [Mon, 4 Sep 2017 19:16:53 +0000 (16:16 -0300)]
Merge pull request #1086 from donaldsharp/zebra_import

Zebra import

7 years agoMerge pull request #1095 from LabNConsulting/working/master/patch/grammer
Donald Sharp [Mon, 4 Sep 2017 11:12:59 +0000 (07:12 -0400)]
Merge pull request #1095 from LabNConsulting/working/master/patch/grammer

bgpd rfapi: fixup vnc l2_group config

7 years agoMerge pull request #1096 from opensourcerouting/isisd-fix-solaris-tests
Donald Sharp [Mon, 4 Sep 2017 11:11:08 +0000 (07:11 -0400)]
Merge pull request #1096 from opensourcerouting/isisd-fix-solaris-tests

tests: skip isis tlv fuzztest on SunOS

7 years agoMerge pull request #1090 from opensourcerouting/rib_issues
Donald Sharp [Sun, 3 Sep 2017 21:59:14 +0000 (17:59 -0400)]
Merge pull request #1090 from opensourcerouting/rib_issues

RIB issues

7 years agoMerge pull request #1098 from nkukard/lcommunity-cleanup
Donald Sharp [Sun, 3 Sep 2017 15:29:19 +0000 (11:29 -0400)]
Merge pull request #1098 from nkukard/lcommunity-cleanup

Large community critical fixes and misc cleanups

7 years agobgpd: Fixed some comments in bgp_lcommunity.h
Nigel Kukard [Sun, 3 Sep 2017 06:35:35 +0000 (06:35 +0000)]
bgpd: Fixed some comments in bgp_lcommunity.h

Signed-off-by: Nigel Kukard <nkukard@lbsd.net>
7 years agobgpd: Fixed incorrect MTYPE being used for large communites
Nigel Kukard [Sun, 3 Sep 2017 05:20:48 +0000 (05:20 +0000)]
bgpd: Fixed incorrect MTYPE being used for large communites

Signed-off-by: Nigel Kukard <nkukard@lbsd.net>
7 years agobgpd: rfapi - fix vestige from gratuitous grammar change.
Lou Berger [Sat, 2 Sep 2017 13:41:09 +0000 (09:41 -0400)]
bgpd: rfapi - fix vestige from gratuitous grammar change.

Signed-off-by: Lou Berger <lberger@labn.net>
7 years agobgpd: Fixed pointer calculation issue in lcommunity
Nigel Kukard [Fri, 1 Sep 2017 23:36:11 +0000 (23:36 +0000)]
bgpd: Fixed pointer calculation issue in lcommunity

Signed-off-by: Nigel Kukard <nkukard@lbsd.net>
7 years agotests: skip isis tlv fuzztest on SunOS
Christian Franke [Thu, 31 Aug 2017 20:45:01 +0000 (22:45 +0200)]
tests: skip isis tlv fuzztest on SunOS

7 years agozebra: add an exception for link-local connected routes
Renato Westphal [Fri, 1 Sep 2017 14:44:22 +0000 (11:44 -0300)]
zebra: add an exception for link-local connected routes

Link-local routes are unique in the sense that they all have the same
prefix but have different nexthops (local interfaces). Add an exception
in rib_add() to allows us to keep track of all of them.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
7 years agoMerge pull request #1088 from opensourcerouting/isis-show-topo-format
Donald Sharp [Fri, 1 Sep 2017 11:49:25 +0000 (07:49 -0400)]
Merge pull request #1088 from opensourcerouting/isis-show-topo-format

isisd: cleanup output of show isis topology

7 years agobgpd: Use lcommunity_new() to allocate new lcommunity
Nigel Kukard [Fri, 1 Sep 2017 02:01:55 +0000 (02:01 +0000)]
bgpd: Use lcommunity_new() to allocate new lcommunity

Signed-off-by: Nigel Kukard <nkukard@lbsd.net>
7 years agozebra: allow blackhole routes from the kernel to be deleted
Renato Westphal [Fri, 1 Sep 2017 00:13:23 +0000 (21:13 -0300)]
zebra: allow blackhole routes from the kernel to be deleted

Fixes the following bug:
% ip -6 route add unreachable 4000::/64
% ip -6 route del unreachable 4000::/64
% vtysh -c "show ipv6 route"
[snip]
K>* 4000::/64 [0/1024] unreachable (ICMP unreachable)

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
7 years agozebra: fix detection of duplicate system routes
Renato Westphal [Thu, 31 Aug 2017 20:28:05 +0000 (17:28 -0300)]
zebra: fix detection of duplicate system routes

Fixes the following bugs:

1)
% ip -6 route add 5000::/64 via 3000::2
% ip -6 route replace 5000::/64 via 3000::2
% ip -6 route replace 5000::/64 via 3000::2
% ip -6 route replace 5000::/64 via 3000::2
% ip -6 route replace 5000::/64 via 3000::2
%
% vtysh -c "show ipv6 route"
[snip]
K * 5000::/64 [0/1024] via 3000::2, rt1-eth0
K * 5000::/64 [0/1024] via 3000::2, rt1-eth0
K * 5000::/64 [0/1024] via 3000::2, rt1-eth0
K * 5000::/64 [0/1024] via 3000::2, rt1-eth0
K>* 5000::/64 [0/1024] via 3000::2, rt1-eth0

2)
% ip -6 route add 7000::/64 via 3000::2
% ip -6 route replace 7000::/64 via 3000::3
% ip -6 ro | grep 7000
7000::/64 via 3000::3 dev rt1-eth0 metric 1024  pref medium
%
% vtysh -c "show ipv6 route"
[snip]
K * 7000::/64 [0/1024] via 3000::3, rt1-eth0
K>* 7000::/64 [0/1024] via 3000::2, rt1-eth0

NOTE: the check for ROUTE_ENTRY_REMOVED was redundant as it was already
performed at the beginning of the loop.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
7 years agozebra: remove refcnt from the route_entry structure
Renato Westphal [Thu, 31 Aug 2017 23:36:14 +0000 (20:36 -0300)]
zebra: remove refcnt from the route_entry structure

This reference counter was introduced in 2001, apparently to solve a
problem with connected routes being added/removed multiple times. The RIB
code changed a lot since then, and giving the current callers of rib_add()
and rib_delete() it's safe to assume that we don't need this anymore.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
7 years agoMerge pull request #1089 from opensourcerouting/zebra-fix-build
Donald Sharp [Fri, 1 Sep 2017 00:02:05 +0000 (20:02 -0400)]
Merge pull request #1089 from opensourcerouting/zebra-fix-build

zebra: fix compiler error introduced by previous commit

7 years agozebra: fix compiler error introduced by previous commit
Renato Westphal [Thu, 31 Aug 2017 23:58:16 +0000 (20:58 -0300)]
zebra: fix compiler error introduced by previous commit

Lesson learned: always wait for the CI tests to finish before merging :)

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
7 years agoMerge pull request #1083 from donaldsharp/unreachable
Renato Westphal [Thu, 31 Aug 2017 23:47:37 +0000 (20:47 -0300)]
Merge pull request #1083 from donaldsharp/unreachable

zebra: Allow bh_type to override nexthop selection

7 years agobgpd: Fixed pointer arithmatic miscalculation
Nigel Kukard [Thu, 31 Aug 2017 09:27:46 +0000 (09:27 +0000)]
bgpd: Fixed pointer arithmatic miscalculation

If we increment PTR by i * size each time, we end up doing 1, 3, 6
etc.

Signed-off-by: Nigel Kukard <nkukard@lbsd.net>
7 years agobgpd: Fixed incorrect large community pointer calculation
Nigel Kukard [Wed, 30 Aug 2017 07:35:31 +0000 (07:35 +0000)]
bgpd: Fixed incorrect large community pointer calculation

Signed-off-by: Nigel Kukard <nkukard@lbsd.net>
7 years agobgpd: Fixed incorrect calculation of pointer location
Nigel Kukard [Wed, 30 Aug 2017 09:39:36 +0000 (09:39 +0000)]
bgpd: Fixed incorrect calculation of pointer location

com_index_to_delete[i] holds the location in lcom->val of where the
value is stored, we cannot just increment it by this value on each
iteration as we'll overflow the size of lcom->val.

Signed-off-by: Nigel Kukard <nkukard@lbsd.net>
7 years agobgpd: Fixed potential memory leak if additive is false
Nigel Kukard [Wed, 30 Aug 2017 07:37:19 +0000 (07:37 +0000)]
bgpd: Fixed potential memory leak if additive is false

The else portion of the IF dups the lc, but doesn't free old

Signed-off-by: Nigel Kukard <nkukard@lbsd.net>
7 years agobgpd: Fixed potential memory leak if additive is false in normal communities
Nigel Kukard [Wed, 30 Aug 2017 08:27:15 +0000 (08:27 +0000)]
bgpd: Fixed potential memory leak if additive is false in normal communities

The else portion of the IF dups the community, but doesn't free old

Signed-off-by: Nigel Kukard <nkukard@lbsd.net>
7 years agobgpd: Cleaned up some comments
Nigel Kukard [Wed, 30 Aug 2017 09:29:57 +0000 (09:29 +0000)]
bgpd: Cleaned up some comments

Signed-off-by: Nigel Kukard <nkukard@lbsd.net>
7 years agobgpd: Fixed typo in comment
Nigel Kukard [Wed, 30 Aug 2017 08:31:45 +0000 (08:31 +0000)]
bgpd: Fixed typo in comment

Signed-off-by: Nigel Kukard <nkukard@lbsd.net>
7 years agobgpd: Fixed typo in the lc list type being matched on
Nigel Kukard [Wed, 30 Aug 2017 07:44:18 +0000 (07:44 +0000)]
bgpd: Fixed typo in the lc list type being matched on

This should be EXPANDED, not STANDARD.

Signed-off-by: Nigel Kukard <nkukard@lbsd.net>
7 years agobgpd: Cleaned up the lcom->size * LCOMMUNITY_SIZE with lcom_length()
Nigel Kukard [Wed, 30 Aug 2017 05:53:37 +0000 (05:53 +0000)]
bgpd: Cleaned up the lcom->size * LCOMMUNITY_SIZE with lcom_length()

Signed-off-by: Nigel Kukard <nkukard@lbsd.net>
7 years agobgpd: The large community size is easier to read if its using the constant
Nigel Kukard [Wed, 30 Aug 2017 05:40:54 +0000 (05:40 +0000)]
bgpd: The large community size is easier to read if its using the constant

Signed-off-by: Nigel Kukard <nkukard@lbsd.net>
7 years agozebra: Allow bh_type to override nexthop selection
Donald Sharp [Wed, 30 Aug 2017 23:38:22 +0000 (19:38 -0400)]
zebra: Allow bh_type to override nexthop selection

If we've set the bh_type to something besides BLACKHOLE_UNSPEC
due to the received route type being RTN_BLACKHOLE,
RTN_UNREACHABLE or RTN_PROHIBIT then just trust that
the nexthop is just what it is and set accordingly.

Fixes: #1082
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agoisisd: cleanup output of show isis topology
Christian Franke [Thu, 31 Aug 2017 22:57:57 +0000 (00:57 +0200)]
isisd: cleanup output of show isis topology

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
7 years agozebra: Add v6 support for import-table
Donald Sharp [Thu, 31 Aug 2017 20:07:36 +0000 (16:07 -0400)]
zebra: Add v6 support for import-table

Now that all rib functions are afi/safi independent,
allow import-table to work with v6 routes too.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years ago*: Cleanup multiple is_default... code
Donald Sharp [Thu, 31 Aug 2017 19:58:31 +0000 (15:58 -0400)]
*: Cleanup multiple is_default... code

There are 3 different implementations of is_prefix.
Standardize on is_prefix_default and fix it's implementation.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agozebra: Clean up indentation
Donald Sharp [Thu, 31 Aug 2017 19:25:54 +0000 (15:25 -0400)]
zebra: Clean up indentation

Code was hard to look at.  Clean up a bit
since I'm going to be in there.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agoMerge pull request #1076 from donaldsharp/connected
Renato Westphal [Thu, 31 Aug 2017 17:53:36 +0000 (14:53 -0300)]
Merge pull request #1076 from donaldsharp/connected

Connected

7 years agozebra: Cleanup some typos
Donald Sharp [Thu, 31 Aug 2017 17:35:53 +0000 (13:35 -0400)]
zebra: Cleanup some typos

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agozebra: Abstract what we can of connected_delete_ipv[4|6]
Donald Sharp [Wed, 30 Aug 2017 22:34:48 +0000 (18:34 -0400)]
zebra: Abstract what we can of connected_delete_ipv[4|6]

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agozebra: Refactor connected_down_ipv[4|6]
Donald Sharp [Thu, 31 Aug 2017 17:47:26 +0000 (13:47 -0400)]
zebra: Refactor connected_down_ipv[4|6]

The connected_down_ipv[4|6] functions are basically identical.
Refactor into one common interface.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agozebra: Refactor connected_up_ipv[4|6]
Donald Sharp [Tue, 29 Aug 2017 22:23:08 +0000 (18:23 -0400)]
zebra: Refactor connected_up_ipv[4|6]

The connected_up_ipv[4|6] functions were almost identical.
Combine the forces for the goodness of mankind

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agolib: Add PREFIX_COPY
Donald Sharp [Tue, 29 Aug 2017 22:21:52 +0000 (18:21 -0400)]
lib: Add PREFIX_COPY

Add a generic PREFIX_COPY to complement PREFIX_COPY_V4 and
PREFIX_COPY_V6

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agoMerge pull request #1078 from dwalton76/ospfd-network-cmd-warning
Renato Westphal [Thu, 31 Aug 2017 16:23:25 +0000 (13:23 -0300)]
Merge pull request #1078 from dwalton76/ospfd-network-cmd-warning

*: return CMD_WARNING if command was already configured

7 years agoMerge pull request #1079 from qlyoung/fix-style-a
Renato Westphal [Thu, 31 Aug 2017 16:22:55 +0000 (13:22 -0300)]
Merge pull request #1079 from qlyoung/fix-style-a

*: fix style

7 years agoMerge pull request #1044 from donaldsharp/combination
Jafar Al-Gharaibeh [Thu, 31 Aug 2017 15:25:55 +0000 (10:25 -0500)]
Merge pull request #1044 from donaldsharp/combination

Coverity Cleanup of Stuff

7 years ago*: return CMD_WARNING if command was already configured
Daniel Walton [Wed, 30 Aug 2017 15:18:02 +0000 (19:18 +0400)]
*: return CMD_WARNING if command was already configured

Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
If the user configures some command that is already in the config we
should return CMD_WARNING instead of CMD_WARNING_CONFIG_FAILED

7 years agoMerge pull request #1077 from donaldsharp/ws
Renato Westphal [Thu, 31 Aug 2017 01:26:41 +0000 (22:26 -0300)]
Merge pull request #1077 from donaldsharp/ws

Cleanup some issues in pim

7 years agoMerge pull request #1080 from mgsmith1000/systemd_service_perms
Donald Sharp [Wed, 30 Aug 2017 23:50:06 +0000 (19:50 -0400)]
Merge pull request #1080 from mgsmith1000/systemd_service_perms

Set permissions on systemd service file

7 years agoredhat: Set permissions on systemd service file
Matthew Smith [Wed, 30 Aug 2017 18:36:20 +0000 (13:36 -0500)]
redhat: Set permissions on systemd service file

Systemd on CentOS 7.3 logs a warning about the execute bit being
set every time the frr service file is invoked by systemctl.
Modify the spec file to explicitly set the permissions to 644.

Signed-off-by: Matthew Smith <mgsmith@netgate.com>
7 years ago*: fix style
Quentin Young [Wed, 30 Aug 2017 15:23:01 +0000 (11:23 -0400)]
*: fix style

Fixes style nits introduced by recent pull requests.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agopimd: Fix pim->keep_alive_time missed patch
Donald Sharp [Wed, 30 Aug 2017 11:49:51 +0000 (07:49 -0400)]
pimd: Fix pim->keep_alive_time missed patch

The commit '19b807c pimd: Allow the keepalive time to be per vrf.'
is missing some data.  Probably as a result of the indentation
and I accidently dropped it.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Add missed frame for vrf based interface
Donald Sharp [Wed, 30 Aug 2017 11:39:46 +0000 (07:39 -0400)]
pimd: Add missed frame for vrf based interface

pim is vrf aware and the interface based line for vrf's was
not being started with a vrf_frame as the non interface
based line was.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Fix indentation issue that slipped in?
Donald Sharp [Wed, 30 Aug 2017 11:35:36 +0000 (07:35 -0400)]
pimd: Fix indentation issue that slipped in?

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agoMerge pull request #1059 from opensourcerouting/oldbits-1
Donald Sharp [Tue, 29 Aug 2017 23:53:30 +0000 (19:53 -0400)]
Merge pull request #1059 from opensourcerouting/oldbits-1

zebra: PtP address configuration support

7 years agoMerge pull request #1056 from opensourcerouting/oldbits-0
Donald Sharp [Tue, 29 Aug 2017 21:48:36 +0000 (17:48 -0400)]
Merge pull request #1056 from opensourcerouting/oldbits-0

"pathspace" options, vtysh-suid-cleanups, "vty_frame()"

7 years agoMerge pull request #1074 from opensourcerouting/ospf6-plist-segv
Donald Sharp [Tue, 29 Aug 2017 21:35:42 +0000 (17:35 -0400)]
Merge pull request #1074 from opensourcerouting/ospf6-plist-segv

ospf6d: fix prefix list name SEGV

7 years agoMerge pull request #1073 from LabNConsulting/working/master/patch/fix-pr939-bgp-race
Donald Sharp [Tue, 29 Aug 2017 21:21:12 +0000 (17:21 -0400)]
Merge pull request #1073 from LabNConsulting/working/master/patch/fix-pr939-bgp-race

Fix bgpd race

7 years agobgp: add asserts to catch unsupported double enqueue of an RN on a bgp_process_queue
Lou Berger [Tue, 29 Aug 2017 19:30:34 +0000 (15:30 -0400)]
bgp: add asserts to catch unsupported double enqueue of an RN on a bgp_process_queue

Signed-off-by: Lou Berger <lberger@labn.net>
7 years agobgp: fix handling of bgp_process_queue to allow for RNs added
Lou Berger [Mon, 28 Aug 2017 22:34:45 +0000 (18:34 -0400)]
bgp: fix handling of bgp_process_queue to allow for RNs added
     during callback.  Issue introduced in PR #939.

Signed-off-by: Lou Berger <lberger@labn.net>
7 years agobgp: refactor bgp_process_queue to be consistent and cleanup related event queuing
Lou Berger [Mon, 28 Aug 2017 22:30:09 +0000 (18:30 -0400)]
bgp: refactor bgp_process_queue to be consistent and cleanup related event queuing

Signed-off-by: Lou Berger <lberger@labn.net>
7 years agoospf6d: fix prefix list name SEGV
David Lamparter [Tue, 29 Aug 2017 19:08:55 +0000 (21:08 +0200)]
ospf6d: fix prefix list name SEGV

Oops, I tested this with prefix lists configured and failed to notice it
blows up when nothing is set...

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
7 years agoRevert "doc: work around weird texinfo bug"
David Lamparter [Tue, 29 Aug 2017 18:43:28 +0000 (20:43 +0200)]
Revert "doc: work around weird texinfo bug"

This reverts commit 50ffbc124bca15b2ca09c1b8b2fd57de6c4d3da4.

The workaround stopped working :(

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
7 years agodoc: add "ip address LOCAL peer PEER/SUBNET"
David Lamparter [Tue, 29 Aug 2017 18:40:46 +0000 (20:40 +0200)]
doc: add "ip address LOCAL peer PEER/SUBNET"

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
7 years agoMerge pull request #998 from mkanjari/dev-master
David Lamparter [Tue, 29 Aug 2017 18:03:48 +0000 (20:03 +0200)]
Merge pull request #998 from mkanjari/dev-master

Dev master

7 years agoMerge pull request #1072 from opensourcerouting/isisd-fix-confusion-purge
Donald Sharp [Tue, 29 Aug 2017 17:07:45 +0000 (13:07 -0400)]
Merge pull request #1072 from opensourcerouting/isisd-fix-confusion-purge

isisd: keep original TLVs when purging in response to confusion

7 years agoMerge pull request #1071 from opensourcerouting/isis-spf-debug-guard
Donald Sharp [Tue, 29 Aug 2017 17:05:18 +0000 (13:05 -0400)]
Merge pull request #1071 from opensourcerouting/isis-spf-debug-guard

isisd: guard SPF warning by debug flag

7 years agoMerge pull request #1060 from opensourcerouting/oldbits-2
Donald Sharp [Tue, 29 Aug 2017 13:07:19 +0000 (09:07 -0400)]
Merge pull request #1060 from opensourcerouting/oldbits-2

zebra: clean up blackhole support

7 years agodoc: new frr-args(8) man page with general options
David Lamparter [Mon, 28 Aug 2017 21:48:51 +0000 (23:48 +0200)]
doc: new frr-args(8) man page with general options

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
7 years agobgpd: remove some deep nesting
David Lamparter [Sun, 27 Aug 2017 20:51:35 +0000 (22:51 +0200)]
bgpd: remove some deep nesting

Some of this was so egregiously stupid, I couldn't look at it without
gouging my eyes out...

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
7 years agobgpd: get rid of afi_header_vty_out() & co.
David Lamparter [Sun, 27 Aug 2017 20:18:32 +0000 (22:18 +0200)]
bgpd: get rid of afi_header_vty_out() & co.

afi_header_vty_out() is easily replaced with vty_frame(), which means we
can drop a whole batch of "int *write" args as well as the entirety of
bgp_config_write_family_header().

=> AFI/SAFI config writing is now a lot simpler.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
7 years ago*: remove empty "interface XYZ" config blocks
David Lamparter [Fri, 5 Feb 2010 08:48:45 +0000 (09:48 +0100)]
*: remove empty "interface XYZ" config blocks

Using the previously-added vty_frame() support, this gets rid of all the
pointless empty "interface XYZ" blocks that get added for any interface
that shows up in the system (e.g. dummys, tunnels, etc.)

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
7 years agolib: add vty_frame() to get rid of unneeded config
David Lamparter [Fri, 5 Feb 2010 08:48:45 +0000 (09:48 +0100)]
lib: add vty_frame() to get rid of unneeded config

vty_frame() can be used to reduce the amount of output produced by "show
running-config" and "write ...".  It buffers output in struct vty->frame
(1024 bytes) and outputs it when vty_out is called.  If vty_out isn't
called, it can be removed with vty_endframe() later.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
7 years agoMerge branch 'master' into dev-master
Mitesh Kanjariya [Tue, 29 Aug 2017 01:19:03 +0000 (18:19 -0700)]
Merge branch 'master' into dev-master

7 years agolib: new APIs for get/set system hostname/domainname
Mitesh Kanjariya [Mon, 28 Aug 2017 23:52:29 +0000 (16:52 -0700)]
lib: new APIs for get/set system hostname/domainname

1. Change hostname_get to cmd_hostname_get
2. Change domainname_get to cmd_domainname_get
3. New API to set domainname
3. Provide a CLI command to set domainname

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agoMerge pull request #1041 (-funwind-tables)
David Lamparter [Mon, 28 Aug 2017 23:05:05 +0000 (01:05 +0200)]
Merge pull request #1041 (-funwind-tables)

7 years agoconfigure: Add `-funwind-tables`
Donald Sharp [Thu, 24 Aug 2017 16:16:24 +0000 (12:16 -0400)]
configure: Add `-funwind-tables`

Certain platforms( ARM comes to mind ) in order
to get a proper stack trace on crash you need
to compile with this value.  Since it only
slightly increases the size of the binary for
other platforms, I would consider it worthwhile
to include this directive.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agoMerge pull request #1065 from qlyoung/no-ospf6-router-id
David Lamparter [Mon, 28 Aug 2017 22:37:26 +0000 (00:37 +0200)]
Merge pull request #1065 from qlyoung/no-ospf6-router-id

no ospf6 router-id

7 years agoisisd: guard SPF warning by debug flag
Christian Franke [Mon, 28 Aug 2017 22:23:53 +0000 (00:23 +0200)]
isisd: guard SPF warning by debug flag

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
7 years agoisisd: keep original TLVs when purging in response to confusion
Christian Franke [Mon, 28 Aug 2017 22:14:43 +0000 (00:14 +0200)]
isisd: keep original TLVs when purging in response to confusion

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
7 years agovtysh: add -N/--pathspace option
David Lamparter [Sun, 27 Aug 2017 19:03:32 +0000 (21:03 +0200)]
vtysh: add -N/--pathspace option

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
7 years agolib: add -N/--pathspace option
David Lamparter [Sun, 27 Aug 2017 19:03:12 +0000 (21:03 +0200)]
lib: add -N/--pathspace option

This allows running the daemons inside of Linux network namespaces
without messing with an additional mount/fs namespace (or a ton of
options).

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
7 years agovtysh: simplify path handling
David Lamparter [Sun, 27 Aug 2017 18:57:34 +0000 (20:57 +0200)]
vtysh: simplify path handling

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
7 years agovtysh: cleanup SUID handling
David Lamparter [Sun, 27 Aug 2017 18:38:54 +0000 (20:38 +0200)]
vtysh: cleanup SUID handling

Eliminate several more SUID problems (VTYSH_LOG, history file) and make
the whole SUID approach more robust.  Still possibly unsafe to use, but
much better.

[v2: wrap seteuid/setegid calls]
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
7 years agoMerge pull request #1066 from nkukard/fix-ordering-of-large-community-config
Donald Sharp [Mon, 28 Aug 2017 20:15:27 +0000 (16:15 -0400)]
Merge pull request #1066 from nkukard/fix-ordering-of-large-community-config

vtysh: Fix for the ordering of large-community lists in config output

7 years agovtysh: Fix for the ordering of large-community lists in config output
Nigel Kukard [Mon, 28 Aug 2017 18:35:15 +0000 (18:35 +0000)]
vtysh: Fix for the ordering of large-community lists in config output

Signed-off-by: Nigel Kukard <nkukard@lbsd.net>
7 years agoMerge pull request #1019 from opensourcerouting/zeromq2
ßingen [Mon, 28 Aug 2017 17:55:30 +0000 (19:55 +0200)]
Merge pull request #1019 from opensourcerouting/zeromq2

lib: ZeroMQ read handler, v2

7 years agoospf6d, ospfd: add `no ospf6 router-id ...`
Quentin Young [Mon, 28 Aug 2017 17:38:42 +0000 (13:38 -0400)]
ospf6d, ospfd: add `no ospf6 router-id ...`

* Deprecate `router-id A.B.C.D` for ospf6d
* Add `ospf6 router-id A.B.C.D`
* Add `no ospf6 router-id [A.B.C.D]`
* Add deprecation notices for previously deprecated ospf commands

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agolib: document frrzmq in its header file
David Lamparter [Mon, 28 Aug 2017 15:59:54 +0000 (17:59 +0200)]
lib: document frrzmq in its header file

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
7 years agotests: fix & run ZeroMQ test
David Lamparter [Mon, 28 Aug 2017 15:20:38 +0000 (17:20 +0200)]
tests: fix & run ZeroMQ test

add reference output & run the test with proper libs and such.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
7 years agotests: add ZeroMQ test
David Lamparter [Thu, 24 Aug 2017 16:13:31 +0000 (18:13 +0200)]
tests: add ZeroMQ test

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
7 years agolib: ZeroMQ read handler, v2
David Lamparter [Wed, 17 May 2017 16:27:54 +0000 (18:27 +0200)]
lib: ZeroMQ read handler, v2

This uses zmq_getsockopt(ZMQ_FD) to create a libfrr read event, which
then wraps zmq_poll and calls an user-specified ZeroMQ read handler.
It's wrapped in a separate library in order to make ZeroMQ support an
installation-time option instead of build-time.

Extended to support per-message and per-fragment callbacks as discussed
with Bingen in PR #566.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
7 years agolib, zebra: carry blackhole type over ZAPI
David Lamparter [Mon, 28 Aug 2017 04:01:13 +0000 (06:01 +0200)]
lib, zebra: carry blackhole type over ZAPI

Allow daemons to add blackholes of specific types (reject/drop.)

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
7 years agozebra: dont have vxlan as default iface type
David Lamparter [Mon, 28 Aug 2017 02:42:25 +0000 (04:42 +0200)]
zebra: dont have vxlan as default iface type

... make it so zero (unset) is "other"

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
7 years agozebra: kernel_socket: read extra attributes
David Lamparter [Mon, 28 Aug 2017 03:06:56 +0000 (05:06 +0200)]
zebra: kernel_socket: read extra attributes

This is just to silence the "didn't read all data" warning.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
7 years agozebra: drop IPv6 "broadcast" and "peer" addr code
David Lamparter [Mon, 28 Aug 2017 02:39:18 +0000 (04:39 +0200)]
zebra: drop IPv6 "broadcast" and "peer" addr code

There is no such thing as an IPv6 "broadcast" or "peer" address.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
7 years agozebra: netlink: get blackhole routes from kernel
David Lamparter [Fri, 5 Feb 2010 03:58:46 +0000 (04:58 +0100)]
zebra: netlink: get blackhole routes from kernel

support processing of RTN_BLACKHOLE et al. from kernel and dump them
into appropriate blackhole rib entries.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
7 years agozebra: cleanup blackhole support
David Lamparter [Fri, 5 Feb 2010 03:31:56 +0000 (04:31 +0100)]
zebra: cleanup blackhole support

blackhole support was horribly broken. cleanup by removing blackhole
stuff from ZEBRA_FLAG_*

introduces support for "prohibit" routes (Linux/netlink only)
also clean up blackhole options on "ip route" vty commands.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
7 years agozebra: rib: use nexthop ptr in rib_add/delete
David Lamparter [Sun, 27 Aug 2017 23:30:16 +0000 (01:30 +0200)]
zebra: rib: use nexthop ptr in rib_add/delete

This simplifies the API for the following blackhole rework.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
7 years ago*: remove ZEBRA_FLAG_{BLACKHOLE,REJECT} from API
David Lamparter [Wed, 11 Apr 2012 21:52:46 +0000 (23:52 +0200)]
*: remove ZEBRA_FLAG_{BLACKHOLE,REJECT} from API

FLAG_BLACKHOLE is used for different things in different places. remove
it from the zclient API, instead indicate blackholes as proper nexthops
inside the message.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
7 years agozebra: configure PtP address on ifaliasreq systems
David Lamparter [Wed, 3 Feb 2010 06:36:04 +0000 (06:36 +0000)]
zebra: configure PtP address on ifaliasreq systems

support configuring a point-to-point address on systems using ioctl
/ struct ifaliasreq. error out when interface/address type mismatch.

tested on FreeBSD 8.0-RELEASE.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
7 years agozebra: add '[no] ip address A.B.C.D peer A.B.C.D/M'
David Lamparter [Sat, 30 Jan 2010 10:26:59 +0000 (11:26 +0100)]
zebra: add '[no] ip address A.B.C.D peer A.B.C.D/M'

introduce a new command to configure a Point-to-Point address on an
interface.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>