Commit Graph

9201 Commits

Author SHA1 Message Date
Nigel Kukard
4265a53eba bgpd: Fixed potential memory leak if additive is false
The else portion of the IF dups the lc, but doesn't free old

Signed-off-by: Nigel Kukard <nkukard@lbsd.net>
2017-08-31 23:39:53 +00:00
Nigel Kukard
f24804f401 bgpd: Fixed potential memory leak if additive is false in normal communities
The else portion of the IF dups the community, but doesn't free old

Signed-off-by: Nigel Kukard <nkukard@lbsd.net>
2017-08-31 23:39:53 +00:00
Nigel Kukard
ceead39c09 bgpd: Cleaned up some comments
Signed-off-by: Nigel Kukard <nkukard@lbsd.net>
2017-08-31 23:39:53 +00:00
Nigel Kukard
770817b408 bgpd: Fixed typo in comment
Signed-off-by: Nigel Kukard <nkukard@lbsd.net>
2017-08-31 23:39:53 +00:00
Nigel Kukard
cde8d696e0 bgpd: Fixed typo in the lc list type being matched on
This should be EXPANDED, not STANDARD.

Signed-off-by: Nigel Kukard <nkukard@lbsd.net>
2017-08-31 23:39:53 +00:00
Nigel Kukard
79dab4b7f4 bgpd: Cleaned up the lcom->size * LCOMMUNITY_SIZE with lcom_length()
Signed-off-by: Nigel Kukard <nkukard@lbsd.net>
2017-08-31 23:39:53 +00:00
Nigel Kukard
8ea01902d2 bgpd: The large community size is easier to read if its using the constant
Signed-off-by: Nigel Kukard <nkukard@lbsd.net>
2017-08-31 23:39:53 +00:00
Donald Sharp
af760ec192 zebra: Allow bh_type to override nexthop selection
If we've set the bh_type to something besides BLACKHOLE_UNSPEC
due to the received route type being RTN_BLACKHOLE,
RTN_UNREACHABLE or RTN_PROHIBIT then just trust that
the nexthop is just what it is and set accordingly.

Fixes: #1082
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-31 19:36:06 -04:00
Quentin Young
e3c9529ee9
lib: fix thread scheduling weirdness
Restores 3.0 behavior in terms of thread scheduling & prioritization.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2017-08-31 19:00:00 -04:00
Christian Franke
af88c591d1 isisd: cleanup output of show isis topology
Signed-off-by: Christian Franke <chris@opensourcerouting.org>
2017-09-01 00:58:21 +02:00
Donald Sharp
f8c175f318 zebra: Add v6 support for import-table
Now that all rib functions are afi/safi independent,
allow import-table to work with v6 routes too.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-31 16:11:17 -04:00
Donald Sharp
f229873a87 *: Cleanup multiple is_default... code
There are 3 different implementations of is_prefix.
Standardize on is_prefix_default and fix it's implementation.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-31 16:11:17 -04:00
Donald Sharp
20796bc364 zebra: Clean up indentation
Code was hard to look at.  Clean up a bit
since I'm going to be in there.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-31 16:11:17 -04:00
Renato Westphal
ff228d2948 Merge pull request #1076 from donaldsharp/connected
Connected
2017-08-31 14:53:36 -03:00
Donald Sharp
b06427987d zebra: Cleanup some typos
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-31 13:48:17 -04:00
Donald Sharp
dc7cd304bd zebra: Abstract what we can of connected_delete_ipv[4|6]
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-31 13:48:17 -04:00
Donald Sharp
11461c6390 zebra: Refactor connected_down_ipv[4|6]
The connected_down_ipv[4|6] functions are basically identical.
Refactor into one common interface.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-31 13:47:26 -04:00
Donald Sharp
ae87977c35 zebra: Refactor connected_up_ipv[4|6]
The connected_up_ipv[4|6] functions were almost identical.
Combine the forces for the goodness of mankind

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-31 13:47:03 -04:00
Donald Sharp
72a1b201d3 lib: Add PREFIX_COPY
Add a generic PREFIX_COPY to complement PREFIX_COPY_V4 and
PREFIX_COPY_V6

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-31 13:40:35 -04:00
Renato Westphal
8941a38520 Merge pull request #1078 from dwalton76/ospfd-network-cmd-warning
*: return CMD_WARNING if command was already configured
2017-08-31 13:23:25 -03:00
Renato Westphal
b3c18264e4 Merge pull request #1079 from qlyoung/fix-style-a
*: fix style
2017-08-31 13:22:55 -03:00
Jafar Al-Gharaibeh
959768e8d0 Merge pull request #1044 from donaldsharp/combination
Coverity Cleanup of Stuff
2017-08-31 10:25:55 -05:00
Daniel Walton
851fcbaebe *: return CMD_WARNING if command was already configured
Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>

