Commit Graph

11367 Commits

Author SHA1 Message Date
Donald Sharp
ff7a93c67b
Merge pull request #2185 from opensourcerouting/isis-redist-metric-fix
isisd: use 0 as default-metric for redistribution
2018-05-08 14:10:02 -04:00
Quentin Young
e69a5229c3 frr: remove README.NetBSD
This thing is virtually unused and has a weird name, let's delete it

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2018-05-08 14:07:03 -04:00
Fredi Raspall
0313523d77 lib, zebra: fix formatting and style
Signed-off-by: Fredi Raspall <fredi@voltanet.io>
2018-05-08 18:37:05 +02:00
Christian Franke
8cfc8c5cfd isisd: use 0 as default-metric for redistribution
Signed-off-by: Christian Franke <chris@opensourcerouting.org>
2018-05-08 17:32:15 +02:00
Quentin Young
46a6698304 doc: remove duplicate option doc
Earlier commit added docs on `--enable-multipath` but it was already
documented.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2018-05-07 18:12:17 -04:00
Quentin Young
8af54f0bfb
Merge pull request #2181 from zefanxu-bsn/patch-1
Default hello interval is wrong
2018-05-07 17:19:14 -04:00
Zefan Xu
2de01166c5
Default hello interval is wrong 2018-05-07 14:16:42 -07:00
Quentin Young
04e1c5bb4a bgpd: fix maximum-prefix + peer-group
Attribute set on peer was being overridden when set on the peer-group.

This commit also adds a parallel flags array that indicates whether a
particular flag is sourced from the peer-group or is peer-specific. It
assumes the default state of all flags is unset. This looks to be true
except in the case of PEER_FLAG_SEND_COMMUNITY,
PEER_FLAG_SEND_EXT_COMMUNITY, and PEER_FLAG_SEND_LARGE_COMMUNITY; these
flags are set by default except when the user specifies to use
config-type = cisco. However the flag field can merely be flipped to
mean the negation of those options in a future commit.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2018-05-07 14:44:10 -04:00
Philippe Guibert
614827f88b pbrd: encode null fwmark to be consistent with zebra decode rule
A null 4-byte long fwmark is encoded in pbr rule.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2018-05-07 18:59:41 +02:00
Quentin Young
363e24c651 lib: add mt-safe variants for stream_fifo ops
stream_fifo is used as our standard internal message queue. Message
queues are useful in multithreaded environments. Up until now I have
been doing my own synchronization when using stream_fifo in this way;
this patch gets rid of the need for that boilerplate and decreases the
risk of locking mistakes when working with this datastructure.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2018-05-07 11:37:07 -04:00
Renato Westphal
e8f95403e4
Merge pull request #2156 from donaldsharp/zebra_doc
doc: Explain ecmp building and startup for zebra
2018-05-07 12:18:14 -03:00
Renato Westphal
adb6f72851
Merge pull request #2166 from qlyoung/docuser
doc: add figures & fix some typos in arch. docs
2018-05-07 12:15:18 -03:00
Renato Westphal
1d21078486
Merge pull request #2175 from chiragshah6/mdev
ospf6d: add newline to show debugging cmd
2018-05-07 12:08:16 -03:00
Chirag Shah
257660b457 ospf6d: add newline to show debugging cmd
Ticket:CM-20738
Testing Done:
Before:
OSPF6 debugging status:debug ospf6 lsa inter-router examine
debug ospf6 lsa as-external examine
debug ospf6 route memory
debug ospf6 border-routers

After:
OSPF6 debugging status:
debug ospf6 lsa inter-router examine
debug ospf6 lsa as-external examine
debug ospf6 route memory
debug ospf6 border-routers

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2018-05-05 15:38:11 -07:00
Mladen Sablic
21313cbfda pimd: show ip igmp statistics command
Command showing IGMP Rx statistics, useful for analyzing IGMP
activity on interfaces.

