Commit Graph

22622 Commits

Author SHA1 Message Date
Renato Westphal
809241f442
Merge pull request #6400 from mjstapp/fix_sa_zebra_nb_state
zebra: fix SA warning in zebra_nb_state.c
2020-05-14 23:52:14 -03:00
Donald Sharp
e2e60c48bf ospf6d: Revert "ospf6d: Prevent use after free"
This reverts commit 0f9f74baeb.

This commit was causing crashes and the goal of this commit
was to make coverity sanity happy.  I'd rather have coverity
sad and not have ospfv3 crash

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2020-05-14 15:35:19 -04:00
Donald Sharp
b82ad4c0d1 tools: Only load instances or daemon
Original start/stop of FRR prior to David's rewrite in
PR 3507, when configuring multi-instance would
only start multi-instance (-1 -2 -3 -4...) or
just the daemon, not both.  If you happened
to start a ospfd instance of 1 then both
the default and instance 1 would react to cli.

Do not allow this, put it back to original behavior

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2020-05-14 14:11:03 -04:00
Renato Westphal
82624cef0c
Merge pull request #6342 from Orange-OpenSource/dev_isis_sr
isisd: Preparation to merge Segment-Routing into master
2020-05-14 14:23:03 -03:00
Sri Mohana Singamsetty
2465055e31
Merge pull request #6377 from ton31337/fix/bgpd_statistics
bgpd: Use default AFI_IP6/SAFI_UNICAST when displaying statistics
2020-05-14 10:00:07 -07:00
Emanuele Di Pascale
cd7108ba92 zebra: avoid using c++ keywords in headers
to make sure that c++ code can include them, avoid using reserved
keywords like 'delete' or 'new'.

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
2020-05-14 16:42:47 +02:00
Olivier Dugeon
d4d008fea1 isisd: Update documentation for Segment Routing
Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
2020-05-14 16:36:43 +02:00
Olivier Dugeon
c0083e5338 isisd: Update Segment Routing Show Commands
* Improve `show isis segment-routing prefix-sids` output
 * Add new `show isis segment-routing node' command

Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
2020-05-14 16:36:43 +02:00
Olivier Dugeon
f2333421ff isisd: IS-IS-SR preparation for master 5/5
Update comments (doxygen style) for all functions.

Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
2020-05-14 16:36:43 +02:00
Olivier Dugeon
c3f7b406b1 isisd: IS-IS-SR preparation for master 4/5
* Regroup fonctions to install label for Prefix and Adjacency SID
 * Change 'replace_semantics' variable name by 'make_before_break' in
   sr_prefix_reinstall() function and adjust comments
 * Call directly lsp_regenerate_schedule() from isis_nb_config.c when MSD
   is updated

Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
2020-05-14 16:36:43 +02:00
Olivier Dugeon
b407c77a4a isisd: IS-IS-SR preparation for master 3/5
Add debug macro and debug messages

Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
2020-05-14 16:36:38 +02:00
Olivier Dugeon
b1d80d434c isisd: IS-IS-SR preparation for master 2/5
* Rename functions following rules: isis_sr_XXX is kept for external functions
   and isis_sr prefix remove for static ones
 * Rename local_label & remote_label variables by input_label & output_label
 * Change parameter order (to follow other functions) in sr_node_srgb_update()

Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
2020-05-14 16:23:50 +02:00
Olivier Dugeon
cab10e86a4 isisd: IS-IS-SR preparation for master 1/5
* Rename RB-TREE variable from tree_sr_XXX to srdb_XXX
 * Replace parse_flags by an enum and rename it srdb_state which reflects
   more the role of this flag: determined the state of SR-Node and SR-Prefix
   stored in the SRDB: VALIDATED, NEW, MODIFIED, UNCHANGED

Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
2020-05-14 16:22:23 +02:00
Mark Stapp
3109cba3a6 zebra: fix SA warning in zebra_nb_state.c
Fix an SA warning in zebra_nb_state.c.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
2020-05-14 09:41:59 -04:00
Rafael Zalamena
29191d3183 bfdd: tell peer when our control plane is dead
Simplify and fix the code that handles session teardown on control
plane shutdown (either failure or graceful).

- Don't move the `NULL` check inside `free` functions that expect
  data: it creates harder to understand flows.
- Add some new debug messages to aid visualizing session deletions.
- Add sanity check error message (if it ever happens).

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2020-05-13 19:41:50 -03:00
Rafael Zalamena
a2072e7100 zebra: format files to make polychaeta happy
Use clang-format to make code match what polychaeta wants for
formatting.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2020-05-13 13:56:16 -03:00
Stephen Worley
e3dafc2580
Merge pull request #6227 from pguibert6WIND/show_nexthop_group_permit_netns
zebra: permit usage of show nexthop-group with namespace based vrfs
2020-05-13 10:53:52 -04:00
Martin Winter
38ac57f9b5
Merge pull request #6220 from kuldeepkash/bgp_graceful_restart
tests: Add bgp-graceful-restart test suites
2020-05-13 15:09:08 +02:00
Philippe Guibert
2f90b900c8 zebra: permit usage of show nexthop-group with namespace based vrfs
namespace based vrfs can be used along with show nexthop-group command.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2020-05-13 14:24:36 +02:00
Donatas Abraitis
0ad81e648e
Merge pull request #6387 from donaldsharp/reload
tools: revert frr-reload.py remove stderr redirects"
2020-05-13 09:10:06 +03:00
Donatas Abraitis
511a71f273
Merge pull request #6384 from kooky/set-src-doc
doc: Improve Zebra set src documentation.  (IPv6)
2020-05-13 09:09:05 +03:00
Donatas Abraitis
7734484a37
Merge pull request #6383 from opensourcerouting/init-config-perms
build: use configfile mode in init script
2020-05-13 09:05:18 +03:00
Renato Westphal
a10f92e685
Merge pull request #6250 from chiragshah6/yang_nb6
*: RIB operational northbound callbacks implementation
2020-05-12 21:17:36 -03:00
Chirag Shah
00ebe5b5f9 yang: align keys and leafs
Align leafs according to keys order.
Fix some of the nits seen in yanglint -f yang format.

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2020-05-12 14:52:08 -07:00
Chirag Shah
748a972c03 yang: add unified protocol types in rib model
Add v4/v6 unified protocol list to rib operational
model.

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2020-05-12 14:52:08 -07:00
Chirag Shah
5a634c3440 zebra: rib northbound callback implementation
- add RIB's northbound list create/destory callback changes.
- add RIB's northbound callbacks implementation.
- add RIB's nexthop callbacks implementation.
- add RIB's nexthop weight field callback changes.

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2020-05-12 14:51:36 -07:00
Tim Bray
1d0372dd8f doc: Improve Zebra set src documentation. (IPv6)
Include an IPv6 example for set src

And a note that the IP address has to exist.   This is to try and make
people aware to avoid things like issue #4249
https://github.com/FRRouting/frr/issues/4249

Signed-off-by: Tim Bray <tim@kooky.org>
2020-05-12 22:49:33 +01:00
Chirag Shah
77f4028e50 zebra: afi-safi identity to value apis
Helper APIs to convert afi-safi identity to values.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2020-05-12 14:31:37 -07:00
Chirag Shah
db85668355 zebra: route node first next node
Add macros for route entry first and next node walk.

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2020-05-12 14:31:37 -07:00
Chirag Shah
56a88b9e1c zebra: add zebra container to rib model
Add zebra container in rib tree.
When displaying RIB under vrf, it displays
zebra module name.

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2020-05-12 14:31:37 -07:00
Chirag Shah
9d86e091bb zebra: northbound changes for the rib model
This commit implements:
RIB operational list create/destroy.
Walk over RIB tables using keys.
The first RIB table will be IPV4/unicast (table-id 254)
will be fetched.
Create a new api to fetch RIB table based on
afi-safi and table id as the keys.

remove mandatory true statement from the leaf which
is part of the list key.

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2020-05-12 13:25:10 -07:00
Mark Stapp
6bc5d97795 zebra: prefer outer label_type for recursive nexthops
When resolving a recursive nexthop, prefer the "outer"
label type, if present.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
2020-05-12 14:27:02 -04:00
Donald Sharp
b2be8c9286 tools: revert frr-reload.py remove stderr redirects"
This reverts commit 3fa139a65b.

This is being reverted because this commit completely
breaks the invocation of frr-reload.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2020-05-12 13:31:09 -04:00
Sri Mohana Singamsetty
02b89bdca2
Merge pull request #6334 from ton31337/fix/labeled_unicast_table_scount
bgpd: Set a proper SAFI for labaled-unicast when looking for scount
2020-05-12 08:31:42 -07:00
Lou Berger
cc94d66cf2
Merge pull request #6340 from opensourcerouting/yang-license
Adopt the BSD-2-Clause license for our YANG modules
2020-05-12 11:29:52 -04:00
Renato Westphal
029ef880ec
Merge pull request #6366 from volta-networks/fix_pw_show
ldpd and Zebra:  Expand existing debug commands.
2020-05-11 22:12:26 -03:00
Quentin Young
831f55ca4d
Merge pull request #6370 from barajus/patch-1
overview.rst: add RFC to VRRP
2020-05-11 16:35:34 -04:00
lynne
6bbdd9e979 ldpd and Zebra: Expand existing debug commands.
L2VPN PW are very hard to determine why they do not come up.  The following
fixes expand the existing show commands in ldp and zebra to display a
reason why the PW is in the DOWN state and also display the labeled nexthop
route selected to reach the PW peer.  By adding this information it will
provide the user some guidance on how to debug the PW issue.  Also fixed an
assert if labels were changed for a PW that is between directly connected
peers.

Signed-off-by: Lynne Morrison <lynne@voltanet.io>
2020-05-11 16:22:52 -04:00
David Lamparter
5c90637711 build: use configfile mode in init script
This only applies for split-config;  the init script would create an
empty config file with default permissions.

Reported-by: Robert Scheck <robert@fedoraproject.org>
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2020-05-11 21:50:27 +02:00
Julien D
94b21e3c0d doc: add RFC to VRRP
Add the VRRP bloc + RFC associated

Signed-off-by: barajus <julien.dhaille@gmail.com>
2020-05-11 21:46:20 +02:00
Renato Westphal
c78dec5385
Merge pull request #6381 from qlyoung/clean-grpc
lib: remove unnecessary rpc request in grpc
2020-05-11 16:36:00 -03:00
Quentin Young
f6239dc799 lib: remove unnecessary rpc request in grpc
Bit of leftover copypaste code there.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2020-05-11 12:52:17 -04:00
Donatas Abraitis
420752a9b6
Merge pull request #6379 from donaldsharp/ip_as_path_removal_really
Ip as path removal really
2020-05-11 17:22:19 +03:00
Donald Sharp
9b6fddd415 doc: Fix doc to reflect reality on the ground
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2020-05-11 08:46:34 -04:00
Donald Sharp
0feba3716e bgpd: really remove the no ip as-path... command
We had already removed the `ip as-path..` command
to have `bgp as-path` but for some reason a `no ip as-path..`
command ALIAS was still around.  Kill with extreme prejudice.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2020-05-11 08:45:11 -04:00
Donald Sharp
f3a9e1ab65 *: Update version string
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2020-05-11 08:04:15 -04:00
Quentin Young
6677126402
Merge pull request #6374 from opensourcerouting/grpc-undue-warning
lib: fix undue warning during gRPC module initialization
2020-05-11 00:24:54 -04:00
Donatas Abraitis
ec76a1d174 bgpd: Use default AFI_IP6/SAFI_UNICAST when displaying statistics
Without specifying a default afi/safi we get a segfault:

```
(gdb) frame 4
bgp_table_stats (..., afi=32724, safi=SAFI_UNICAST, ...
11349		if (!bgp->rib[afi][safi]) {
(gdb)
```

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2020-05-09 21:33:51 +03:00
Ameya Dharkar
10f70510b9 bgpd: EVPN RT-2 advertised with 2 labels for prefix-routes-only config
L3VNI is configured with "prefix-routes-only" flag. Even in this case,
intermittently, we observed that local EVPN MACIP routes are installed and
advertised with 2 labels and 2 export RTs.

This is a sequencing issue. Consider following case where L2VNI 200 and L3VNI
1000 are configured for tenant vrf vrf-blue.

Bug is observed for following sequence of events:
1. vrf-blue BGP instance is created.
2. L2VNI is created in bgp for vni 200. It is linked to the tenant vrf vrf-blue
in function bgpevpn_link_to_l3vni.
Following code sets "VNI_FLAG_USE_TWO_LABELS" flag for vni 200 as L3VNI is not
yet attached to vrf-blue BGP instance.

/* check if we are advertising two labels for this vpn */
if (!CHECK_FLAG(bgp_vrf->vrf_flags, BGP_VRF_L3VNI_PREFIX_ROUTES_ONLY))
	SET_FLAG(vpn->flags, VNI_FLAG_USE_TWO_LABELS);

2. Now L3VNI is attached to vrf-blue BGP instance. In this case, we set
BGP_VRF_L3VNI_PREFIX_ROUTES_ONLY flag for vrf-blue but we do not clear
VNI_FLAG_USE_TWO_LABELS flag set on the corresponding L2VNIs.

This fix resolves following 2 issues observed above.
1. When L2VNI is created in BGP, flag VNI_FLAG_USE_TWO_LABELS should not be set
for this VNI if BGP vrf is not attached to any L3VNI.
2. When L3VNI is attached to the BGP vrf, set "VNI_FLAG_USE_TWO_LABELS" flag
if "prefix-routes-only" is not for the vrf.

UT cases:
1. Flap "prefix-routes-only" config for a vrf.
2. Test following triggers for vrfs with and without "prefix-routes-only"
   - Flap L2VNI from kernel.
   - Flap L3VNI from kernel.

Signed-off-by: Ameya Dharkar <adharkar@vmware.com>
2020-05-08 21:10:10 -07:00
Renato Westphal
69ec583289 lib: fix undue warning during gRPC module initialization
This warning only shows up when a daemon is started with --log=stdout.
Fix it.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2020-05-09 00:50:45 -03:00