Commit Graph

14360 Commits

Author SHA1 Message Date
F. Aragon
449cff3ed7
bgpd: fix resource leak (Coverity 1475489)
Signed-off-by: F. Aragon <paco@voltanet.io>
2018-11-16 20:13:43 +01:00
Donald Sharp
cb8c85abd3 bgpd: Cleanup bgp_connected_set|get function names
The bgp_connected_set_node_info and bgp_connected_get_node_info
function names were slightly backwards lets fix them up
to bgp_node_set_bgp_connected_ref_info and bgp_node_get_bgp_connected_ref_info

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-11-16 09:43:35 -05:00
Donald Sharp
5b00b40eec bgpd: Cleanup bgp_distance_set|get function names
The bgp_distance_set_node_info and bgp_distance_get_node_info
function names were slightly backwards lets fix them up
to bgp_node_get_bgp_distance_info and bgp_node_set_bgp_distance_info

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-11-16 09:43:35 -05:00
Donald Sharp
5a8ba9fc0a bgpd: Cleanup bgp_static_set|get function names
The bgp_static_set_node_info and bgp_static_get_node_info
function names were slightly backwards rename to
bgp_node_get_bgp_static_info and bgp_node_set_bgp_static_info

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-11-16 09:43:35 -05:00
Donald Sharp
b613a9183f bgpd: Cleanup bgp_aggregate_set|get function names
The bgp_aggregate_set_node_info and bgp_aggregate_get_node_info
functions names were slightly backwards, rename to
bgp_node_get_bgp_aggregate_info and bgp_node_set_bgp_aggregate_info

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-11-16 09:43:35 -05:00
Donald Sharp
5b8d32bd58 bgpd: Cleanup bgp_nexthop_set|get function names
The bgp_nexthop_set_node_info and bgp_nexthop_get_node_info
function names were slightly backwards, rename to bgp_node_set and get

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-11-16 09:43:35 -05:00
Donald Sharp
e13cc80578 bgpd: Cleanup non-usage of prefix2str in bgp_vpn.c
We were printing out a prefix by not using the prefix2str function.
Let's use that.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-11-16 09:43:35 -05:00
Donald Sharp
c4936a1ace bgpd: Cleanup show_adj_route_vpn to be easier to read
The show_adj_route_vpn function was incredibly hard to read because
of the incredibly deep indentation.  fix this up some.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-11-16 09:43:35 -05:00
Donald Sharp
c983710570 bgpd: Cleanup bgp_route_map_process_update to be readable
Cleanup the bgp_route_map_process_update code to be a bit
easier to read as that it approached the right side of the
80 column limit a whole bunch and became hard to read.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-11-16 09:43:35 -05:00
Donald Sharp
96f10e1edc bgpd: Fix missed usage of bgp_static_get_node_info()
Fix the missed usage of bgp_static_get_node_info and also
cleanup the function around it that was using it to make
it a bit more readable.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-11-16 09:43:35 -05:00
Donald Sharp
67009e2200 bgpd: Abstract bgp_table retrieving/setting from info pointer
Convert the set/get of bgp_table's from the info pointer.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-11-16 09:43:35 -05:00
Donald Sharp
6f94b685d0 bgpd: Abstract bgp_info retrieving/setting from info pointer
The bgp_info data is stored as a void pointer in `struct bgp_node`.
Abstract retrieval of this data and setting of this data
into functions so that in the future we can move around
what is stored in bgp_node.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-11-16 09:43:35 -05:00
Donald Sharp
aaafc32167 bgpd: Reduce size of 'struct bgp_node' by 8 bytes
The ordering of data within the `struct bgp_node`
was causing extra padding of data.  Moving the version
to a bit different spot allows for more efficient packing
of data.

Pre-change:
(gdb) p sizeof(struct bgp_node)
$1 = 152
(gdb)

