Commit Graph

13144 Commits

Author SHA1 Message Date
Donald Sharp
330cec3de0 bgpd: Use a more appropriate memory type for a string
Track the memory type associated with the bartian address
interface a bit better, instead of using MTYPE_TMP.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-10-09 20:16:37 -04:00
Donald Sharp
121e245d4f bgpd: Cleanup warnings issued by CI system from these changes
Modify code to cleanup warnings issued by the CI system from
this series of changes.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-10-09 14:26:30 -04:00
Donald Sharp
40381db785 bgpd: Rename various variable names to something more appropriate
ri -> pi
bi -> bpi
info -> path
info -> rmap_path ( for routemap applications )

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-10-09 14:26:30 -04:00
Donald Sharp
9b6d8fcf29 bgpd: Convert binfo to path
Convert the binfo variable to path.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-10-09 14:26:30 -04:00
Donald Sharp
18ee831031 bgpd: Convert all bgp_info_XXX functions to bgp_path_XXX functions
Rename all bgp_info_XXX functions to bgp_path_XXX functions

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-10-09 14:14:25 -04:00
Donald Sharp
4b7e606625 bgpd: Convert struct bgp_info to struct bgp_path_info
Do a straight conversion of `struct bgp_info` to `struct bgp_path_info`.
This commit will setup the rename of variables as well.

This is being done because `struct bgp_info` is not descriptive
of what this data actually is.  It is path information for routes
that we keep to build the actual routes nexthops plus some extra
information.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-10-09 14:14:25 -04:00
Donald Sharp
1defdda8e8 bgpd: Convert BGP_INFO_XXX to BGP_PATH_XXX
Search and replace all BGP_INFO_XXX to BGP_PATH_XXX

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-10-09 14:14:25 -04:00
Donald Sharp
360660c643 bgpd: Rename some BGP_PATH_XXX to BGP_PATH_SHOW_XXX
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-10-09 14:14:25 -04:00
Olivier Dugeon
13894ce894
Merge pull request #3077 from rgirada/ospf_2980_fix
ospfd: Resolved the inconsistency behavior when “default-info origina…
2018-10-09 19:07:33 +02:00
Christian Franke
490a6fc716 isisd: don't add deprecated bfd command 2018-10-09 17:59:46 +02:00
Quentin Young
22bca40d60
Merge pull request #3037 from patrasar/2851
bgpd: remove ip prefix from as-path, <large,ext>community-list
2018-10-09 11:56:26 -04:00
Olivier Dugeon
c7aa8432f2
Merge pull request #3143 from rgirada/fix_3124
ospfd: default route got flushed after lsa refresh timer.
2018-10-09 17:52:49 +02:00
rgirada
1fb93326ad ospfd: issue with the "default-information originate always" command #2980
Made changes such that message wont be sent to zebra to validate default
route existence  if user configured with “always”.

Signed-off-by: rgirada <rgirada@vmware.com>
2018-10-09 02:52:27 -07:00
Quentin Young
3156b2d58d
Merge pull request #3132 from toreanderson/fix_routemap_prefixlist_match_doc
doc: correct route map match for prefix lists
2018-10-08 14:08:06 -04:00
rgirada
a6b4e1fded ospfd: default route got flushed after lsa refresh timer.
Default route type is not considered while  processing  lsa
refresh timer  expiry   which intern makes it flushed from lsdb.

Signed-off-by: rgirada <rgirada@vmware.com>
2018-10-07 23:22:58 -07:00
Russ White
4d43d33d25
Merge pull request #3125 from dslicenc/linklocal-nht
bgpd: allow nht registration on ipv6 link-local addresses
2018-10-07 21:47:01 -04:00
Russ White
62edc9c9e3
Merge pull request #3133 from qlyoung/bgp-fix-broken-show-community-cmds
fix broken bgp community show cmds
2018-10-07 21:45:33 -04:00
Donald Sharp
19bd3dffc1 bgpd: Do a bit better job of tracking the bgp->peerhash
When we add/remove peers we need to do a bit better job
of tracking them in the bgp->peerhash.

