]>
git.puffer.fish Git - mirror/frr.git/log
Donald Sharp [Mon, 9 Mar 2020 13:50:18 +0000 (09:50 -0400)]
zebra: Prevent awful misconfiguration in vrf's
Currently the linux kernel allows you to specify the same
table id -> multiple vrf's. While I am arguing with
the kernel people about proper behavior here let's
just remove this as a possiblity from happening and
mark it a zebra stopable misconfiguration.
(Effectively we are preventing a crash down the line
as that all over FRR we assume it's a unique
mapping not a many to one).
Why fail hard? Because we hope to get the person
who misconfigured it to actually notice immediately
not hours or days down the line when shit hits the fan.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Donald Sharp [Mon, 9 Mar 2020 13:47:46 +0000 (09:47 -0400)]
zebra: Expose vrf lookup by table id out of rt_netlink.c
The function rt_netlink.c is using to lookup the vrf by
passed in table id.
I'm also going to pretend that this function is not
so awful to run when we have a large number of routes
incoming.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Donatas Abraitis [Wed, 22 Apr 2020 13:16:57 +0000 (16:16 +0300)]
Merge pull request #6269 from donaldsharp/coverity_likes_coverity
Coverity likes coverity
Donald Sharp [Tue, 21 Apr 2020 12:09:58 +0000 (08:09 -0400)]
ospfd: Limit possible message read to our buffer size
It's possible(but unlikely) that a read of data from the
network will give us bogus data. Don't automatically
just trust the data size from the network and limit
the read to the size of the buffer we have in play.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Donald Sharp [Tue, 21 Apr 2020 11:50:27 +0000 (07:50 -0400)]
zebra: Cleanup dead code
There are a couple of switch statements in netlink_route_info_encode
in zebra_fpm_netlink.c that had logically dead code. We have
a switch statement let's take actual advantage of it instead
of doing gyrations to what we want.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Donald Sharp [Wed, 22 Apr 2020 11:28:43 +0000 (07:28 -0400)]
Merge pull request #6268 from opensourcerouting/atomlist-cxx-compat
lib: make atomlist code C++ compatible
Donatas Abraitis [Tue, 21 Apr 2020 20:16:03 +0000 (23:16 +0300)]
Merge pull request #6191 from NaveenThanikachalam/ibgp_connected
bgpd: Enforce self-next-hop check in next-hop update.
Donald Sharp [Tue, 21 Apr 2020 20:14:21 +0000 (16:14 -0400)]
Merge pull request #6126 from sarav511/watermark
pimd: Implement watermark warning for igmp group count and add igmp group count
David Lamparter [Tue, 21 Apr 2020 19:37:09 +0000 (21:37 +0200)]
lib/frrcu: make C++ compatible
... by dropping seqlock.h from the header's includes; it's only needed
in the C code in frrcu.c.
Signed-off-by: David Lamparter <equinox@diac24.net>
David Lamparter [Tue, 21 Apr 2020 19:35:44 +0000 (21:35 +0200)]
lib/atomlist: make C++ compatible
... by using `atomic_atomptr_t`. Other ideas seemed worse.
Signed-off-by: David Lamparter <equinox@diac24.net>
Quentin Young [Tue, 21 Apr 2020 18:31:56 +0000 (14:31 -0400)]
Merge pull request #6267 from mjstapp/fix_ospf6_unlock_sa
ospf6d: fix SA warnings
Quentin Young [Tue, 21 Apr 2020 15:28:05 +0000 (11:28 -0400)]
Merge pull request #6253 from opensourcerouting/fpm-extra
zebra/fpm: fix shutdown and add more documentation
Donald Sharp [Tue, 21 Apr 2020 15:16:24 +0000 (11:16 -0400)]
Merge pull request #6264 from opensourcerouting/doc-workflow-
20200420
doc: workflow updates
Mark Stapp [Tue, 21 Apr 2020 15:01:18 +0000 (11:01 -0400)]
ospf6d: fix SA warnings
Clean up some SA warnings in use of ospf6_lsa_unlock()
Signed-off-by: Mark Stapp <mjs@voltanet.io>
Russ White [Tue, 21 Apr 2020 13:08:06 +0000 (09:08 -0400)]
Merge pull request #6147 from opensourcerouting/ldpd-broken-lsps
ldpd: don't drop packets coming through a broken LSP
David Lamparter [Mon, 20 Apr 2020 21:51:37 +0000 (23:51 +0200)]
doc: add some Github workflow notes
Just writing down what seems to be established procedure.
Signed-off-by: David Lamparter <equinox@diac24.net>
David Lamparter [Mon, 20 Apr 2020 21:33:21 +0000 (23:33 +0200)]
doc: document strcpy & sprintf ban
Signed-off-by: David Lamparter <equinox@diac24.net>
Quentin Young [Mon, 20 Apr 2020 23:12:50 +0000 (19:12 -0400)]
Merge pull request #6263 from opensourcerouting/zlog-coverity-
20200420
lib/zlog: fix coverity warning
David Lamparter [Mon, 20 Apr 2020 21:20:13 +0000 (23:20 +0200)]
doc: remove mailing list patch submission
Last patch sent in on the mailing list was in July 2018. If someone
sends a patch we can still pick it up, but practiced reality is quite
clearly PRs on github.
Signed-off-by: David Lamparter <equinox@diac24.net>
David Lamparter [Mon, 20 Apr 2020 21:17:17 +0000 (23:17 +0200)]
lib/zlog: fix coverity warning
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Donald Sharp [Mon, 20 Apr 2020 20:10:07 +0000 (16:10 -0400)]
Merge pull request #6261 from ton31337/fix/allow_nhlen_32
bgpd: Do not discard an UPDATE if the global nexthop is set to ::
Donald Sharp [Mon, 20 Apr 2020 20:08:37 +0000 (16:08 -0400)]
Merge pull request #6251 from opensourcerouting/cs-ignore
*: make coverity scan ignore random() calls
Mark Stapp [Mon, 20 Apr 2020 17:28:14 +0000 (13:28 -0400)]
Merge pull request #6245 from sworleys/NHG-More-Topo
tests: add connected/recursive/duplicte/route-map NHG tests
Donatas Abraitis [Mon, 20 Apr 2020 15:46:23 +0000 (18:46 +0300)]
bgpd: Do not discard an UPDATE if the global nexthop is set to ::
When we receive an UPDATE with MP_NEXTHOP len as 32 bytes, we shouldn't
check if the global (1st) nexthop is unspecified.
Peering between bird and FRRouting we receive from Bird something like:
```
rcvd UPDATE w/ attr: , origin i, mp_nexthop ::(fe80::a00:27ff:fe09:f8a3)
```
The link-local (2nd) nexthop is valid and validated later in the code.
Before it was marked:
```
IPv6 unicast -- DENIED due to: martian or self next-hop;
```
After it's a valid prefix:
```
spine1-debian-9# show bgp
BGP table version is 0, local router ID is 2.2.2.2, vrf id 0
Default local pref 100, local AS 65002
Status codes: s suppressed, d damped, h history, * valid, > best, = multipath,
i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
2a02:4780::/64 fe80::a00:27ff:fe09:f8a3
0 65001 i
Displayed 1 routes and 1 total paths
```
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
Donald Sharp [Mon, 20 Apr 2020 12:30:28 +0000 (08:30 -0400)]
Merge pull request #6260 from ton31337/fix/01_to_bool
bgpd: Use true/false for reject_as_sets
Donatas Abraitis [Mon, 20 Apr 2020 09:59:52 +0000 (12:59 +0300)]
bgpd: Use true/false for reject_as_sets
Just remove MACROS and use true/false.
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
Donatas Abraitis [Sat, 18 Apr 2020 19:48:20 +0000 (22:48 +0300)]
Merge pull request #6231 from dslicenc/v6-ra-hoplimit
zebra: add ability to set hoplimit for IPv6 RAs
Donald Sharp [Sat, 18 Apr 2020 19:06:04 +0000 (15:06 -0400)]
Merge pull request #6164 from ton31337/feature/rfc8212_enabled_traditional_profile
bgpd: Enable rfc8212 by default except datacenter profile
David Lamparter [Sat, 18 Apr 2020 18:47:32 +0000 (20:47 +0200)]
Merge pull request #6256 from qlyoung/pimd-no-strcpy
David Lamparter [Sat, 18 Apr 2020 15:34:09 +0000 (17:34 +0200)]
Merge pull request #6257 from qlyoung/bitfield-no-null-check-before-free
David Lamparter [Sat, 18 Apr 2020 15:06:38 +0000 (17:06 +0200)]
Merge pull request #6258 from donaldsharp/more_scan_more
Donald Sharp [Sat, 18 Apr 2020 01:18:53 +0000 (21:18 -0400)]
ospf6d: Prevent use after free
ospf6_lsa_unlock may free the lsa data structure as such
we cannot use the passed in data structure after freeing it.
Provide a mechanism to know if the data has been freed
using the same usage patterns of other _unlock functions
in FRR.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Donald Sharp [Sat, 18 Apr 2020 00:06:07 +0000 (20:06 -0400)]
isisd: Prevent use after free for isis_adj_state_change
When we call isis_adj_state_change with ISIS_ADJ_DOWN
we free the pointer, but we were still using the pointer
after it was freed. Cleanup the api to prevent this.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Quentin Young [Sat, 18 Apr 2020 00:19:33 +0000 (20:19 -0400)]
lib: dont null check bitfield pointer before free
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
Quentin Young [Sat, 18 Apr 2020 00:17:18 +0000 (20:17 -0400)]
Merge pull request #6255 from mjstapp/fix_bitfield_free
lib: clear data pointer in bf_free
Quentin Young [Sat, 18 Apr 2020 00:05:34 +0000 (20:05 -0400)]
lib: don't use strcpy
>:(
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
Quentin Young [Fri, 17 Apr 2020 23:56:49 +0000 (19:56 -0400)]
pimd: don't use strcpy
>:(
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
Rafael Zalamena [Fri, 17 Apr 2020 13:35:15 +0000 (10:35 -0300)]
*: replace all random() calls
Replace all `random()` calls with a function called `frr_weak_random()`
and make it clear that it is only supposed to be used for weak random
applications.
Use the annotation described by the Coverity Scan documentation to
ignore `random()` call warnings.
Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
Rafael Zalamena [Fri, 17 Apr 2020 15:18:24 +0000 (12:18 -0300)]
zebra: gracefully shutdown fpm module
Lets stop and free all resources before shutting down.
Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
Rafael Zalamena [Fri, 17 Apr 2020 15:14:37 +0000 (12:14 -0300)]
zebra: notify data plane providers about shutdown
Call the `dp_fini` callback twice: once at the beginning of the shutdown
and then again right before `exit()`ing zebra.
Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
Rafael Zalamena [Thu, 16 Apr 2020 19:26:51 +0000 (16:26 -0300)]
doc: update FPM documentation
Tell users about new FPM implementation and add more documentation about
it.
Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
Mark Stapp [Fri, 17 Apr 2020 20:53:37 +0000 (16:53 -0400)]
lib: clear data pointer in bf_free
Help avoid double-free by clearing data pointer.
Signed-off-by: Mark Stapp <mjs@voltanet.io>
Donatas Abraitis [Fri, 17 Apr 2020 09:09:58 +0000 (12:09 +0300)]
Merge pull request #6248 from donaldsharp/zebra_snmp
some more coverity fixups
Sri Mohana Singamsetty [Fri, 17 Apr 2020 03:17:40 +0000 (20:17 -0700)]
Merge pull request #6240 from ton31337/fix/null_bnc_bgp_show_hostname
bgpd: Add a sanitify check for bgp_nexthop_cache against NULL
Donald Sharp [Fri, 17 Apr 2020 00:26:00 +0000 (20:26 -0400)]
pimd: if_lookup_by_index can fail handle it appropriately
It is possible that a if_lookup_by_index can return NULL
ensure that we handle this appropriately.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Donald Sharp [Fri, 17 Apr 2020 00:17:22 +0000 (20:17 -0400)]
lib: prefix must be a valid pointer at this point
Coverity does not understand how our CLI works. Make it
happy that we have tested it's existence
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Donald Sharp [Fri, 17 Apr 2020 00:16:02 +0000 (20:16 -0400)]
ospfd: Fix possible null deref
It is possible that area is null, let's ensure it isn't.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Donald Sharp [Fri, 17 Apr 2020 00:14:55 +0000 (20:14 -0400)]
zebra: in_addr_cmp and `struct prefix` are not happy
Coverity is complaining that we are looking beyond the end
of the pointer. Why not just use prefix_cmp here? Since
we are comparing to route_nodes.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Donald Sharp [Thu, 16 Apr 2020 23:39:14 +0000 (19:39 -0400)]
Merge pull request #6247 from FRRouting/nb_conversions
Merge nb_converions branch to master
Donald Sharp [Thu, 16 Apr 2020 23:24:56 +0000 (19:24 -0400)]
Merge pull request #6135 from opensourcerouting/cli-node-cleanup
*: clean up the mess that is CLI command nodes
Quentin Young [Thu, 16 Apr 2020 19:40:03 +0000 (15:40 -0400)]
Merge pull request #6239 from ton31337/fix/uint8_t_to_bool_for_any
bgpd, lib: Use bool instead of uint8_t for community/prefix-list "any"
Quentin Young [Thu, 16 Apr 2020 19:38:11 +0000 (15:38 -0400)]
lib: suppress formatting on yang.c module array
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
Donatas Abraitis [Thu, 16 Apr 2020 19:28:19 +0000 (22:28 +0300)]
Merge pull request #5913 from taspelund/evpn_route_type_int
bgpd: Allow 'show bgp l2vpn evpn route type' to use RT number in addition to existing keywords
Olivier Dugeon [Thu, 16 Apr 2020 19:12:30 +0000 (21:12 +0200)]
Merge pull request #6224 from mjstapp/zclient_session_id
lib,zebra: add a session id for zapi sessions
Quentin Young [Thu, 16 Apr 2020 19:10:19 +0000 (15:10 -0400)]
lib: fix style nit in yang_wrappers.c
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
Mark Stapp [Wed, 15 Apr 2020 12:34:03 +0000 (08:34 -0400)]
zebra,ldpd: use zapi client session id in LM apis
Use the zapi client session id in the label manager apis;
use the client struct directly in some code. Assign a session
id to ldpd's sync LM zapi session.
Signed-off-by: Mark Stapp <mjs@voltanet.io>
Mark Stapp [Tue, 14 Apr 2020 14:45:09 +0000 (10:45 -0400)]
lib,zebra: add a session id for zapi sessions
Distinguish zapi sessions, for daemons who use more than one,
by adding a session id. The tuple of proto + instance is not
adequate to support clients who use multiple zapi sessions.
Include the id in the client show output if it's present. Add
a bit of info about this to the developer doc.
Signed-off-by: Mark Stapp <mjs@voltanet.io>
Chirag Shah [Mon, 6 Apr 2020 21:20:43 +0000 (14:20 -0700)]
zebra: add weight to nb conversion
Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
Chirag Shah [Sat, 4 Apr 2020 06:08:58 +0000 (23:08 -0700)]
yang: add weight in nexthop operational model
add weight field to operational model.
add leafref to nexthopgroup.
format according to yanglint.
Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
Chirag Shah [Sat, 4 Apr 2020 00:00:30 +0000 (17:00 -0700)]
lib: increase xpath maxlen
Certain xpath are well 256 characters, increasing
to 512.
Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
Chirag Shah [Tue, 25 Feb 2020 02:40:29 +0000 (18:40 -0800)]
zebra: add northbound support for zebra interface
Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
Stephen Worley [Mon, 13 Apr 2020 23:00:18 +0000 (19:00 -0400)]
tests: add connected/recursive/duplicte/route-map NHG tests
Add some more NHG topotests using connected, recursive, duplicate
and higher ecmp nexthops as well as route maps.
Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
Chirag Shah [Fri, 27 Mar 2020 02:00:52 +0000 (19:00 -0700)]
lib: remove gcc 4.x workaround for nb structure
Remove gcc 4.x workaround for variable size array as gcc
check moved to header file.
In lib/northbound.h : struct frr_yang_module_info made
size 1000 for gcc 4.x, where maximum 1000 nodes can fit.
Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
Chirag Shah [Thu, 20 Feb 2020 02:48:47 +0000 (18:48 -0800)]
zebra: add nb callbacks for zebra if state
This is all stub callbacks autogenrated for
zebra interface state data.
Signed-off-by: chirag Shah <chirag@cumulusnetworks.com>
Chirag Shah [Wed, 19 Feb 2020 21:26:41 +0000 (13:26 -0800)]
lib: add interface operational northbound callback
Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
Chirag Shah [Thu, 6 Feb 2020 03:19:09 +0000 (19:19 -0800)]
yang: update zebra interface model
Modify interface config model
and add zebra specific interface state operational data.
augment /frr-interface:lib/frr-interface:interface:
+--rw zebra
+--rw ip-addrs* [address-family ip-prefix]
| +--rw address-family identityref
| +--rw ip-prefix ietf-inet-types:ip-prefix
| +--rw label? string
| +--rw ip4-peer? ietf-inet-types:ipv4-prefix
+--rw multicast? boolean
+--rw link-detect? boolean
+--rw shutdown? boolean
+--rw bandwidth? uint32
+--ro state
+--ro up-count? uint16
+--ro down-count? uint16
+--ro zif-type? identityref
+--ro ptm-status? string <disabled>
+--ro vlan-id? uint16
+--ro vni-id? vni-id-type
+--ro remote-vtep? ietf-inet-types:ipv4-address
+--ro mcast-group? ietf-routing-types:ipv4-multicast-group-address
Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
Chirag Shah [Wed, 5 Feb 2020 22:23:52 +0000 (14:23 -0800)]
yang: add operational data to frr-interface model
module: frr-interface
+--rw lib
+--rw interface* [name vrf]
+--rw name string
+--rw vrf frr-vrf:vrf-ref
+--rw description? string
+--ro state
+--ro if-index? int32
+--ro mtu? uint16
+--ro mtu6? uint32
+--ro speed? uint32
+--ro metric? uint32
+--ro flags? if-flags-type
+--ro type? identityref
+--ro phy-address? ietf-yang-types:mac-address
Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
Chirag Shah [Tue, 4 Feb 2020 00:09:29 +0000 (16:09 -0800)]
yang: add ietf interface yang model
Add ietf interface yant model.
Also include it in the makefile.
Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
Sarita Patra [Wed, 5 Feb 2020 08:52:27 +0000 (00:52 -0800)]
yang: igmp yang definition
Defined frr-igmp.yang file for IGMP protocol.
Co-authored-by: Sarita Patra <saritap@vmware.com>
Co-authored-by: Santosh P K <sapk@vmware.com>
Signed-off-by: Sarita Patra <saritap@vmware.com>
Chirag Shah [Tue, 31 Mar 2020 02:29:32 +0000 (19:29 -0700)]
lib: yang wrapper nexthop type to str
Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
Chirag Shah [Sat, 21 Mar 2020 01:58:16 +0000 (18:58 -0700)]
lib: add yang wrapper for type empty
Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
Chirag Shah [Tue, 10 Mar 2020 01:48:30 +0000 (18:48 -0700)]
zebra: stub changes to assimilate re into rib nb
Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
Chirag Shah [Fri, 6 Mar 2020 05:43:41 +0000 (21:43 -0800)]
yang: zebra rib model add route entry
FRR rib model need to accomodate route entries for
a given destination prefix.
Add a list of route entry under the list of prefix.
+--rw ribs
+--rw rib* [afi-safi-name table-id]
+--rw table-id uint32
+--rw afi-safi-name identityref
+--ro route* [prefix]
+--ro prefix ietf-inet-types:ip-prefix
+--ro route-entry* [protocol]
+--ro protocol frr-route-types:frr-route-types-v4
+--ro instance? uint16
+--ro distance? uint8
+--ro metric? uint32
+--ro tag? uint32
+--ro selected? empty
+--ro installed? empty
+--ro failed? empty
+--ro queued? empty
+--ro internal-flags? int32
+--ro internal-status? int32
+--ro uptime? ietf-yang-types:date-and-time
+--ro nexthop-group* [name]
+--ro name string
+--ro frr-nexthops
+--ro nexthop* [nh-type gateway interface]
+--ro nh-type frr-nexthop:nexthop-type
+--ro vrf? frr-vrf:vrf-ref
+--ro gateway frr-nexthop:optional-ip-address
+--ro interface frr-interface:interface-ref
+--ro bh-type? frr-nexthop:blackhole-type
+--ro onlink? boolean <false>
+--ro mpls-label-stack
| +--ro entry* [id]
| +--ro id uint8
| +--ro label? ietf-routing-types:mpls-label
| +--ro ttl? uint8
| +--ro traffic-class? uint8
+--ro duplicate? empty
+--ro recursive? empty
+--ro active? empty
+--ro fib? empty
Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
Chirag Shah [Mon, 2 Mar 2020 15:22:45 +0000 (07:22 -0800)]
yang: zebra rib model remove grouping for ip route
Grouping is referencing leaves outside the grouping
from where it is used. Removing it and defining leaves
at the used place.
Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
Chirag Shah [Thu, 6 Feb 2020 21:32:34 +0000 (13:32 -0800)]
zebra: convert clear evpn dup addr command to nb
Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
Chirag Shah [Wed, 29 Jan 2020 20:05:35 +0000 (12:05 -0800)]
zebra: nb rpc cb for clear evpn dup addr cmd
Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
Chirag Shah [Thu, 6 Feb 2020 20:37:28 +0000 (12:37 -0800)]
zebra: clear dup detect cleanup for nb conversion
Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
Chirag Shah [Thu, 30 Jan 2020 19:42:58 +0000 (11:42 -0800)]
lib:api to convert mac to yang object
Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
Chirag Shah [Wed, 29 Jan 2020 17:38:03 +0000 (09:38 -0800)]
zebra: nb callbacks support
Definition of the northbound callbacks
and associated YANG data paths for zebra.
Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
Chirag Shah [Fri, 13 Dec 2019 01:43:19 +0000 (17:43 -0800)]
yang: add zebra model in makefile
Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
Chirag Shah [Wed, 29 Jan 2020 17:38:03 +0000 (09:38 -0800)]
*: frr nexthop yang in makefile
Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
Chirag Shah [Fri, 6 Dec 2019 02:48:14 +0000 (18:48 -0800)]
yang: zebra rib operational model
augment /frr-vrf:lib/frr-vrf:vrf:
+--rw ribs
+--rw rib* [afi-safi-name table-id]
+--rw table-id uint32
+--rw afi-safi-name identityref
+--ro route* [prefix]
+--ro prefix ietf-inet-types:ip-prefix
+--ro protocol? frr-route-types:frr-route-types-v4
+--ro protocol-v6? frr-route-types:frr-route-types-v6
+--ro vrf? frr-vrf:vrf-ref
+--ro distance? uint8
+--ro metric? uint32
+--ro tag? uint32
+--ro selected? empty
+--ro installed? empty
+--ro failed? empty
+--ro queued? empty
+--ro internal-flags? int32
+--ro internal-status? int32
+--ro uptime? ietf-yang-types:date-and-time
+--ro nexthop-group* [name]
+--ro name string
+--ro frr-nexthops
+--ro nexthop* [nh-type gateway interface]
+--ro nh-type frr-nexthop:nexthop-type
+--ro vrf? frr-vrf:vrf-ref
+--ro gateway frr-nexthop:optional-ip-address
+--ro interface frr-interface:interface-ref
+--ro bh-type? frr-nexthop:blackhole-type
+--ro onlink? boolean <false>
+--ro mpls-label-stack
| +--ro entry* [id]
| +--ro id uint8
| +--ro label? ietf-routing-types:mpls-label
| +--ro ttl? uint8
| +--ro traffic-class? uint8
+--ro duplicate? empty
+--ro recursive? empty
+--ro active? empty
+--ro fib? empty
Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
Chirag Shah [Sat, 21 Mar 2020 23:46:24 +0000 (16:46 -0700)]
yang: revert leafref to get interface cmd working
Unable to access interface command:
root@bharat:~/stash/libyang/build# dpkg-query -W | grep libyang
libyang-dev 0.16.105-3~ubuntu18.04.1
libyang0.16 0.16.105-3~ubuntu18.04.1
root@bharat:~/stash/libyang/build# vtysh
bharat# config t
bharat(config)# interface lo
% Configuration failed: validation error.
Please check the logs for more details.
Logfile:
2020/03/21 16:48:55 ZEBRA: libyang: Leafref
"/frr-vrf:lib/frr-vrf:vrf/frr-vrf:name" of value "default"
points to a non-existing leaf.
(/frr-interface:lib/interface[name='lo'][vrf='default']/vrf)
2020/03/21 16:48:55 ZEBRA: [EC
100663337 ]
nb_candidate_commit_prepare: failed to validate
candidate configuration
CI system failure:
2020/03/21 18:53:18 ZEBRA: libyang: Leafref
"/frr-vrf:lib/frr-vrf:vrf/frr-vrf:name" of value "default"
points to a non-existing leaf.
(/frr-interface:lib/interface[name='r1-eth0'][vrf='default']/vrf)
2020/03/21 18:53:18 ZEBRA: [EC
100663337 ] nb_candidate_commit_prepare:
failed to validate candidate configuration
2020/03/21 18:53:18 ZEBRA: libyang: Leafref
"/frr-vrf:lib/frr-vrf:vrf/frr-vrf:name" of value "default"
points to a non-existing leaf.
(/frr-interface:lib/interface[name='r1-eth1'][vrf='default']/vrf)
Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
Chirag Shah [Sat, 21 Mar 2020 21:35:14 +0000 (14:35 -0700)]
lib: convert vrf cmd to northbound config callback
Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
Chirag Shah [Wed, 11 Mar 2020 20:14:08 +0000 (13:14 -0700)]
*: include vrf northbound module in init
Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
Chirag Shah [Wed, 11 Mar 2020 01:20:49 +0000 (18:20 -0700)]
lib: vrf northbound callbacks
Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
vdhingra [Wed, 11 Dec 2019 05:57:37 +0000 (21:57 -0800)]
lib: yang defination for basic frr-routing
Yang files for basic frr-routing used by other
daemons like staticd and pim
Co-authored-by: Santosh P K <sapk@vmware.com>
Co-authored-by: vishaldhingra <vdhingra@vmware.com>
Signed-off-by: vishaldhingra <vdhingra@vmware.com>
Santosh P K [Thu, 16 Apr 2020 14:53:44 +0000 (20:23 +0530)]
Merge pull request #5451 from opensourcerouting/rcu-log
logging subsystem rewrite
vdhingra [Tue, 3 Dec 2019 14:00:51 +0000 (06:00 -0800)]
staticd: yang defination
Yang files for staticd to use northbound APIs
Co-authored-by: Santosh P K <sapk@vmware.com>
Co-authored-by: vishaldhingra <vdhingra@vmware.com>
Signed-off-by: vishaldhingra <vdhingra@vmware.com>
Santosh P K [Fri, 20 Dec 2019 08:30:57 +0000 (00:30 -0800)]
lib: FRR next-hop yang data model.
A common nexthop and group nexthop yang data model
for all protocols in FRR.
Co-authored-by: Santosh P K <sapk@vmware.com>
Co-authored-by: Vishaldhingra <vdhingra@vmware.com>
Signed-off-by: Santosh P K <sapk@vmware.com>
Chirag Shah [Mon, 3 Feb 2020 21:31:32 +0000 (13:31 -0800)]
yang: add vrf ref to interface model
module: frr-interface
+--rw lib
+--rw interface* [name vrf]
+--rw name string
+--rw vrf frr-vrf:vrf-ref
+--rw description? string
Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
Chirag Shah [Mon, 9 Dec 2019 02:18:04 +0000 (18:18 -0800)]
*: add frr-vrf yang module in makefile
lib: Adding frr-vrf yang module to common place
so it can be accessed from all frr modules.
Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
Chirag Shah [Fri, 6 Dec 2019 04:47:01 +0000 (20:47 -0800)]
yang: add vrf model
module: frr-vrf
+--rw lib
+--rw vrf* [name]
+--rw name string
+--ro id? uint32
+--ro active? boolean <false>
+--rw netns {netns}?
+--rw name? string
Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
Donatas Abraitis [Thu, 16 Apr 2020 13:13:01 +0000 (16:13 +0300)]
bgpd: Add a sanitify check for bgp_nexthop_cache against NULL
In real world sometimes happens that bgp_nexthop_cache is NULL. Avoid
segfaulting when using `show [ip] bgp ...` CLI commands.
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
Donatas Abraitis [Thu, 16 Apr 2020 13:05:34 +0000 (16:05 +0300)]
Merge pull request #6238 from donaldsharp/test_evpn_vxlan_cleanup
tests: Cleanup bgp config for evpn vxlan topotest
Donatas Abraitis [Thu, 16 Apr 2020 08:15:35 +0000 (11:15 +0300)]
bgpd, lib: Use bool instead of uint8_t for community/prefix-list "any"
That's only 0/1, useful to use just a bool for that.
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
Donald Sharp [Thu, 16 Apr 2020 11:04:27 +0000 (07:04 -0400)]
tests: Cleanup bgp config for evpn vxlan topotest
The bgp configuration for the vxlan topotest mixed
and matched some configuration that does not belong
for an IBGP setup.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
David Lamparter [Thu, 16 Apr 2020 10:55:02 +0000 (12:55 +0200)]
lib: #define FRR_CMD_NODE_20200416
... requested by Lou.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
David Lamparter [Thu, 2 Apr 2020 10:06:12 +0000 (12:06 +0200)]
vtysh: use parent_node for vtysh_exit()
Cleaning up the whole mess of "exit" and "quit" commands that follows is
left for a rainy day :(
Signed-off-by: David Lamparter <equinox@diac24.net>
David Lamparter [Sat, 8 Sep 2018 22:03:19 +0000 (00:03 +0200)]
*: add ->node_exit to struct cmd_node
Rather than doing a f*gly hack for the RPKI code, let's do an on-exit
hook in cmd_node. Also allows replacing some special-casing in the vty
code.
Signed-off-by: David Lamparter <equinox@diac24.net>