Commit Graph

12697 Commits

Author SHA1 Message Date
David Lamparter
5c724747c1
Merge pull request #2923 from pguibert6WIND/fix_veth_namespace
zebra: when veth link is used across vrf, the link may not be good
2018-08-31 08:51:01 +02:00
Donald Sharp
c2b2356701 lib: Move aggregate pointer into aggregate route/table
Move the aggregate pointer from the route_node into agg_node
so that people using struct route_node will see a savings
in data size.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-08-30 17:47:59 -04:00
Donald Sharp
fe08ba7e11 bgpd, ripngd: Convert to using new agg_table/route
Switch bgp and ripngd to use the new aggregate table and
route data structures.  This was mainly a search and replace
operation.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-08-30 17:47:59 -04:00
Donald Sharp
8e1f651213 lib: Add Aggregate Table and Aggregate_node
Add a abstraction for `struct route_node` and `struct route_table`
such that we can have an aggregate route_node and table.  This
is because only bgp/rfapi and ripng use the aggregate data pointer
in `struct route_node`.  For full route tables other routing
protocols and tables are paying a 8 byte overhead per node.
A full bgp table ends up being ~1.2 million routes in bgp
and zebra.  This is not an insiginificant amount of data.

So create the data structures for this replacement, but
do not replace the aggregate pointer yet.  This is because
later commits will convert rfapi and ripng over to this
new data, and finally we'll move the aggregate pointer.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-08-30 17:47:59 -04:00
Quentin Young
78b1bb5ff3 lib: sort route-maps for display
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2018-08-30 21:22:22 +00:00
Donald Sharp
d0b6f68174 ospf6d: Remove deprecated code after 1 year
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-08-30 14:29:04 -04:00
Don Slice
874f58d87b ospfd: fix more warnings with the bgp ospf json commit
Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
2018-08-30 17:24:57 +00:00
Quentin Young
a91a5dcdd6
Merge pull request #2947 from mjstapp/fix_os_name
lib: fix use of frrpthread os_name
2018-08-30 13:01:22 -04:00
Martin Winter
17808c03d7 configure: Update version to 6.1-dev
We are now working on 6.1-dev for new work.

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-08-30 09:11:10 -07:00
Don Slice
94d4c685c5 bgpd/ospfd: resolve warnings for bgp/ospf json commit
Signed-off-by: Don Slice <dslice@cumulusnetwork.com>
2018-08-30 15:54:46 +00:00
Mark Stapp
c5e7bf3fa6 lib: fix use of frrpthread os_name
Fix test for presence of configured os pthread name.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
2018-08-30 11:44:45 -04:00
David Lamparter
66a9aa8b88
Merge pull request #2859 from LabNConsulting/working/master/meminfo
lib: qmem show changes (header and max)
2018-08-30 16:44:47 +02:00
Don Slice
9f049418bc bgpd/ospfd: make bgp and ospf json response a bit more consistent
Problem reported that some bgp and ospf json commands did not return
any json output at all if the bgp/ospf instance did not exist.
Additionally, some bgp and ospf json commands did not return any json
output if the instance existed but no neighbors were defined.  This
fix makes these commands more consistent in returning empty braces for
json output and issue a message if not using json output.  Additionally,
made the flag "use_json" a bool to make it consistent since previously,
it had been defined as an int, char, u_char, and bool at various places.

Ticket: CM-21040
Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
2018-08-30 12:40:18 +00:00
David Lamparter
2282d92812 doc: drop colspan/rowspan elements
The sphinx 'text' writer apparently doesn't support these, and the
'dummy' writer is only available on recent versions, and all of this
makes the build a bit annoying...

Signed-off-by: David Lamparter <equinox@diac24.net>
2018-08-30 08:06:44 +02:00
David Lamparter
50dc6dbd69 doc: html default off
... RPM builds break if we enable this unconditionally; should really
change this in CI instead.

Signed-off-by: David Lamparter <equinox@diac24.net>
2018-08-30 08:06:44 +02:00
David Lamparter
b8dd5f9d9b build: add Makefile variable easy access
This adds 2 helper targets for use in scripts to easily get at Makefile
variables without parsing the Makefile or config.status.