Signed-off-by: Mladen Sablic <mladen.sablic@gmail.com>
2018-05-04 17:05:19 +02:00
Philippe Guibert
7befff57df zebra: avoid inactivating twice an interface
This code is a sanity check to avoid double unlink of interface.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2018-05-04 16:50:47 +02:00
Philippe Guibert
393ec5424e zebra: fix missing node attribute set in ifp
There are cases when switching from one netns to an other one, where the
if_table registration by index has not been flushed. This fix mitigates
the potential crashes, in case the ifp->node pointer is null, the value
is overwritten by the route_node obtained.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2018-05-04 16:50:47 +02:00
Philippe Guibert
5efbf31054 zebra: avoid case where same interface pointer returned
When checking for a duplicate interface in an other NETNS, one may find
an interface in default VRF. That interface may have been moved to that
default VRF, for further action. Prevent from doing any action at this
point.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2018-05-04 16:50:47 +02:00
Philippe Guibert
9373219c67 zebra: improve logs when replacing interface to an other netns
The log information is better displated.
Also the variable name fits better with other_ifp, than with old_ifp.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2018-05-04 16:50:47 +02:00
Donald Sharp
0d8df93443 doc: Explain ecmp building and startup for zebra
Explain the --enable-ecmp=X configure option as well as
modify the zebra user doc to explain the -e X option.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-05-03 23:13:15 -04:00
Donald Sharp
1c96f2fb96
Merge pull request #2169 from piotrjurkiewicz/eigrp_feasibility
eigrpd: Consider only feasible successors as successors
2018-05-03 23:02:36 -04:00
Donald Sharp
87e6a84061
Merge pull request #2167 from piotrjurkiewicz/master
eigrpd: Correctly calculate EIGRP packet MTU
2018-05-03 21:58:10 -04:00
Piotr Jurkiewicz
53765081f9 eigrpd: Consider only feasible successors as successors
Meeting the feasibility condition is required also for routes
meeting the variance condition.

Signed-off-by: Piotr Jurkiewicz <piotr.jerzy.jurkiewicz@gmail.com>
2018-05-04 03:01:29 +02:00
Piotr Jurkiewicz
9378632f04 eigrpd: Use EIGRP_PACKET_MTU(mtu) macro
Signed-off-by: Piotr Jurkiewicz <piotr.jerzy.jurkiewicz@gmail.com>
2018-05-04 02:58:31 +02:00
Piotr Jurkiewicz
ca83a1ab22 eigrpd: Correctly calculate EIGRP packet MTU
Someone forgot that EIGRP packets are encapsulated in IP.

Signed-off-by: Piotr Jurkiewicz <piotr.jerzy.jurkiewicz@gmail.com>
2018-05-04 02:58:18 +02:00
Quentin Young
c9efc8d3fe doc: add figures & fix some typos in arch. docs
Found some old design documentation I wrote up and stole the figures.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2018-05-03 12:31:06 -04:00
Jafar Al-Gharaibeh
babf583e63
Merge pull request #2158 from donaldsharp/timeouts
redhat, tools: Increase startup time out a bit
2018-05-03 09:45:04 -05:00
Jafar Al-Gharaibeh
45f65a6f6c
Merge pull request #2164 from donaldsharp/pbr_nht_eats_gcc
pbrd: Fix nearly impossible truncation
2018-05-03 09:44:15 -05:00
Jafar Al-Gharaibeh
9794f1ad46
Merge pull request #2146 from qlyoung/docuser
doc: add documentation on threading & process arch
2018-05-03 09:42:46 -05:00
Jafar Al-Gharaibeh
83f5c52f64
Merge pull request #2161 from donaldsharp/zebra_improved_out
zebra: Add a few more breadcrumbs
2018-05-03 09:41:12 -05:00
Jafar Al-Gharaibeh
31569f0bbc
Merge pull request #2159 from donaldsharp/msdp_crash
pimd: Fix some msdp crashes when some fundamentals change
2018-05-03 09:40:23 -05:00
Jafar Al-Gharaibeh
6d8fa7643d
Merge pull request #2143 from donaldsharp/pimaroni
Pimaroni
2018-05-03 09:39:55 -05:00
mitesh
3714a3853c *: change struct evpn_addr to include a union of all evpn route types
EVPN prefix depends on the EVPN route type.
Currently, in FRR we have a prefix_evpn/evpn_addr which relates to a evpn prefix.
We need to convert this to encompass an union of various EVPN route-types.

