Commit Graph

7868 Commits

Author SHA1 Message Date
Jafar Al-Gharaibeh
2f4f11faa1 watchfrr: fix error message
Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
2017-07-12 11:31:11 -05:00
Jafar Al-Gharaibeh
1689cf7e44 config: switch a few references to say FRR
Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
2017-07-12 11:25:33 -05:00
Donald Sharp
991ae35b17 Merge pull request #793 from opensourcerouting/hash-double-init
lib: init & cleanup fixes
2017-07-12 08:27:24 -04:00
Donald Sharp
e88500859a Merge pull request #784 from Jafaral/debpkgfix
Debian pkg cleanup
2017-07-12 08:25:34 -04:00
Quentin Young
68a1a22cd1 Merge pull request #795 from opensourcerouting/build-fix-openbsd-tree-path
minor build-fixes
2017-07-11 10:52:54 -04:00
David Lamparter
45082064cb 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>
2017-07-11 16:10:30 +02:00
David Lamparter
151d7c3591 lib: drop off "masters" list on master_free()
Don't leave a dangling leaked reference.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-07-11 16:10:29 +02:00
David Lamparter
25fbf00118 build: fix ttable test
test_ttable.refout wasn't in the dist package.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-07-11 15:23:28 +02:00
David Lamparter
8d8763f407 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>
2017-07-11 15:11:21 +02:00
David Lamparter
07181496b7 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>
2017-07-11 14:58:44 +02:00
David Lamparter
1c95bad18a Merge branch 'evpn-prep'
First 12-and-a-half commits from PR #619

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-07-10 23:22:46 +02:00
Russ White
4ad79cbd11 Merge pull request #786 from dwalton76/bgpd-peergroup-activate
bgpd: peer-group members 'activate' when they shouldn't
2017-07-10 17:11:56 -04:00
Donald Sharp
7fb9d20fcf 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>
2017-07-10 22:15:56 +02:00
David Lamparter
21bb7c8774 Merge commit '3d22338f04d9554fa' into evpn-prep
Conflicts:
	lib/Makefile.am

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-07-10 22:15:19 +02:00
Russ White
be2ddfff10 Merge pull request #733 from dwalton76/bgpd-ipv4-plus-label-misc3
bgpd: Install SAFI_LABELED_UNICAST routes in SAFI_UNICAST table
2017-07-10 15:05:13 -04:00
Daniel Walton
41e3491695 bgpd: Install SAFI_LABELED_UNICAST routes in SAFI_UNICAST table
Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
2017-07-10 14:08:43 +00:00
Daniel Walton
dfd8121281 Merge branch 'master' of https://github.com/dwalton76/frr into bgpd-ipv4-plus-label-misc3
Conflicts:
	bgpd/bgp_route.c
	bgpd/bgp_zebra.c
