Commit Graph

12168 Commits

Author SHA1 Message Date
Russ White
a31f28f9c2
Merge pull request #2728 from donaldsharp/table_cleanup
lib: Add parameter names as a hint of what is expected.
2018-07-29 08:24:38 -04:00
Russ White
ddd4a7a4cc
Merge pull request #2735 from sworleys/Netlink-Next-Fault
zebra: Check for netlink message next fault
2018-07-29 07:58:01 -04:00
Russ White
3688ecb8d9
Merge pull request #2748 from chiragshah6/evpn_dev
zebra: display consistant mac count
2018-07-29 07:53:31 -04:00
Chirag Shah
63ce2ee70c zebra: display consistant mac count
show evpn mac vni all
show evpn mac vni x
does not display local svi and anycast mac into count.

Ticket:CM-20456
Testing Done:

Before:

TOR1# show evpn mac vni 1008
Number of MACs (local and remote) known for this VNI: 4
MAC               Type   Intf/Remote VTEP      VLAN
44:38:39:00:6b:4c local  vlan1008              1008
00:02:00:00:00:04 local  hostbond5             1008
00:02:00:00:00:02 local  hostbond4             1008
00:00:5e:00:01:01 local  vlan1008-v0           1008
00:02:00:00:00:0c remote 27.0.0.15
00:02:00:00:00:0a remote 27.0.0.15
dell-s6000-07#

After:

TOR1# show evpn mac vni 1008
Number of MACs (local and remote) known for this VNI: 6
MAC               Type   Intf/Remote VTEP      VLAN
44:38:39:00:6b:4c local  vlan1008              1008
00:02:00:00:00:04 local  hostbond5             1008
00:02:00:00:00:02 local  hostbond4             1008
00:00:5e:00:01:01 local  vlan1008-v0           1008
00:02:00:00:00:0c remote 27.0.0.15
00:02:00:00:00:0a remote 27.0.0.15

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2018-07-28 11:23:10 -07:00
Lou Berger
bf7bf2b99c
Merge pull request #2719 from pguibert6WIND/fix_tableno_vrf
zebra: fix missing table identifier passed for ip route vrf commands
2018-07-28 10:42:07 -04:00
Lou Berger
6e6b03c0dc
Merge pull request #2742 from vangheem/master
fix json output when vrf not active
2018-07-28 10:29:10 -04:00
Lou Berger
fdc1996e32
Merge pull request #2746 from chiragshah6/mdev1
bgpd: add keepalive thread name
2018-07-28 10:18:12 -04:00
Lou Berger
f503378408
Merge pull request #2745 from adharkar/frr-filtered_route
bgpd: Show routes filtered by prefix-list in filter-routes command
2018-07-28 10:16:20 -04:00
Chirag Shah
a9198bc1e2 bgpd: add keepalive thread name
Testing Done:

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2018-07-27 21:04:47 -07:00
Ameya Dharkar
13c8e163fc bgpd: Show routes filtered by prefix-list in filter-routes command
Update:Addressed review comments

Changed "show bgp ipv4 neighbor filtered-routes"
to show routes filtered by prefx lists, distribute lists and filter lists

Closes: #2653

Signed-off-by: Ameya Dharkar adharkar@vmware.com
2018-07-27 11:23:32 -07:00
Lou Berger
729fa7048b
Merge pull request #2743 from donaldsharp/bgp_null_stuff
Put back some removed Code
2018-07-27 12:45:08 -04:00
Nathan Van Gheem
ec1db5882d lib,zebra: fix json output when vrf1 when not active
When I did a show ip route with `json` on a vrf when it didn't exist,
frr would output invalid json.

Signed-off-by: Nathan Van Gheem <nathan@cumulusnetworks.com>
2018-07-27 10:17:03 -04:00
Donald Sharp
239b37bb3c bgpd: Notice when we unlock if we should NULL pointer
The bi->net pointer that is being unlocked had a commit
that removed the `bi->net = NULL;` recently.  This code
was preventing a use after free crash being experienced
in other code paths.  While commit 37e679629f was fixing
a different code path crash.

Make the parent->net pointer aware it may be locked/freed
from multiple places and to not NULL the pointer to it
unless we have actually freed the data.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-07-27 10:02:34 -04:00
Donald Sharp
563f0c2b2d lib: Modify route unlock code to return appropriate pointer
Modify the unlock code for a route_node to return NULL on
pointer freed or to return the node itself again.

