]> git.puffer.fish Git - matthieu/frr.git/log
matthieu/frr.git
7 years agobgpd: Disable new EVPN CLI
Donald Sharp [Fri, 14 Jul 2017 12:08:52 +0000 (08:08 -0400)]
bgpd: Disable new EVPN CLI

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agobgpd: Refactor 'struct attr_extra' into 'struct attr'
Donald Sharp [Tue, 6 Jun 2017 17:20:38 +0000 (13:20 -0400)]
bgpd: Refactor 'struct attr_extra' into 'struct attr'

Most of the attributes in 'struct attr_extra' allow for
the more interesting cases of using bgp.  The extra
overhead of managing it will induce errors as we add
more attributes and the extra memory overhead is
negligible on anything but full bgp feeds.

Additionally this greatly simplifies the code for
the handling of data.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
bgpd: Fix missing label set

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agolib: Fix some defines for older platforms
Donald Sharp [Fri, 26 May 2017 15:59:05 +0000 (11:59 -0400)]
lib: Fix some defines for older platforms

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agobgpd: On cleanup make sure pointers exist
Donald Sharp [Fri, 26 May 2017 15:54:07 +0000 (11:54 -0400)]
bgpd: On cleanup make sure pointers exist

Test cases create fake bgp structure that is passed to
cleanup.  The new evpn code assumed ( and probably rightly so)
that if the bgp structure was created it actually initialized
all useful data structures.  Just make the evpn cleanup
functions be smart about attempting to free memory never
allocated.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agobgpd: Ensure EVPN next hops are not overriden
vivek [Fri, 26 May 2017 06:06:38 +0000 (23:06 -0700)]
bgpd: Ensure EVPN next hops are not overriden

Updates: bgpd: Fix next hop setting for EVPN
Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
7 years agobgpd: Handle change to router id for EVPN
vivek [Mon, 15 May 2017 22:02:33 +0000 (15:02 -0700)]
bgpd: Handle change to router id for EVPN

When the BGP router-id changes, EVPN routes need to be processed due
to potential change to their RD.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
7 years agobgpd: Additional configuration for EVPN
vivek [Mon, 15 May 2017 22:01:57 +0000 (15:01 -0700)]
bgpd: Additional configuration for EVPN

Implement configuration options for EVPN. The configuration options include
VNI configuration with RD and Import and Export Route Targets. Also, display
the EVPN configuration.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
7 years agobgpd: Display (show) commands for EVPN
vivek [Mon, 15 May 2017 21:53:31 +0000 (14:53 -0700)]
bgpd: Display (show) commands for EVPN

Implement various operational/display commands for EVPN:
- show bgp evpn summary
- show bgp evpn vni [<vni>]
- show bgp evpn route [type <macip|multicast>]
- show bgp evpn route [rd <rd> [type <macip|multicast>]]
- show bgp evpn route [rd <rd> [mac <mac> [ip <ip>]]]
- show bgp evpn route vni <vni> [type <macip|multicast> | vtep <ip>]
- show bgp evpn route vni <vni> [mac <mac> [ip <ip>]]]
- show bgp evpn route vni <vni> [multicast <ip>]
- show bgp evpn route vni all [vtep <ip>]
- show bgp evpn import-rt

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agobgpd: Debug logging updates for EVPN
vivek [Mon, 15 May 2017 21:52:17 +0000 (14:52 -0700)]
bgpd: Debug logging updates for EVPN

Ensure VNI and EVPN nexthops are logged in debug logs.

Updates: "bgpd: labeled unicast processing"
Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
7 years agobgpd: MAC Mobility extended community string conversion
vivek [Mon, 15 May 2017 21:50:21 +0000 (14:50 -0700)]
bgpd: MAC Mobility extended community string conversion

Updates: d5b9da8a79cbf2acf287bda2600e86a5a3243c64
Updates: 749513cc9d7bf571b3049931057d544b4111c39d

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
7 years agobgpd, zebra: Support for sticky MACs
vivek [Mon, 15 May 2017 21:42:57 +0000 (14:42 -0700)]
bgpd, zebra: Support for sticky MACs

Implement support for sticky (static) MACs. This includes the following:

