Commit Graph

7892 Commits

Author SHA1 Message Date
Renato Westphal
e22ab7727d Merge pull request #617 from donaldsharp/bgp_nexthop
vtysh: Add back some missing bgp commands
2017-05-30 10:27:38 -03:00
Donald Sharp
8f86e04871 Merge pull request #632 from opensourcerouting/bgpd-show-segfaults
bgpd: fix segfault with some show commands
2017-05-30 09:23:56 -04:00
Donald Sharp
c0619fdb86 Merge pull request #630 from opensourcerouting/zebra-lbl-unicast-issues
Zebra labeled unicast issues
2017-05-30 09:13:04 -04:00
David Lamparter
b7218a7903 Merge pull request #563 from qlyoung/enforce-no-pthread-cancellation
lib: enforce thread_cancel() MT-unsafe invariant
2017-05-30 15:10:52 +02:00
David Lamparter
9ad245006d Merge pull request #605 from dwalton76/show-ip-route-vrf-main
zebra: one "show ip route" to rule them all
2017-05-30 14:55:27 +02:00
David Lamparter
68b2595ec9 Merge pull request #576 from chiragshah6/pim_dev
pimd: pim bfd support
2017-05-30 14:37:08 +02:00
Renato Westphal
be1d6e1530 Merge pull request #623 from dslicenc/cm16512
bgpd: labeled-unicast issue changing from no import-check to using im…
2017-05-30 09:31:40 -03:00
David Lamparter
eed6bb1eec Merge pull request #627 from donaldsharp/ripng
Ripng
2017-05-30 14:29:35 +02:00
David Lamparter
683f0a1b12 Merge pull request #603 from qlyoung/fix-access-packed-member
*: do not take address of packed member
2017-05-30 14:26:03 +02:00
Don Slice
4dfee0ce4e bgpd: labeled-unicast issue changing from no import-check to using import-check
Problem seen in testing import-check using labeled-unicast address-family. When
transitioning from "no bgp network import-check" to "bgp network import-check",
previously installed networks were not removed.  This fix resolves this.

Ticket: CM-16512
Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
2017-05-30 12:16:01 +00:00
Renato Westphal
8282ecff17 bgpd: fix segfault with some show commands
The following commands were causing bgpd to crash when vpnv4/vpnv6 static
routes are configured:

bgpd aborted: vtysh  -c "show ip bgp view all ipv4 vpn json"
bgpd aborted: vtysh  -c "show ip bgp view all ipv4 vpn"
bgpd aborted: vtysh  -c "show ip bgp view all ipv6 vpn json"
bgpd aborted: vtysh  -c "show ip bgp view all ipv6 vpn"
bgpd aborted: vtysh  -c "show ip bgp vrf all ipv4 vpn json"
bgpd aborted: vtysh  -c "show ip bgp vrf all ipv4 vpn"
bgpd aborted: vtysh  -c "show ip bgp vrf all ipv6 vpn json"
bgpd aborted: vtysh  -c "show ip bgp vrf all ipv6 vpn"
bgpd aborted: vtysh  -c "show bgp view all ipv4 vpn json"
bgpd aborted: vtysh  -c "show bgp view all ipv4 vpn"
bgpd aborted: vtysh  -c "show bgp view all ipv6 vpn json"
bgpd aborted: vtysh  -c "show bgp view all ipv6 vpn"
bgpd aborted: vtysh  -c "show bgp vrf all ipv4 vpn json"
bgpd aborted: vtysh  -c "show bgp vrf all ipv4 vpn"
bgpd aborted: vtysh  -c "show bgp vrf all ipv6 vpn json"
bgpd aborted: vtysh  -c "show bgp vrf all ipv6 vpn"

Problem found with the CLI fuzzer.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2017-05-30 08:30:57 -03:00
Renato Westphal
6a2ef37ad0 zebra: fix installation of ipv4 labeled unicast routes
Rearrange the _netlink_route_build*() functions so the labels of the
nexthops are always installed, even for IPv4 routes with IPv6 nexthops.

