]> git.puffer.fish Git - mirror/frr.git/log
mirror/frr.git
7 years agozebra: fix compiler error introduced by previous commit 1089/head
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 agozebra: Allow bh_type to override nexthop selection 1083/head
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 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 1076/head
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 1078/head
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 1080/head
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 1079/head
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 1077/head
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 1073/head
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 1074/head
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" 1059/head
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 1056/head
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 998/head
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` 1041/head
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 1071/head
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 1072/head
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 1066/head
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 ...` 1065/head
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 1019/head
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 1060/head
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>
7 years agozebra: netlink backend support setting a P-t-P address
David Lamparter [Wed, 20 Jan 2010 17:27:16 +0000 (18:27 +0100)]
zebra: netlink backend support setting a P-t-P address

add a few bits to properly set a pointopoint address via netlink. the
structures have all the neccessary support, just need to send the proper
message bits to the kernel.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
7 years agozebra: fix interface deletion bug introduced by ptp address support
David Lamparter [Sat, 27 Mar 2010 17:31:42 +0000 (18:31 +0100)]
zebra: fix interface deletion bug introduced by ptp address support

meh. forgot to even look at the interface deletion path. this doesn't
really work well when looking for the local address in the subnet list
which has the connected prefix in it... loop ensues.

fix by using the connected prefix when looking at the list of connected
prefixes. duh.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
7 years agozebra: add connected_check_ptp infrastructure
David Lamparter [Sat, 30 Jan 2010 11:10:23 +0000 (12:10 +0100)]
zebra: add connected_check_ptp infrastructure

add a connected_check_ptp function which does the same as
connected_check, but takes an additional peer prefix argument.

also fix related prefixlen mixup in PtP addresses (the local part of a
PtP address always is /32, but previously the peer mask got copied.)

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
7 years agoMerge pull request #1054 from dslicenc/eigrp-connected
David Lamparter [Sun, 27 Aug 2017 17:21:55 +0000 (19:21 +0200)]
Merge pull request #1054 from dslicenc/eigrp-connected

eigrpd: add correct interface metrics when interface comes up

7 years agoMerge pull request #1046 from qlyoung/fix-cli-ambiguous
David Lamparter [Sun, 27 Aug 2017 17:20:14 +0000 (19:20 +0200)]
Merge pull request #1046 from qlyoung/fix-cli-ambiguous

fix handling of ambiguous cli

7 years agoMerge pull request #1034 from dwalton76/bgpd-mpls-fec-allocate
David Lamparter [Sun, 27 Aug 2017 17:18:58 +0000 (19:18 +0200)]
Merge pull request #1034 from dwalton76/bgpd-mpls-fec-allocate

Bgpd mpls fec allocate

7 years agoeigrpd: add correct interface metrics when interface comes up 1054/head
Don Slice [Sat, 26 Aug 2017 19:51:43 +0000 (15:51 -0400)]
eigrpd: add correct interface metrics when interface comes up

Problem noticed where we were not sending the correct metric values
to our peers for connected interfaces.  Found that we were not storing
these values on the structure used to send the update packets.

Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
7 years agoMerge pull request #1049 from opensourcerouting/openbsd-warnings
Donald Sharp [Sat, 26 Aug 2017 12:05:36 +0000 (08:05 -0400)]
Merge pull request #1049 from opensourcerouting/openbsd-warnings

fix warnings on OpenBSD

7 years agoisisd: bpf: ETHER_HDR_LEN -> ETH_ALEN 1049/head
David Lamparter [Fri, 25 Aug 2017 23:52:12 +0000 (01:52 +0200)]
isisd: bpf: ETHER_HDR_LEN -> ETH_ALEN

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
7 years agozebra: remove RT_ROUNDUP warning
David Lamparter [Fri, 25 Aug 2017 23:41:07 +0000 (01:41 +0200)]
zebra: remove RT_ROUNDUP warning

This warning is at odds with how the world works.  Also, the code is
correct on all platforms we care about.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
7 years agolib: prefix: fix char value size
David Lamparter [Fri, 25 Aug 2017 23:38:10 +0000 (01:38 +0200)]
lib: prefix: fix char value size

There are 16 bytes here, not 8.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
7 years agobgpd: encap: fix extension sizing
David Lamparter [Fri, 25 Aug 2017 23:27:22 +0000 (01:27 +0200)]
bgpd: encap: fix extension sizing

Variably-sized struct tails are done as [0], not [1].  The latter
triggers compiler warnings and mis-sizes "sizeof(struct) + n"
expressions.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
7 years ago*: fix compiler warnings
David Lamparter [Fri, 25 Aug 2017 23:14:25 +0000 (01:14 +0200)]
*: fix compiler warnings

Specifically, gcc 4.2.1 on OpenBSD 6.0 warns about these;  they're bogus
(gcc 4.2, being rather old, isn't quite as "intelligent" as newer
versions; the newer ones apply more logic and less warnings.)

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
7 years agoHandle hostname/domainname properly for FreeBSD
Mitesh Kanjariya [Fri, 25 Aug 2017 23:36:31 +0000 (16:36 -0700)]
Handle hostname/domainname properly for FreeBSD

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agoFix compilation errors for domainname
Mitesh Kanjariya [Fri, 25 Aug 2017 22:51:16 +0000 (15:51 -0700)]
Fix compilation errors for domainname

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agolib: Fix make check failures
Mitesh Kanjariya [Fri, 25 Aug 2017 22:26:33 +0000 (15:26 -0700)]
lib: Fix make check failures

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agolib: remove static variable from cli matcher 1046/head
Quentin Young [Fri, 25 Aug 2017 18:08:16 +0000 (14:08 -0400)]
lib: remove static variable from cli matcher

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agolib: fix rare bug in ambiguous command resolution
Quentin Young [Fri, 25 Aug 2017 17:39:13 +0000 (13:39 -0400)]
lib: fix rare bug in ambiguous command resolution