We'll need to go through the code and fix this pattern,
but this is a problem for another day.  Get this fix in
place and we can make it a low hanging problem to fix.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-07-27 09:54:39 -04:00
Russ White
298de6ef18
Merge pull request #2708 from ton31337/feature/default-originate_apply_route-maps
bgpd: Set attributes according route-maps if applied for default-originate
2018-07-27 09:05:43 -04:00
Russ White
282d51c6be
Merge pull request #2737 from vishaldhingra/master
bgpd: changes for crash seen in BGP on "no rt vpn" bug Id 2667
2018-07-27 09:05:00 -04:00
Philippe Guibert
521191140d zebra: fix missing table identifier passed for ip route vrf commands
The parameter was missing in that vty command. Then it is being added.
Also some documentation is refreshed.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2018-07-27 08:42:14 +02:00
vishaldhingra
38f423be4e
Merge pull request #1 from vishaldhingra/bug_fix
bgpd: changes for crash seen in BGP on "no rt vpn" bug Id 2667
2018-07-27 10:07:33 +05:30
Donatas Abraitis
74401e6272 bgpd: Set attributes according route-maps if applied for default-originate 2018-07-27 07:19:30 +03:00
Russ White
7e9c591278
Merge pull request #2729 from qlyoung/doc-misc-bgp-fixes
doc: misc bgp.rst fixes
2018-07-26 22:32:40 -04:00
Ameya Dharkar
f99def6130 bgpd: Show routes filtered by prefix-list in filter-routes command
Changed "show bgp ipv4 neighbor <peer> filtered-routes"
to show routes filtered by prefx lists, distribute lists and filter lists

Closes: #2653

Signed-off-by: Ameya Dharkar adharkar@vmware.com
2018-07-26 14:48:05 -07:00
Stephen Worley
e6a0e0d141 zebra: Check for netlink message next fault
NLMSG_NEXT decrements the buffer length (status) by
the header msg length (nlmsg_len) everytime its called.
If nlmsg_len isn't accurate and set to be larger than
what it should represent, it will cause status to
decrement passed 0. This makes NLMSG_NEXT return a
pointer that references an inaccessible address.
When that is passed to NLMSG_OK, it segfaults.

Add a check to verify that there is still something to read
before we try to.

Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
2018-07-26 16:46:57 -04:00
Jafar Al-Gharaibeh
4b22e6bc05
Merge pull request #2727 from donaldsharp/pim_jp_lollipops
pimd: RPT Prunes do not need to be figured for a *,G Prune
2018-07-26 10:18:39 -05:00
Donald Sharp
0be9d44862
Merge pull request #2607 from pguibert6WIND/complement_fs_patch3
Complement fs patch3
2018-07-26 09:25:35 -04:00
Jafar Al-Gharaibeh
c11b11d566
Merge pull request #2681 from qlyoung/doc-cleanup-rpki
doc: cleanup rpki.rst
2018-07-25 17:04:02 -05:00
Lou Berger
b77da155be
Merge pull request #2662 from donaldsharp/tests
Tests
2018-07-25 17:53:05 -04:00
Quentin Young
c0868e8b2a doc: misc bgp.rst fixes
* Clean up command stubs
* Document `disable-connected-check`
* Add markup
* Clarify section on autonomous systems
* Rewrap line to 80 characters
* Fix typos
* Fix grammar

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2018-07-25 20:02:08 +00:00
Donald Sharp
e070029078 lib: Add parameter names as a hint of what is expected.
Add some parameter names to functions in table.h to give a
clue as to what we expect people to pass in.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-07-25 15:16:02 -04:00
Donald Sharp
ccc34deb38 tests: Let compiler know this was an intentionall fallthrough
Let the compiler know that this code intentionally fell
through to the next case statement in a switch.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-07-25 15:00:52 -04:00
Donald Sharp
9fc8a332b1 tests: Prevent weird type promotion objection in bgp tests
The va_start function cannot take a object that can be type promoted
Looks like a new warning coming in from a new compiler.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-07-25 14:50:29 -04:00
Donald Sharp
e3c5f7b689 tests: Fix const change
Some of the parameters for lib/srcdest.. have changed to
consts, make the test cases respect that.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-07-25 14:50:29 -04:00
Donald Sharp
be523269fd pimd: RPT Prunes do not need to be figured for a *,G Prune
Packet sending in PIM is a two step process.
1) Gather data size of next G to be packed into a packet.
2) Write data

After 1 we need to ensure that the next G to pack will actually
fit in a packet.  If it does not send what we've currently written
and start a new packet to send.

Because this was a 2 step process it is important to be consistent
in what you think you have packed -vs- what you think you should.

PIM has a bug where we were considering S,G RPT Prunes for a *,G
even when the *,G was being pruned.  This lead to a situation where
we were figuring a write size of more data then what we actually wrote
into a packet.  This would leave a 8 byte whole of 0's in the packet
due to the way we moved pointers around.

Fix the code so that we do not attempt to consider S,G rpt prunes
for a *,G prune when figuring out how much we should write in step 1.