- Recognize MAC is static (using NUD_NOARP flag) and inform BGP
- Construct MAC mobility extended community for sticky MACs as per
RFC 7432 section 15.2
- Inform to zebra that remote MAC is sticky, where appropriate
- Install sticky MACs into the kernel with the right flag
- Appropriate handling in route selection

Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
Reviewed-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agobgpd: EVPN route handling
vivek [Mon, 15 May 2017 21:34:04 +0000 (14:34 -0700)]
bgpd: EVPN route handling

Core EVPN route handling functionality. This includes support for the
following:
- interface with zebra to learn about local VNIs and MACIPs as well as
to install remote VTEPs (per VNI) and remote MACIPs
- create/update/delete EVPN type-2 and type-3 routes
- attribute creation, route selection and install
- route handling per VNI and for the global routing table
- parsing of received EVPN routes and handling by route type
- encoding attributes for EVPN routes and EVPN prefix creation (for
Updates)

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Daniel Walton <dwalton@cumulusnetworks.com>
7 years agobgpd: Additional check on presence of tag/label
vivek [Thu, 25 May 2017 00:50:29 +0000 (17:50 -0700)]
bgpd: Additional check on presence of tag/label

In the case of EVPN, not all EVPN routes will necessarily have a tag/label.
Do an additional check on presence of tag, where needed.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
7 years agolib: Define handlers for VNI and MACIP
vivek [Mon, 15 May 2017 21:32:38 +0000 (14:32 -0700)]
lib: Define handlers for VNI and MACIP

Define client handlers for processing add or delete of local VNIs
and local MACIPs.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
7 years agobgpd: Install or remove only relevant routes from zebra
vivek [Mon, 15 May 2017 21:31:57 +0000 (14:31 -0700)]
bgpd: Install or remove only relevant routes from zebra

Ensure that the AFI/SAFI is relevant to the FIB before attempting to install
or remove the route from zebra.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
7 years agobgpd: Implement EVPN enable/disable
vivek [Mon, 15 May 2017 21:30:19 +0000 (14:30 -0700)]
bgpd: Implement EVPN enable/disable

Implement the command 'advertise-all-vni' under the EVPN address-family
in order to allow the local system to learn about local VNIs (and MACs
and Neighbors corresponding to those VNIs) and exchange with other EVPN
speakers.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Dinesh Dutt <ddutt@cumulusnetworks.com>
7 years agobgpd: EVPN initialization and cleanup
vivek [Mon, 15 May 2017 21:27:51 +0000 (14:27 -0700)]
bgpd: EVPN initialization and cleanup

Define the EVPN (EVI) hash table and related structures and initialize
and cleanup.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agobgpd: EVPN definitions
vivek [Mon, 15 May 2017 21:27:09 +0000 (14:27 -0700)]
bgpd: EVPN definitions

Define the EVPN (EVI) hash table and objects for mapping route targets to EVIs.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
7 years agobgpd: Fix next hop setting for EVPN
vivek [Wed, 24 May 2017 21:57:34 +0000 (14:57 -0700)]
bgpd: Fix next hop setting for EVPN

The next hop for EVPN routes must be an IPv4 or IPv6 address as per
RFC 7432. Ensure this is correctly handled. Also, ensure there
are correct checks for AFI_L2VPN and nexthop AFI is not AFI_L2VPN.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
7 years agobgpd: Fix check for martian next hops
vivek [Mon, 15 May 2017 20:48:18 +0000 (13:48 -0700)]
bgpd: Fix check for martian next hops

Ensure that the check for martian next hop is correct, including for MP
nexthops, if IPv4.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agobgpd: Function to encode Encapsulation type extended community
vivek [Mon, 15 May 2017 20:47:36 +0000 (13:47 -0700)]
bgpd: Function to encode Encapsulation type extended community

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
7 years agobgpd: Display extended communities in debug log
vivek [Mon, 15 May 2017 19:35:15 +0000 (12:35 -0700)]
bgpd: Display extended communities in debug log

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agobgpd: Separate out RD handling functions
vivek [Mon, 15 May 2017 19:33:59 +0000 (12:33 -0700)]
bgpd: Separate out RD handling functions

