]> git.proxmox.com Git - mirror_frr.git/log
mirror_frr.git
8 years agoZebra: Fix IPv6 static route config in a VRF
vivek [Wed, 30 Mar 2016 00:41:59 +0000 (17:41 -0700)]
Zebra: Fix IPv6 static route config in a VRF

When configuring an IPv6 static route with the nexthop as a link-local
IPv6 address, the associated interface has to be looked up in the correct
VRF.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Ticket: CM-10169
Reviewed By: CCR-4382
Testing Done: Manual

8 years agozebra: Use vrf name instead of vrf-id for router-id definition
Don Slice [Tue, 29 Mar 2016 19:43:57 +0000 (19:43 +0000)]
zebra: Use vrf name instead of vrf-id for router-id definition

Changed display/saving of global router-id to use the vrf name instead
of the vrf_id, since the vrf_id would get lost on quagga restart or
reboot.

Ticket: CM-10106
Signed-off-by: Don Slice
Reviewed-by: Donald Sharp
8 years agozebra: Use vrf name instead of vrf-id for ipv6 static route configuration
Don Slice [Tue, 29 Mar 2016 19:19:42 +0000 (19:19 +0000)]
zebra: Use vrf name instead of vrf-id for ipv6 static route configuration

Changed output of the "ipv6 route ... vrf red" to display and store with the
vrf name instead of the vrf_id, since the vrf_id would disappear on reboot
or quagga restart.

Ticket: CM-10126
Signed-off-by: Don Slice
Reviewed-by: Donald Sharp
8 years agoZebra: Fix nexthops in IPv6 route display
vivek [Tue, 29 Mar 2016 05:10:44 +0000 (22:10 -0700)]
Zebra: Fix nexthops in IPv6 route display

Ticket: CM-10135
Reviewed By: Trivial
Testing Done: None

8 years agoBGP: Fix BGP unnumbered peerings across VRFs
vivek [Mon, 28 Mar 2016 16:37:39 +0000 (09:37 -0700)]
BGP: Fix BGP unnumbered peerings across VRFs

Upon receipt of incoming connection, a peer structure (doppelganger) is
created internally and the connection processed for it. The problem is
that in the case of BGP unnumbered, the sockunion structure within BGP was
being updated (in peer_create()) prior to the peer's flags being updated,
so it didn't take into account the 'v6only' configuration. This results
in subsequent problems when bgp_bind() is done - the socket ends up being
bound to the BGP instance instead of the interface.

In the case of an incoming connection, we should just use the addresses
on which the connection was setup/accepted, there is no need to attempt to
derive it again. Further, there is no need to attempt to update addresses
at the time of peer_create() since that is done when the connection is
attempted in bgp_start().

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Reviewed-by: Don Slice <dslice@cumulusnetworks.com>
Ticket: CM-10028
Reviewed By: CCR-4373
Testing Done: Manual, bgpsmoke

8 years agolib: zclient can overflow (struct interface) hw_addr if zebra is evil
Paul Jakma [Mon, 8 Feb 2016 14:46:28 +0000 (14:46 +0000)]
lib: zclient can overflow (struct interface) hw_addr if zebra is evil

* lib/zclient.c: (zebra_interface_if_set_value) The hw_addr_len field
  is used as trusted input to read off the hw_addr and write to the
  INTERFACE_HWADDR_MAX sized hw_addr field.  The read from the stream is
  bounds-checked by the stream abstraction, however the write out to the
  heap can not be.

  Tighten the supplied length to stream_get used to do the write.

  Impact: a malicious zebra can overflow the heap of clients using the ZServ
  IPC.  Note that zebra is already fairly trusted within Quagga.

Reported-by: Kostya Kortchinsky <kostyak@google.com>
8 years agobgpd: Fix VU#270232, VPNv4 NLRI parser memcpys to stack on unchecked length
Donald Sharp [Wed, 27 Jan 2016 16:54:45 +0000 (16:54 +0000)]
bgpd: Fix VU#270232, VPNv4 NLRI parser memcpys to stack on unchecked length

Address CERT vulnerability report VU#270232, memcpy to stack data structure
based on length field from packet data whose length field upper-bound was
not properly checked.

This likely allows BGP peers that are enabled to send Labeled-VPN SAFI
routes to Quagga bgpd to remotely exploit Quagga bgpd.

Mitigation: Do not enable Labeled-VPN SAFI with untrusted neighbours.

Impact: Labeled-VPN SAFI is not enabled by default.

* bgp_mplsvpn.c: (bgp_nlri_parse_vpnv4) The prefixlen is checked for
  lower-bound, but not for upper-bound against received data length.
  The packet data is then memcpy'd to the stack based on the prefixlen.

  Extend the prefixlen check to ensure it is within the bound of the NLRI
  packet data AND the on-stack prefix structure AND the maximum size for the
  address family.

Reported-by: Kostya Kortchinsky <kostyak@google.com>
This commit a joint effort between:

Lou Berger <lberger@labn.net>
Donald Sharp <sharpd@cumulusnetworks.com>
Paul Jakma <paul.jakma@hpe.com> / <paul@jakma.org>

8 years agolib: Really fix handling of poll
Donald Sharp [Mon, 28 Mar 2016 12:07:08 +0000 (08:07 -0400)]
lib: Really fix handling of poll

This fix is just the actual point fix of the poll event handling.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agoRevert "lib: Fix handling of poll"
Donald Sharp [Mon, 28 Mar 2016 12:04:48 +0000 (08:04 -0400)]
Revert "lib: Fix handling of poll"

This reverts commit cc7165b62a3e44aabdac4cb2d3cfe31dac0dab67.

This commit was causing crashes.

8 years agoQuagga: Fix VRF lookup by name
vivek [Sat, 26 Mar 2016 02:52:49 +0000 (19:52 -0700)]
Quagga: Fix VRF lookup by name

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Ticket: CM-10098
Reviewed By: CCR-4368
Testing Done: Verified on failed node