Ticket: CM-21644
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-07-25 14:37:30 -04:00
Quentin Young
66bbedb069
Merge pull request #2711 from pacovn/isis_test_fixes
tests/isisd: fix warnings
2018-07-25 11:01:06 -07:00
Renato Westphal
a095cabc6c
Merge pull request #2712 from pacovn/Security_Uninitialized_memory_access
pimd: uninitialized memory access fix
2018-07-25 11:07:57 -03:00
root
37e679629f bgpd: changes for crash seen in BGP on "no rt vpn" bug Id 2667
There is a default BGP VPN and BGP VRF instance in L3VPN configuration.
The routes are imported and exported between BGP VPN and BGP VRF.
Suppose there is one route in BGP VRF and exported to BGP VPN.
In BGP VPN there is bgp_info struct with bgp_info_extra struct has parent pointer pointing to the bgp_info of BGP VRF.
We take the lock for bgp_node and bgp_info of BGP VRF in the context of BGP VPN.
bgp_info has a back pointer to bgp_node via net.

Now when we have done "no rd vpn" in BGP VRF then in bgp_info_extra_free we have to free the parent resources.
In this context only unlocking is required. It should not set the BGP VRF (bgp_info->net) to NULL.

Signed-off-by: vishaldhingra vdhingra@vmware.com
2018-07-25 05:27:05 -07:00
Russ White
4dbd617abd
Merge pull request #2704 from sworleys/Netlink-Nexthop-Hang
zebra: Add check for nexthop loop to prevent hanging
2018-07-24 19:42:11 -04:00
Russ White
72794b312d
Merge pull request #2706 from chiragshah6/mdev
bgpd: Add evpn prefix to debug bgp updates prefix
2018-07-24 19:29:05 -04:00
Russ White
32bf84c1cd
Merge pull request #2714 from qlyoung/fix-unused-variable-zserv
zebra: remove unused var in zserv.c
2018-07-24 19:26:13 -04:00
F. Aragon
431f21d38e
pimd: uninitialized memory access fix
Signed-off-by: F. Aragon <paco@voltanet.io>
2018-07-24 23:51:15 +02:00
Quentin Young
fdd8e252d4 doc: move rpki reference to correct spot
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2018-07-24 21:13:58 +00:00
Quentin Young
29cb1b24d1 zebra: remove unused var in zserv.c
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2018-07-24 21:01:29 +00:00
Renato Westphal
5d13cd0a93
Merge pull request #2699 from sworleys/Netlink-MTU-Check
zebra: Add check for mtu on netlink RTM_NEWLINK
2018-07-24 17:04:47 -03:00
F. Aragon
a2ddc2a67b
tests/isisd: fix warnings
Commit ae9c9aba changed isis_vertex_id_init() and isis_find_vertex()
parameters, so compiler reported warnings in the test (the actual data
passing through is the same because of the union used in the latest changes).
This commit fixes the warnings in the test.

Signed-off-by: F. Aragon <paco@voltanet.io>
2018-07-24 18:26:26 +02:00
Russ White
bbc7adf1b4
Merge pull request #2665 from chiragshah6/evpn_dev
bgpd: support evpn nd ext community
2018-07-24 11:55:08 -04:00
Donald Sharp
3f95d92258
Merge pull request #2707 from opensourcerouting/fix-srcdest-netlink-read
zebra: do not ignore ipv6 srcdest routes
2018-07-24 11:49:49 -04:00
Quentin Young
79d702c130
Merge pull request #2640 from pguibert6WIND/doc_ldp
doc: add Ldp user documentation
2018-07-24 11:34:22 -04:00
Chirag Shah
81cf0de50e bgpd: Add evpn prefix to debug bgp updates prefix
Adding EVPN prefix of Type 2, 3 and 5 routes to bgp updates
prefix filters.

Ticket:CM-14476
Testing Done:

Configure multiple evpn options under 'debug bgp updates prefix'.
Below is the running-config output.

MAC-IP route with just MAC:
debug bgp updates prefix l2vpn evpn type macip mac
00:02:00:0a:0a:0a
MAC-IP route with MAC and IP:
debug bgp updates prefix l2vpn evpn type macip mac
00:02:00:00:00:0c ip 45.0.1.9
MAC-IP route with just MAC and IPv6:
debug bgp updates prefix l2vpn evpn type
macip mac 00:02:00:00:00:0a ip 2001:fee1:0:1::8
Type-3:
debug bgp updates prefix l2vpn evpn type multicast ip 27.0.1.19
Type-5:
debug bgp updates prefix l2vpn evpn type prefix
ip 2060:1:1:1::/64

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2018-07-24 06:45:40 -07:00
Donald Sharp
873a9a03d3
Merge pull request #2703 from opensourcerouting/ldpd-missing-command
ldpd: add missing command under the ipv6 address-family node
2018-07-24 08:37:52 -04:00
Christian Franke
1f610a1fb3 zebra: do not ignore ipv6 srcdest routes
Commit a2ca67d1d2 consolidated IPv4 and IPv6 handling. It also applied
our ignorance for IPv4 srcdest routes onto IPv6.

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
2018-07-24 14:09:17 +02:00
Philippe Guibert
0b328d3fdb zebra: add information about which port is monitored
Each ipset with port value monitors either src port or dst port.
The information is added to show pbr iptable commmand.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2018-07-24 12:17:57 +02:00