BGP Route Distinguisher (RD) handling is common for different flavors
of BGP VPNs such as BGP/MPLS IP VPNs (RFC 4364) and BGP EVPNs (RFC 7432).
Separate out the RD handling functions into its own files.

Note: No functional change introduced with this commit.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agobgpd: Refine extended community handling
vivek [Mon, 15 May 2017 19:31:01 +0000 (12:31 -0700)]
bgpd: Refine extended community handling

Define helper functions to form different kinds of route targets. Also,
refine functions that encode extended communities as well as generate
a string from an extended community.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agozebra: EVPN/VxLAN UI definitions and handling
vivek [Mon, 15 May 2017 05:45:55 +0000 (22:45 -0700)]
zebra: EVPN/VxLAN UI definitions and handling

Implement various UI (vty) commands for EVPN/VxLAN.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agozebra: MAC and Neighbor (ARP/ND) handling
vivek [Mon, 15 May 2017 05:44:13 +0000 (22:44 -0700)]
zebra: MAC and Neighbor (ARP/ND) handling

Implement handling of MACs and Neighbors (ARP/ND entries) in zebra:
- MAC and Neighbor database handlers
- Read MACs and Neighbors from the kernel, when needed and create
entries in zebra's MAC and Neighbor databases.
- Handle add/update/delete notifications from the kernel for MACs and
Neighbors and update zebra's database appropriately
- Inform locally learnt MACs and Neighbors to client
- Handle MACIP add/delete from client and install appriporiate entries
into the kernel
- Since Neighbor entries will be installed on an SVI, implement the
needed mappings

NOTE: kernel interface is only implemented for Linux/netlink

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agozebra: MAC and Neighbor hash table definition
vivek [Mon, 15 May 2017 05:41:04 +0000 (22:41 -0700)]
zebra: MAC and Neighbor hash table definition

Define the MAC and Neighbor (ARP/ND) data structures. These are maintained
as hash tables against the VNI. Also, define context structures used for
performing various operations on these two tables.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agozebra: VNI and VTEP handling
vivek [Mon, 15 May 2017 05:38:26 +0000 (22:38 -0700)]
zebra: VNI and VTEP handling

Implement fundamental handling for VNIs and VTEPs:
- Handle EVPN enable/disable by client (advertise-all-vni)
- Create/update/delete VNIs based on VxLAN interface events and inform
client
- Handle VTEP add/delete from client and install into kernel
- New debug command for VxLAN/EVPN
- kernel interface (Linux/netlink only)

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agozebra: VNI and VTEP definition
vivek [Mon, 15 May 2017 05:37:42 +0000 (22:37 -0700)]
zebra: VNI and VTEP definition

Define the base data structures for a VxLAN Network Identifier (VNI) and
VxLAN Tunnel End Point (VTEP). These will be used by the EVPN function.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agozebra: Layer-2 interface handling
vivek [Mon, 15 May 2017 05:31:08 +0000 (22:31 -0700)]
zebra: Layer-2 interface handling

Define interface types of interest and recognize the types. Store layer-2
information (VLAN Id, VNI etc.) for interfaces, process bridge interfaces
and map bridge members to bridge. Display all the additional information
to user (through "show interface").

Note: Only implemented for the netlink interface.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agoMerge pull request #791 from LabNConsulting/working/master/patch-set/style
Donald Sharp [Wed, 12 Jul 2017 16:13:37 +0000 (12:13 -0400)]
Merge pull request #791 from LabNConsulting/working/master/patch-set/style

A couple of compatibility/style fixes

7 years agoMerge pull request #793 from opensourcerouting/hash-double-init
Donald Sharp [Wed, 12 Jul 2017 12:27:24 +0000 (08:27 -0400)]
Merge pull request #793 from opensourcerouting/hash-double-init

lib: init & cleanup fixes

7 years agoMerge pull request #784 from Jafaral/debpkgfix
Donald Sharp [Wed, 12 Jul 2017 12:25:34 +0000 (08:25 -0400)]
Merge pull request #784 from Jafaral/debpkgfix

Debian pkg cleanup