8 years agoMerge branch 'cmaster' of ssh://stash.cumulusnetworks.com:7999/quag/quagga into cmaster
Donald Sharp [Fri, 25 Mar 2016 17:07:40 +0000 (13:07 -0400)]
Merge branch 'cmaster' of ssh://stash.cumulusnetworks.com:7999/quag/quagga into cmaster

8 years agolib: Fix handling of poll
Donald Sharp [Fri, 25 Mar 2016 15:41:44 +0000 (11:41 -0400)]
lib: Fix handling of poll

poll returns the number of revents that we need to handle
in the array.  revent is a bit field of events that need
to be handled.  thread.c was treating each sub item in the
bitfield as a separate item to handle.

As such the loop over the pollfds would quit early
sometimes.

Ticket: CM-10077
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Don Slice <dslice@cumulusnetworks.com>
8 years agolib: Size the pollfds array once
Donald Sharp [Fri, 25 Mar 2016 15:26:20 +0000 (11:26 -0400)]
lib: Size the pollfds array once

The pollfds was being resized if the # of fds grew to
be more than the original array size.  Just size it
once.

Ticket: CM-10077
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Don Slice <dslice@cumulusnetworks.com>
8 years agoBGP: Enhance clear commands for VRFs
vivek [Fri, 25 Mar 2016 16:07:59 +0000 (09:07 -0700)]
BGP: Enhance clear commands for VRFs

Fix and enhance the entire hierarchy of clear commands in BGP to work
for VRFs.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Ticket: CM-9945
Reviewed By: CCR-4360
Testing Done: Manual (brief)

8 years agozebra: add or delete router-id when interface moves vrfs
Don Slice [Thu, 24 Mar 2016 15:40:50 +0000 (15:40 +0000)]
zebra: add or delete router-id when interface moves vrfs

When an interface changes which vrf it is part of, it needs to be added
to the list of possible router-id choices in the new vrf and removed
from the old vrf/default.

Ticket: CM-9074
Signed-off-by: Don Slice
Reviewed-by: Vivek Venkatraman
8 years agoZebra: Fix handling of larger table-ids
vivek [Fri, 25 Mar 2016 05:01:11 +0000 (22:01 -0700)]
Zebra: Fix handling of larger table-ids

Zebra code was not handling larger table-ids correctly. There were 2 issues:

a) In the netlink interface, RTA_TABLE was never sent or processed. This
pretty much limited the table-ids that zebra could understand to < 255.

b) In the interface into the zebra RIB (in particular for protocols), there
were some incorrect checks that again assumed the table id should be < 252
or be "main". This is valid only for the Default VRF (for now), for other
VRFs, the table-id should be the value learnt from the kernel.

These two issues are addressed with this change.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Ticket: CM-10087, CM-10091
Reviewed By: CCR-4359
Testing Done: Manual

8 years agobgpd, lib, ospfd, ospf6d: Fix bfd interface lookup
Donald Sharp [Thu, 24 Mar 2016 13:03:02 +0000 (06:03 -0700)]
bgpd, lib, ospfd, ospf6d: Fix bfd interface lookup

bfd was receiving a callback with an interface name string
but was ignoring the passed in vrf to find the ifp pointer.
This commit fixes that code path in bfd.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Radhika Mahankali <radhika@cumulusnetworks.com>
8 years agobgpd, lib, zebra: Add ability to retrieve ifp without specifying a vrf
Donald Sharp [Wed, 23 Mar 2016 19:38:30 +0000 (12:38 -0700)]
bgpd, lib, zebra: Add ability to retrieve ifp without specifying a vrf

There are cases where we get an interface name but do not have a
corresponding vrf.  We care about getting an interface pointer
so just provide a function that searches all vrf's for the ifp.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Radhicak Mahankali <radhika@cumulusnetworks.com>
Reviewed-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
8 years agoRevert "Fixes Quagga Bugzilla #842 - ospfd uses non-zero metric when describing loopb...
Donald Sharp [Wed, 23 Mar 2016 13:20:22 +0000 (06:20 -0700)]
Revert "Fixes Quagga Bugzilla #842 - ospfd uses non-zero metric when describing loopback addresses"

This reverts commit a7928d3ac43b9bd892280f8b12f73d269b8266a8.

This code change breaks allot of tests that have hard coded the
distance.  We'll unrevert this after the 3.0 release window.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agozebra: Some small modifications to actually delete the vrf
Donald Sharp [Tue, 22 Mar 2016 21:03:04 +0000 (17:03 -0400)]
zebra: Some small modifications to actually delete the vrf

zebra was not actually deleting the vrf passed in.

Ticket: CM-9412
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Don Slice <dslice@cumulusnetworks.com>
Reviewed-by: Daniel Walton <dwalton@cumulusnetworks.com>
8 years agozebra: Replace vrf with zebra_vrf in a few places
Donald Sharp [Tue, 22 Mar 2016 20:37:17 +0000 (16:37 -0400)]
zebra: Replace vrf with zebra_vrf in a few places

We were incorrectly using vrf instead of zebra_vrf in a
few spots.

Ticket: CM-9412
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Don Slice <dslice@cumulusnetworks.com>
Reviewed-by: Daniel Walton <dwalton@cumulusnetworks.com>
8 years agoRDNBRD: Change default distance of imported table routes to 15
Daniel Walton [Tue, 22 Mar 2016 19:04:58 +0000 (19:04 +0000)]
RDNBRD: Change default distance of imported table routes to 15

Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com>
Ticket: CM-9898

The 'redistribute neighbor' feature is the primary use case for
importing table routes.  We need the redistribute neighbor routes to
have a lower admin distance than eBGP so that the local table routes are
preferred (if the host is dual homed we could also learn about it via eBGP).