2017-07-10 13:06:19 +00:00
Martin Winter
1e5e04888f Merge pull request #750 from donaldsharp/bgp_buffer
Bgp buffer
2017-07-07 12:18:19 -07:00
Daniel Walton
5f007459f6 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#
2017-07-07 19:09:22 +00:00
Ryan Hagelstrom
22ea387f26 config: No need to test these if enabled. Plays havoc with make distribution.
Signed-off-by: Ryan Hagelstrom <rhagelstrom@gmail.com>
2017-07-07 13:43:01 -05:00
Ryan Hagelstrom
88a5b87258 docs: Changed the manpage section from 1 to 8 so it conforms with its definition
Signed-off-by: Ryan Hagelstrom <rhagelstrom@gmail.com>
2017-07-07 13:43:01 -05:00
Ryan Hagelstrom
10bec2d24f tools: etc needed in extra dist to make distribution correctly
Signed-off-by: Ryan Hagelstrom <rhagelstrom@gmail.com>
2017-07-07 13:43:01 -05:00
Ryan Hagelstrom
e827f7033e build: Hard directory instead of dynamic so make distribution works correctly 2017-07-07 13:42:54 -05:00
Russ White
ceae5559a5 Merge pull request #778 from qlyoung/fix-excess-docstring
Fix excess docstring
2017-07-07 13:31:08 -04:00
Martin Winter
6ce6de887f Merge pull request #779 from qlyoung/update-docs
doc: update build docs for ubuntu
2017-07-06 15:32:43 -07:00
Quentin Young
007b0667e0
lib: fix more docstrings
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2017-07-06 16:27:48 -04:00
David Lamparter
440b450f77 Merge pull request #777 from qlyoung/fix-mpls-str2label
zebra: fix mpls_str2label()
2017-07-06 19:35:06 +02:00
Quentin Young
37892613f0 Merge pull request #781 from opensourcerouting/vty-out-bufresize
lib: fix vty_out with >1024 bytes of output
2017-07-06 13:23:33 -04:00
David Lamparter
ecf3d1b9d5 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>
2017-07-06 17:35:25 +02:00
Quentin Young
ca03eeeec7 Merge pull request #780 from dwalton76/bgpd-address-family-vty-out
bgpd: "address-family" not displayed in configuration
2017-07-05 17:17:04 -04:00
Daniel Walton
dd6bd0f16d bgpd: Install SAFI_LABELED_UNICAST routes in SAFI_UNICAST table
Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
2017-07-05 20:46:48 +00:00
Daniel Walton
a7a13e4ac4 bgpd: "address-family" not displayed in configuration
Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
Reviewed-by:   Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-05 20:14:13 +00:00
Daniel Walton
b83c95ce27 Merge branch 'master' of https://github.com/dwalton76/frr into bgpd-ipv4-plus-label-misc3 2017-07-05 19:41:51 +00:00
Quentin Young
7111c1a0cd
*: fix excess docstring
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2017-07-05 15:33:00 -04:00
Quentin Young
17fd484615
doc: update build docs for ubuntu
cumulus/etc --> tools/etc

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2017-07-05 15:30:19 -04:00
Quentin Young
ebb0813089
lib: warn about too much docstring
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2017-07-05 14:30:16 -04:00
Quentin Young
a79d6ebb48
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>
2017-07-05 12:56:52 -04:00
Martin Winter
c6200b5467 Merge pull request #742 from qlyoung/hashstats
Hashtable statistics
2017-07-04 11:58:10 -07:00
Quentin Young
e703a0f3af
lib, vtysh: rebase hashstats
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2017-07-01 19:18:39 -04:00
Quentin Young
b3db0a22b7
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>
2017-07-01 19:18:38 -04:00
Quentin Young
dfd19ccc3a
*: update hash_create(), hash_create_size()
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2017-07-01 19:18:37 -04:00
Quentin Young
6f6f00107e
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>
2017-07-01 19:18:35 -04:00
Quentin Young
4db0cff16a
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>
2017-07-01 19:18:06 -04:00
Jafar Al-Gharaibeh
8186327f3d Merge pull request #771 from qlyoung/printf-madness
lib: printf bugfixes & improvement
2017-06-30 13:07:23 -05:00
Daniel Walton
b738b1ac66 bgpd: Install SAFI_LABELED_UNICAST routes in SAFI_UNICAST table
Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
2017-06-30 18:04:50 +00:00
Daniel Walton
1161690b93 Merge branch 'master' of https://github.com/dwalton76/frr into bgpd-ipv4-plus-label-misc3
Conflicts:
	bgpd/bgp_route.c
2017-06-30 17:52:56 +00:00
Jafar Al-Gharaibeh
5fca4e3635 Merge pull request #740 from donaldsharp/ospf_commands
ospfd: Fix 'advanced' type data base show
2017-06-30 12:28:13 -05:00
Quentin Young
fe232cf819 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>
2017-06-30 16:18:20 +00:00
Jafar Al-Gharaibeh
4a19f832b4 Merge pull request #768 from qlyoung/fix-gitignore2
lib, bgpd: fix .gitignore
2017-06-30 10:38:20 -05:00
Jafar Al-Gharaibeh
1d0ca3ebf3 Merge pull request #770 from donaldsharp/zclient
Zclient
2017-06-30 10:35:28 -05:00