1) When we have the doppelganger take over, make sure the
winner is the one represented in the peerhash.

2) When creating the doppelganger, leave the current one
in place instead of blindly replacing it.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-10-07 20:55:52 -04:00
Donald Sharp
cc4d4ce822 bgpd: Cleanup peer->su handling
Cleanup calls where we were passing in the su for
peer creation a tiny bit.

Creating a peer from the cli will always have a conf_if *or*
a su but not both. While a doppelganger will have both.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-10-07 20:55:52 -04:00
Donald Sharp
825d98347d bgpd: Add ability to dump the bgp peerhash
The bgp->peerhash is a secretive bit of data that we use
to quickly lookup data about peers.  Unfortunately
since we had not way to look at it, we had no way
of knowing if it had gotten in or out of sync.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-10-07 20:55:52 -04:00
Jafar Al-Gharaibeh
1c7e6ef3d8
Merge pull request #3135 from donaldsharp/zapi_handler_cabbage
zebra: Cleanup call parameters to some functions
2018-10-06 00:20:12 -05:00
Jafar Al-Gharaibeh
41df11abc7
Merge pull request #3119 from pacovn/Coverity_1465497_dead_code
zebra: dead code (Coverity 1465497)
2018-10-06 00:18:52 -05:00
Donald Sharp
a393281d47 zebra: Cleanup unused file
The zebra_vxlan_null.c file is never used.  Let's remove
from our build system.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-10-05 10:00:52 -04:00
Christian Franke
a5eba4e9a5 isisd: Track BFD state and take down adjacency on failure
Signed-off-by: Christian Franke <chris@opensourcerouting.org>
2018-10-05 14:08:34 +02:00
Christian Franke
2815f817e5 isisd: Add debugging for BFD
Signed-off-by: Christian Franke <chris@opensourcerouting.org>
2018-10-05 14:08:23 +02:00
Christian Franke
ab880eaf30 isisd: Implement BFD replay function
Signed-off-by: Christian Franke <chris@opensourcerouting.org>
2018-10-05 14:08:18 +02:00
Christian Franke
20a42f0194 isisd: Register/deregister BFD peers for adjacencies
Signed-off-by: Christian Franke <chris@opensourcerouting.org>
2018-10-05 14:07:51 +02:00
Christian Franke
3015e3d15e isisd: Write BFD config
Signed-off-by: Christian Franke <chris@opensourcerouting.org>
2018-10-05 14:07:45 +02:00
Christian Franke
d56afe53aa isisd: Add a hook when writing interface config
Signed-off-by: Christian Franke <chris@opensourcerouting.org>
2018-10-05 14:05:31 +02:00
Christian Franke
215eccb0b8 isisd: Add BFD configuration commands
Signed-off-by: Christian Franke <chris@opensourcerouting.org>
2018-10-05 14:05:30 +02:00
Christian Franke
a5b5e946ce isisd: Replace isis_event_adjacency_state_change with a hook
Signed-off-by: Christian Franke <chris@opensourcerouting.org>
2018-10-05 14:05:28 +02:00
Christian Franke
52df822874 isisd: Register as BFD client
Signed-off-by: Christian Franke <chris@opensourcerouting.org>
2018-10-05 14:05:26 +02:00
Christian Franke
ad10378940 isisd: Add forward declaration of struct isis_route_info
Signed-off-by: Christian Franke <chris@opensourcerouting.org>
2018-10-05 14:05:22 +02:00
Christian Franke
a0d5840bb7 zebra_ptm: Add IS-IS and OpenFabric as protocols supporting BFD
Signed-off-by: Christian Franke <chris@opensourcerouting.org>
2018-10-05 14:04:27 +02:00
Christian Franke
4943f243b5 zebra_ptm: Introduce IS_BFD_ENABLED_PROTOCOL macro
Unify the check if a client supports BFD into one location.

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
2018-10-05 14:04:15 +02:00
Tore Anderson
ec3bff6fd5 doc: correct route map match for prefix lists
This corrects the route map documentation to add the missing "prefix-list"
keyword, which is necessary when matching against a prefix list (as opposed to
an access list).

