Commit Graph

13341 Commits

Author SHA1 Message Date
F. Aragon
2b5773b248
build: add -Wshadow to the dev build
Signed-off-by: F. Aragon <paco@voltanet.io>
2018-09-17 18:37:04 +02:00
Donald Sharp
5523c15692 zebra: Send correct default vrf tableid for MROUTE stats
So the linux kernel uses the RT_TABLE_MAIN for the table
id used for ip routing.  The multicast routing tables use
RT_TABLE_DEFAULT.  We changed the internal code of zebra_vrf
a few months back to use RT_TABLE_MAIN as the tableid to
use.  This caused the pim sg stats to stop working because
of the kernel bug where it uses a different table
for ip routing and ip multicast.

Put a bit of a special case in to do the right thing.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-09-17 09:22:31 -04:00
Donald Sharp
423648901a zebra: Add some additional vrf debug for retrieving mroute info
When debugging the mroute code path in zebra, add a bit of additional
data to allow us to know what is going on a bit more.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-09-17 09:22:31 -04:00
Lou Berger
b4657ea44c
Merge pull request #3031 from pacovn/static_analysis__Wcomma
bgpd isisd zebra: misuse of comma operator
2018-09-17 06:03:49 -04:00
David Lamparter
a63834dadb
Merge pull request #3036 from donaldsharp/kernel_is_a_mernel
Kernel is a mernel
2018-09-15 17:38:08 +02:00
David Lamparter
ee53d0b980
Merge pull request #3035 from donaldsharp/the_table_in_all_of_us
staticd: Allow table_id to be a distinguisher for installation
2018-09-15 17:37:00 +02:00
Donald Sharp
c25e2f1ad1 zebra: Newer kernels send data about mroute changes
Newer linux kernels apparently send data down the netlink
bus for the creation of mroutes.  Add a bit of code
to notice this and to handle it appropriately( ie do
nothing at this point in time ) as that the correct
place to do this is in the pim socket in pimd.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-09-14 17:54:11 -04:00
Donald Sharp
87b5d1b098 zebra: Print out netlink message type instead of number
When we are displaying data about a netlink message
in debugs or errors, print out the message type
as a string instead of a number.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-09-14 17:48:51 -04:00
Donald Sharp
95cdbe5d0a staticd: Allow table_id to be a distinguisher for installation
The table_id should be a discriminator in the installation of
static routes into zebra from staticd.  Add this to allow the end
user to do something like this:

ip route 4.5.6.7/32 192.168.209.44
ip route 4.5.6.7/32 192.168.209.44 table 3000
ip route 4.5.6.7/32 192.168.209.45 table 3000

robot# show ip route
Codes: K - kernel route, C - connected, S - static, R - RIP,
       O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
       T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP,
       F - PBR, f - OpenFabric,
       > - selected route, * - FIB route

K>* 0.0.0.0/0 [0/101] via 192.168.201.1, enp0s3, 00:01:40
S>* 4.3.2.1/32 [1/0] via 192.168.210.4, enp0s10, 00:01:35
S>* 4.3.2.2/32 [1/0] via 192.168.209.4, enp0s9, 00:01:35
S>* 4.5.6.0/26 [1/0] via 192.168.210.4, enp0s10, 00:01:35
S>* 4.5.6.7/32 [1/0] via 192.168.209.44, enp0s9, 00:01:35
C>* 192.168.201.0/24 is directly connected, enp0s3, 00:01:40
C>* 192.168.208.0/24 is directly connected, enp0s8, 00:01:40
C>* 192.168.209.0/24 is directly connected, enp0s9, 00:01:40
C>* 192.168.210.0/24 is directly connected, enp0s10, 00:01:40
robot# show ip route table 3000
Codes: K - kernel route, C - connected, S - static, R - RIP,
       O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
       T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP,
       F - PBR, f - OpenFabric,
       > - selected route, * - FIB route

S>* 4.5.6.7/32 [1/0] via 192.168.209.44, enp0s9, 00:00:55
  *                  via 192.168.209.45, enp0s9, 00:00:55
robot#