In certain situations, the CLI matcher would not handle ambiguous
commands properly. If it found an ambiguous result in a lower subgraph,
the ambiguous result would not correctly propagate up to previous frames
in the resolution DFS as ambiguous; instead it would propagate up as a
non-match, which could subsequently be overridden by a partial match.

Example CLI space:

  show ip route summary
  show ip route supernet-only
  show ipv6 route summary

Entering `show ip route su` would result in an ambiguous resolution for
the `show ip route` subgraph but would propagate up to the `show ip`
subgraph as a no-match, allowing `ip` to partial-match `ipv6` and
execute that command.

In this example entering `show ip route summary` would disambiguate the
`show ip` subgraph. So this bug would only appear when entering input
that caused ambiguities in at least two parallel subgraphs.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agoMerge pull request #1045 from opensourcerouting/clippy-coverity
Donald Sharp [Fri, 25 Aug 2017 17:51:46 +0000 (13:51 -0400)]
Merge pull request #1045 from opensourcerouting/clippy-coverity

clippy: disable unneeded autogenerated code

7 years agoclippy: disable unneeded autogenerated code 1045/head
David Lamparter [Fri, 25 Aug 2017 16:54:13 +0000 (18:54 +0200)]
clippy: disable unneeded autogenerated code

Coverity is generating a lot of warnings about unused stuff being
around.  Disabling these bits is most easily done by just putting a few
preprocessor directives into the template.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
7 years agozebra: Coverity Code Cleanup 1044/head
Donald Sharp [Fri, 25 Aug 2017 12:07:58 +0000 (08:07 -0400)]
zebra: Coverity Code Cleanup

1) Various socket close issues
2) Ensure afi passed is usable
3) Fix some reads beyond buffer and reads after free
4) Ensure some failure modes are handled properly
5) Memory Leak(s) fix
6) There is no 6.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years ago*: Add RMAP_COMPILE_SUCCESS to enum
Donald Sharp [Fri, 25 Aug 2017 12:31:03 +0000 (08:31 -0400)]
*: Add RMAP_COMPILE_SUCCESS to enum

Add the RMAP_COMPILE_SUCCESS and switch over to using it.
Refactoring allows a removal of a if statement to just
use the switch statement already in place.  Additionally
the reworking cleans up memory freeing in a couple of spots.
In one spot we no longer will leak memory too.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years ago*: fix assorted issues detected by Coverity Scan 1042/head
Renato Westphal [Fri, 25 Aug 2017 00:43:29 +0000 (21:43 -0300)]
*: fix assorted issues detected by Coverity Scan

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
7 years agopimd: Cleanup a variety of SA issues
Donald Sharp [Thu, 24 Aug 2017 23:54:21 +0000 (19:54 -0400)]
pimd: Cleanup a variety of SA issues

1) Error check return from setsockopt and sockets
2) Check return codes for str2prefix
3) Clean up some potential NULL References

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agoeigrpd, ospfd: Cleanup inet_aton return code checking
Donald Sharp [Thu, 24 Aug 2017 23:45:25 +0000 (19:45 -0400)]
eigrpd, ospfd: Cleanup inet_aton return code checking

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agoeigrpd: Cleanup various SA Issues
Donald Sharp [Thu, 24 Aug 2017 23:15:20 +0000 (19:15 -0400)]
eigrpd: Cleanup various SA Issues

1) Handle key value not found on interface
2) Handle various NULL pointer possibilities
3) Fix possible integer overflow
4) Fix memory leak
5) Check return codes on sscanf

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agoprovide/use API to get hostname/domainname
Mitesh Kanjariya [Mon, 21 Aug 2017 21:56:06 +0000 (14:56 -0700)]
provide/use API to get hostname/domainname

Set default hostname in frr to unix hostname.
Provide APIs to get the hostname/domaninanme
Use this APIs where needed

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agolib/bgpd: provide/use API to get hostname/domainname
Mitesh Kanjariya [Mon, 21 Aug 2017 21:56:06 +0000 (14:56 -0700)]
lib/bgpd: provide/use API to get hostname/domainname

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agoMerge pull request #1037 from donaldsharp/eigrp_split_horizon
Donnie Savage [Thu, 24 Aug 2017 19:39:46 +0000 (15:39 -0400)]
Merge pull request #1037 from donaldsharp/eigrp_split_horizon

Eigrp split horizon and ipv4 to prefix changes approved

7 years agoMerge pull request #1040 from donaldsharp/sgrpt
Jafar Al-Gharaibeh [Thu, 24 Aug 2017 16:41:38 +0000 (11:41 -0500)]
Merge pull request #1040 from donaldsharp/sgrpt

Sgrpt

7 years agopimd: Cleanup S,GRPt prune handling on Mroute Loss 1040/head
Donald Sharp [Thu, 24 Aug 2017 13:55:19 +0000 (09:55 -0400)]
pimd: Cleanup S,GRPt prune handling on Mroute Loss

1) Clean up display of S,GRPt prune state to be more meaningful
2) Upon receipt of a S,GRPt prune make sure we transition to
   the correct state
3) Upon loss of a S,GRPt prune make sure we transition to
   the correct state as well as immediately send a *,G
   join upstream to propagate the loss of the prune.
4) Removal of a weird S,G state being installed upon
   loss of a S,G RPt prune.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Cleanup a debug for vrf
Donald Sharp [Thu, 24 Aug 2017 13:53:05 +0000 (09:53 -0400)]
pimd: Cleanup a debug for vrf

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