8 years agoQuagga: Make routemap updates or deletes work for VRFs
vivek [Tue, 22 Mar 2016 17:46:30 +0000 (17:46 +0000)]
Quagga: Make routemap updates or deletes work for VRFs

Updates to routemaps and delete of the routemap were not working properly
for VRFs. This was because while routemaps are global, the routemap update
processing timer and the processing were at the per-instance level. This
approach was unable to handle processing for multiple instances as the
routemap has no tracking of which instances are still pending processing.
This lead to the processing happening correctly only for the first instance
- which could be the default instance or some other instance. It could also
result in reference to freed memory for an instance.

The fix done is to make the update/delete processing also global and not per
instance. This means that the route-map delay timer will be global and a global
thread will handle the change (or delete) for all instances instead of spawning
a separate thread for each instance. To support this, a global BGP command
"bgp route-map delay-timer <value>" has been implemented. The existing command
per-instance is not deleted but will update the global timer.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com>
Ticket: CM-6970, CM-9918
Reviewed By: CCR-4320
Testing Done: Manual, bgpsmoke

8 years agoZebra: Restrict IPv6 RA to valid interfaces
vivek [Tue, 22 Mar 2016 16:52:35 +0000 (16:52 +0000)]
Zebra: Restrict IPv6 RA to valid interfaces

Restrict interfaces on which IPv6 Router Advertisements are allowed. The list
excludes loopback interfaces including the VRF device interface; specific to
Cumulus, it also includes "switch0" and "ethX" interfaces.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Reviewed-by: Don Slice <dslice@cumulusnetworks.com>
Ticket: CM-9849
Reviewed By: CCR-4334
Testing Done: Manual

8 years agoquagga: Setup the proper version number in quagga
Donald Sharp [Tue, 22 Mar 2016 12:29:11 +0000 (08:29 -0400)]
quagga: Setup the proper version number in quagga

Fix configure.ac to have the proper cumulus version #.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Daniel Walton <dwalton@cumulusnetworks.com>
8 years agoquagga: delete interface from default table when moved to vrf
Don Slice [Fri, 18 Mar 2016 19:53:15 +0000 (19:53 +0000)]
quagga: delete interface from default table when moved to vrf

All daemons changed to flag an interface that has been moved to a vrf as DELETED instead of INTERNAL.
When they were flagged as IFINDEX_INTERNAL, ospf, rip, and isis would re-install them in the default
assuming that they were being "pre-defined" before the kernel definitions.

Ticket: CM-9265
Signed-off-by: Don Slice
Reviewed-by: Donald Sharp
8 years agoospf6d: Stop sending hello's out loopback interface
Donald Sharp [Fri, 18 Mar 2016 16:40:12 +0000 (12:40 -0400)]
ospf6d: Stop sending hello's out loopback interface

Currently if you have this setup:

router ospf6
interface lo area 0.0.0.0

Ospf is scheduling and sending hello's out the loopback interface:
2016/03/18 15:26:12.463248 OSPF6: Could not send entire message
2016/03/18 15:26:22.463475 OSPF6: sendmsg failed: ifindex: 1: Network is unreachhable (101)

Adding a check to not schedule hello's for a loopback interface resolves this issue.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Don Slice <dslice@cumulusnetworks.com>
8 years agobgpd: Fix initialization check for bgp tests
root [Fri, 18 Mar 2016 13:18:33 +0000 (13:18 +0000)]
bgpd: Fix initialization check for bgp tests

With the vrf startup code put in place we've modified
bgp startup.  If we are running inside of the 'make check'
infrastructure zclient is going to be NULL since it is
not initialized yet nor do we really want to connect
to zebra.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agotests: Fixup startup of tests so they don't core
Donald Sharp [Fri, 18 Mar 2016 01:41:46 +0000 (01:41 +0000)]
tests: Fixup startup of tests so they don't core

Tests were not even compiling due to non updated API changes.
Additionally tests were core'ing after compile issue
because the vrf subsystem is being used now and it
needs to be initialized.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agoMakfile issues to compile better
Donald Sharp [Fri, 18 Mar 2016 01:09:47 +0000 (01:09 +0000)]
Makfile issues to compile better

During some tests of the release I noticed that we
have some issues with it properly building due
to missing information in the Makefile.am files

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agolib: fix MIN/MAX macros to not double-eval
David Lamparter [Sat, 12 Mar 2016 18:58:09 +0000 (19:58 +0100)]
lib: fix MIN/MAX macros to not double-eval

cf. https://gcc.gnu.org/onlinedocs/gcc/Typeof.html
(Works on all compilers on Quagga's compiler support list in
doc/overview.texi)

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Tested-by: NetDEF CI System <cisystem@netdef.org>
Acked-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agoFixes Quagga Bugzilla #842 - ospfd uses non-zero metric when describing loopback...
kitty [Fri, 19 Feb 2016 05:33:40 +0000 (21:33 -0800)]
Fixes Quagga Bugzilla #842 - ospfd uses non-zero metric when describing loopback addresses

Change-Id: Iff33d70089d1393bf3e9c757d9e9faf134699121
Signed-off-by: kitty <khiruthigai.balasubramanian@hpe.com>
Tested-by: NetDEF CI System <cisystem@netdef.org>
Acked-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agoUpdate ripng_zebra.c
Hongguang Li [Mon, 22 Feb 2016 03:46:36 +0000 (11:46 +0800)]
Update ripng_zebra.c

Make route redistribution not go through del/add cycle during updates

8 years agoospfd: Fix Dereference of Null Pointer during config
Donald Sharp [Thu, 17 Mar 2016 21:26:46 +0000 (17:26 -0400)]
ospfd: Fix Dereference of Null Pointer during config

This construct:

struct ospf *ospf = vty->index;
if (!ospf)
  return CMD_SUCCESS;

Is present throughout the entire ospfd code base.  The command:
distance ospf external 255