Fixes: #2954
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-09-14 16:30:17 -04:00
David Lamparter
4205a06cc4
Merge pull request #3018 from donaldsharp/twheel_names
Twheel names
2018-09-14 17:57:19 +02:00
David Lamparter
e7bdf513d5
Merge pull request #3030 from pacovn/fp_type_fixes1
bgpd: type fix
2018-09-14 17:55:50 +02:00
David Lamparter
2fa3198399
Merge pull request #3023 from qlyoung/ultimate-warning-reference-cards-rename
warning reference cards rename
2018-09-14 17:35:58 +02:00
F. Aragon
1445b43c41
bgpd isisd zebra: misuse of comma operator
Detected using ./configure CFLAGS=-Wcomma CC=clang

Signed-off-by: F. Aragon <paco@voltanet.io>
2018-09-14 15:55:56 +02:00
F. Aragon
3cf7af1d3d
bgpd: type fix
For tracking the last state of the penalty (struct bgp_damp_info) a 'double'
type was used instead of using the 'unsigned int' being used in the structure.

Detected using ./configure CFLAGS=-Wfloat-equal CC=clang

Signed-off-by: F. Aragon <paco@voltanet.io>
2018-09-14 15:01:03 +02:00
Quentin Young
1c50c1c0d6 *: style for EC replacements
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2018-09-13 19:38:57 +00:00
Quentin Young
450971aa99 *: LIB_[ERR|WARN] -> EC_LIB
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2018-09-13 19:34:28 +00:00
Quentin Young
e914ccbe9c zebra: ZEBRA_[ERR|WARN] -> EC_ZEBRA
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2018-09-13 19:23:29 +00:00
Quentin Young
f74ae2bb41 watchfrr: WATCHFRR_[ERR|WARN] -> EC_WATCHFRR
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2018-09-13 19:16:02 +00:00
Quentin Young
993c8024ff ripd: RIP_[ERR|WARN] -> EC_RIP
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2018-09-13 19:14:28 +00:00
Quentin Young
298004a139 pimd: PIM_[ERR|WARN] -> EC_PIM
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2018-09-13 19:12:58 +00:00
Quentin Young
1a7ecb9630 isisd: ISIS_[ERR|WARN] -> EC_ISIS
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2018-09-13 19:12:08 +00:00
Quentin Young
f0132ab5a7 eigrpd: EIGRP_[ERR|WARN] -> EC_EIGRP
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2018-09-13 19:04:11 +00:00
Quentin Young
5b003f31fd babeld: BABEL_[ERR|WARN] -> EC_BABEL
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2018-09-13 19:01:19 +00:00
Quentin Young
2b84a521e7 nhrpd: NHRP_[ERR|WARN] -> EC_NHRP
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2018-09-13 18:59:07 +00:00
Quentin Young
cf444bcf40 ospfd: OSPF_[ERR|WARN] -> EC_OSPF
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2018-09-13 18:56:04 +00:00
Quentin Young
e50f7cfdbd bgpd: BGP_[WARN|ERR] -> EC_BGP
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2018-09-13 18:51:04 +00:00
Donald Sharp
00256d2dde
Merge pull request #3019 from pacovn/static_analysis__shadow_variables4
bgpd lib ospf6d pbrd tests zebra: shadowing fixes
2018-09-13 14:47:12 -04:00
F. Aragon
7fe96307ee
bgpd lib ospf6d pbrd tests zebra: shadowing fixes
This fixes all remaining local variable shadowing cases

Signed-off-by: F. Aragon <paco@voltanet.io>
2018-09-13 17:37:08 +02:00
Donald Sharp
c2cfa843b4 lib, pimd: Convert timer_wheel to use thread_execute_name
Allow at timer wheel creation time the ability to specify a
name for what we want the 'show thread cpu' to show up as.