Post-change:
(gdb) p sizeof(struct bgp_node)
$1 = 144
(gdb)

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-11-16 09:43:35 -05:00
Donald Sharp
eb9125b3a2 bgpd: Cleanup weird includes of zebra headers
There is no reason that bgp should be including zebra
headers into it's code base, it is a violation of
their respective name spaces.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-11-16 09:43:35 -05:00
Mark Stapp
6b2ddd675c
Merge pull request #3348 from donaldsharp/bsd_route_install
zebra: Fix bsd privs elevation
2018-11-16 08:53:27 -05:00
Donald Sharp
49ddb66ab0 zebra: Fix privs elevation
This Commit: f183e380fa broke
priviledge escalation on *bsd.  This puts it back.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-11-16 07:33:36 -05:00
Donald Sharp
b96892db62 pimd: When we fail to initiate ifchannel backout work done
When we receive a igmp report and attempt to initiate
a pim ifchannel for it and that fails to work then
let's back out the work done setting stuff up to this
point.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-11-15 19:28:43 -05:00
Donald Sharp
78b0c6bfa7 pimd: Add some debugs for when local membership fails
When we fail to add a local membership add some additional debugs
so that we can have a bit more information on when something goes
bad.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-11-15 19:25:58 -05:00
Donatas Abraitis
174b5cb932 bgpd: Remove community-list by name without typing full rule
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2018-11-15 22:58:49 +02:00
Donatas Abraitis
499ceb3dce bgpd: Optionally remove AS number when using no set as-path exclude
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2018-11-15 21:57:34 +02:00
Donald Sharp
44ffb1413d zebra: Remove uncompiled file
The zebra_l2_null.c is not compiled and not needed, remove.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-11-15 13:42:30 -05:00
Christian Franke
562d7ef703 isisd: Fix behavior on reception of self-originated LSP
We should only update and reflood our own LSPs when the received LSP
is newer than the local copy.

In all other cases, we should simply acknowledge it or resend our own
LSP.

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
2018-11-15 15:06:40 +01:00
Christian Franke
253faee999 fabricd: Fix flooding bug
Due to `lsp` getting shadowed, we would send each T0 its own LSP
whenever we actually wanted to flood a different LSP.

