Commit Graph

14083 Commits

Author SHA1 Message Date
David Lamparter
2cc4f280ed build: refuse non-working linking options
We only support:
* --enable-shared --disable-static --disable-static-bin
* --enable-shared --enable-static --disable-static-bin
* --enable-shared --enable-static --enable-static-bin

(The second option is not particularly useful.)

Signed-off-by: David Lamparter <equinox@diac24.net>
2018-11-19 16:32:14 +01:00
root
36dc75886d bgpd: Creating Loopback Interface Flaps BGPd (#2865)
* The function bgp_router_id_zebra_bump() will check for active bgp
  peers before chenging the router ID.
  If there are established peers, router ID is not modified
  which prevents the flapping of established peer connection

* Added field in bgp structure to store the count of established peers

Signed-off-by: kssoman <somanks@vmware.com>
2018-11-19 04:35:32 -08:00
Donatas Abraitis
d4455c8975 bgpd: Remove extcommunity-list by name without typing full rule
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2018-11-19 13:12:23 +02:00
Chirag Shah
bdca1974e1 zebra: dup addr detect mac consolidation
Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2018-11-17 22:30:17 -08:00
Chirag Shah
7510e45925 zebra: dup addr detect neigh consolidation
Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2018-11-17 22:14:11 -08:00
Chirag Shah
979777b2d7 bgp, zebra: address review comments
Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2018-11-17 19:22:17 -08:00
Chirag Shah
61d46edaa6 zebra: dup addr detect add fields to show evpn cmd
TOR# show evpn
L2 VNIs: 5
L3 VNIs: 0
Advertise gateway mac-ip: No
Duplicate address detection: Enable
  Detection max-moves 5, time 180

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2018-11-17 19:22:17 -08:00
Chirag Shah
37a040400d zebra: dup addr detect fix warnings
Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2018-11-17 19:22:17 -08:00
Chirag Shah
09de9258a9 zebra: dup addr detect clear command
Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2018-11-17 19:22:17 -08:00
Chirag Shah
1374d4dbc2 zebra: dup addr detect operation commands
Display duplicate detected list of MACs and VNIs.
- Per VNI
- Across all VNIs

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2018-11-17 19:22:17 -08:00
Chirag Shah
87454e6bd1 lib, zebra: dup addr detect display detection fields
Display following Per MAC and Neigh's output:
If duplicate address detection is under process,
display detection start time and detection count.
If duplicate address detection detected an address
as duplicate, display detection time and duplicate
status.

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2018-11-17 19:22:17 -08:00
Chirag Shah
c80a972c9a zebra: dup addr detect freeze action
Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2018-11-17 19:22:17 -08:00
Chirag Shah
e22a946a89 zebra: dup addr detect warn-only
Duplicate address detection warning only action
upon an address detected as duplicate.

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2018-11-17 19:22:17 -08:00
Chirag Shah
3950b52c54 zebra: dup addr detect zapi changes
EVPN Duplicate Address Detection (DAD)
zapi information

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2018-11-17 19:22:16 -08:00
Chirag Shah
0b9d9cd013 bgpd: dup addr detect config cli
Duplicate address detection configuration clis
under bgp l2vpn evpn config mode.
- Enabled/Disable (global knob) for feature.
- Configure cli for duplicate detection action
freeze and freze until time (auto-recovery).

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2018-11-17 19:22:16 -08:00
Chirag Shah
85c8d83b81 bgpd: dup addr detect data struct for cfg
Enable/disable duplicate address detection
there are 3 actions
warning-only: Default action which generates
only frr warning (syslog) to user for any
duplicate detecton
freeze: Permanently freezes address, manual
intervene required.
freeze with time: An address will recover once
the time has expired (auto-recovery).

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2018-11-17 19:22:16 -08:00
Renato Westphal
106935f671 zebra: improve identification of loopback interfaces in the router-id code
The if_is_loopback() function is the right abstraction for identifying
loopback interfaces. There should be no reason for not using it in the
router-id code.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2018-11-17 21:33:37 -02:00
Renato Westphal
fef6daf4da
Merge pull request #3341 from donaldsharp/unneeded
zebra: Remove uncompiled file
2018-11-17 20:33:44 -02:00
Renato Westphal
996777862a
Merge pull request #3352 from pacovn/Coverity_1475489_resource_leak
bgpd: fix resource leak (Coverity 1475489)
2018-11-17 20:32:02 -02:00
Renato Westphal
ee1922793f
Merge pull request #3353 from qlyoung/fix-bgpd-community-list-deletion-nit
bgpd: fix small error in community-list patch
2018-11-17 20:30:23 -02:00
Quentin Young
97bc06df85
Merge pull request #3338 from ton31337/fix/optional_args_for_exclude
bgpd: Optionally remove AS number when using `no set as-path exclude`
2018-11-16 15:43:44 -05:00
Quentin Young
01defa9e0a
Merge pull request #3344 from ton31337/fix/optional_args_for_community-lists
bgpd: Remove community-list by name without typing full rule
2018-11-16 15:16:35 -05:00
Chirag Shah
276aa26556 ospf6d: abr summary advertise best route
ABR summary should contain best intra prefix LSA.
There might be a case where intra-prefix route with different
cost from different advertising router present, summary
advertisement should only consider best intra-prefix route.

A route which is marked for remove, while purging the route's
ABR summary LSA also remove summary route from the summary
table.

Ticket:CM-22665
Testing Done:
Validate on ABR topology, intra-prefix route with
different cost, a higher cost intra-prefix route skip from sending
ABR summary LSA.

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2018-11-16 11:37:17 -08:00
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