Modify pim to note this.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-09-13 10:51:13 -04:00
Donald Sharp
b7fb24ce6f lib: Add thread_execute_name
Allow the user to specify a run name for display in
'show thread cpu' that is different than the function
name we are calling.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-09-13 10:50:50 -04:00
Donald Sharp
eb938189a1 doc: Update docs to mention 'no bgp fast-external-failover'
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-09-13 10:31:08 -04:00
Donald Sharp
c19fe3c7ab bgpd: Using no bgp fast-external-failover prevents vrf intf moves
When using `no bgp fast-external-failover` and a interface moves
from one vrf into another we would not fully process the change.
Fix this code path.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-09-13 09:05:42 -04:00
Donald Sharp
6efca3442f
Merge pull request #3007 from pacovn/static_analysis__shadow_variables2
lib vtysh zebra: variable shadowing fixes
2018-09-13 08:38:32 -04:00
Donald Sharp
fc6eb7d827
Merge pull request #3006 from pacovn/static_analysis__shadow_variables1
bgpd isisd ospf6d ospfd: variable shadowing fixes
2018-09-13 08:37:22 -04:00
Donald Sharp
38ee5e636d
Merge pull request #3009 from pacovn/static_analysis__shadow_variables3
pimd ripd ripngd: variable shadowing fixes
2018-09-13 08:35:47 -04:00
Donald Sharp
f2e946e681
Merge pull request #3013 from pacovn/static_analysis__conditional_omitted_operand1
nhrpd: missing operand added
2018-09-13 08:34:31 -04:00
F. Aragon
57b0ac508e
nhrpd: missing operand added
Detected using -Wgnu-conditional-omitted-operand

Signed-off-by: F. Aragon <paco@voltanet.io>
2018-09-13 12:05:20 +02:00
David Lamparter
029270d5f4 Merge branch 'warnings'
Signed-off-by: David Lamparter <equinox@diac24.net>
2018-09-12 22:00:04 +02:00
David Lamparter
e991eff5b5 Merge remote-tracking branch 'frr/master' into warnings
Conflicts:
	zebra/if_ioctl_solaris.c
	zebra/rtread_getmsg.c

Signed-off-by: David Lamparter <equinox@diac24.net>
2018-09-12 21:58:39 +02:00
F. Aragon
f7813c7c7f
bgpd isisd ospf6d ospfd: variable shadowing fixes
Signed-off-by: F. Aragon <paco@voltanet.io>
2018-09-12 16:44:36 +02:00
Donald Sharp
17cdd31e00 bgpd: Prevent possible crash when parsing v6 attributes
The peer->nexthop.ifp pointer must be set when parsing the
attributes in bgp_mp_reach_parse, notice this
and fail gracefully.

Rework bgp_nexthop_set to remove the HAVE_CUMULUS and to
fail the nexthop_set when we have a zebra connection and
no ifp pointer, as that not havinga zebra connection and
no ifp pointer is legal.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-09-12 09:00:43 -04:00
F. Aragon
dc7204b775
pimd ripd ripngd: variable shadowing fixes
Signed-off-by: F. Aragon <paco@voltanet.io>
2018-09-12 12:55:31 +02:00
David Lamparter
7aab2afbad
Merge pull request #3005 from patrasar/indentation_warnings
pimd: fix indentation warnings
2018-09-12 12:39:26 +02:00
F. Aragon
c683bd446c
lib vtysh zebra: variable shadowing fixes
Signed-off-by: F. Aragon <paco@voltanet.io>
2018-09-12 12:27:38 +02:00
Sarita Patra
eccdcfe2b6 pimd: fix indentation warnings
Signed-off-by: Sarita Patra <saritap@vmware.com>
2018-09-11 22:00:15 -07:00
Russ White
88f47ef365
Merge pull request #2944 from thbtcllt/master
fix zebra crash when a vrf interface changes with netns implementation for vrf
2018-09-11 11:33:27 -04:00
David Lamparter
5297438f59 Merge branch 'pr2983' 2018-09-11 16:56:30 +02:00
David Lamparter
371bfb5c3e lib: whitespace/spelling fix
Signed-off-by: David Lamparter <equinox@diac24.net>
2018-09-11 16:55:56 +02:00
Donald Sharp
4328a933aa
Merge pull request #2985 from patrasar/Fix_1636
pimd: create a new command "ip pim" configuring pim sm
2018-09-11 09:16:24 -04:00
root
2f5e937c49 pimd: create a new command "ip pim" configuring pim sm
A new command "ip pim" is created to configure pim sm on an
interface, which replaces the existing commands "ip pim sm"
and "ip pim ssm" and make "ip pim sm" and "ip pim ssm" as
hidden commands. The command "ip multicast-routing" is removed
since it is already enabled on FRR by default.

Signed-off-by: Sarita Patra saritap@vmware.com
2018-09-10 22:22:14 -07:00