Is not protected by this construct. I added this construct
to the command and in addition did a quick search to find
any others not protected and to protect them.

Ticket: CM-9725
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Don Slice <dslice@cumulusnetworks.com>
8 years agolib: Fix assert in node_parent()
Donald Sharp [Thu, 17 Mar 2016 20:12:55 +0000 (16:12 -0400)]
lib: Fix assert in node_parent()

With this sequence of commands in a conf file:
router bgp X
address-family ipv4
exit
address-family ipv6
exit

When the bgp AS # is currently configured as !X and the
'vtysh -b -f <conf file above>' command run, vtysh will
crash with an assert.

This commit fixes that issue.

Ticket: CM-9852
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Daniel Walton <dwalton@cumulusnetworks.com>
8 years agoquagga: Netlink error message following Notification send
Daniel Walton [Wed, 16 Mar 2016 20:56:15 +0000 (20:56 +0000)]
quagga: Netlink error message following Notification send

Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
Reviewed-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Ticket: CM-9501

8 years agoBGP: Fix linkage between BGP instance and VRF structure
vivek [Wed, 16 Mar 2016 20:38:31 +0000 (20:38 +0000)]
BGP: Fix linkage between BGP instance and VRF structure

The issue here has to do with the fact that VRFs (like interfaces) are not
actually getting deleted when they are removed - they remain present. This
leads to situations in which BGP may try to unlink more than once, which
messes up the reference count (lock) in the BGP instance.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com>
Ticket: CM-9419
Reviewed By: CCR-4302
Testing Done: Manual, also verified by Atul

<DETAILED DESCRIPTION (REPLACE)>

8 years agoBGP: Check in multipath comparison before invoking sockunion_cmp
vivek [Sun, 13 Mar 2016 06:03:10 +0000 (06:03 +0000)]
BGP: Check in multipath comparison before invoking sockunion_cmp

During route selection for Multipath routes, when multiple peers are
flapping, it is possible that the old (former) multipath list of routes
for a destination may include routes from peers which are no longer in
Established state. When the new multipath list is compared against the
old list to identify changes, additional checks are needed to avoid
comparing connection addresses if the peer is not in Established state.
This patch introduces those checks.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Reviewed-by: Daniel Walton <dwalton@cumulusnetworks.com>
Reviewed-by: Don Slice <dslice@cumulusnetworks.com>
Ticket: CM-9671
Reviewed By: CCR-4277
Testing Done: Manual (problem could not be replicated to verify)

8 years agoBGP: remove deprecated debugs from the parser
Daniel Walton [Fri, 11 Mar 2016 16:33:58 +0000 (16:33 +0000)]
BGP: remove deprecated debugs from the parser

Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com>
Ticket: CM-9838

8 years agoshow bgp neighbor should accept peer hostname
Daniel Walton [Thu, 10 Mar 2016 22:14:08 +0000 (22:14 +0000)]
show bgp neighbor should accept peer hostname

Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
Reviewed-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Ticket: CM-9616

8 years agotools: Fix runtime error in quagga script
Donald Sharp [Thu, 10 Mar 2016 16:10:20 +0000 (11:10 -0500)]
tools: Fix runtime error in quagga script

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Don Slice <dslice@cumulusnetworks.com>
8 years agoMerge branch 'cmaster' of ssh://stash.cumulusnetworks.com:7999/quag/quagga into cmaster
Donald Sharp [Thu, 10 Mar 2016 13:49:47 +0000 (08:49 -0500)]
Merge branch 'cmaster' of ssh://stash.cumulusnetworks.com:7999/quag/quagga into cmaster

8 years agodoc: Update man page for Quagga systemctl script
Donald Sharp [Thu, 10 Mar 2016 03:52:40 +0000 (22:52 -0500)]
doc: Update man page for Quagga systemctl script

Create the man page for the quagga systemctl script.

Ticket: CM-9748
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Don Slice <dslice@cumulusnetworks.com>
8 years agotools: Fixup quagga systemd script to be less chatty
Donald Sharp [Thu, 10 Mar 2016 12:51:19 +0000 (07:51 -0500)]
tools: Fixup quagga systemd script to be less chatty

The quagga startup script was invoking systemctl and
systemctl was being very chatty in return.

Ticket: CM-9749
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Daniel Walton <dwalton@cumulusnetworks.com>
8 years agoBGP memory leak in peer hostname
Daniel Walton [Thu, 10 Mar 2016 03:58:48 +0000 (03:58 +0000)]
BGP memory leak in peer hostname

Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com>
Ticket: CM-9786

8 years agoMerge branch 'cmaster' of ssh://stash.cumulusnetworks.com:7999/quag/quagga into cmaster
Donald Sharp [Wed, 9 Mar 2016 12:25:48 +0000 (07:25 -0500)]
Merge branch 'cmaster' of ssh://stash.cumulusnetworks.com:7999/quag/quagga into cmaster

8 years agovtysh: Set an erroneous exit code if dry run fails because of syntax error
Donald Sharp [Wed, 9 Mar 2016 12:25:02 +0000 (07:25 -0500)]
vtysh: Set an erroneous exit code if dry run fails because of syntax error

vtysh has a -C option to do a dry run of the quagga commands. However, the
program always returns 0 even when there's an error detected in the command.
Furthermore, it only parses vtysh.conf, not Quagga.conf.

This patch makes vtysh -C parse Quagga.conf also and return a non-zero
exit code so that network automation tools can catch this to flag errors in
syntax. This non-zero exit code along with printing the exact error with the
line number and offending line itself should help in fixing the error. But
this lack of proper error code requires the automation tools to go through
an additional hoop to validate the syntax.

Signed-off-by: Dinesh G Dutt <ddutt@cumulusnetworks.com>
8 years agoSupport for multi-client and client reg msg
radhika [Wed, 9 Mar 2016 07:31:32 +0000 (23:31 -0800)]
Support for multi-client and client reg msg