7 years agodoc: add Backwards Compatibility section to COMMUNITY.md
Lou Berger [Tue, 11 Jul 2017 18:58:03 +0000 (14:58 -0400)]
doc: add Backwards Compatibility section to COMMUNITY.md

Signed-off-by: Lou Berger <lberger@labn.net>
7 years agovty: add some more defines for backwards compatibility
Lou Berger [Tue, 11 Jul 2017 18:41:44 +0000 (14:41 -0400)]
vty: add some more defines for backwards compatibility

Signed-off-by: Lou Berger <lberger@labn.net>
7 years agoMerge pull request #795 from opensourcerouting/build-fix-openbsd-tree-path
Quentin Young [Tue, 11 Jul 2017 14:52:54 +0000 (10:52 -0400)]
Merge pull request #795 from opensourcerouting/build-fix-openbsd-tree-path

minor build-fixes

7 years agolib: grammar_sandbox: don't pre-setup nodegraph
David Lamparter [Tue, 11 Jul 2017 14:07:41 +0000 (16:07 +0200)]
lib: grammar_sandbox: don't pre-setup nodegraph

This shows up as still reachable allocation on exit, which is somewhat
misleading.  Note this only affects --enable-dev-build.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
7 years agolib: drop off "masters" list on master_free()
David Lamparter [Tue, 11 Jul 2017 14:08:54 +0000 (16:08 +0200)]
lib: drop off "masters" list on master_free()

Don't leave a dangling leaked reference.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
7 years agobuild: fix ttable test
David Lamparter [Tue, 11 Jul 2017 13:23:28 +0000 (15:23 +0200)]
build: fix ttable test

test_ttable.refout wasn't in the dist package.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
7 years agolib: fix out-of-tree build
David Lamparter [Tue, 11 Jul 2017 13:11:21 +0000 (15:11 +0200)]
lib: fix out-of-tree build

"$(top_srcdir)" is not on the include path, but "$(top_srcdir)/lib" is.
This is relevant when building with a separate build directory.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
7 years agolib: hash: don't double-init hash list
David Lamparter [Tue, 11 Jul 2017 12:52:06 +0000 (14:52 +0200)]
lib: hash: don't double-init hash list

hash_cmd_init will overwrite _hashes with a new list, while _hashes
already has been initialised from cmd_init(), thread_master_create(), or
any other function that may have created a hash.

Found while valgrind'ing ospf6d/test_lsdb.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
7 years agovty: add some defines for backwards compatibility
Lou Berger [Tue, 11 Jul 2017 12:48:57 +0000 (08:48 -0400)]
vty: add some defines for backwards compatibility

Signed-off-by: Lou Berger <lberger@labn.net>
7 years agobgpd: have labeled unicast print consistent with other safis
Lou Berger [Tue, 11 Jul 2017 12:43:26 +0000 (08:43 -0400)]
bgpd: have labeled unicast print consistent with other safis

Signed-off-by: Lou Berger <lberger@labn.net>
7 years agoMerge branch 'evpn-prep'
David Lamparter [Mon, 10 Jul 2017 21:22:46 +0000 (23:22 +0200)]
Merge branch 'evpn-prep'

First 12-and-a-half commits from PR #619

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
7 years agoMerge pull request #786 from dwalton76/bgpd-peergroup-activate
Russ White [Mon, 10 Jul 2017 21:11:56 +0000 (17:11 -0400)]
Merge pull request #786 from dwalton76/bgpd-peergroup-activate

bgpd: peer-group members 'activate' when they shouldn't

7 years agolib: Remove typedef from ipaddr
Donald Sharp [Fri, 26 May 2017 17:44:29 +0000 (13:44 -0400)]
lib: Remove typedef from ipaddr

The ipaddr_t type was conflicting with code on omnios.

Remove the typedef

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agoMerge commit '3d22338f04d9554fa' into evpn-prep
David Lamparter [Mon, 10 Jul 2017 20:15:19 +0000 (22:15 +0200)]
Merge commit '3d22338f04d9554fa' into evpn-prep

Conflicts:
lib/Makefile.am

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
7 years agoMerge pull request #733 from dwalton76/bgpd-ipv4-plus-label-misc3
Russ White [Mon, 10 Jul 2017 19:05:13 +0000 (15:05 -0400)]
Merge pull request #733 from dwalton76/bgpd-ipv4-plus-label-misc3