This diff handles the necessary code changes to adopt the new struct evpn_addr.

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
2018-05-02 17:49:17 -07:00
Donald Sharp
29d5a14634 pbrd: Fix nearly impossible truncation
Since we are writing into the name field which is PBR_MAP_NAMELEN
size, we are expecting this to field to be at max 100 bytes.
Newer compilers understand that the %s portion may be up to
100 bytes( because of the size of the string.  The %u portion
is expected to be 10 bytes.  So in `theory` there are situations
where we might truncate.  The reality this is never going to
happen( who is going to create a nexthop group name that is
over say 30 characters? ).  As such we are expecting the
calling function to subtract 10 from the size_t l before
we pass it in to get around this new gcc fun.

Fixes: #2163
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-05-02 20:14:36 -04:00
Russ White
a2892c914b
Merge pull request #2141 from chiragshah6/ospfv3_dev
ospf6d: fix intra prefix ecmp
2018-05-02 18:55:56 -04:00
Russ White
d437ae815d
Merge pull request #2073 from pguibert6WIND/bgp_fs_pbr
Bgp Flowspec Policy Based Routing
2018-05-02 18:54:11 -04:00
Donald Sharp
4258abc56c tests: Add a prefix-sid test
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-05-02 18:51:07 -04:00
Donald Sharp
30adbd4e4f bgpd: Handle multiple PREFIX_SID's at a time.
Handle multiple PREFIX_SID's at the same time.  The draft clearly
states that multiple should be handled and we have a actual pcap
file that clearly has multiple PREFIX_SID's at the same time.

Fixes: #2153
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-05-02 18:48:58 -04:00
Quentin Young
524ada7f23 doc: support VPATH builds
Documentation was not fully using Automake / Autoconf and therefore needs
modifications to support black magic VPATH builds.

* Convert Makefile's to Autoconf-controlled Makefile.in's
* Tweak loading of pygments lexer to handle runtime paths
* Update .gitignore's as necessary

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2018-05-02 17:15:31 -04:00
Donald Sharp
f03098f979 zebra: Add a few more breadcrumbs
re->status and re->flags both influence our decision states
for rib processing.  Yet it's impossible to see them.  Add
a tiny bit of code to allow us to look at them when things
are not behaving like we would expect.

Additionally dump the nexthop->flags at the same time for
the same reasons.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-05-02 16:50:37 -04:00
Russ White
d71b0564c2
Merge pull request #2154 from dslicenc/hostname-fix
lib: allow hostname to begin with a letter or number
2018-05-02 14:23:46 -04:00
Fredi Raspall
aec865e416 bgpd/bgp_zebra.c: Fix process of label-chunk msg
All messages to/from the label manager include two additional
fields: protocol and instance. This patch fixes the parsing
of label chunks response used by BGPd, which did not consider
the two fields.

Signed-off-by: Fredi Raspall <fredi@voltanet.io>
2018-05-02 16:38:54 +02:00
Martin Winter
ef2a2c2e09 configure: Update version to 5.1-dev
We are now working on 5.1-dev for new work.

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-05-02 07:28:39 -07:00
Martin Winter
7f3bfd78de
Merge pull request #2157 from donaldsharp/zebra_zebra_zebra
zebra: Fix crash on *BSD
2018-05-02 04:16:28 -07:00
Donald Sharp
ec2f0e53c4 pimd: Fix some msdp crashes when some fundamentals change
When the underlying networking subsystem is fundamentally
changed via some system controls.  If we have msdp running
there exists a possibility that we need to stop some running
timers to prevent a crash.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-05-01 23:40:26 -04:00
Donald Sharp
31649cb98b redhat, tools: Increase startup time out a bit
We have run across a few cases where the startup timeout is
ocurring on heavily loaded systems.  This is especially true
in simulation environments where the hypervisor load is
extremely high.

Modify the code base to give ourselves more time to startup.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-05-01 23:35:53 -04:00
Donald Sharp
898a23caa7 zebra: Fix crash on *BSD
The zns->ns pointer is not created until we get a callback
from the kernel that a ns exists.  This should potentially
fix a crash in the *BSD code path.

Fixes: #2152
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-05-01 23:24:53 -04:00
Chirag Shah
6942698da4 ospf6d: fix intra prefix ecmp
When there are multiple advertisers/paths to reach
Intra-Prefix route, if any path is removed,
re-added back, it does add to the same route node.

ospf6 intra prefix, first stored in oa->route_table
then as part of add cb, it would add to ospf6->route_table
which adds to FIB.

When copying a route with its paths & NHs from oa->table to
ospf6->table the path origin should not be modified otherwise
ospf6->table would not find existing node rather it appends
new node.

Use spf_table to fetch nexthops for a given advertisers/path,
to form effective nexthop list for a route.

Ticket:CM-16139
Testing Done:
    R2 ---- R3
     |       |
    R1 ---- R4
Inject Intra Ara Prefix LSA from R1 & R3, validate R2 and R4
having two origination point/paths to reach for a route.
Trigger link flap, frr restart or remove/readd R3's INP one of the
injection point.
Remove link between R4 to R1 and validate R3 carrying single
path to reach prefix.

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2018-05-01 16:29:21 -07:00
Don Slice
d4f368e15a lib: allow hostname to begin with a letter or number
Customers have requested the ability to name their devices starting
with a number instead of a letter.  This fix changes the check for
hostname to allow either a letter or a number.

Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
2018-05-01 21:13:51 +00:00
Fredi Raspall
35cbe02a20 zebra, lib: Fix SA warning and formatting.
Signed-off-by: Fredi Raspall <fredi@voltanet.io>
2018-05-01 21:43:18 +02:00