Additionally, change hyphens for underscores in the variables the user is
supposed to substitute in those commands, to prevent any confusion with the
"prefix-list" keyword itself, and also to make it more consistent with the
other documented commands (which are already using underscores).

Signed-off-by: Tore Anderson <tore@redpill-linpro.com>
2018-10-05 09:06:54 +02:00
Sarita Patra
7336e10117 bgpd: remove ip prefix from as-path, <large,ext>community-list
The existing commands "ip as-path", "ip community list", "ip extcommunity
list" & "ip largecommunity list" is used to configure both for ipv4 and
ipv6. So the prefix "ip" is removed from these commands.
All the configuration, show related configuration, show running config
& boot up with write memory is also verified with the provided fix.

Signed-off-by: Sarita Patra <saritap@vmware.com>
2018-10-04 21:50:44 -07:00
Quentin Young
78230371e9
Merge pull request #3098 from opensourcerouting/watchfrr-delay
tools/frr + watchfrr spring cleaning (southern hemisphere)
2018-10-04 15:04:56 -04:00
Quentin Young
cee9c03192 bgpd: complete description code for communities
When this description code was added, it was all dead code since none of
the bools that checked if the communities were present were ever changed
from 0.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2018-10-04 18:12:33 +00:00
Quentin Young
cf4898bc99 bgpd: fix broken show community commands
SHA c5f1e1b broke about half of the community-related show commands; fix
them

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2018-10-04 17:46:52 +00:00
Rafael Zalamena
416f79bf51
Merge pull request #3126 from pacovn/Coverity_1424529_null_check
isisd: null check (Coverity 1424529)
2018-10-04 10:37:06 -03:00
Donald Sharp
15007d0053
Merge pull request #3127 from pacovn/Coverity_1472236_Improper_use_of_negative_value
zebra: netlink socket check (Coverity 1472236)
2018-10-04 09:26:33 -04:00
David Lamparter
416784e810
Merge pull request #3128 from donaldsharp/cpp_notice_build_failure
lib: Include compiler.h as early as is possible in the build
2018-10-04 11:09:48 +02:00
Quentin Young
56f67d6870
Merge pull request #3087 from opensourcerouting/bfd-memleak
bfdd: fix memory leak and echo-mode start
2018-10-03 18:43:34 -04:00
Lou Berger
139221f250
Merge pull request #3043 from qlyoung/doc-bgpd-multiple-ass
Doc bgpd multiple ASes
2018-10-03 18:03:48 -04:00
Rafael Zalamena
c4345fbf71 lib: refactor thread_execute
Don't allocate threads in the stack, but use the standardized
`thread_get` and `thread_add_unused` to avoid creating corner cases in
the thread API.

This fixes a thread mutex memory leak in FreeBSD.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2018-10-03 16:32:11 -03:00
Rafael Zalamena
6655966d2c lib: fix a memory leak in FreeBSD
Two important changes:
* Centralize the thread teardown procedure;
* Save and restore thread mutex context to avoid losing the memory
  pointer;

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2018-10-03 16:32:11 -03:00
F. Aragon
c9f7d10b8a
zebra: netlink socket check (Coverity 1472236)
Signed-off-by: F. Aragon <paco@voltanet.io>
2018-10-03 20:28:01 +02:00
Donald Sharp
728806e6f8 lib: Include compiler.h as early as is possible in the build
The compiler.h header provides us with some useful macro's
that we are using in the system.  We do not know exactly
where the CPP_NOTICE and CPP_WARN macros are used but
they can move around.  Place this header early in the
build then.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-10-03 13:41:21 -04:00
F. Aragon
7968405d87
isisd: null check (Coverity 1424529)
Signed-off-by: F. Aragon <paco@voltanet.io>
2018-10-03 16:38:49 +02:00