bgpd: Install SAFI_LABELED_UNICAST routes in SAFI_UNICAST table

7 years agobgpd: Install SAFI_LABELED_UNICAST routes in SAFI_UNICAST table
Daniel Walton [Mon, 10 Jul 2017 14:08:43 +0000 (14:08 +0000)]
bgpd: Install SAFI_LABELED_UNICAST routes in SAFI_UNICAST table

Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
7 years agoMerge branch 'master' of https://github.com/dwalton76/frr into bgpd-ipv4-plus-label...
Daniel Walton [Mon, 10 Jul 2017 13:06:19 +0000 (13:06 +0000)]
Merge branch 'master' of https://github.com/dwalton76/frr into bgpd-ipv4-plus-label-misc3

Conflicts:
bgpd/bgp_route.c
bgpd/bgp_zebra.c

7 years agoMerge pull request #750 from donaldsharp/bgp_buffer
Martin Winter [Fri, 7 Jul 2017 19:18:19 +0000 (12:18 -0700)]
Merge pull request #750 from donaldsharp/bgp_buffer

Bgp buffer

7 years agobgpd: peer-group members 'activate' when they shouldn't
Daniel Walton [Fri, 7 Jul 2017 19:09:22 +0000 (19:09 +0000)]
bgpd: peer-group members 'activate' when they shouldn't

Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com>
Today if you configure the following where the 'fabric' peer-group has
been deactivated for ipv4 unicast and then assign swp1/swp2 to that
peer-group we end up activating those two peers for ipv4 unicast.

conf t
no router bgp 100
router bgp 100
  neighbor fabric peer-group
  neighbor fabric capability extended-nexthop
  neighbor fabric remote-as external
  !
  address-family ipv4 unicast
    no neighbor fabric activate
  !
  neighbor swp1 interface peer-group fabric
  neighbor swp2 interface peer-group fabric
  neighbor 1.1.1.1 peer-group fabric
end

cel-redxp-10# show run bgp
!
router bgp 100
 neighbor fabric peer-group
 neighbor fabric remote-as external
 neighbor fabric capability extended-nexthop
 neighbor swp1 interface peer-group fabric
 neighbor swp2 interface peer-group fabric
 neighbor 1.1.1.1 peer-group fabric
 !
 address-family ipv4 unicast
  no neighbor fabric activate
  neighbor swp1 activate
  neighbor swp2 activate
 exit-address-family
!
cel-redxp-10#

With the patch we do not activate swp1/swp2

cel-redxp-10# show run bgp
!
router bgp 100
 neighbor fabric peer-group
 neighbor fabric remote-as external
 neighbor fabric capability extended-nexthop
 neighbor swp1 interface peer-group fabric
 neighbor swp2 interface peer-group fabric
 neighbor 1.1.1.1 peer-group fabric
 !
 address-family ipv4 unicast
  no neighbor fabric activate
 exit-address-family
!
cel-redxp-10#

7 years agoconfig: No need to test these if enabled. Plays havoc with make distribution.
Ryan Hagelstrom [Fri, 30 Jun 2017 19:18:58 +0000 (14:18 -0500)]
config: No need to test these if enabled. Plays havoc with make distribution.

Signed-off-by: Ryan Hagelstrom <rhagelstrom@gmail.com>
7 years agodocs: Changed the manpage section from 1 to 8 so it conforms with its definition
Ryan Hagelstrom [Fri, 30 Jun 2017 19:21:11 +0000 (14:21 -0500)]
docs: Changed the manpage section from 1 to 8 so it conforms with its definition

Signed-off-by: Ryan Hagelstrom <rhagelstrom@gmail.com>
7 years agotools: etc needed in extra dist to make distribution correctly
Ryan Hagelstrom [Fri, 30 Jun 2017 20:39:18 +0000 (15:39 -0500)]
tools: etc needed in extra dist to make distribution correctly

