]> git.proxmox.com Git - mirror_frr.git/log
mirror_frr.git
7 years agoredhat: Replace tab's with spaces in README
Martin Winter [Thu, 13 Apr 2017 01:54:40 +0000 (18:54 -0700)]
redhat: Replace tab's with spaces in README

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
7 years agoMerge branch 'frr/pull/672' into stable/3.0
David Lamparter [Tue, 6 Jun 2017 14:47:48 +0000 (16:47 +0200)]
Merge branch 'frr/pull/672' into stable/3.0

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
7 years agoMerge pull request #675 from opensourcerouting/ldpd-cherry-picks
Donald Sharp [Tue, 6 Jun 2017 12:24:47 +0000 (08:24 -0400)]
Merge pull request #675 from opensourcerouting/ldpd-cherry-picks

ldpd: cherry-pick fixes from master to stable/3.0

7 years agoldpd: fix bug in pseudowire control-word negotiation
Renato Westphal [Fri, 2 Jun 2017 14:14:54 +0000 (11:14 -0300)]
ldpd: fix bug in pseudowire control-word negotiation

Bingen discovered a bug in the pseudowire control-word negotiation that
might happen when the "control-word exclude" command is used. Under some
very specific conditions, ldpd might ignore a PWID label mapping when
it shouldn't.

This patch removes a wrong optimization that was preventing ldpd to call
l2vpn_pw_reset() every time we change the configuration of a pseudowire.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
7 years agoldpd: fix issues detected by Coverity Scan
Renato Westphal [Thu, 27 Apr 2017 11:56:15 +0000 (08:56 -0300)]
ldpd: fix issues detected by Coverity Scan

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
7 years agoldpd: fix bug when changing the transport address
Renato Westphal [Sat, 22 Apr 2017 15:03:14 +0000 (12:03 -0300)]
ldpd: fix bug when changing the transport address

When the transport address is changed, all interfaces and targeted
neighbors are temporary disabled in the ldpe process until new sockets
bound to the new transport address are received from the parent.

This patch fixes a problem in which adjacencies weren't being removed
after the associated targeted neighbors were disabled. This was causing
ldpd not to set some MD5 sockoptions for new neighbors are thus preventing
MD5-protected sessions to come up after a change in the transport-address.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
7 years agoldpd: allow targeted neighbors over any interface
Renato Westphal [Sat, 22 Apr 2017 13:55:27 +0000 (10:55 -0300)]
ldpd: allow targeted neighbors over any interface

It's doesn't make sense to enforce that a targeted-hello is received
on an LDP-enabled interface. It should be possible, for example, to use
LDP only to signal pseudowires and other another protocol (e.g. RSVP-TE)
to create end-to-end LSPs.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
7 years agoldpd: schedule the sending of label messages when necessary
Renato Westphal [Sat, 22 Apr 2017 01:10:42 +0000 (22:10 -0300)]
ldpd: schedule the sending of label messages when necessary

