Commit Graph

14442 Commits

Author SHA1 Message Date
Quentin Young
0545c37384 *: only use 32-bit atomics
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2018-11-19 18:44:35 +00:00
Quentin Young
dc079d4f7a
Merge pull request #3358 from opensourcerouting/libtool-cfg-warn
build: refuse non-working linking options
2018-11-19 12:16:37 -05:00
David Lamparter
add5f18350
Merge pull request #3346 from donaldsharp/pim_possible_issues
Pim possible issues
2018-11-19 17:02:27 +01:00
David Lamparter
b156e69c6c
Merge pull request #3294 from pguibert6WIND/distribute_list_ipv6
lib: distribute-list ipv6 can be (un)configured
2018-11-19 17:01:24 +01:00
David Lamparter
01a0d85510
Merge pull request #3311 from dslicenc/static-int-up
staticd: install static routes in a vrf when next-hop interface comes up
2018-11-19 16:59:08 +01:00
David Lamparter
02968310e0
Merge pull request #2725 from pguibert6WIND/workflow_lts
doc: change workflow to support long term maintenance branches
2018-11-19 16:54:56 +01:00
David Lamparter
6236b8e4d8
Merge pull request #3343 from qlyoung/doc-add-vtysh-dev
doc: add dev doc for vtysh
2018-11-19 16:54:25 +01:00
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