Ticket: CM-7615, CM-7773
Reviewed By: CCR-3610, CCR-3708
Testing Done: Unit, BGP Smoke and OSPF Smoke

Changes (70790261926b17200c8c9377c4576cd3b486fcef) ported from 2.5

Issue (related to CM-7615): 1. CM-7615: There is mismatch in the client name between ptm display of client BFD sessions and the zebra logs. For example, if bgpd added BFD session, zebra logs will show the client as “bgp” but the ptm display will show it as “quagga”
2. Bigger problem is when 2 clients (for example OSPF and BGP) from Quagga register for same BFD session and only one client de-registers the BFD session. This results in BFD session deletion from PTM even though other client still has the BFD registration.

Root Cause: Even though BGP, OSPF and OSPF6 are 3 different clients from Quagga that are trying to register/deregister BFD sessions with PTM, all 3 are represented as one client “quagga” from zebra. This makes it hard for PTM/BFD to distinguish between all three when BFD peer registration/deregistration happens from the clients.

Fix: Send the actual client name bgp, ospf or ospf6 from zebra with BFD reg/dereg messages instead of one unified client name “quagga”

CM-7773: BFD sessions are not getting cleaned from PTM even though no BGP peering exists in Quagga.

Root Cause: PTM cleans up stale BFD sessions from a client when it finds a change in seq id advertised by the client. But, if PTM never detects a change in the seq id then the stale BFD sessions never get cleaned up. The test restarts the quagga without saving the configuration, which results in no BGP peering. No BGP peers are registered with PTM after restart and PTM does not detect a client seq id change resulting in stale BFD sessions.

Fix: New client registration message was added in PTM. Every client that is interested in BFD monitoring will register with PTM with the client seq id. Client will register with a different seq id (typically pid) every time it restarts. This will help in detecting the change in seq id and cleanup of stale BFD sessions for a client.

Code Changes: To support the new client registration message following changes have been made
  - Added support for client registration messaging in zebra for sending messages to PTM.
  - Added support for client registration messaging between zebra and clients (BGP, OSPF and OSPF6) in BFD library.
  - Expanded the reg/de reg peer messaging between zebra and clients to support client specific seq id to distinguish between multiple clients registering for BFD peer rather than one “quagga” client.
  - Changes in bgpd, ospfd and ospf6d to send client registrations at the time of daemon initialization and on receiving BFD peer replay message.

8 years agoBGP: Update commands for VRF support
vivek [Wed, 9 Mar 2016 03:39:38 +0000 (03:39 +0000)]
BGP: Update commands for VRF support

Ensure commands dealing with update-groups and peer-groups support VRFs.
Also implement a new command "show bgp vrfs" to show summary information of
all configured VRFs. Some additional code cleanup in this area.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Ticket: CM-9247
Reviewed By: CCR-4267
Testing Done: Manual

8 years agoExclamation points are missing at the end of an address-family
Daniel Walton [Tue, 8 Mar 2016 16:14:39 +0000 (16:14 +0000)]
Exclamation points are missing at the end of an address-family
sub-context

Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
Reviewed-by: Don Slice <dslice@cumulusnetworks.com>
Ticket: CM-9268

8 years agoZebra and bgpd: VRF support for BFD
radhika [Tue, 8 Mar 2016 13:10:56 +0000 (05:10 -0800)]
Zebra and bgpd: VRF support for BFD

Following changes have been done to support VRF for BFD in zebra and bgpd.
 - Pass the correct VRF value from bgpd to zebra for reg and dereg of BFD destinations.
 - Send the non-default vrf name in reg/dereg messages of multihop destination to BFD/PTM from zebra.

Signed-off-by: Radhika Mahankali <radhika@cumulusnetworks.com>
Ticket: CM-8450
Reviewed By: CCR-4253
Testing Done: Unit, PTM smoke, BGP Smoke

8 years agoMerge branch 'cmaster' of ssh://stash.cumulusnetworks.com:7999/quag/quagga into cmaster
Donald Sharp [Tue, 8 Mar 2016 00:03:27 +0000 (19:03 -0500)]
Merge branch 'cmaster' of ssh://stash.cumulusnetworks.com:7999/quag/quagga into cmaster

8 years agoOSPFv3: Check area before scheduling SPF
vivek [Mon, 7 Mar 2016 23:49:45 +0000 (23:49 +0000)]
OSPFv3: Check area before scheduling SPF

Check on area that interface points to before scheduling SPF.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Ticket: CM-7911, CM-8934
Reviewed By: CCR-4256
Testing Done: Verification by Anitha

8 years agolib: Allow daemons to startup without an actual conf file
Donald Sharp [Mon, 7 Mar 2016 19:57:16 +0000 (14:57 -0500)]
lib: Allow daemons to startup without an actual conf file

If neither a Quagga.conf or <protocol>.conf exist, then
still start the daemon.  Assume that configuration is coming
shortly

Ticket: CM-9714
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by:

8 years agoBGP: Update commands for VRF support
vivek [Mon, 7 Mar 2016 00:08:49 +0000 (00:08 +0000)]
BGP: Update commands for VRF support

Ensure commands dealing with display of routes and nexthops support
VRFs.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Ticket: CM-9247
Reviewed By: CCR-4250
Testing Done: Manual

8 years agodebian: Turn on Poll usage
Donald Sharp [Fri, 4 Mar 2016 17:14:29 +0000 (12:14 -0500)]
debian: Turn on Poll usage

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agolib: Add ability to use poll() instead of select
Donald Sharp [Fri, 4 Mar 2016 06:28:29 +0000 (06:28 +0000)]
lib: Add ability to use poll() instead of select

This patch originated w/ Hannes Hofer <hhofer@barracuda.com>.
I've taken the patch fixed some bugs and reworked the code
to allow both poll and select to be choosen at compile time.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agolib: Refactore thread_process_fd
Donald Sharp [Fri, 4 Mar 2016 03:52:12 +0000 (03:52 +0000)]
lib: Refactore thread_process_fd