Signed-off-by: Ryan Hagelstrom <rhagelstrom@gmail.com>
7 years agobuild: Hard directory instead of dynamic so make distribution works correctly
Ryan Hagelstrom [Wed, 5 Jul 2017 18:25:23 +0000 (13:25 -0500)]
build: Hard directory instead of dynamic so make distribution works correctly

7 years agoMerge pull request #778 from qlyoung/fix-excess-docstring
Russ White [Fri, 7 Jul 2017 17:31:08 +0000 (13:31 -0400)]
Merge pull request #778 from qlyoung/fix-excess-docstring

Fix excess docstring

7 years agoMerge pull request #779 from qlyoung/update-docs
Martin Winter [Thu, 6 Jul 2017 22:32:43 +0000 (15:32 -0700)]
Merge pull request #779 from qlyoung/update-docs

doc: update build docs for ubuntu

7 years agolib: fix more docstrings
Quentin Young [Thu, 6 Jul 2017 20:27:48 +0000 (16:27 -0400)]
lib: fix more docstrings

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agoMerge pull request #777 from qlyoung/fix-mpls-str2label
David Lamparter [Thu, 6 Jul 2017 17:35:06 +0000 (19:35 +0200)]
Merge pull request #777 from qlyoung/fix-mpls-str2label

zebra: fix mpls_str2label()

7 years agoMerge pull request #781 from opensourcerouting/vty-out-bufresize
Quentin Young [Thu, 6 Jul 2017 17:23:33 +0000 (13:23 -0400)]
Merge pull request #781 from opensourcerouting/vty-out-bufresize

lib: fix vty_out with >1024 bytes of output

7 years agolib: fix vty_out with >1024 bytes of output
David Lamparter [Thu, 6 Jul 2017 14:55:33 +0000 (16:55 +0200)]
lib: fix vty_out with >1024 bytes of output

Consuming va_args modifies its internal bits, hence the need to copy
it... but the copying wasn't quite right just yet.

Fixes: 4d5f445 ("lib: add vty_outln()")
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
7 years agoMerge pull request #780 from dwalton76/bgpd-address-family-vty-out
Quentin Young [Wed, 5 Jul 2017 21:17:04 +0000 (17:17 -0400)]
Merge pull request #780 from dwalton76/bgpd-address-family-vty-out

bgpd: "address-family" not displayed in configuration

7 years agobgpd: Install SAFI_LABELED_UNICAST routes in SAFI_UNICAST table
Daniel Walton [Wed, 5 Jul 2017 20:46:48 +0000 (20:46 +0000)]
bgpd: Install SAFI_LABELED_UNICAST routes in SAFI_UNICAST table

Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
7 years agobgpd: "address-family" not displayed in configuration
Daniel Walton [Wed, 5 Jul 2017 20:14:13 +0000 (20:14 +0000)]
bgpd: "address-family" not displayed in configuration

Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agoMerge branch 'master' of https://github.com/dwalton76/frr into bgpd-ipv4-plus-label...
Daniel Walton [Wed, 5 Jul 2017 19:41:51 +0000 (19:41 +0000)]
Merge branch 'master' of https://github.com/dwalton76/frr into bgpd-ipv4-plus-label-misc3

7 years ago*: fix excess docstring
Quentin Young [Wed, 5 Jul 2017 18:30:36 +0000 (14:30 -0400)]
*: fix excess docstring

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agodoc: update build docs for ubuntu
Quentin Young [Wed, 5 Jul 2017 19:30:19 +0000 (15:30 -0400)]
doc: update build docs for ubuntu

cumulus/etc --> tools/etc

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agolib: warn about too much docstring
Quentin Young [Wed, 5 Jul 2017 17:20:21 +0000 (13:20 -0400)]
lib: warn about too much docstring

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agozebra: fix mpls_str2label()
Quentin Young [Wed, 5 Jul 2017 16:56:52 +0000 (12:56 -0400)]
zebra: fix mpls_str2label()

When making improvements to error handling in this code I accidentally
introduced an off-by-one. Fix it.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agoMerge pull request #742 from qlyoung/hashstats
Martin Winter [Tue, 4 Jul 2017 18:58:10 +0000 (11:58 -0700)]
Merge pull request #742 from qlyoung/hashstats

Hashtable statistics