If the user configures some command that is already in the config we
should return CMD_WARNING instead of CMD_WARNING_CONFIG_FAILED
2017-08-31 15:14:01 +00:00
Donald Sharp
89b680829e pimd: Add ability to lookup RP group by table.
This feature does this:

Add the ability to store the non-prefix static RP
entries into a table.  Then to lookup the G to
find the RP in that table, finding the longest
prefix match across both prefix-lists and
static RP's.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-31 10:30:19 -04:00
Donald Sharp
b77b155068 pimd: Match on longest prefix when searching for RP
When we are searching for a RP to use, amongst
many RP's and separate prefix-lists, Match on
the longest prefix specified to choose the
correct RP.

Example:
ip pim rp 4.3.2.1 prefix-list A
ip pim rp 4.3.2.2 prefix-list B
ip pim rp 4.3.2.3 prefix-list C

ip prefix-list A seq 5 permit 225.0.0.0/8
ip prefix-list B seq 5 permit 225.1.0.0/16
ip prefix-list C seq 5 permit 225.1.1.0/24

Old behavior:  Group 225.1.1.14 comes in and
we need to find the RP to use, we would match
on the first prefix-list A( since we are searching
based on a sorted link list of RP address ) and
select 4.3.2.1 as our RP

New behavior:  Group 225.1.1.14 comes in and
we need to find theRP to use, we now will
match on C( longest prefix match ) and select
4.3.2.3 as our RP.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-31 10:30:19 -04:00
Donald Sharp
093c928fc1 pimd: Improve handling in pim_rp_init
When we are starting up improve the error handling of
pim_rp_init and fix some memory leaks.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-31 10:30:19 -04:00
Donald Sharp
ea89ab14e2 pimd: Smarten up pim_nexthop_lookup
There exists cases where we have not properly configured
a RP yet, but we are getting callbacks for nocache.
This is generating allot of spam messages in the log.

In the case where we attempt to lookup INADDR_NONE
just say it fails without need to talk to anyone
since we'll never get a real answer from zebra
anyways.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-31 10:30:19 -04:00
Donald Sharp
ce94edc733 lib: Modify prefix_list_apply to allow retrieval of prefix
Create a new function prefix_list_apply_which_prefix which
will return a pointer to the matching prefix that caused
the acceptance/denial.