Fixes Labeled Unicast with BGP Unnumbered.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2017-05-29 19:59:48 -03:00
Renato Westphal
4038e8046d zebra: fix processing of labeled ipv6 routes
We're incrementing nh_count twice for the same nexthop.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2017-05-29 19:58:35 -03:00
Renato Westphal
cf4e348abb Merge pull request #615 from dslicenc/cm16531
zebra: add bgp unnumbered labeled-unicast to zserv
2017-05-29 19:32:38 -03:00
Renato Westphal
8a74a9d1a5 Merge pull request #614 from qlyoung/fix-ospf6-oa-scope
ospf6d: default to dotted quad instead of ret NULL
2017-05-29 17:49:52 -03:00
Jafar Al-Gharaibeh
f3d2ef782d Merge pull request #583 from chiragshah6/pim_dev_3_0
pimd: Fix to Transmit S,G Join when transitioning from SGRpt to Join state
2017-05-29 12:37:26 -06:00
Renato Westphal
8ae2631740 Merge pull request #625 from donaldsharp/show_zebra
zebra: Fix 64 bit number printf issues
2017-05-29 12:58:21 -03:00
Renato Westphal
977c469f87 Merge pull request #629 from donaldsharp/eigrp_network
eigrpd: Fix network statement
2017-05-29 11:47:41 -03:00
Renato Westphal
c5fd908903 Merge pull request #618 from donaldsharp/hopola
Hopola
2017-05-29 10:21:46 -03:00
Renato Westphal
fd9b62d893 Merge pull request #621 from dslicenc/cm15545
bgpd: fix issue with ipv6 ecmp with vrfs
2017-05-29 09:45:02 -03:00
Donald Sharp
db215e1f4d eigrpd: Fix network statement
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-05-29 07:08:52 -04:00
Donald Sharp
8f5f09c8a1 ripngd: Let ripng announce interface turned on for usage.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-05-27 18:48:41 -04:00
Donald Sharp
d911a12a4e ripngd: Fix missing newlines at end of help strings
Found by visual inspection and some squinting

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-05-27 18:20:51 -04:00
Donald Sharp
901fda9830 nhrpd: Fix missing include for 'access_list_init' function
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-05-27 18:18:59 -04:00
Donald Sharp
1bab0e1056 Merge pull request #622 from Jafaral/vtysh-no-user
vtysh: fix a compile error when user/group are disabled
2017-05-26 15:03:59 -04:00
Donald Sharp
7217de2d8a babeld: The sockaddr code is not passed through anymore
The hw_addr_len and hw_addr are properly setup on all
the different systems.  We no longer need to have
individual daemons know anything about this underlying
mechanism to get the data from the kernel.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-05-26 14:56:19 -04:00
Donald Sharp
a1579fd393 zebra: Fix 64 bit number printf issues
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-05-26 14:06:37 -04:00
Jafar Al-Gharaibeh
9e8df9882c vtysh: fix a compile error when user/group are disabled
If FRR is configured explicilty with --disable-user and
--disable-group, FRR_USER and FRR_GROUP will not be defined
and can be safely skipped in vtysh.

Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
2017-05-26 12:53:08 -05:00
Quentin Young
000fe2ca4c bgpd: remove struct capability_orf_entry
virtually unused

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2017-05-26 15:22:24 +00:00
Quentin Young
c5f119c06d *: do not take address of packed member
May result in alignment errors on certain platforms

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2017-05-26 15:22:23 +00:00
Don Slice
eee6117a62 bgpd: fix issue with ipv6 ecmp with vrfs
Problem reported by customer that ipv6 wasn't installing ecmp paths
when using vrfs.  Found a vrf-unware call in bgp_zebra_announce that
was the culprit.  Testing of the fix looks good.

