| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
During the loop we save a pointer to the next route in the table in case
brouter is deleted during the course of the loop iteration. However when
we call ospf6_route_remove this can trigger ospf6_route_remove on other
routes in the table, one of which could be pointed at by said pointer.
Since ospf6_route_next locks the route that it returns, it won't
actually be deleted, instead the refcount will go to 1. In the next loop
iteration, nbrouter becomes brouter, and calling ospf6_route_next on
this one will finally decrement the refcount to 0, resulting in a free,
which causes subsequent reads on brouter to be UAF. Since the route will
have OSPF6_ROUTE_WAS_REMOVED set, provided the memory was not
overwritten before we got there, we'll continue on to the next one so it
is unlikely this will cause a crash in production.
Solution implemented is to check if we've deleted the route and continue
if so.
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
|
|\
| |
| | |
bgpd: vty command fixup for evpn rt5
|
|/
|
|
|
|
| |
evpn vty command can be used to configure evpn rt5 entries.
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
|
|\
| |
| | |
pimd: fix some null pointer derefs in cli
|
| |
| |
| |
| |
| |
| |
| | |
If pim/igmp is not enabled on an interface, the ->info pointer will be
null. Need to check that before dereferencing it.
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
|
|\ \
| | |
| | | |
Isisd: assorted fixes
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When we receive or generate new versions of fragments which are
curently pending for age out, we need to ensure that they are correctly
linked to their lsp0.
Signed-off-by: Christian Franke <chris@opensourcerouting.org>
|
| | |
| | |
| | |
| | | |
Signed-off-by: Christian Franke <chris@opensourcerouting.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
isis_spf_schedule gets called in states where an immediate spf run
will lead to crashes, e.g. from lsp_destroy. Delay the spf execution
until the event calling isis_spf_schedule has run to completion to
avoid this.
Signed-off-by: Christian Franke <chris@opensourcerouting.org>
|
|/ /
| |
| |
| |
| |
| |
| |
| | |
There is no point in building a multipath route via one neighbor
if there is only one link to the neighbor, but the neighbor has
multiple IPs on that link. So only create one nexthop per link.
Signed-off-by: Christian Franke <chris@opensourcerouting.org>
|
|\ \
| | |
| | | |
isisd: spf improvements
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
SPF maintains a datastructure which is never actually read. I think
we can spend CPU more sensibly.
Signed-off-by: Christian Franke <chris@opensourcerouting.org>
|
| | |
| | |
| | |
| | | |
Signed-off-by: Christian Franke <chris@opensourcerouting.org>
|
| |/
| |
| |
| | |
Signed-off-by: Christian Franke <chris@opensourcerouting.org>
|
|\ \
| | |
| | | |
*: fix segfault when sending more than MULTIPATH_NUM nexthops
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This is a fallout from PR #1022 (zapi consolidation). In the early days,
the client daemons would allocate enough memory to send all nexthops
to zebra. Then zebra would add all nexthops to the RIB and respect
MULTIPATH_NUM only when installing the routes in the kernel. Now things
are different and the client daemons can send at most MULTIPATH_NUM
nexthops to zebra, and failure to respect that will result in a buffer
overflow. The MULTIPATH_NUM limit in the new zebra API is a small price
we pay to avoid allocating memory for each route sent to zebra.
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
|
|\ \ \
| |_|/
|/| | |
isisd: Don't corrupt generated LSPs if information exceeds capacity
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| | |
Standard IS-IS only supports up to 256 fragments per router. Recognize
when the information we want to advertise exceeds 256 fragments and
print a warning in this case instead of overflowing the fragment counter
and overwriting existing LSP fragments.
Signed-off-by: Christian Franke <chris@opensourcerouting.org>
|
|\ \
| | |
| | | |
Recursive blackhole resolution
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Allow BGP to tell the user that a particular nexthop
is a blackhole nexthop.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When we get a route install for a route that needs to be recursively
resolved allow the blackhole to be considered and used if it is
available.
This allows bgp to install a route that will be blackholed.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
So the current code for a blackhole route assumed that you
would never want a recursively resolved blackhole to work.
Suppose you have this setup:
1) ip route 192.0.2.1/32 Null0
2) BGP installed with a route-map that rewrites the
nexthop to 192.0.2.1.
Zebra will end up with a recursive nexthop that resolves
to the blackhole.
The original rib install function assumed that we would never
want the ability to recursively resolve a blackhole route.
Instead just handle the blackhole as part of the nexthop_num = 1
case.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
On shutdown we were deleting the linked list that
kept the zclient connections, but we were not
freeing the data pointed at by the link list.
This modification allows the normal cleanup of the
linked list to cleanup the zclient data structure.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Usage of the address sanitizer and topotests showed
that rip was leaking obuf on shutdown
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
|
|\ \ \
| |_|/
|/| | |
doc: updates for master, cherry-picked from my 3.0 branch
|
| | |
| | |
| | |
| | | |
Signed-off-by: Nigel Kukard <nkukard@lbsd.net>
|
| | |
| | |
| | |
| | | |
Signed-off-by: Nigel Kukard <nkukard@lbsd.net>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Regular expressions are used throughout in bgp commands, it
should not be in a section under as paths which cannot be
easily found.
Signed-off-by: Nigel Kukard <nkukard@lbsd.net>
|
| |/
| |
| |
| | |
Signed-off-by: Nigel Kukard <nkukard@lbsd.net>
|
|\ \
| | |
| | | |
bgpd: Intialize all the variables used in argv_find.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Ticket: CM-17706
Review: CCR-6639
Testing: Manual (test failing in min test for ARM)
Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
|
|\ \ \
| |/ /
|/| | |
Admin distance
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* Reuse route_distance() on rib_add_multipath() and on rib_add();
* Set the admin distance of LDP and BGP MPLS LSPs.
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Set the default admin distance for some route types
more appropriately. The route_distance function
would return 0 for array items not configured, which
is not the right thing to do.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
|
|\ \
| | |
| | | |
zebra: Allow static routes to track how long they've been around
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Static routes were not keeping track of uptime appopriately and
as such we were not properly displaying uptime.
Fixes: #1196
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
|
|\ \ \
| | | |
| | | | |
lib: CMD_FERR_RETURN should return CMD_WARNING_CONFIG_FAILED
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
Testing the patch:
root@cel-redxp-10[frr-dwalton76]# vtysh -c 'conf t' -c ' int vlan2' -c
'ip igmp join 233.200.0.1 10.1.1.1'
Failure joining IGMP group: multicast not enabled on interface vlan2
root@cel-redxp-10[frr-dwalton76]# echo $?
1
root@cel-redxp-10[frr-dwalton76]
|
|\ \ \ \
| | | | |
| | | | | |
bgpd: Add large community json support
|
| | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | | |
Add the ability to display large commnunity json support
Fixes: 1191
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Circuit IDs need to be unique, otherwise mayhem will ensue.
Signed-off-by: Christian Franke <chris@opensourcerouting.org>
|
|\ \ \ \
| | | | |
| | | | | |
bgpd: fix sending of ECMP routes with both v4/v6 nexthops to zebra
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The previous code assumed that all nexthops of an ECMP route were of
the same address-family. This is not always the case.
Reported-by: Don Slice <dslice@cumulusnetworks.com>
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
LabNConsulting/working/master/patch/rfapi-rd.family
bgpd: rfapi - fix 'add vnc' command not picking up RD from vrf-policy
|
| |/ / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
RD type flag (family)
Signed-off-by: Lou Berger <lberger@labn.net>
|
|\ \ \ \ \
| |_|/ / /
|/| | | | |
Adding Useful Sysctl Settings recommendations.
|
| | |/ /
| |/| | |
|
|\ \ \ \
| | | | |
| | | | | |
pimd: Do not complain if re-joining an IGMP group
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
If you cut-n-paste an existing "ip igmp join 233.200.0.0 0.0.0.0"
command under an interface we should not return an error.
|