7 years agolib, vtysh: rebase hashstats
Quentin Young [Fri, 30 Jun 2017 16:56:10 +0000 (16:56 +0000)]
lib, vtysh: rebase hashstats

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agolib: use doubles instead of long doubles
Quentin Young [Fri, 23 Jun 2017 05:14:54 +0000 (05:14 +0000)]
lib: use doubles instead of long doubles

NetBSD can't take the square root of a long double
and we should be fine just using a double here anyway

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years ago*: update hash_create(), hash_create_size()
Quentin Young [Mon, 19 Jun 2017 22:49:44 +0000 (22:49 +0000)]
*: update hash_create(), hash_create_size()

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agolib, vtysh: hashtable statistics
Quentin Young [Mon, 19 Jun 2017 14:22:26 +0000 (14:22 +0000)]
lib, vtysh: hashtable statistics

Adds the ability to name hash tables, and a new cli command that will
show various summary statistics for named hash tables.

Statistics computed are
  - load factor
  - full load factor (see comments)
  - stddev of full load factor

Standard deviation is computed by storing the sum of squares of bucket
lengths. This is somewhat susceptible to overflow. On platforms where a
double is 32 bits, placing 65535 or more elements into a hash table
opens up the potential for overflow, depending on how they are arranged
in buckets (which depends on the hash function). For example, placing
65535 elements into one hash bucket would cause ssq overflow, but
distributing 40000000 elements evenly among 400000 buckets (100 elements
per bucket) would not.

These cases are extremely degenerate, so the vague possibility of
overflow in an informational command is deemed an acceptable tradeoff
for constant time calculation of variance without locks or compromising
efficiency of actual table operations.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agolib: add statistics for hash tables
Quentin Young [Tue, 30 May 2017 00:16:52 +0000 (00:16 +0000)]
lib: add statistics for hash tables

Adds a function that calculates various statistics on our implementation
of a hash table. These are useful for evaluating performance.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agoMerge pull request #771 from qlyoung/printf-madness
Jafar Al-Gharaibeh [Fri, 30 Jun 2017 18:07:23 +0000 (13:07 -0500)]
Merge pull request #771 from qlyoung/printf-madness

lib: printf bugfixes & improvement

7 years agobgpd: Install SAFI_LABELED_UNICAST routes in SAFI_UNICAST table
Daniel Walton [Fri, 30 Jun 2017 18:04:50 +0000 (18:04 +0000)]
bgpd: Install SAFI_LABELED_UNICAST routes in SAFI_UNICAST table

Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
7 years agoMerge branch 'master' of https://github.com/dwalton76/frr into bgpd-ipv4-plus-label...
Daniel Walton [Fri, 30 Jun 2017 17:52:56 +0000 (17:52 +0000)]
Merge branch 'master' of https://github.com/dwalton76/frr into bgpd-ipv4-plus-label-misc3

Conflicts:
bgpd/bgp_route.c

7 years agoMerge pull request #740 from donaldsharp/ospf_commands
Jafar Al-Gharaibeh [Fri, 30 Jun 2017 17:28:13 +0000 (12:28 -0500)]
Merge pull request #740 from donaldsharp/ospf_commands

ospfd: Fix 'advanced' type data base show

7 years agolib: printf bugfixes & improvement
Quentin Young [Fri, 30 Jun 2017 16:18:20 +0000 (16:18 +0000)]
lib: printf bugfixes & improvement

* Fix bad format specifier in thread.[ch]
* Move PRINTF_ATTRIBUTE macro to zebra.h
* Use PRINTF_ATTRIBUTE on termtable printers

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agoMerge pull request #768 from qlyoung/fix-gitignore2
Jafar Al-Gharaibeh [Fri, 30 Jun 2017 15:38:20 +0000 (10:38 -0500)]
Merge pull request #768 from qlyoung/fix-gitignore2

lib, bgpd: fix .gitignore

7 years agoMerge pull request #770 from donaldsharp/zclient
Jafar Al-Gharaibeh [Fri, 30 Jun 2017 15:35:28 +0000 (10:35 -0500)]
Merge pull request #770 from donaldsharp/zclient

Zclient