Ticket: CM-15545
Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
2017-05-26 15:13:08 +00:00
Matthieu Boutier
a3d554f27d babeld: Remove comment (fixed by 64682f5e69).
Signed-off-by: Matthieu Boutier <boutier@irif.fr>
2017-05-26 08:47:48 -04:00
Donald Sharp
66d4272752 zebra: Remove string operations from non-debug path
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-05-25 21:22:03 -04:00
Donald Sharp
8755598a08 zebra: Store commonly used values instead of regenerating
the ipv4_ll address used for 5549 routes does not need
to be figured out every single time that we attempt
to install/remove a route of that type.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-05-25 21:11:24 -04:00
Donald Sharp
1ac33779aa vtysh: Add back some missing bgp commands
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-05-25 13:53:50 -04:00
vivek
3d22338f04 bgpd: Fixes related to use of L2VPN/EVPN
Add checks related to AFI_L2VPN/SAFI_EVPN that were missing in some parts
of the code. Fix incorrect check skipping EVPN when sending End of RIB.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
2017-05-25 10:20:04 -07:00
vivek
64396cba73 bgpd: Fix route handling for 2-level routing tables
For certain (sub) address families such as EVPN or L3VPN, the routing
table is organized as a 2-level tree. Ensure that code walking the
routing table does the correct handling in such cases.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
2017-05-25 10:20:04 -07:00
vivek
ea2e48899b bgpd: Fix route detailed show for EVPN
Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
2017-05-25 10:20:04 -07:00
vivek
289602d73d zebra: Format netlink requests correctly
When zebra issues read (GET) requests to the kernel using the netlink
interface, it is incorrect to format all of them in a generic manner
using 'struct ifinfomsg' or 'struct rtgenmsg'. Rather, messages for a
particular entity (e.g., routes) should use the corresponding structure
for encoding (e.g., 'struct rtmsg'). Of course, this has to correlate
with what the kernel expects.

In the absence of this, there is the possibility of sending extraneous
information in the request which the kernel wouldn't like.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Reviewed-by:   David Ahern <dsa@cumulusnetworks.com>
2017-05-25 10:20:03 -07:00
vivek
80e7e4077d zebra: Set nlmsg_pid in netlink_talk()
While it is not essential to set this, it seems a good thing to do.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
2017-05-25 10:20:03 -07:00
vivek
bbc16902a6 zebra: New API for filling netlink attribute
Define addattr16().

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
2017-05-25 10:20:03 -07:00
vivek
86f1ef44f7 lib: Refine EVPN prefix definition
Modify EVPN prefix to use the generic IP address structure. Add support
for EVPN type-2 and type-3 prefix dump. Fix references to modified fields
as needed.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Reviewed-by:   Donald Sharp <sharpd@cumulusnetworks.com>
2017-05-25 10:20:03 -07:00
vivek
482c0fb076 lib: Define generic IP address structure
Define an IP address structure which is a union of an IPv4 and IPv6
address. This is for subsequent use in EVPN.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Reviewed-by:   Donald Sharp <sharpd@cumulusnetworks.com>
2017-05-25 10:20:03 -07:00
vivek
4e9da20145 lib: Additional APIs in bitfield library
Added APIs to:
a) pre-assign 0th bit in the bitfield
b) free 0th bit in the bitfield
c) free the allocated bitfield data

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
Reviewed-by:   Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by:   Vivek Venkatraman <vivek@cumulusnetworks.com>
2017-05-25 10:20:03 -07:00
vivek
8234a9875b lib: Macro for number of entries in hash table
Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
2017-05-25 10:20:03 -07:00
vivek
7c6d877325 lib: VxLAN Network Identifier definition
Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Reviewed-by:   Donald Sharp <sharpd@cumulusnetworks.com>
2017-05-25 10:20:03 -07:00
vivek
6eb2c8b8a8 lib: VLAN definition
Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Reviewed-by:   Donald Sharp <sharpd@cumulusnetworks.com>
2017-05-25 10:20:03 -07:00
Don Slice
79878cf73e zebra: add bgp unnumbered labeled-unicast to zserv
Prior to the fix, labels weren't getting installed in zebra nor were the
ifindex values correctly set if labeled-unicast was used in conjunction
with bgp unnumbered.

Ticket: CM-16531
Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
Reviewed-by: CCR-6276
2017-05-25 04:19:10 -07:00
Jafar Al-Gharaibeh
fb13a6d478 Merge pull request #610 from donaldsharp/rpprefixlen
pimd: Allow secondary address comparisons to work
2017-05-24 22:10:19 -06:00
Quentin Young
dc207b2760 ospf6d: default to dotted quad instead of ret NULL
to fix coverity warning

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2017-05-25 04:09:52 +00:00