Fix this and set -Wshadow=local in my build environment. m(

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
2018-11-15 15:06:40 +01:00
Christian Franke
16c2ab97f9 isisd: Always consider purges as newer
When receiving an LSP with same sequence number but different
checksum as in the local database, we would always treat it as
newer than the local LSP.

That behavior is incorrect if the local LSP is indeed a purged
LSP waiting for age-out and the received one is not.

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
2018-11-15 15:06:40 +01:00
David Lamparter
d482ae5912
Merge pull request #3326 from qlyoung/fix-lla-reinstallation
zebra: force neighbor entry reinstallation
2018-11-15 14:58:51 +01:00
David Lamparter
8a5429b1b4
Merge pull request #3316 from qlyoung/remove-pr-admonishment
.github: remove style reminder from PR template
2018-11-15 14:07:09 +01:00
David Lamparter
b3fb91653f
Merge pull request #3323 from qlyoung/doc-zebra-protocol
doc: update zebra protocol documentation
2018-11-15 14:06:00 +01:00
David Lamparter
6c5befc97f
Merge pull request #3329 from rubenk/autoconf-cleanup
configure.ac: consistently quote all m4 macros
2018-11-15 14:02:20 +01:00
David Lamparter
f335a0a602
Merge pull request #3331 from mjstapp/fix_lib_id_warning
libs: rename two id_alloc macros to resolve bsd conflict
2018-11-15 13:59:52 +01:00
Renato Westphal
b51971a48b
Merge pull request #3332 from qlyoung/fix-code-block-err
doc: use correct specifier for code block
2018-11-15 10:50:38 -02:00
Renato Westphal
a68f003b8d
Merge pull request #3164 from pguibert6WIND/bgpstandalone_importexport
bgpd: allow vrf validity and bgp vrf import/export, when zebra is off
2018-11-15 10:49:17 -02:00
Mark Stapp
4a600b08f7 libs: rename two id_alloc macros to resolve bsd conflict
Two of the macros in lib/id_alloc had conflicts on some platforms;
rename them to be unique.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
2018-11-14 14:04:55 -05:00
Ruben Kerkhof
99e9f424bb configure.ac: consistently quote all m4 macros
Signed-off-by: Ruben Kerkhof <ruben@rubenkerkhof.com>
2018-11-14 12:32:41 +01:00
David Lamparter
9787eeb5d0
Merge pull request #3322 from qlyoung/remove-vestigial-secondary
Remove vestigial secondary
2018-11-14 09:09:43 +01:00
David Lamparter
017d763879
Merge pull request #3324 from qlyoung/fix-zebra-router-memleak
zebra: fix zebra router memleaks
2018-11-14 09:08:50 +01:00
Anton Degtyarev
3702f84d9f bgpd: add missing endline
Missing endline was resulting in garbled output in vtysh in some cases, for example, when there were no peers configured and the user has issued "bgp disable-ebgp-connected-route-check" command.

Signed-off-by: Anton Degtyarev <anton@cumulusnetworks.com>
2018-11-14 03:57:46 +03:00
Anton Degtyarev
ecec94950f bgpd: Fix bgpd doing vpn_leak_postchange_all() every time "router bgp ASNUM" command is entered in vtysh
In rare cases when the default BGP instance is instantiated after VRF bgp instances (see comment to bgp_mplsvpn.c:vpn_leak_postchange_all() for an example), the "router bgp" command needs to call vpn_leak_postchange_all() to start the route leaking process. The issue was it was never checked if the "router bgp" command was used to create the default BGP instance or just to enter into "router bgp" command context. This resulted in vpn_leak_postchange_all() executed every time (and vpn routes re-announced to all peers) when the user was entering "router bgp" command context.

Signed-off-by: Anton Degtyarev <anton@cumulusnetworks.com>
2018-11-14 03:54:56 +03:00
Donald Sharp
bc620fb370
Merge pull request #3320 from mjstapp/fix_dp_ecmp
zebra: Fix netlink installation of recursive ecmp routes
2018-11-13 13:02:02 -05:00
Philippe Guibert
bd2b4fc346 doc: change workflow to support long term maintenance branches
Add in the workflow the possibility to do long term support.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2018-11-13 17:38:53 +01:00
David Lamparter
cd5b3742d2
Merge pull request #3295 from pguibert6WIND/ospf_area_unconfigure
ospfd: permit reconfiguring network after area suppressed
2018-11-13 16:40:58 +01:00
Mark Stapp
78e54ded79 zebra: Fix netlink installation of recursive ecmp routes
Recursive multipath nexthops were broken by the initial async
dataplane - we were trying to install an extra, invalid
nexthop.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
2018-11-13 10:21:16 -05:00
Philippe Guibert
0b014ea675 bgpd: allow vrf validity and bgp vrf import/export, when zebra is off
if zebra is not started, then vrf identifiers are not available. This
prevents import/exportation to be available. This commit permits having
import/export available, even when zebra is not started.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2018-11-13 15:29:11 +01:00
Donald Sharp
44711aef42
Merge pull request #3310 from adeg/bugfix/bgpd-mplsvpn-route-import-check
bgpd: fix bgp path info for mplsvpn leaked routes
2018-11-13 09:21:05 -05:00
Donald Sharp
bddea5fdf8
Merge pull request #3051 from mitch-skiba/addpath_change_V1
Addpath - Reuse IDs
2018-11-13 09:20:22 -05:00
David Lamparter
e3b775dd9c
Merge pull request #3318 from qlyoung/agentx-remove-warning-msg
lib: remove agentx already enabled warning
2018-11-13 15:06:24 +01:00
David Lamparter
c4eedc53c2
Merge pull request #3317 from qlyoung/gitignore-libtool-orig
frr: ignore libtool.orig
2018-11-13 15:05:24 +01:00
Lou Berger
2c50b9e2c2
Merge pull request #3287 from donaldsharp/v6_access_list
zebra: Add `match ipv6 address WORD` as a legal option
2018-11-13 16:59:23 +07:00
David Lamparter
8bed7a82ba
Merge pull request #3286 from donaldsharp/late_registration
bgpd: Late registration of Extended Nexthop should allow RA's to happen
2018-11-13 10:26:14 +01:00
Lou Berger
50daf9a2d5
Merge pull request #3313 from qlyoung/doc-strip-whitespace
doc: strip trailing whitespace
2018-11-13 14:56:14 +07:00
Lou Berger
43881be71d
Merge pull request #3314 from qlyoung/doc-ipv6-isis-router-cmd
doc: add missing docs for ipv6 isis router cmd
2018-11-13 14:55:38 +07:00