Signed-off-by: David Lamparter <equinox@diac24.net>
2018-08-30 08:06:44 +02:00
David Lamparter
0fca9cee36 build: improve python search pattern
- try pythonN.N-config after pythonN-config
- use "python-config --ldflags" instead of --libs
- add Python 3.6 to explicitly searched versions
- if linking fails, try with "-lz" added

Signed-off-by: David Lamparter <equinox@diac24.net>
2018-08-30 08:06:44 +02:00
David Lamparter
892d21b171 build: add warning when overwriting vars on "make"
doing things like `make CC="mmix-linux-musl-gcc"` breaks the hosttools/
cross-compilation setup pretty hard and just straight up should not be
done.  These vars belong on `configure`, not `make`.

Signed-off-by: David Lamparter <equinox@diac24.net>
2018-08-30 08:06:44 +02:00
David Lamparter
2a636b4350 build: cache a few more results in ./configure
Makes configure re-runs faster if the `-C` option is used.

Signed-off-by: David Lamparter <equinox@diac24.net>
2018-08-30 08:06:44 +02:00
David Lamparter
e0597bb2a5 build: -Werror does not belong in AM_CPPFLAGS
(probably neither do the ASAN/... FLAGS, but let's leave that alone.)

Also, it was intentional that it's $(WERROR) and not @WERROR@.  The
former can be overwritten at comandline as "make WERROR=" while the
latter can't.

Signed-off-by: David Lamparter <equinox@diac24.net>
2018-08-30 08:06:44 +02:00
David Lamparter
e386324530 build: non-recursive solaris
Signed-off-by: David Lamparter <equinox@diac24.net>
2018-08-30 08:06:44 +02:00
David Lamparter
84c5337efd build: fix some oddities in solaris/
target_* is always wrong for FRR because we are not a compiler.  We only
use host_* and build_*.

Signed-off-by: David Lamparter <equinox@diac24.net>
2018-08-30 08:06:44 +02:00
David Lamparter
b716e79ac5 build: trigger fewer unneccessary clippy rebuilds
Make sure we include the clippy binary file in our timestamp mangling so
`make` will correctly determine when clippy files don't need to be
rebuilt.

Signed-off-by: David Lamparter <equinox@diac24.net>
2018-08-30 08:06:44 +02:00
David Lamparter
0d0812a4ad build: non-recursive debianpkg
Signed-off-by: David Lamparter <equinox@diac24.net>
2018-08-30 08:06:44 +02:00
David Lamparter
9e53b31551 build: non-recursive doc + parallel sphinx
Sphinx actually does work with a parallel build, if the doctree creation
is a separate step (which the other builds will then just read
unmodified.)  This can be done with the "dummy" target.

This also adds "-j6" to sphinx-build and adds a "--disable-doc-html"
switch on ./configure to turn on/off building HTML docs separately.

Also, HTML docs are now installed by "make install" to
/usr/share/doc/frr/html.

Signed-off-by: David Lamparter <equinox@diac24.net>
2018-08-30 08:06:44 +02:00
David Lamparter
f177317a20
Merge pull request #2942 from mjstapp/fix_new_atomics
libs: fix missing atomics for some gcc versions
2018-08-30 08:04:29 +02:00
David Lamparter
53acd58416
Merge pull request #2754 from chiragshah6/mdev1
*: pthread set name abstraction
2018-08-30 08:00:25 +02:00
Chirag Shah
57019528a0 *: pthread set name abstraction
Testing Done:

 TOR#cat /proc/2670/task/2672/comm
 bgpd_ka

TOR# ps H -C bgpd -o 'pid tid cmd comm'
  PID   TID CMD                         COMMAND
  2670  2670 /usr/lib/frr/bgpd -M snmp - bgpd
  2670  2671 /usr/lib/frr/bgpd -M snmp - bgpd
  2670  2672 /usr/lib/frr/bgpd -M snmp - bgpd_ka

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2018-08-29 15:41:54 -07:00
Mark Stapp
1ed98c2db6 libs: fix missing atomics for some gcc versions
stdatomic.h does not have aliases for all of the useful gcc
atomic primitives; add them in for that path through
frratomic.h.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
2018-08-29 15:39:19 -04:00
Christian Franke
2e7d2b93b6
Merge pull request #2938 from pguibert6WIND/spurious_message
lib: remove spurious message when netns is not available
2018-08-29 19:21:59 +02:00
Quentin Young
4ebfd799c0
Merge pull request #2917 from opensourcerouting/doc-devel-openwrt
doc/developer/openwrt: Update instructions for building for OpenWRT
2018-08-29 11:39:07 -04:00
Lou Berger
752a286dfa rfp_example: add 'rfp full-table-download' config to support topotest
Signed-off-by: Lou Berger <lberger@labn.net>
2018-08-29 11:08:10 -04:00
Lou Berger
3a022a7f18 rfapi: debug related changes to support topotest -- add cost
Signed-off-by: Lou Berger <lberger@labn.net>
2018-08-29 09:20:24 -04:00
Philippe Guibert
0e4864eaf0 zebra: do not update link if interface is veth interface
when interface is a virtual ethernet interface, then there is no need to
update link pointer of interface.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2018-08-29 11:34:08 +02:00
Christoffer
272fd0c3cd
.github: Add ISSUE_TEMPLATE.md
Content of file ISSUE_TEMPLATE.md lossly based upon
e38fcc3c00/.github/ISSUE_TEMPLATE.md

Signed-off-by: Christoffer <netravnen@gmail.com>
2018-08-29 11:19:20 +02:00
Christoffer
52686b3ba6
.github: Updated PULL_REQUEST_TEMPLATE.md per Quentin's request.
Signed-off-by: Christoffer <netravnen@gmail.com>
2018-08-29 11:13:16 +02:00
Lou Berger
7e678379ed doc: add comment on closing PRs
Signed-off-by: Lou Berger <lberger@labn.net>
2018-08-29 09:48:12 +02:00
Lou Berger
01bf2ccbdb doc: add comment on PR title and description
Signed-off-by: Lou Berger <lberger@labn.net>
2018-08-29 09:48:12 +02:00
Philippe Guibert
2ed3953ccc lib: remove spurious message when netns is not available
remove spurious message when netns is not available.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2018-08-29 09:27:17 +02:00
David Lamparter
6e6b335d7f
Merge pull request #2932 from donaldsharp/ferr_fix
lib: Use the actual string we want to limit '===' line to
2018-08-29 06:06:53 +02:00
Lou Berger
6a809ee406 rfp_example: add rfp holddown-factor to support topotest
Signed-off-by: Lou Berger <lberger@labn.net>
2018-08-28 19:26:04 -04:00
Lou Berger
7a153339b2 lib: atomic_add_fetch_explicit not supported on all platforms
Signed-off-by: Lou Berger <lberger@labn.net>
2018-08-28 19:22:37 -04:00
Lou Berger
13f1ba41a1 lib: qmem show changes (header and max)
add header to show qmem, align table with headers
     add tracking of max # allocs and max bytes alloc'ed

Signed-off-by: Lou Berger <lberger@labn.net>
2018-08-28 19:22:30 -04:00
Lou Berger
96487ee478
Merge pull request #2933 from mjstapp/more_atomics
libs: add atomic xxx_and_fetch apis
2018-08-28 16:30:21 -04:00
Renato Westphal
efd1f138cc
Merge pull request #2337 from pguibert6WIND/netns_alias
default VRF naming update
2018-08-28 17:10:04 -03:00
Lou Berger
973fd31cf4 rfapi: debug related changes to support topotest
Signed-off-by: Lou Berger <lberger@labn.net>
2018-08-28 15:11:50 -04:00
Donald Sharp
104ff5d777 lib: Use the actual string we want to limit '===' line to
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-08-28 14:36:44 -04:00
Mark Stapp
b086e4672a libs: add atomic xxx_and_fetch apis
We have the fetch_and_xxx apis, which return the _old_ value;
adding the xxx_and_fetch versions, which return the new value.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
2018-08-28 12:48:58 -04:00
David Lamparter
9c42f07ccb
Merge pull request #2931 from donaldsharp/pim_zebra_crash
zebra: Fix crash in mroute debug
2018-08-28 18:13:24 +02:00
Donald Sharp
5b4256ca42 zebra: Fix crash in mroute debug
There exists a possibility that the ifindex we are passed
does not exist and as such we should check for it not
resolving as part of the debug.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-08-28 10:35:35 -04:00