This change will be used in future commits.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-31 10:30:19 -04:00
Donald Sharp
37b5aaf8fd configure: Modify compiler options with dev build
When building a dev build, modify the compiler options
to be "-g -O0" to allow for better debugging.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-31 10:30:19 -04:00
Donald Sharp
b86f5cfb32 zebra: Fix vty_frame usage in zebra
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-31 07:33:29 -04:00
Renato Westphal
edfb96d21e Merge pull request #1077 from donaldsharp/ws
Cleanup some issues in pim
2017-08-30 22:26:41 -03:00
Donald Sharp
e507137524 Merge pull request #1080 from mgsmith1000/systemd_service_perms
Set permissions on systemd service file
2017-08-30 19:50:06 -04:00
Matthew Smith
398455d691 redhat: Set permissions on systemd service file
Systemd on CentOS 7.3 logs a warning about the execute bit being
set every time the frr service file is invoked by systemctl.
Modify the spec file to explicitly set the permissions to 644.

Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2017-08-30 14:02:37 -05:00
Quentin Young
60466a63f2
*: fix style
Fixes style nits introduced by recent pull requests.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2017-08-30 11:27:11 -04:00
Donald Sharp
2f5b00289d pimd: Fix pim->keep_alive_time missed patch
The commit '19b807c pimd: Allow the keepalive time to be per vrf.'
is missing some data.  Probably as a result of the indentation
and I accidently dropped it.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-30 07:49:51 -04:00
Donald Sharp
019eb073a2 pimd: Add missed frame for vrf based interface
pim is vrf aware and the interface based line for vrf's was
not being started with a vrf_frame as the non interface
based line was.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-30 07:39:46 -04:00
Donald Sharp
15fa39c51c pimd: Fix indentation issue that slipped in?
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-30 07:39:01 -04:00
Donald Sharp
cc1edd3929 Merge pull request #1059 from opensourcerouting/oldbits-1
zebra: PtP address configuration support
2017-08-29 19:53:30 -04:00
Donald Sharp
32592ffb4f Merge pull request #1056 from opensourcerouting/oldbits-0
"pathspace" options, vtysh-suid-cleanups, "vty_frame()"
2017-08-29 17:48:36 -04:00
Donald Sharp
b9d4bfa71e Merge pull request #1074 from opensourcerouting/ospf6-plist-segv
ospf6d: fix prefix list name SEGV
2017-08-29 17:35:42 -04:00
Donald Sharp
9af1a43159 Merge pull request #1073 from LabNConsulting/working/master/patch/fix-pr939-bgp-race
Fix bgpd race
2017-08-29 17:21:12 -04:00
Chirag Shah
60bfa4435c lib: apply_mask to route_node_get
remove address of prefix while typecasting to apply_mask

Singed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2017-08-29 12:52:57 -07:00
Lou Berger
b3e1dd3ca4 bgp: add asserts to catch unsupported double enqueue of an RN on a bgp_process_queue
Signed-off-by: Lou Berger <lberger@labn.net>
2017-08-29 15:30:34 -04:00
Lou Berger
ac021f4046 bgp: fix handling of bgp_process_queue to allow for RNs added
during callback.  Issue introduced in PR #939.

Signed-off-by: Lou Berger <lberger@labn.net>
2017-08-29 15:27:21 -04:00
Lou Berger
cfe8d15a80 bgp: refactor bgp_process_queue to be consistent and cleanup related event queuing
Signed-off-by: Lou Berger <lberger@labn.net>
2017-08-29 15:26:49 -04:00
David Lamparter
ff6bda17b5 ospf6d: fix prefix list name SEGV
Oops, I tested this with prefix lists configured and failed to notice it
blows up when nothing is set...

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-08-29 21:08:55 +02:00
Donald Sharp
6a74c5f9db lib, ospfd, ripd, ripngd: Fix 'set metric'
There are a variety of cli's associated with the
'set metric ...' command.  The problem that we
are experiencing is that not all the daemons
support all the varieties of the set metric
and the returned of NULL during the XXX_compile
phase for these unsupported commands is causing
issues.  Modify the code base to only return
NULL if we encounter a true parsing issue.
Else we need to keep track if this metric
applies to us or not.

In the case of rip or ripngd if the metric
passed to us is greater than 16 just turn
it internally into a MAX_METRIC.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-08-29 15:08:13 -04:00
David Lamparter
1ac2e7761c Revert "doc: work around weird texinfo bug"
This reverts commit 50ffbc124b.

The workaround stopped working :(

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-08-29 20:43:28 +02:00
David Lamparter
6ae5f93eb1 doc: add "ip address LOCAL peer PEER/SUBNET"
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-08-29 20:40:46 +02:00
David Lamparter
14f6aefe43 Merge pull request #998 from mkanjari/dev-master
Dev master
2017-08-29 20:03:48 +02:00