thread_process_fd is looping over the read and write
fd's separately.  There is no need to do this individually.
loop over both the read and write fdset's at the same time.
This will improve select processing performance, especially
for large data sets.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agolib: Refactor read/write functionality
Donald Sharp [Fri, 4 Mar 2016 02:14:13 +0000 (02:14 +0000)]
lib: Refactor read/write functionality

Both the read and write functions used the same code
slightly modified for reading and writing.  Combine this
code together.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agolib: Abstract fd set operations
Donald Sharp [Thu, 3 Mar 2016 23:53:28 +0000 (18:53 -0500)]
lib: Abstract fd set operations

Abstract FD set operations so that we can eventually
choose what type of select/poll operation that
we want to use.

Signed-off-by: Donald Sharp <sharpd@cumulusnetowkrs.com>
8 years agoquagga-reload should not call vtysh for every command that needs to be
Daniel Walton [Fri, 4 Mar 2016 00:46:58 +0000 (00:46 +0000)]
quagga-reload should not call vtysh for every command that needs to be
added

Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com>
Ticket: CM-9674

8 years agodebian: Fixup install location of quagga
Donald Sharp [Thu, 3 Mar 2016 14:26:56 +0000 (09:26 -0500)]
debian: Fixup install location of quagga

Fix the install location of the quagga script
to /usr/bin/quagga.

Additionally reset restart controls to a more
normal level in the service files.

Ticket: CM-9492
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Daniel Walton <dwalton@cumulusnetworks.com>
8 years agoip/ipv6 prefix-list seq number range needs to be fixed - wraps around to
Daniel Walton [Wed, 2 Mar 2016 20:42:01 +0000 (20:42 +0000)]
ip/ipv6 prefix-list seq number range needs to be fixed - wraps around to
negative value

Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com>
Ticket: CM-8023

8 years agobgpd: Remove expensive prefix count from json.
Donald Sharp [Wed, 2 Mar 2016 20:04:51 +0000 (15:04 -0500)]
bgpd: Remove expensive prefix count from json.

'show bgp ipv4 uni summ' is counting each prefix sent
to each neighbor.  At scale this is an expensive
operation.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Daniel Walton <dwalton@cumulusnetworks.com>
8 years agoMake duplicate ospf commands hidden
Daniel Walton [Wed, 2 Mar 2016 19:56:28 +0000 (19:56 +0000)]
Make duplicate ospf commands hidden

Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agovtysh: make HIDDEN commands work
Daniel Walton [Wed, 2 Mar 2016 19:55:32 +0000 (19:55 +0000)]
vtysh: make HIDDEN commands work

Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com>
Ticket: CM-9646

8 years agoBGP: Handle unknown interface at delete
vivek [Wed, 2 Mar 2016 07:40:14 +0000 (07:40 +0000)]
BGP: Handle unknown interface at delete

When BGP deals with interfaces at a VRF-level, it may get an interface delete
for a VRF which it has just de-registered, so it may not be able to locate
the interface. This is no longer an error, so handle this in the message
processing.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Ticket: CM-9462
Reviewed By: None (trivial)
Testing Done: None

8 years agoZebra: Cleanup registered nexthops upon client exit
vivek [Wed, 2 Mar 2016 01:08:43 +0000 (01:08 +0000)]
Zebra: Cleanup registered nexthops upon client exit

Ensure registered nexthops are cleaned up when bgpd exits.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com>
Ticket: CM-9488
Reviewed By: CCR-4220
Testing Done: Manual testing

8 years ago"show ip bgp neighbor json" displays "Hostname: ", invalidates json
Daniel Walton [Tue, 1 Mar 2016 21:59:25 +0000 (21:59 +0000)]
"show ip bgp neighbor json" displays "Hostname: ", invalidates json
format

Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com>
Ticket: CM-9611

8 years agolib: Fix crash when deleting multiple statements
Donald Sharp [Tue, 1 Mar 2016 21:44:23 +0000 (16:44 -0500)]
lib: Fix crash when deleting multiple statements

When deciding if we should delete a table we were
only looking at the part of the data structures
associated with the table to see if it was empty.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Daniel Walton <dwalton@cumulusnetworks.com>
8 years agoospfd: Fix MI redistribution
Donald Sharp [Tue, 1 Mar 2016 15:03:19 +0000 (10:03 -0500)]
ospfd: Fix MI redistribution

If we are attempting to redistribute from a MI ospf
then when should only check for the non MI case if
instance was not passed in.

Ticket: CM-9543
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Daniel Walton <dwalton@cumulusnetworks.com>
8 years agolib, vtysh: Fix 'banner motd file' command
Donald Sharp [Tue, 1 Mar 2016 02:20:14 +0000 (21:20 -0500)]
lib, vtysh: Fix 'banner motd file' command

the File to specify was inadvertently a optional parameter.
Dissallow this.

Ticket: CM-9431
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Daniel Walton <dwalton@cumulusnetworks.com>
8 years agodebian: Remove some unnecesary files from debian directory.
Donald Sharp [Tue, 1 Mar 2016 00:52:40 +0000 (19:52 -0500)]
debian: Remove some unnecesary files from debian directory.

The daemons file is no longer needed as well as the debian.conf
file.  They have been subsumed by the systemd initialization
methodology.

Ticket: CM-9581
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Daniel Walton <dwalton@cumulusnetworks.com>
8 years agoBGP: Unnumbered peering in a VRF
vivek [Mon, 29 Feb 2016 18:04:29 +0000 (18:04 +0000)]
BGP: Unnumbered peering in a VRF

Code changes to make unnumbered peering work in a VRF. The changes have
to do with locating the interface in the correct VRF (in order to look for
neighbor address) in the case of outgoing connections and when specifying
source address as well as fetching the correct instance for an incoming
connection based on reading the device the socket is bound to (the multi-vrf
socket option in the kernel).