7 years agoospfd: Fix 'advanced' type data base show
Donald Sharp [Mon, 19 Jun 2017 15:17:57 +0000 (11:17 -0400)]
ospfd: Fix 'advanced' type data base show

Two things:

1) Some advanced 'show ip ospf database'... code
was not working properly.  Fix the cli to handle
this appropriately

2) Consolidate two cli functions into one.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworkscom>
7 years agoMerge pull request #723 from qlyoung/fix-static-pipe-poker-buf
Jafar Al-Gharaibeh [Fri, 30 Jun 2017 15:00:43 +0000 (10:00 -0500)]
Merge pull request #723 from qlyoung/fix-static-pipe-poker-buf

lib: more multithreading infra work

7 years agoMerge pull request #769 from qlyoung/fix-json-int
Russ White [Fri, 30 Jun 2017 14:44:03 +0000 (10:44 -0400)]
Merge pull request #769 from qlyoung/fix-json-int

lib: always use 64-bit integers for json

7 years agoospf6d: Fix zclient cleanup on shutdown
Donald Sharp [Fri, 30 Jun 2017 14:33:30 +0000 (10:33 -0400)]
ospf6d: Fix zclient cleanup on shutdown

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agoospfd: Fix zclient cleanup on shutdown
Donald Sharp [Fri, 30 Jun 2017 14:33:09 +0000 (10:33 -0400)]
ospfd: Fix zclient cleanup on shutdown

Signed-off-by: Donald Sharp <sharpd@cumulunsnetworks.com>
7 years agopimd: Fix zclient cleanup on shutdown
Donald Sharp [Fri, 30 Jun 2017 14:32:45 +0000 (10:32 -0400)]
pimd: Fix zclient cleanup on shutdown

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agoripd: Fix zclient cleanup on shutdown
Donald Sharp [Fri, 30 Jun 2017 14:32:26 +0000 (10:32 -0400)]
ripd: Fix zclient cleanup on shutdown

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agoripngd: Fix zclient cleanup on shutdown
Donald Sharp [Fri, 30 Jun 2017 14:32:01 +0000 (10:32 -0400)]
ripngd: Fix zclient cleanup on shutdown

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agonhrpd: Fix zclient cleanup on shutdown
Donald Sharp [Fri, 30 Jun 2017 14:31:34 +0000 (10:31 -0400)]
nhrpd: Fix zclient cleanup on shutdown

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agoisisd: Fix zclient cleanup on shutdown
Donald Sharp [Fri, 30 Jun 2017 14:31:09 +0000 (10:31 -0400)]
isisd: Fix zclient cleanup on shutdown

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agoeigrpd: Fix zclient cleanup on shutdown
Donald Sharp [Fri, 30 Jun 2017 14:30:34 +0000 (10:30 -0400)]
eigrpd: Fix zclient cleanup on shutdown

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agobabeld: Fix zclient cleanup on shutdown
Donald Sharp [Fri, 30 Jun 2017 14:29:58 +0000 (10:29 -0400)]
babeld: Fix zclient cleanup on shutdown

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agolib: Fix clang warning
Donald Sharp [Fri, 30 Jun 2017 14:29:14 +0000 (10:29 -0400)]
lib: Fix clang warning

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agobgpd: Make SAFI-1 and SAFI-4 use the same table
Daniel Walton [Fri, 30 Jun 2017 14:24:58 +0000 (14:24 +0000)]
bgpd: Make SAFI-1 and SAFI-4 use the same table

Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
7 years agobgpd: Make SAFI-1 and SAFI-4 use the same table
Daniel Walton [Fri, 30 Jun 2017 13:55:47 +0000 (13:55 +0000)]
bgpd: Make SAFI-1 and SAFI-4 use the same table

Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
7 years agoMerge pull request #767 from donaldsharp/if_update
Jafar Al-Gharaibeh [Fri, 30 Jun 2017 04:42:21 +0000 (23:42 -0500)]
Merge pull request #767 from donaldsharp/if_update

bgpd, lib, zebra: Fix if_update function to represent what it does

7 years agolib: fix merge error
Quentin Young [Thu, 29 Jun 2017 17:49:45 +0000 (17:49 +0000)]
lib: fix merge error

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>