Once we send a Label Withdraw, we can't send a Label Mapping for the
same FEC until we receive a Label Release from the peer. This is due to
some limitations in the LDP algorithms described in Appendix A. ("LDP
Label Distribution Procedures") of RFC 5036.

To workaround this issue, make it possible to schedule the sending of
a Label Mapping as soon as a Label Release is received for the same FEC.

The easiest way to test this patch is by typing the "label local advertise
explicit-null" command. ldpd will withdraw all null labels using a
Wildcard FEC and then send new Label Mappings as soon the corresponding
Label Releases are received.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
7 years agoldpd: improve ldp_zebra_read_route()
Renato Westphal [Fri, 21 Apr 2017 22:39:11 +0000 (19:39 -0300)]
ldpd: improve ldp_zebra_read_route()

Log deleted routes and simplify the code a bit.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
7 years agoldpd: be more conservative with labels
Renato Westphal [Fri, 21 Apr 2017 18:41:14 +0000 (15:41 -0300)]
ldpd: be more conservative with labels

On unstable networks, routes can be lost and relearned very often. If
we deallocate the input label every time a route is lost and allocate
a new one when the route is relearned, a lot of changes are made in vain.

This patch introduces a logic in which labels are preserved for at least
five minutes before being deallocated by the LIB garbage collector. This
is consistent with what other implementations do.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
7 years agoldpd: accept notifications during the session establishment process
Renato Westphal [Wed, 19 Apr 2017 22:31:19 +0000 (19:31 -0300)]
ldpd: accept notifications during the session establishment process

If we don't do this, we'll never trigger the backoff exponential timer
since it's impossible to distinguish between Initialization NAK's and
general errors.

Also:
* Implement some missing bits from RFC 5036;
* remove superfluous log message in session_shutdown()
  (send_notification() logs that we're sending a fatal notification).

Regression introduced by commit 8819fc3.

Fixes the following ANVL LDP regressions: 6.19 and 6.21.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
7 years agoldpd: minor changes in the output of some show commands
Renato Westphal [Wed, 19 Apr 2017 20:12:35 +0000 (17:12 -0300)]
ldpd: minor changes in the output of some show commands

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
7 years agoldpd: use synchronous channels for sending log messages
Renato Westphal [Wed, 19 Apr 2017 19:59:50 +0000 (16:59 -0300)]
ldpd: use synchronous channels for sending log messages

This is necessary to guarantee that all log messages sent from the child
processes are received in the parent process right away.

Without this patch, when a child process calls fatal() or fatalx(),
the log messages don't make it to the parent because the child doesn't
have a chance to flush its buffers before exiting.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
7 years agoldpd: remove unnecessary checks if a signal was caught
Renato Westphal [Wed, 19 Apr 2017 18:28:43 +0000 (15:28 -0300)]
ldpd: remove unnecessary checks if a signal was caught

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
7 years agoldpd: fix segfault after failed initialization
Renato Westphal [Wed, 19 Apr 2017 18:15:56 +0000 (15:15 -0300)]
ldpd: fix segfault after failed initialization

When ldpd fails to start for some reason, like failing to create a pid
file, the child processes call their shutdown functions without being
completely initialized. This patch adds some protections to prevent a
segmentation fault on such circumstances.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
7 years agoldpd: simplify initialization of the child processes
Renato Westphal [Wed, 19 Apr 2017 01:03:35 +0000 (22:03 -0300)]
ldpd: simplify initialization of the child processes

In order to have separate ASLR/cookies per process, ldpd calls exec()
in the child processes after fork() (this is also known as the fork+exec
model).

This is an important security feature but it makes the initialization
of the child processes a bit more complicated as they're not a copy of
the parent anymore, so all parameters given via command line are lost.

To solve this problem, we were creating an argv array by hand with all
necessary parameters and providing it to the exec() syscall. This works
but it's a very ugly solution. This patch introduces a different approach
to solve the problem: send an IMSG_INIT message to the child processes
with all parameters they need in order to initialize properly. This
makes adding additional initialization parameters much more convenient
and less error prone.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
Conflicts:
ldpd/ldpd.c
ldpd/ldpd.h

7 years agoldpd: call openzlog() in the child processes as well
Renato Westphal [Tue, 18 Apr 2017 15:17:30 +0000 (12:17 -0300)]
ldpd: call openzlog() in the child processes as well

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
7 years agoldpd: fix log level of log_warn() and log_warnx()
Renato Westphal [Tue, 18 Apr 2017 15:14:15 +0000 (12:14 -0300)]
ldpd: fix log level of log_warn() and log_warnx()

The log_warn() and log_warnx() functions indicate non-critical warnings
and errors, so use LOG_ERR instead of LOG_CRIT.

Keep using LOG_CRIT only in fatal() and fatalx() since these functions
indicate critical errors (when the program needs to exit).

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
7 years agoldpd: split log.c into two files
Renato Westphal [Tue, 18 Apr 2017 15:04:44 +0000 (12:04 -0300)]
ldpd: split log.c into two files

This is basically to keep in sync with OpenBSD's ldpd(8) where the same
change was done.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
7 years agobgpd: fix segfault with some show commands
Renato Westphal [Tue, 30 May 2017 11:30:57 +0000 (08:30 -0300)]
bgpd: fix segfault with some show commands

The following commands were causing bgpd to crash when vpnv4/vpnv6 static
routes are configured:

bgpd aborted: vtysh  -c "show ip bgp view all ipv4 vpn json"
bgpd aborted: vtysh  -c "show ip bgp view all ipv4 vpn"
bgpd aborted: vtysh  -c "show ip bgp view all ipv6 vpn json"
bgpd aborted: vtysh  -c "show ip bgp view all ipv6 vpn"
bgpd aborted: vtysh  -c "show ip bgp vrf all ipv4 vpn json"
bgpd aborted: vtysh  -c "show ip bgp vrf all ipv4 vpn"
bgpd aborted: vtysh  -c "show ip bgp vrf all ipv6 vpn json"
bgpd aborted: vtysh  -c "show ip bgp vrf all ipv6 vpn"
bgpd aborted: vtysh  -c "show bgp view all ipv4 vpn json"
bgpd aborted: vtysh  -c "show bgp view all ipv4 vpn"
bgpd aborted: vtysh  -c "show bgp view all ipv6 vpn json"
bgpd aborted: vtysh  -c "show bgp view all ipv6 vpn"
bgpd aborted: vtysh  -c "show bgp vrf all ipv4 vpn json"
bgpd aborted: vtysh  -c "show bgp vrf all ipv4 vpn"
bgpd aborted: vtysh  -c "show bgp vrf all ipv6 vpn json"
bgpd aborted: vtysh  -c "show bgp vrf all ipv6 vpn"

Problem found with the CLI fuzzer.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
7 years agobgpd: fix addpath buffer overrun
Quentin Young [Fri, 2 Jun 2017 20:53:37 +0000 (20:53 +0000)]
bgpd: fix addpath buffer overrun

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agoospf6d: fix filter-list commands
Quentin Young [Fri, 2 Jun 2017 21:20:33 +0000 (21:20 +0000)]
ospf6d: fix filter-list commands

incorrect indexes resulted in use of area id as the name of the prefix
list

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agobgpd: fix large-community-list commands
Quentin Young [Fri, 2 Jun 2017 21:48:01 +0000 (21:48 +0000)]
bgpd: fix large-community-list commands

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agoospfd: fix 'show ip ospf interface json'
Quentin Young [Fri, 2 Jun 2017 19:10:03 +0000 (19:10 +0000)]
ospfd: fix 'show ip ospf interface json'

json obj not recreated for each interface

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agoospfd: shufflin
Quentin Young [Wed, 31 May 2017 19:04:53 +0000 (19:04 +0000)]
ospfd: shufflin

move virtual-link command down to be next to its no form

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agoospfd: fix virtual-link timers commands
Quentin Young [Wed, 31 May 2017 19:00:39 +0000 (19:00 +0000)]
ospfd: fix virtual-link timers commands

Use {} semantics, correct docstrings, switchup parsing.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agorelease: frr-3.0-rc0 frr-3.0-rc0
David Lamparter [Thu, 1 Jun 2017 17:23:00 +0000 (19:23 +0200)]
release: frr-3.0-rc0

7 years agovtysh: Add back some missing bgp commands
Donald Sharp [Thu, 25 May 2017 17:53:50 +0000 (13:53 -0400)]
vtysh: Add back some missing bgp commands

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agoMerge pull request #583 from chiragshah6/pim_dev_3_0
Jafar Al-Gharaibeh [Mon, 29 May 2017 18:37:26 +0000 (12:37 -0600)]
Merge pull request #583 from chiragshah6/pim_dev_3_0

pimd: Fix to Transmit S,G Join when transitioning from SGRpt to Join state

7 years agoMerge pull request #622 from Jafaral/vtysh-no-user
Donald Sharp [Fri, 26 May 2017 19:03:59 +0000 (15:03 -0400)]
Merge pull request #622 from Jafaral/vtysh-no-user

vtysh: fix a compile error when user/group are disabled

7 years agovtysh: fix a compile error when user/group are disabled
Jafar Al-Gharaibeh [Tue, 23 May 2017 18:23:04 +0000 (13:23 -0500)]
vtysh: fix a compile error when user/group are disabled

If FRR is configured explicilty with --disable-user and
--disable-group, FRR_USER and FRR_GROUP will not be defined
and can be safely skipped in vtysh.

Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
7 years agoMerge pull request #611 from LabNConsulting/working/3.0/patch-set/deprecateEncap
Donald Sharp [Wed, 24 May 2017 15:04:36 +0000 (11:04 -0400)]
Merge pull request #611 from LabNConsulting/working/3.0/patch-set/deprecateEncap

3.0: remove support for config & show of encap safi

7 years agobgpd: remove encap safi vty related files bgp_encap.h|c
Lou Berger [Tue, 23 May 2017 19:34:43 +0000 (15:34 -0400)]
bgpd: remove encap safi vty related files bgp_encap.h|c

Signed-off-by: Lou Berger <lberger@labn.net>
7 years agobgpd: remove encap_safi rx processing
Lou Berger [Tue, 23 May 2017 19:15:45 +0000 (15:15 -0400)]
bgpd: remove encap_safi rx processing

Signed-off-by: Lou Berger <lberger@labn.net>
7 years agobgpd: remove encap safi show commands
Lou Berger [Tue, 23 May 2017 19:11:30 +0000 (15:11 -0400)]
bgpd: remove encap safi show commands

Signed-off-by: Lou Berger <lberger@labn.net>
7 years agobgpd rfapi: remove ability to configure use of encap-safi (continue to use encap...
Lou Berger [Tue, 23 May 2017 19:02:31 +0000 (15:02 -0400)]
bgpd rfapi: remove ability to configure use of encap-safi (continue to use encap attribute)

Signed-off-by: Lou Berger <lberger@labn.net>
7 years agobgpd: remove support for ipv4|6 encap safi config
Lou Berger [Tue, 23 May 2017 19:01:54 +0000 (15:01 -0400)]
bgpd: remove support for ipv4|6 encap safi config

Signed-off-by: Lou Berger <lberger@labn.net>
7 years agovtysh: remove BGP_ENCAP(V6)_NODE
Lou Berger [Tue, 23 May 2017 19:01:09 +0000 (15:01 -0400)]
vtysh: remove BGP_ENCAP(V6)_NODE

Signed-off-by: Lou Berger <lberger@labn.net>
7 years agolib: remove BGP_ENCAP(V6)_NODE
Lou Berger [Tue, 23 May 2017 19:00:53 +0000 (15:00 -0400)]
lib: remove BGP_ENCAP(V6)_NODE

Signed-off-by: Lou Berger <lberger@labn.net>
7 years agoMerge pull request #598 from donaldsharp/to_3.0
Donald Sharp [Tue, 23 May 2017 15:42:11 +0000 (11:42 -0400)]
Merge pull request #598 from donaldsharp/to_3.0

To 3.0

7 years agoMerge pull request #593 from qlyoung/fix-nhrpd-acl-3.0
David Lamparter [Mon, 22 May 2017 15:46:48 +0000 (17:46 +0200)]
Merge pull request #593 from qlyoung/fix-nhrpd-acl-3.0

nhrpd: install access-list commands

7 years agoMerge pull request #591 from qlyoung/ospf-df-areaid-3.0
David Lamparter [Mon, 22 May 2017 15:45:55 +0000 (17:45 +0200)]
Merge pull request #591 from qlyoung/ospf-df-areaid-3.0

ospfd: remember format for ospf area id

7 years agoMerge pull request #600 from qlyoung/fix-privs-obo
David Lamparter [Mon, 22 May 2017 15:39:40 +0000 (17:39 +0200)]
Merge pull request #600 from qlyoung/fix-privs-obo

lib: fix array sizes for capability map

7 years agoMerge pull request #599 from qlyoung/fix-ospf6-uaf-3.0
David Lamparter [Mon, 22 May 2017 15:39:03 +0000 (17:39 +0200)]
Merge pull request #599 from qlyoung/fix-ospf6-uaf-3.0

ospf6d: fix use-after-free

7 years agolib: fix array sizes for capability map
Quentin Young [Mon, 22 May 2017 02:26:16 +0000 (02:26 +0000)]
lib: fix array sizes for capability map

incorrect array sizes causing out of bounds read and potentially
incorrect capability settings

introduced in 1b322039

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agoospf6d: fix use-after-free
Quentin Young [Mon, 22 May 2017 02:12:05 +0000 (02:12 +0000)]
ospf6d: fix use-after-free

ospf6_route_remove may free the ospf6_route passed to it if the refcount
reaches zero, in which case zeroing the ->flag field constitutes a uaf

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agobgpd: fix sending of invalid nexthops on the wire
Renato Westphal [Fri, 19 May 2017 13:51:00 +0000 (10:51 -0300)]
bgpd: fix sending of invalid nexthops on the wire

The bpacket_reformat_for_peer() function rewrites the nexthop of outgoing
route updates on a per-peer basis in order to handle route-maps ("set
ip next-hop") and locally-originated routes missing a nexthop.

In the latter case, RFC 4271 says the following: "When announcing a
locally-originated route to an internal peer, the BGP speaker SHOULD use
the interface address of the router through which the announced network
is reachable for the speaker as the NEXT_HOP".

We were doing this for regular IPv4/IPv6 routes, but not for
VPN/EVPN/ENCAP routes, which were being announced with invalid nexthops
(0.0.0.0 or ::).

This patch fixes this problem.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
7 years agobgpd: fix display of encap routes in the running configuration
Renato Westphal [Fri, 19 May 2017 19:51:46 +0000 (16:51 -0300)]
bgpd: fix display of encap routes in the running configuration

Static encap routes don't have an MPLS label. Also, use %u instead of
%d to print the label.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
7 years agobgpd: add network commands for encapv6
Renato Westphal [Fri, 19 May 2017 15:34:26 +0000 (12:34 -0300)]
bgpd: add network commands for encapv6

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
7 years agobgpd: remove unused str2tag() function
Renato Westphal [Fri, 19 May 2017 13:49:24 +0000 (10:49 -0300)]
bgpd: remove unused str2tag() function

This function is not used anymore since commit fb1d2a2d9.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
7 years agonhrpd: install access-list commands
Quentin Young [Fri, 19 May 2017 20:06:43 +0000 (20:06 +0000)]
nhrpd: install access-list commands

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agoospfd: remember format for ospf area id
Quentin Young [Fri, 19 May 2017 18:38:02 +0000 (18:38 +0000)]
ospfd: remember format for ospf area id

If the user enters a decimal, display a decimal.
If the user enters a dotted quad, display a dotted quad.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agoMerge pull request #584 from LabNConsulting/working/3.0/patch/configVpnTags-v2
Renato Westphal [Fri, 19 May 2017 13:38:03 +0000 (10:38 -0300)]
Merge pull request #584 from LabNConsulting/working/3.0/patch/configVpnTags-v2

bgpd: Address some issues seen while encoding VPN static routes (Issue #572)  -- V2

7 years agobgpd: set NH len for ipv4 vpn|encap statics
Lou Berger [Fri, 19 May 2017 11:56:13 +0000 (07:56 -0400)]
bgpd: set NH len for ipv4 vpn|encap statics

Signed-off-by: Lou Berger <lberger@labn.net>
7 years agoMerge pull request #586 from donaldsharp/msdp_crashalicious
David Lamparter [Fri, 19 May 2017 11:38:48 +0000 (13:38 +0200)]
Merge pull request #586 from donaldsharp/msdp_crashalicious

pimd: Fix crash from cli missinterpertation

7 years agopimd: Fix crash from cli missinterpertation
Donald Sharp [Fri, 19 May 2017 03:06:12 +0000 (23:06 -0400)]
pimd: Fix crash from cli missinterpertation

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agobgpd: fix ipv4|6 vpn|encap with route-map show config
Lou Berger [Thu, 18 May 2017 21:53:06 +0000 (17:53 -0400)]
bgpd: fix ipv4|6 vpn|encap with route-map show config

Signed-off-by: Lou Berger <lberger@labn.net>
7 years agobgp: don't put empty encap or vnc attributes on the wire
Lou Berger [Thu, 18 May 2017 13:45:48 +0000 (09:45 -0400)]
bgp: don't put empty encap or vnc attributes on the wire

Signed-off-by: Lou Berger <lberger@labn.net>
7 years agobgpd: repalce direct calls to system memory functions
Lou Berger [Thu, 18 May 2017 13:06:47 +0000 (09:06 -0400)]
bgpd: repalce direct calls to system memory functions

Signed-off-by: Lou Berger <lberger@labn.net>
7 years agobgpd: cleanup vpn label config, set BoS, use 'label' in place of 'tag'
Lou Berger [Thu, 18 May 2017 12:56:26 +0000 (08:56 -0400)]
bgpd: cleanup vpn label config, set BoS, use 'label' in place of 'tag'

Signed-off-by: Lou Berger <lberger@labn.net>
7 years agopimd: Fix to Tx S,G Join when SGRpt->Join state
Chirag Shah [Fri, 12 May 2017 19:05:46 +0000 (12:05 -0700)]
pimd: Fix to Tx S,G Join when SGRpt->Join state

-Upon Rx (*,G) Join w/o SGRpt at RP, trigger (S,G) Join
towards FHR, unset SGRpt flag from channel,
add (*,G) oif to (S,G) entry.
-Add I am not RP check to triger SGRpt on *,G path otherwise,
send S,G Prune on SPT path from RP to FHR upon receving *,G Prune.
-Upon Rx SGRpt receive, remove OIF(downstream where Prune received) from specific S,G.

Testing Done:
pim-smoke
Ran 95 tests in 11790.552s
FAILED (SKIP=10, failures=4)

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
7 years agopimd: Fix indentation issue that is causing clang unhappiness
Donald Sharp [Thu, 18 May 2017 12:56:40 +0000 (08:56 -0400)]
pimd: Fix indentation issue that is causing clang unhappiness

The indentation of ifjoin_to_noinfo was not consistent with
the rest of the function and caused clang to loose it's mind

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agoRevert "bgpd: resolve ipv6 ecmp issue with vrfs and ll nexthop"
David Lamparter [Thu, 18 May 2017 12:05:53 +0000 (14:05 +0200)]
Revert "bgpd: resolve ipv6 ecmp issue with vrfs and ll nexthop"

This reverts commit fa14eb2c0b408982a6634459b3afb21e9df6326a.

This was for stable/2.0 and wasn't intended to go on stable/3.0
-- my bad, missed this in the merge.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
7 years agoMerge pull request #512 from bingen/tmp_lm_relay_async
Donald Sharp [Thu, 18 May 2017 11:09:07 +0000 (07:09 -0400)]
Merge pull request #512 from bingen/tmp_lm_relay_async

lm: Make relay label manager async

7 years agoMerge branch 'frr/pull/569'
David Lamparter [Thu, 18 May 2017 10:35:53 +0000 (12:35 +0200)]
Merge branch 'frr/pull/569'

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
7 years agoMerge branch 'frr/pull/575'
David Lamparter [Thu, 18 May 2017 10:23:23 +0000 (12:23 +0200)]
Merge branch 'frr/pull/575'

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
7 years agoMerge branch stable/2.0 into stable/3.0
David Lamparter [Thu, 18 May 2017 10:15:04 +0000 (12:15 +0200)]
Merge branch stable/2.0 into stable/3.0

Conflicts:
bgpd/bgp_fsm.c
ospf6d/ospf6_lsa.c
ospfd/ospf_vty.c
zebra/redistribute.c

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
7 years agoPre-revert nonmergeable changes
David Lamparter [Thu, 18 May 2017 09:41:01 +0000 (11:41 +0200)]
Pre-revert nonmergeable changes

Revert "ospf6d: fix decimal area ID cli"
commit a27cb3cfe901d4f1378116bc91e6656aaed7c74c

Revert "bgpd: add back unicast option to 'address-family vpnv(4&6)' Issue #459"
commit 399598bf6b749daa15d70ad64fc885d00cde1225

Revert "Fix the memory leak"
commit d8d58e98397d8442ec68f8d715b64d5e6000b903

Revert "zebra: 'no ip route 4.1.1.19 255.255.255.255 99' is ambiguous"
commit 83f35619359379687f21c839d61121e4ebe72541

Revert "ospf6d: Allow unconfig of unknown lsa's"
commit 5b0747d71df6006835ead8e6354f70b26f7bca80

Revert "Fix the "Dead assignment" of clang SA."
commit 3a6570a1f145c49155d72a815441025085dd45ad

Revert "snapcraft: Improve README.usage.md based on feedback received"
commit 2a3a819a9c2b2c9700e6228e7352e53b3562776c

Revert "zebra: stop deregistering static nexthops unless removing the static"
commit 1dac3a9619c8436f81c7b37f0252574b0b677dd0

All of these changes do not apply on stable/3.0 due to either CLI
changes or another fix already being present.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
7 years agoMerge branch 'frr/pull/574'
David Lamparter [Thu, 18 May 2017 09:39:58 +0000 (11:39 +0200)]
Merge branch 'frr/pull/574'

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
7 years agoMerge branch 'frr/pull/558'
David Lamparter [Thu, 18 May 2017 09:38:25 +0000 (11:38 +0200)]
Merge branch 'frr/pull/558'

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
7 years agoMerge branch 'frr/pull/557'
David Lamparter [Thu, 18 May 2017 09:37:37 +0000 (11:37 +0200)]
Merge branch 'frr/pull/557'

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
7 years agoMerge branch 'frr/pull/548' ("Pim dev 3.0 defect fixes")
David Lamparter [Thu, 18 May 2017 09:34:50 +0000 (11:34 +0200)]
Merge branch 'frr/pull/548' ("Pim dev 3.0 defect fixes")

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
7 years agoospf6d: fix decimal area ID cli
Quentin Young [Wed, 17 May 2017 20:31:19 +0000 (20:31 +0000)]
ospf6d: fix decimal area ID cli

Not all numbers are dotted quads

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agoospf6d: fix decimal area ID cli
Quentin Young [Wed, 17 May 2017 20:31:19 +0000 (20:31 +0000)]
ospf6d: fix decimal area ID cli

Not all numbers are dotted quads

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agoMerge pull request #556 from dslicenc/bgp-fixes
Renato Westphal [Thu, 18 May 2017 00:37:01 +0000 (21:37 -0300)]
Merge pull request #556 from dslicenc/bgp-fixes

Bgp fixes

7 years agoMerge pull request #562 from dslicenc/small-zebra-fixes
David Lamparter [Wed, 17 May 2017 21:35:29 +0000 (23:35 +0200)]
Merge pull request #562 from dslicenc/small-zebra-fixes

Small zebra fixes

7 years agobgpd: fix config of v6 vpn networks tags
Lou Berger [Wed, 17 May 2017 18:54:10 +0000 (14:54 -0400)]
bgpd: fix config of v6 vpn networks tags

Signed-off-by: Lou Berger <lberger@labn.net>
7 years agoMerge pull request #565 from qlyoung/fix-ldpd-vtysh-3.0
Renato Westphal [Wed, 17 May 2017 18:19:04 +0000 (15:19 -0300)]
Merge pull request #565 from qlyoung/fix-ldpd-vtysh-3.0

vtysh: fix ldpd vtysh

7 years agovtysh: fix ldpd vtysh
Quentin Young [Wed, 17 May 2017 01:53:47 +0000 (01:53 +0000)]
vtysh: fix ldpd vtysh

ldpd needs a special case to execute the correct exit command for walkup
when using vtysh

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agolib: correctly handle EOF when using poll()
Quentin Young [Tue, 16 May 2017 18:17:23 +0000 (18:17 +0000)]
lib: correctly handle EOF when using poll()

Descriptor owner should handle EOF, not thread.c

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agobgpd: Fix vrf crash
Donald Sharp [Thu, 1 Dec 2016 13:59:16 +0000 (08:59 -0500)]
bgpd: Fix vrf crash

Ensure that we have a valid vrf before we log
information about it.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Don Slice <dslice@cumulusnetworks.com>
7 years agoospf6d: Fix debug line always showing up in ospf6d
Donald Sharp [Thu, 17 Nov 2016 03:17:39 +0000 (22:17 -0500)]
ospf6d: Fix debug line always showing up in ospf6d

The command 'debug ospf6 lsa unknown' was
always showing up, upon starting of the ospf6 daemon.

Remove this from happening.  Also fix some help strings
while we are in there.

Ticket: CM-7913
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agobgpd: More Extended nexthop fixing
Donald Sharp [Wed, 16 Nov 2016 17:00:40 +0000 (12:00 -0500)]
bgpd: More Extended nexthop fixing

Basically if we are reading in a cli with a extended-nexthop
and we have not received from zebra the interface we are working
on I believe we have a race condition where we are not
propagating the PEER_FLAG_CAPABILITY_ENHE in this case.

Modify the code to propagate even if we haven't found the
interface yet.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agobgpd: Fix ADJCHANGE message to include more info
Donald Sharp [Tue, 15 Nov 2016 15:16:52 +0000 (10:16 -0500)]
bgpd: Fix ADJCHANGE message to include more info

When bgp logs ADJCHANGE messages include the
hostname and vrf that this change is being made
in.

Ticket: CM-10922
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agobgpd: Fix occassional turn off of extended-nexthop for an if
Donald Sharp [Tue, 15 Nov 2016 14:39:35 +0000 (09:39 -0500)]
bgpd: Fix occassional turn off of extended-nexthop for an if

Sometimes, like once every 400 iterations, when you restart
Quagga, extended-nexthop has been turned off for interface
based config( for 5549 ).

Examining the code, there is only 1 real path to setting
the PEER_FLAG_CAPABILITITY_ENHE and that is through
peer_conf_interface_get.  Modify this code path
to always set the PEER_FLAG_CAPABILITY_ENHE if it is
not already set.

In addition, fix a possible pointer dereference.

Ticket: CM-12929
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agoChange Frr.conf to frr.conf
Daniel Walton [Wed, 10 May 2017 00:55:10 +0000 (00:55 +0000)]
Change Frr.conf to frr.conf

Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
7 years agozebra: stop deregistering static nexthops unless removing the static
Don Slice [Tue, 14 Feb 2017 17:15:40 +0000 (09:15 -0800)]
zebra: stop deregistering static nexthops unless removing the static

Problem reported was that with some overlapping static route configurations,
when the link went down the less specific static was not re-installed after
the link came back up.  Determined that with the overlapping statics, we
would recursively resolve the next-hop temporarily thru the more specific
static route, but since the next-hop wasn't actually reachable, we would go
through the code that clears the nht information for the static completely.
This caused the nht code to no longer process the static route.

After reviewing the process, there doesn't seem to be any reason that the
static should be deregistered in that section of code.  Removed the
deregister and the problem is resolved and not addional failures seen in
manual testing.  zebra_test.py completed successfully and ospf and bgp smokes
completed with no new failures.

Ticket: CM-14873
Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
Reviewed-by: CCR-5696
7 years agozebrad: Correct problem removing dead routes from rib due to NHT issue
Don Slice [Tue, 6 Dec 2016 17:29:05 +0000 (09:29 -0800)]
zebrad: Correct problem removing dead routes from rib due to NHT issue

Fix for another issue with next-hop tracking for overlapping static routes
created a problem removing the dead routes.  This fix corrects that error.

Ticket: CM-13710
Signed-off-by: Don Slice
Reviewed By: Donald Sharp
Testing Done: ospf-smoke, bgp-smoke

7 years agozebra: Move interfaces to default before deleting
Don Slice [Wed, 23 Nov 2016 19:58:27 +0000 (11:58 -0800)]
zebra: Move interfaces to default before deleting

Encountered a crash in zebra due to getting a delete on an SVI with
VRR configured.  Since we don't actually do a delete but flag the interface
as inactive, slag VRR interfaces would remain on the vrf_iflist with a lock
count of zero, causing the crash.  Since all other interface types are moved
to the default table before deleting, doing the same thing for any interfaces
that were left in the vrf.

Testing includes manual testing, bgp-min, ospf-min, vrf-min, bgp-smoke, and ospf-smoke.
All passed (first time or on rerun) or match known failures.

Ticket: CM-13288
Signed-off-by: Don Slice
Reviewed-by: Donald Sharp
7 years agoMerge branch 'stable/2.0' into bgp-fixes
Don Slice [Wed, 17 May 2017 11:38:59 +0000 (07:38 -0400)]
Merge branch 'stable/2.0' into bgp-fixes

7 years agoMerge pull request #545 from donaldsharp/ospf_3.0_fixes
David Lamparter [Wed, 17 May 2017 09:15:45 +0000 (11:15 +0200)]
Merge pull request #545 from donaldsharp/ospf_3.0_fixes

Ospf 3.0 fixes

7 years agoMerge pull request #553 from donaldsharp/missed_2.0
David Lamparter [Wed, 17 May 2017 09:14:48 +0000 (11:14 +0200)]
Merge pull request #553 from donaldsharp/missed_2.0

Missed 2.0

7 years agopimd: Fix input value to bool
Chirag Shah [Wed, 17 May 2017 04:57:25 +0000 (21:57 -0700)]
pimd: Fix input value to bool

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
7 years agoMerge pull request #547 from donaldsharp/missed_pim_3.0
Jafar Al-Gharaibeh [Wed, 17 May 2017 04:19:54 +0000 (23:19 -0500)]
Merge pull request #547 from donaldsharp/missed_pim_3.0

pimd: Fix core from json static mroute show

7 years agopimd: fix pim reg processing return 1 upon success
Chirag Shah [Tue, 24 Jan 2017 22:58:59 +0000 (14:58 -0800)]
pimd: fix pim reg processing return 1 upon success

pim register_recv api returns 1 instead of 0 upon succesfully processing REG message

Testing Done:
Verified At RP via receiving PIM (Data/Null) Register messages
and checked show ip pim interface < > Received errors under Hello

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
7 years agopimd: fix ip pim hello option does not take in effect
Chirag Shah [Tue, 24 Jan 2017 01:39:54 +0000 (17:39 -0800)]
pimd: fix ip pim hello option does not take in effect

If frr.conf file has pim hello option setup prior to pim sm under an interface, upon frr start/restart hello option cli replayed prior to sm command
from vtysh. Added a code in pim hello option cli handler to create pim vif if it does not exist.

Testing Done:
configure pim hello options before pim sm in frr.conf file and restart frr

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
7 years agotools: Allow frr-reload.py to know about agentx
Daniel Walton [Wed, 17 May 2017 00:25:28 +0000 (00:25 +0000)]
tools: Allow frr-reload.py to know about agentx

Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agotools: frr-reload.py VtyshMarkException needs to include "vtysh -m"
Daniel Walton [Wed, 17 May 2017 00:23:38 +0000 (00:23 +0000)]
tools: frr-reload.py VtyshMarkException needs to include "vtysh -m"
output

Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
7 years agofrr-reload.py fails on "no debug ospf6 message unknown"
Daniel Walton [Wed, 17 May 2017 00:22:00 +0000 (00:22 +0000)]
frr-reload.py fails on "no debug ospf6 message unknown"

Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
7 years agotools: frr-reload removes "ipv6 nd ra-interval" and "no ipv6 nd supp"
Daniel Walton [Wed, 17 May 2017 00:18:33 +0000 (00:18 +0000)]
tools: frr-reload removes "ipv6 nd ra-interval" and "no ipv6 nd supp"

Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>