Additionally, for IPv4 unnumbered peering in a VRF (based on /30 or /31
addresses), bind to the VRF rather than the interface.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com>
Ticket: CM-9311
Reviewed By: CCR-4192
Testing Done: Manual, bgpsmoke

8 years agoZebra: Move VRF keyword in show ip route commands
Don Slice [Sun, 28 Feb 2016 22:03:27 +0000 (22:03 +0000)]
Zebra: Move VRF keyword in show ip route commands

To make the syntax of the "show ip route" vrf commands more closely align with the bgp variety,
moved the vrf forward in the command.  In other words, show ip route 10.1.1.1/32 vrf green became
show ip route vrf green 10.0.0.1/32.  Also added a couple of missing show vrf commands (ipv4 and
ipv6 tags).

Ticket: CM-9114
Signed-off-by: Don Slice
Reviewed-by: Donald Sharp
8 years agoQuagga: Fix interface move from VRF to default VRF
vivek [Sun, 28 Feb 2016 03:06:35 +0000 (03:06 +0000)]
Quagga: Fix interface move from VRF to default VRF

Ensure that during interface lookup (non-vty context), if the interface is
found in a different VRF, it is "moved" into the requested VRF.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Ticket: CM-9579
Reviewed By: CCR-4194
Testing Done: Manual

8 years agoZebra: Fix static NHT to work properly in a VRF
vivek [Fri, 26 Feb 2016 19:51:34 +0000 (19:51 +0000)]
Zebra: Fix static NHT to work properly in a VRF

Cleanup code and improve debugs as part of fixing NHT for static routes
in a VRF.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Don Slice <dslice@cumulusnetworks.com>
Ticket: CM-9457
Reviewed By: CCR-4185
Testing Done: Manual verification

8 years agoZebra: Fix static NHT to work properly in a VRF
vivek [Fri, 26 Feb 2016 19:13:34 +0000 (19:13 +0000)]
Zebra: Fix static NHT to work properly in a VRF

Implement VRF support for static nexthop resolution (NHT). This is
achieved by ensuring the correct VRF is passed as a parameter to
the NHT functions and is stored in the registered nexthop data
structure.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Don Slice <dslice@cumulusnetworks.com>
Ticket: CM-9457
Reviewed By: CCR-4185
Testing Done: Manual verification

8 years agoQuagga: Implement VRF change semantics for an interface
vivek [Thu, 25 Feb 2016 19:46:57 +0000 (19:46 +0000)]
Quagga: Implement VRF change semantics for an interface

Enhance some debug logs as part of implementing VRF change semantics
for an interface.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Don Slice <dslice@cumulusnetworks.com>
Ticket: CM-9527
Reviewed By: CCR-4174
Testing Done: Manual tests of various scenarios

8 years agoZebra: Fix neighbor address notification to clients
vivek [Thu, 25 Feb 2016 19:44:28 +0000 (19:44 +0000)]
Zebra: Fix neighbor address notification to clients

This problem was fixed as part of implementation of VRF change semantics
for an interface, though it is not directly related. The issue here
was that neighbor addresses learnt on an interface were being informed
to clients even though the clients may not have learnt of the interface.
Fixed by introducing the correct checks.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Don Slice <dslice@cumulusnetworks.com>
Ticket: CM-9527
Reviewed By: CCR-4174
Testing Done: Manual tests of various scenarios

8 years agoQuagga: Implement VRF change semantics for an interface
vivek [Thu, 25 Feb 2016 19:41:01 +0000 (19:41 +0000)]
Quagga: Implement VRF change semantics for an interface

Invoke VRF change for an interface, if appropriate, upon netlink
notification.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Don Slice <dslice@cumulusnetworks.com>
Ticket: CM-9527
Reviewed By: CCR-4174
Testing Done: Manual tests of various scenarios

8 years agoQuagga: Implement VRF change semantics for an interface
vivek [Thu, 25 Feb 2016 19:39:25 +0000 (19:39 +0000)]
Quagga: Implement VRF change semantics for an interface

Handle VRF change for an interface in BGP (the only VRF client
right now).

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Don Slice <dslice@cumulusnetworks.com>
Ticket: CM-9527
Reviewed By: CCR-4174
Testing Done: Manual tests of various scenarios

8 years agoQuagga: Implement VRF change semantics for an interface
vivek [Thu, 25 Feb 2016 19:30:53 +0000 (19:30 +0000)]
Quagga: Implement VRF change semantics for an interface

Implement VRF change semantics for an interface to be invoked
when an interface is moved from one VRF (e.g., the Default) to
another. This includes the message definition as well as updating,
deleting or adding the interface from clients, depending on their
interest in the VRFs (old and new). Also handle replay of the
addresses on the interface upon VRF change, if required.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Don Slice <dslice@cumulusnetworks.com>
Ticket: CM-9527
Reviewed By: CCR-4174
Testing Done: Manual tests of various scenarios

8 years agovtysh: Add ability to only look at one processes work queue
Donald Sharp [Thu, 25 Feb 2016 12:29:29 +0000 (07:29 -0500)]
vtysh: Add ability to only look at one processes work queue

When examining performance information it is nice to not
have to look at daemons who you are not interested in.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Don Slice <dslice@cumulusnetworks.com>
8 years agoMerge branch 'cmaster' of ssh://stash.cumulusnetworks.com:7999/quag/quagga into cmaster
Donald Sharp [Wed, 24 Feb 2016 20:06:58 +0000 (15:06 -0500)]
Merge branch 'cmaster' of ssh://stash.cumulusnetworks.com:7999/quag/quagga into cmaster

8 years agobgpd: Fix function indirection when none is needed
Donald Sharp [Wed, 24 Feb 2016 20:05:46 +0000 (15:05 -0500)]
bgpd: Fix function indirection when none is needed

bgp_update_main was only called by bgp_update.
bgp_update only called bgp_update_main.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reivewed-by: Daniel Walton <dwalton@cumulusnetworks.com>
8 years agoZebra: Improve output of show ip route vrf all
Don Slice [Wed, 24 Feb 2016 15:48:32 +0000 (15:48 +0000)]
Zebra: Improve output of show ip route vrf all

Changed output to use the name and table id rather than the vrf_id, since the vrf_id
isn't really meaningful to customers reading the output.

Ticket: CM-9464
Signed-off-by: Don Slice
Reviewed-by: Donald Sharp
8 years agoMerge branch 'cmaster' of ssh://stash.cumulusnetworks.com:7999/quag/quagga into cmaster
Donald Sharp [Wed, 24 Feb 2016 12:45:29 +0000 (07:45 -0500)]
Merge branch 'cmaster' of ssh://stash.cumulusnetworks.com:7999/quag/quagga into cmaster

8 years agoospfd: Fix some missing 'no XXX' commands
Donald Sharp [Wed, 24 Feb 2016 12:43:22 +0000 (07:43 -0500)]
ospfd: Fix some missing 'no XXX' commands

A recent modification accidently removed the 'no XXXX'
form of some commands that cl-ospf depended on.

Tickets: CM-9481
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Daniel Walton <dwalton@cumulusnetworks.com>
8 years agoMerge branch 'cmaster' of ssh://stash.cumulusnetworks.com:7999/quag/quagga into cmaster
vivek [Wed, 24 Feb 2016 04:10:07 +0000 (04:10 +0000)]
Merge branch 'cmaster' of ssh://stash.cumulusnetworks.com:7999/quag/quagga into cmaster

8 years agoBGP: Fix interface list upon instance creation/deletion
vivek [Tue, 23 Feb 2016 23:55:06 +0000 (23:55 +0000)]
BGP: Fix interface list upon instance creation/deletion

The BGP instance cleanup was deleting interfaces in that instance after
prior fixes, but this ended up deleting the interface list header which
was not being re-created. Added code to re-create this at the time an
instance is created.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Ticket: CM-9466
Reviewed By: CCR-4164
Testing Done: Manual and verified failed test

8 years agoospf6d: Fix for crash when non area 0 network entered first
Donald Sharp [Tue, 23 Feb 2016 23:47:55 +0000 (18:47 -0500)]
ospf6d: Fix for crash when non area 0 network entered first

When a user specifies a non area 0 network in an ospf6d
config the daemon could crash.

Ticket: CM-9134
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agoMerge branch 'cmaster' of ssh://stash.cumulusnetworks.com:7999/quag/quagga into cmaster
Don Slice [Tue, 23 Feb 2016 20:30:48 +0000 (20:30 +0000)]
Merge branch 'cmaster' of ssh://stash.cumulusnetworks.com:7999/quag/quagga into cmaster

8 years agobgpd: Add exclamation point separators between address-family blocks
Don Slice [Tue, 23 Feb 2016 20:28:44 +0000 (20:28 +0000)]
bgpd: Add exclamation point separators between address-family blocks

Added the exclamation point and newline between each address-family block in bgp

Ticket: CM-9268
Signed-off-by: Don Slice
Reviewed-by: Donald Sharp
8 years agodebian: Fixup removal of .pid and .vty files
Donald Sharp [Tue, 23 Feb 2016 20:06:59 +0000 (15:06 -0500)]
debian: Fixup removal of .pid and .vty files

The <daemon>.pid and <daemon>.vty files were not being
removed on shutdown.  This was causing issues w/
logrotate becaue it depends on pid files being correct
about what is running in order to not error out.

Fixed some additional debugs accidently left in the quagga
script.

Ticket: CM-9293
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Daniel Walton <dwalton@cumulusnetworks.com>
8 years agoMerge branch 'cmaster' of ssh://stash.cumulusnetworks.com:7999/quag/quagga into cmaster
sharpd [Tue, 23 Feb 2016 17:02:24 +0000 (09:02 -0800)]
Merge branch 'cmaster' of ssh://stash.cumulusnetworks.com:7999/quag/quagga into cmaster

8 years agodebian: Revamp startup again
sharpd [Mon, 22 Feb 2016 21:22:16 +0000 (13:22 -0800)]
debian: Revamp startup again

Remove quagga.service, it was a bad idea culminating in a
series of mistakes.

Replaced with /usr/lib/quagga/quagga script.

Use this script to start/stop quagga as a whole.

Ticket: CM-9445
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Daniel Walton <dwalton@cumulusnetworks.com>
Reviewed-by: Dave Olson <olson@cumulusnetworks.com>
8 years agoBGPD: Make "Bind to connect" messages conditional no debug
Don Slice [Tue, 23 Feb 2016 15:16:23 +0000 (15:16 +0000)]
BGPD: Make "Bind to connect" messages conditional no debug

Added debug requirement to issue the Bind to connect messages that were filling the logs.

Ticket:CM-9463
Signed-off-by: Don Slice
Reviewed-by: Donald Sharp
8 years agoMerge branch 'cmaster' of ssh://stash.cumulusnetworks.com:7999/quag/quagga into cmaster
Donald Sharp [Tue, 23 Feb 2016 12:48:00 +0000 (07:48 -0500)]
Merge branch 'cmaster' of ssh://stash.cumulusnetworks.com:7999/quag/quagga into cmaster

8 years agodebian, config, zebra: Ensure Cumulus Extensions are not auto turned on
Donald Sharp [Sun, 21 Feb 2016 17:43:50 +0000 (12:43 -0500)]
debian, config, zebra: Ensure Cumulus Extensions are not auto turned on

There exist cases where Cumulus Code( in this case code surrounding
when we want to send Router Advertisements ) should only be
turned on for Cumulus Switches.

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