]> git.proxmox.com Git - mirror_frr.git/log
mirror_frr.git
6 years agoMerge pull request #2211 from chiragshah6/ospf_vrf_dev
Russ White [Sat, 12 May 2018 10:37:00 +0000 (06:37 -0400)]
Merge pull request #2211 from chiragshah6/ospf_vrf_dev

ospfd: packet fifo init in interface create

6 years agoMerge pull request #2197 from qlyoung/docuser-debianpkg
Russ White [Sat, 12 May 2018 10:27:26 +0000 (06:27 -0400)]
Merge pull request #2197 from qlyoung/docuser-debianpkg

doc: move Debian packaging docs to dev docs

6 years agoMerge pull request #2196 from LabNConsulting/working/master/bgpd-shutdown-race
Russ White [Sat, 12 May 2018 10:27:00 +0000 (06:27 -0400)]
Merge pull request #2196 from LabNConsulting/working/master/bgpd-shutdown-race

BGP: Preclude race condition between listener thread and core during shutdown

6 years agoMerge pull request #2189 from qlyoung/move-bug-reports-to-docs
Russ White [Sat, 12 May 2018 10:25:48 +0000 (06:25 -0400)]
Merge pull request #2189 from qlyoung/move-bug-reports-to-docs

doc: move REPORTING-BUGS to user docs

6 years agoMerge pull request #2187 from qlyoung/remove-netbsd
Russ White [Sat, 12 May 2018 10:25:17 +0000 (06:25 -0400)]
Merge pull request #2187 from qlyoung/remove-netbsd

frr: remove README.NetBSD

6 years agoMerge pull request #2171 from pguibert6WIND/misc_crashes_moving_ifp_from_netns
Russ White [Sat, 12 May 2018 10:24:45 +0000 (06:24 -0400)]
Merge pull request #2171 from pguibert6WIND/misc_crashes_moving_ifp_from_netns

Misc crashes moving ifp from netns

6 years agoMerge pull request #2162 from qlyoung/fix-vpath-build
Russ White [Sat, 12 May 2018 10:23:03 +0000 (06:23 -0400)]
Merge pull request #2162 from qlyoung/fix-vpath-build

doc: support VPATH builds

6 years agoMerge pull request #2132 from donaldsharp/missed_stuff
Russ White [Sat, 12 May 2018 10:18:15 +0000 (06:18 -0400)]
Merge pull request #2132 from donaldsharp/missed_stuff

Missed stuff

6 years agoMerge pull request #2124 from donaldsharp/missed
Russ White [Sat, 12 May 2018 10:16:02 +0000 (06:16 -0400)]
Merge pull request #2124 from donaldsharp/missed

bgpd, zebra: Handle EVPN router MAC per next hop

6 years agoMerge pull request #2172 from msablic/pim_igmp_stats
Donald Sharp [Fri, 11 May 2018 17:48:31 +0000 (13:48 -0400)]
Merge pull request #2172 from msablic/pim_igmp_stats

pimd: show ip igmp statistics command

6 years agoMerge pull request #2207 from ppmathis/fix/bgpd-snmp-peer-lookup
Donald Sharp [Fri, 11 May 2018 13:32:08 +0000 (09:32 -0400)]
Merge pull request #2207 from ppmathis/fix/bgpd-snmp-peer-lookup

bgpd: fix and improve snmp peer lookups

6 years agoMerge pull request #2202 from dslicenc/bgp-neigh-auto-complete
Lou Berger [Fri, 11 May 2018 12:49:17 +0000 (08:49 -0400)]
Merge pull request #2202 from dslicenc/bgp-neigh-auto-complete

bgpd: fix auto-completion for neighbors and peer-groups

6 years agoMerge pull request #2208 from ppmathis/fix/debianpkg-env-pager
Donald Sharp [Fri, 11 May 2018 12:08:47 +0000 (08:08 -0400)]
Merge pull request #2208 from ppmathis/fix/debianpkg-env-pager

debianpkg: improve VTYSH_PAGER environment check

6 years agoMerge pull request #2212 from ppmathis/feature/implement-no-password-cmd
Donald Sharp [Fri, 11 May 2018 12:07:18 +0000 (08:07 -0400)]
Merge pull request #2212 from ppmathis/feature/implement-no-password-cmd

lib: Ported 'no (enable) password' from stable/3.0

6 years agobgpd: fix and improve snmp peer lookups
Pascal Mathis [Thu, 10 May 2018 21:35:37 +0000 (23:35 +0200)]
bgpd: fix and improve snmp peer lookups

The previous implementation of bgp_peer_lookup_next did not consider the
internal ordering of peers when using peer groups, which led to all
standalone peers being skipped that had a lower IP address than the
highest IP address of a peer belonging to a group.

As the ordering of peers can not be arbitrary due to SNMP requiring
increasing OIDs when walking an OID tree, this commit fixes the bug by
properly looping through all peers and detecting the next highest IP
address.

Additionally, this commit improved both bgp_peer_lookup_next and
peer_lookup_addr_ipv4 by using the socketunion stored within the peer
struct (peer->su) instead of calling inet_pton for each peer during
comparison.

Signed-off-by: Pascal Mathis <mail@pascalmathis.com>
6 years agolib: Ported 'no (enable) password' from stable/3.0
Pascal Mathis [Fri, 11 May 2018 00:54:30 +0000 (02:54 +0200)]
lib: Ported 'no (enable) password' from stable/3.0

The pull request #1545 from @donaldsharp introduced the command 'no
password' to remove an existing terminal connection password.
Additionally, warnings have been added to both 'no password' and 'no
enable password' to make the user aware of any security implications.

It seems that this specific pull request was never merged against master
and got lost. This commit is a cherry-pick of d4961273cb with fixed
conflicts and updated documentation.

Thanks to @donaldsharp and @pogojotz for the original PR.

Signed-off-by: Pascal Mathis <mail@pascalmathis.com>
6 years agoospfd: packet fifo init in interface create
Chirag Shah [Tue, 1 May 2018 14:36:53 +0000 (07:36 -0700)]
ospfd: packet fifo init in interface create

Currently, interface packet transmit queue is created/deleted
as part of Interface UP/Down event. This results in
a rare condition where port came up but queue
was not created. The creation of queue occupies only few bytes.

Moving fifo queue creation to interface create
would add few bytes of fifo creation but at least it guaranteed
to be available during Up/down -->Up event.

Initialize ospf packet fifo queue during ospf
interface creation.

Drain queue during interface down event.

Drained and free the queue as part of the interface
delete/cleanup.

Ticket:CM-20744
Testing Done:

Bring up ospfv2 topology with multiple neighbors.
1) Trigger multiple shut/no shut events and validate
all queues are freed.
2) configure/deconfigure router ospf and validate
all ospf instance and interface underneath are freed.

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
6 years agodebianpkg: improve VTYSH_PAGER environment check
Pascal Mathis [Thu, 10 May 2018 22:03:23 +0000 (00:03 +0200)]
debianpkg: improve VTYSH_PAGER environment check

The current post-installation scripts for all Debian packages execute
grep 'VTYSH_PAGER=/bin/cat' to check if the VTYSH_PAGER variable is
present within /etc/environment.

While presence of that environment variable should be checked, the
current implementation does not handle this line being a comment (and
therefor not active) or the user picking a different VTYSH_PAGER than
/bin/cat.

This commit ensures that the environment variable can be freely changed
by the user, while still guaranteeing that it is present in the file
without being a comment.

Signed-off-by: Pascal Mathis <mail@pascalmathis.com>
6 years agobgpd: fix auto-completion for neighbors and peer-groups
Don Slice [Thu, 10 May 2018 13:10:18 +0000 (09:10 -0400)]
bgpd: fix auto-completion for neighbors and peer-groups

Before this fix, both real neighbors and peer-groups were lumped
together in auto-completion and it didn't work at all for
peer-groups.  This fix changes that behavior to do the right
thing.

Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
6 years agoMerge pull request #2195 from qlyoung/docuser
Jafar Al-Gharaibeh [Thu, 10 May 2018 15:24:06 +0000 (10:24 -0500)]
Merge pull request #2195 from qlyoung/docuser

doc: update doc titles

6 years agobgpd: block io thread reads once shutdown has started
Lou Berger [Thu, 10 May 2018 12:47:11 +0000 (08:47 -0400)]
bgpd: block io thread reads once shutdown has started

Signed-off-by: Lou Berger <lberger@labn.net>
6 years agoMerge pull request #2075 from pguibert6WIND/doc_vrf
Lou Berger [Thu, 10 May 2018 10:56:56 +0000 (06:56 -0400)]
Merge pull request #2075 from pguibert6WIND/doc_vrf

doc: add information about zebra VRF configuration

6 years agodoc: move Debian packaging docs to dev docs
Quentin Young [Wed, 9 May 2018 19:12:07 +0000 (15:12 -0400)]
doc: move Debian packaging docs to dev docs

Updated the doc to cross-reference build documentation as well and
reformatted to RST. Removed stub section on how to configure daemons and
whatnot, as that's the domain of the user docs.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
6 years agodoc: update doc titles
Quentin Young [Wed, 9 May 2018 14:44:08 +0000 (10:44 -0400)]
doc: update doc titles

Should be a bit easier to Google this way.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
6 years agoMerge pull request #2183 from Thomas-Gelf/fix/doc-snmp-file-formatting
Quentin Young [Wed, 9 May 2018 14:41:59 +0000 (10:41 -0400)]
Merge pull request #2183 from Thomas-Gelf/fix/doc-snmp-file-formatting

doc, snmp: fix file formatting

6 years agodoc: add information about zebra VRF configuration
Philippe Guibert [Fri, 13 Apr 2018 14:13:23 +0000 (16:13 +0200)]
doc: add information about zebra VRF configuration

As there are subtle differences between VRF-lite and VRF-netns,
some information is given to the operator on what can be/ can not be
done.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
6 years agoMerge pull request #2182 from qlyoung/docuser
Jafar Al-Gharaibeh [Wed, 9 May 2018 04:40:21 +0000 (23:40 -0500)]
Merge pull request #2182 from qlyoung/docuser

doc: remove duplicate option doc

6 years agoMerge pull request #2179 from qlyoung/fix-maximum-prefix-override
Russ White [Wed, 9 May 2018 00:07:32 +0000 (20:07 -0400)]
Merge pull request #2179 from qlyoung/fix-maximum-prefix-override

bgpd: fix maximum-prefix + peer-group

6 years agoMerge pull request #2173 from chiragshah6/ospfv3_dev
Russ White [Wed, 9 May 2018 00:03:48 +0000 (20:03 -0400)]
Merge pull request #2173 from chiragshah6/ospfv3_dev

ospf6d: fix area border router duplicate

6 years agodoc, snmp: fix file formatting
Thomas Gelf [Mon, 7 May 2018 23:09:03 +0000 (01:09 +0200)]
doc, snmp: fix file formatting

Signed-off-by: Thomas Gelf <thomas@gelf.net>
6 years agoMerge pull request #2160 from donaldsharp/prefix_sid
Russ White [Tue, 8 May 2018 23:52:56 +0000 (19:52 -0400)]
Merge pull request #2160 from donaldsharp/prefix_sid

bgpd: Handle multiple PREFIX_SID's at a time.

6 years agoMerge pull request #2137 from mkanjari/evpn-addr-change
Russ White [Tue, 8 May 2018 23:50:33 +0000 (19:50 -0400)]
Merge pull request #2137 from mkanjari/evpn-addr-change

*: change struct evpn_addr to include a union of all evpn route types

6 years agolib: Fix bad function
Donald Sharp [Tue, 8 May 2018 23:33:07 +0000 (19:33 -0400)]
lib: Fix bad function

Fix the decleration of a function to be better.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agodoc: Fix pbr documentation to be correct
Donald Sharp [Tue, 8 May 2018 23:31:40 +0000 (19:31 -0400)]
doc: Fix pbr documentation to be correct

The recent change of pbr necessitates this change in the doc

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agobgpd, lib, zebra: Cleanup formatting issues found
Donald Sharp [Sun, 29 Apr 2018 18:35:39 +0000 (14:35 -0400)]
bgpd, lib, zebra: Cleanup formatting issues found

Cleanup the formating issues found.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agoZebra: Fix ptm-enable config failure on internally created interfaces
radhika [Tue, 1 Aug 2017 17:10:35 +0000 (10:10 -0700)]
Zebra: Fix ptm-enable config failure on internally created interfaces

Ticket: CM-15658
Reviewed By: CCR-6534
Testing Done: Unit

Issue: frr ptm-enable command not working for interfaces that have been created by frr as a place holder.

Root Cause: The ptm-enable on interface configuration was not getting stored when the interface was internally created by frr.

Fix: Store the ptm-enable configuration even if the interface is internally created.

Signed-off-by: Radhika Mahankali <radhika@cumulusnetworks.com>
6 years agobgpd: Fix VRF route leaking for multipath routes
vivek [Fri, 6 Apr 2018 16:31:11 +0000 (09:31 -0700)]
bgpd: Fix VRF route leaking for multipath routes

Ensure that the next hop of the leaked VRF is not overwritten when the
route is being imported into the target VRF from the VPN table. Also, in
the case of multipath routes, ensure that the nexthop's ifindex is not
inadvertently reset.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
6 years agozebra: Increase recvmsg buffer size for picking up netlink messages
vivek [Fri, 20 Apr 2018 15:40:42 +0000 (08:40 -0700)]
zebra: Increase recvmsg buffer size for picking up netlink messages

Netlink messages from the kernel need to be received in a buffer larger
than 8K in order to handle some types of info - for example, the VLAN
information. Define a separate size for receive and set it to 32K, which
is the value used by other netlink receivers like iproute2.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agozebra: Fixup crash with vlan interfaces attempted to be used
Donald Sharp [Fri, 7 Jul 2017 17:42:40 +0000 (13:42 -0400)]
zebra: Fixup crash with vlan interfaces attempted to be used

When zebra starts up it receives from the kernel a full dump of
interface information.  Unfortunately it is in no particular order.
As such we sometimes receive data from the kernel about interfaces
we do not know about yet.

In this bug, we are attempting to use the interface pointer(->link)
for a vlan interface that we have not properly resolved.

This fix ensures that we will not attempt to call zvni_map_svi
if we have a NULL pointer.  There are other places in the code
we are already checking for the fact that the ->link pointer
is valid before calling this function, so I believe that this
is correct.

We do need to come back and resolve all ->link pointers
after we have received the full table.  This can be
done in another commit.

Ticket: CM-17041
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agobgpd: Fix compiler warning->errors of might be used uninited
Donald Sharp [Wed, 24 Jan 2018 15:34:52 +0000 (10:34 -0500)]
bgpd: Fix compiler warning->errors of might be used uninited

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agobgpd: Don't generate spurious warning on VNI deletion
vivek [Fri, 13 Oct 2017 22:46:23 +0000 (15:46 -0700)]
bgpd: Don't generate spurious warning on VNI deletion

There are situations in which zebra may issue more than one delete
notification, so BGP should not warn when it can't locate the VNI
at delete. This is comparable to the situation when a withdraw is
received but the route isn't present locally.

Signed-off-by: Vivek Venkatraman <vivek@cumulusmetworks.com>
Ticket: CM-17512
Reviewed By: Trivial
Testing Done: Manual

6 years agobgpd: set NEXTHOP_UNCHANGED for l2vpn evpn by default for all BGP peers
Mitesh Kanjariya [Wed, 4 Apr 2018 20:01:45 +0000 (13:01 -0700)]
bgpd: set NEXTHOP_UNCHANGED for l2vpn evpn by default for all BGP peers

This flag needs to be set by default for l2vpn evpn address-family.
We needed to find a place in the code which gets called by all peers
at somepoint in the statemachine and before the routes are advertised.
peer_new seems like the right place for this
as we are setting other default af_flags here as well.

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
6 years agozebra: Use STREAM_GETXXX functions
Donald Sharp [Fri, 27 Apr 2018 13:21:28 +0000 (09:21 -0400)]
zebra: Use STREAM_GETXXX functions

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agobgpd: enable neighbor-nexthop-self for l2vpn evpn address family
Mitesh Kanjariya [Thu, 1 Mar 2018 09:47:28 +0000 (01:47 -0800)]
bgpd: enable neighbor-nexthop-self for l2vpn evpn address family

In the FRR implementation of EVPN,
eBGP leaf-spine peering for EVPN is fully supported by allowing
the next hop to be propagated and not rewritten at each hop.
There are other changes also related to route import to facilitate this.
However, propagating the next hop is not correct in some cases.
Specifically, if the DC is comprised of multiple PODs
with distinct intra-POD and inter-POD VxLAN tunnels,
EVPN routes received from an adjacent POD by a border/exit leaf
must be propagated into the local POD with the next hop rewritten (to self).

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
6 years agobgpd: modify route install/withdraw logic for evpn type-5 routes in vrf
Mitesh Kanjariya [Wed, 11 Apr 2018 09:29:46 +0000 (02:29 -0700)]
bgpd: modify route install/withdraw logic for evpn type-5 routes in vrf

We install type-5 routes as ipv4/ipv6 unicast routes in the vrf table.
along with these routes, we also install the RMAC
and the nexthop Neigh entries.
There might be scenarios were the bestpath has changed and
we are now pointing to a new nexthop with a different RMAC.
As per BGP logic, we just send an update for the route and the nexthop
is replaced. However, this causes problem because the RMAC and neigh entry
corresponding to the previous nexthop are still lingering in the system.
We need to clear those entries for proper functoning.

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
6 years agobgpd: apply advertise ipv4 unicast route-map while advertising type-5 routes
Mitesh Kanjariya [Mon, 16 Apr 2018 08:09:03 +0000 (01:09 -0700)]
bgpd: apply advertise ipv4 unicast route-map while advertising type-5 routes

A newly added ipv4/ipv6 route in BGP RIB might be advertised as type-5 EVPN route.
The user might have configured a route-map for advertising type-5 routes.
We need to apply this route-map while advertising ipv4/ipv6 routes as type-5.

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
6 years agobgpd: write route-map to config for advertise type5 commands
Mitesh Kanjariya [Tue, 10 Apr 2018 10:02:24 +0000 (03:02 -0700)]
bgpd: write route-map to config for advertise type5 commands

We enable/disable type-5 routes by following commands:
advertise ipv4 unicast [route-map <route-map>]
advertise ipv6 commands [route-map <route-map>]
the route-map part was writtem to conf file.

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
6 years agobgpd: no advertise ipv6 unicast comand should unset the af_flags
Mitesh Kanjariya [Tue, 10 Apr 2018 10:31:05 +0000 (03:31 -0700)]
bgpd: no advertise ipv6 unicast comand should unset the af_flags

no advertise ipv6 unicast command should unset the corresponding
af_flag in bgp_vrf rather than the vrf_flags.

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
6 years agobgpd: Display table version for EVPN routes
vivek [Wed, 1 Nov 2017 23:57:55 +0000 (16:57 -0700)]
bgpd: Display table version for EVPN routes

Display the table version for EVPN routes like it is done for other
address families. Note that this is really relevant only for the
per-VNI routing table.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Ticket: CM-12903

6 years agobgpd/zebra: use stream_putl/getl to send VNIs
Mitesh Kanjariya [Fri, 2 Mar 2018 01:18:34 +0000 (17:18 -0800)]
bgpd/zebra: use stream_putl/getl to send VNIs

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
6 years agozebra: vni [prefix-routes-only] should also be provided for the 'no' cmd
Mitesh Kanjariya [Tue, 10 Apr 2018 08:37:21 +0000 (01:37 -0700)]
zebra: vni [prefix-routes-only] should also be provided for the 'no' cmd

We have a command to enable symmetric routing only for type-5 routes.
This command is provided under vrf <> option in zebra as follows:
vrf <VRF>
  vni <VNI> [prefix-routes-only]
We need the corresponding no version of the command as well as follows:
vrf <VRF>
  no vni <VNI> [prefix-routes-only]

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
6 years agozebra: remote RMAC for EVPN ipv6 hosts should be programmed against the ipv4 nexthop
Mitesh Kanjariya [Mon, 9 Apr 2018 04:04:11 +0000 (21:04 -0700)]
zebra: remote RMAC for EVPN ipv6 hosts should be programmed against the ipv4 nexthop

For ipv6 host, the next hop is conevrted to ipv6 mapped address.
However, the remote rmac should still be programmed with the ipv4 address.
This is how the entries will look in the kernel for ipv6 hosts routing.

vrf routing table:
ipv6 -> ipv6_mapped remote vtep on l3vni SVI

neigh table:
ipv6_mapped remote vtep -> remote RMAC

bridge fdb:
remote rmac -> ipv4 vtep tunnel

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
6 years agowatchfrr always writes 'log syslog informational' to the config
Daniel Walton [Fri, 4 Aug 2017 20:39:56 +0000 (00:39 +0400)]
watchfrr always writes 'log syslog informational' to the config

Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
Reviewed-by: Dave Olson <olson@cumulusnetworks.com>
Ticket: CM-16501

6 years agolib: move ip node above vrf node for config order
Quentin Young [Tue, 3 Apr 2018 20:25:13 +0000 (16:25 -0400)]
lib: move ip node above vrf node for config order

VRF static route commands adopt global static config if static config is
placed after a vrf context with no separator, workaround by always
writing static route config before vrf config

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
6 years agopbrd, vtysh: Limit range to actual 1-700
Donald Sharp [Thu, 12 Apr 2018 17:27:36 +0000 (13:27 -0400)]
pbrd, vtysh: Limit range to actual 1-700

The range for sequence numbers needs to be limited
by the range we have currently choosen for rule
ranges.

Ticket: CM-20562
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agobgpd, zebra: Handle EVPN router MAC per next hop
vivek [Wed, 29 Nov 2017 07:40:30 +0000 (23:40 -0800)]
bgpd, zebra: Handle EVPN router MAC per next hop

Ensure that when EVPN routes are installed into zebra, the router MAC
is passed per next hop and appropriately handled. This is required for
proper multipath operation.

Ticket: CM-18999
Reviewed By:
Testing Done: Verified failed scenario, other manual tests
Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
6 years agoospf6d: Fix ABR brouter calculation corruption
Chirag Shah [Mon, 7 May 2018 17:16:08 +0000 (10:16 -0700)]
ospf6d: Fix ABR brouter calculation corruption

During Intra brouter calculation, brouters will be
marked for remove. if one of the brouter is removed,
as part of its remove callback, ospf6_abr_examin_summary
is performed where marked for brouter would be removed.
Since refcount of next brouter node still higher, it will
retain one node with dangled next brouter pointer.
When intra brouter calculation iteration goes to next node,
where accessing free node causes a crash.

Ticket:CM-20807
Testing Done:
Configure multilple ABR routers between area 0 and area x, y.
Remove ospf6 configuration on area x, y abrs and check area 0
Intra brouter calculations.

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
6 years ago*: clean up various top level stuff
Quentin Young [Tue, 8 May 2018 20:05:11 +0000 (16:05 -0400)]
*: clean up various top level stuff

* Updated README to point to new bug report location
* Updated README to point to community doc location
* Remove COMMUNITY.md
* Remove references to no longer extant docs in packaging files

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
6 years agoospf6d: fix area border router duplicate
Chirag Shah [Fri, 4 May 2018 02:39:07 +0000 (19:39 -0700)]
ospf6d: fix area border router duplicate

Avoid duplicate ABR brouter entry and
its nexthops.
The route lookup results in first element of the
route/redix node. In case of Intra and inter area
brouter, the first element always intra brouter.
the first element comparison results in always addition
of new element for inter area brouter in brouter table.
Now, iterate all elements of the route node and compare
for brouter origin, if it is same simply update its
nexthops to FIB.

brouter and brouter route nexthops should be merge to avoid
duplicate nexthops for the inter area routes.

Ticket:CM-20807

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
6 years agodoc: move REPORTING-BUGS to user docs
Quentin Young [Tue, 8 May 2018 18:40:32 +0000 (14:40 -0400)]
doc: move REPORTING-BUGS to user docs

Doesn't belong here anymore.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
6 years agoMerge pull request #2178 from pguibert6WIND/issue_2177
Donald Sharp [Tue, 8 May 2018 18:41:28 +0000 (14:41 -0400)]
Merge pull request #2178 from pguibert6WIND/issue_2177

pbrd: encode null fwmark to be consistent with zebra decode rule

6 years agoMerge pull request #2185 from opensourcerouting/isis-redist-metric-fix
Donald Sharp [Tue, 8 May 2018 18:10:02 +0000 (14:10 -0400)]
Merge pull request #2185 from opensourcerouting/isis-redist-metric-fix

isisd: use 0 as default-metric for redistribution

6 years agofrr: remove README.NetBSD
Quentin Young [Tue, 8 May 2018 18:07:03 +0000 (14:07 -0400)]
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>
6 years agoisisd: use 0 as default-metric for redistribution
Christian Franke [Mon, 7 May 2018 11:46:03 +0000 (13:46 +0200)]
isisd: use 0 as default-metric for redistribution

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
6 years agodoc: remove duplicate option doc
Quentin Young [Mon, 7 May 2018 22:12:17 +0000 (18:12 -0400)]
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>
6 years agoMerge pull request #2181 from zefanxu-bsn/patch-1
Quentin Young [Mon, 7 May 2018 21:19:14 +0000 (17:19 -0400)]
Merge pull request #2181 from zefanxu-bsn/patch-1

Default hello interval is wrong

6 years agoDefault hello interval is wrong
Zefan Xu [Mon, 7 May 2018 21:16:42 +0000 (14:16 -0700)]
Default hello interval is wrong

6 years agobgpd: fix maximum-prefix + peer-group
Quentin Young [Mon, 7 May 2018 17:25:10 +0000 (13:25 -0400)]
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>
6 years agopbrd: encode null fwmark to be consistent with zebra decode rule
Philippe Guibert [Mon, 7 May 2018 16:59:41 +0000 (18:59 +0200)]
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>
6 years agoMerge pull request #2156 from donaldsharp/zebra_doc
Renato Westphal [Mon, 7 May 2018 15:18:14 +0000 (12:18 -0300)]
Merge pull request #2156 from donaldsharp/zebra_doc

doc: Explain ecmp building and startup for zebra

6 years agoMerge pull request #2166 from qlyoung/docuser
Renato Westphal [Mon, 7 May 2018 15:15:18 +0000 (12:15 -0300)]
Merge pull request #2166 from qlyoung/docuser

doc: add figures & fix some typos in arch. docs

6 years agoMerge pull request #2175 from chiragshah6/mdev
Renato Westphal [Mon, 7 May 2018 15:08:16 +0000 (12:08 -0300)]
Merge pull request #2175 from chiragshah6/mdev

ospf6d: add newline to show debugging cmd

6 years agoospf6d: add newline to show debugging cmd
Chirag Shah [Sat, 5 May 2018 22:38:11 +0000 (15:38 -0700)]
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>
6 years agopimd: show ip igmp statistics command
Mladen Sablic [Fri, 4 May 2018 11:25:38 +0000 (13:25 +0200)]
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>
6 years agozebra: avoid inactivating twice an interface
Philippe Guibert [Fri, 4 May 2018 11:49:56 +0000 (13:49 +0200)]
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>
6 years agozebra: fix missing node attribute set in ifp
Philippe Guibert [Fri, 4 May 2018 07:43:52 +0000 (09:43 +0200)]
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>
6 years agozebra: avoid case where same interface pointer returned
Philippe Guibert [Fri, 4 May 2018 07:26:10 +0000 (09:26 +0200)]
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>
6 years agozebra: improve logs when replacing interface to an other netns
Philippe Guibert [Tue, 24 Apr 2018 10:19:48 +0000 (12:19 +0200)]
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>
6 years agodoc: Explain ecmp building and startup for zebra
Donald Sharp [Tue, 1 May 2018 22:02:51 +0000 (18:02 -0400)]
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>
6 years agoMerge pull request #2169 from piotrjurkiewicz/eigrp_feasibility
Donald Sharp [Fri, 4 May 2018 03:02:36 +0000 (23:02 -0400)]
Merge pull request #2169 from piotrjurkiewicz/eigrp_feasibility

eigrpd: Consider only feasible successors as successors

6 years agoMerge pull request #2167 from piotrjurkiewicz/master
Donald Sharp [Fri, 4 May 2018 01:58:10 +0000 (21:58 -0400)]
Merge pull request #2167 from piotrjurkiewicz/master

eigrpd: Correctly calculate EIGRP packet MTU

6 years agoeigrpd: Consider only feasible successors as successors
Piotr Jurkiewicz [Fri, 4 May 2018 00:28:29 +0000 (02:28 +0200)]
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>
6 years agoeigrpd: Use EIGRP_PACKET_MTU(mtu) macro
Piotr Jurkiewicz [Thu, 3 May 2018 20:07:54 +0000 (22:07 +0200)]
eigrpd: Use EIGRP_PACKET_MTU(mtu) macro

Signed-off-by: Piotr Jurkiewicz <piotr.jerzy.jurkiewicz@gmail.com>
6 years agoeigrpd: Correctly calculate EIGRP packet MTU
Piotr Jurkiewicz [Thu, 3 May 2018 18:17:21 +0000 (20:17 +0200)]
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>
6 years agodoc: add figures & fix some typos in arch. docs
Quentin Young [Thu, 3 May 2018 16:31:06 +0000 (12:31 -0400)]
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>
6 years agoMerge pull request #2158 from donaldsharp/timeouts
Jafar Al-Gharaibeh [Thu, 3 May 2018 14:45:04 +0000 (09:45 -0500)]
Merge pull request #2158 from donaldsharp/timeouts

redhat, tools: Increase startup time out a bit

6 years agoMerge pull request #2164 from donaldsharp/pbr_nht_eats_gcc
Jafar Al-Gharaibeh [Thu, 3 May 2018 14:44:15 +0000 (09:44 -0500)]
Merge pull request #2164 from donaldsharp/pbr_nht_eats_gcc

pbrd: Fix nearly impossible truncation

6 years agoMerge pull request #2146 from qlyoung/docuser
Jafar Al-Gharaibeh [Thu, 3 May 2018 14:42:46 +0000 (09:42 -0500)]
Merge pull request #2146 from qlyoung/docuser

doc: add documentation on threading & process arch

6 years agoMerge pull request #2161 from donaldsharp/zebra_improved_out
Jafar Al-Gharaibeh [Thu, 3 May 2018 14:41:12 +0000 (09:41 -0500)]
Merge pull request #2161 from donaldsharp/zebra_improved_out

zebra: Add a few more breadcrumbs

6 years agoMerge pull request #2159 from donaldsharp/msdp_crash
Jafar Al-Gharaibeh [Thu, 3 May 2018 14:40:23 +0000 (09:40 -0500)]
Merge pull request #2159 from donaldsharp/msdp_crash

pimd: Fix some msdp crashes when some fundamentals change

6 years agoMerge pull request #2143 from donaldsharp/pimaroni
Jafar Al-Gharaibeh [Thu, 3 May 2018 14:39:55 +0000 (09:39 -0500)]
Merge pull request #2143 from donaldsharp/pimaroni

Pimaroni

6 years ago*: change struct evpn_addr to include a union of all evpn route types
mitesh [Fri, 13 Apr 2018 22:37:30 +0000 (15:37 -0700)]
*: 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>
6 years agopbrd: Fix nearly impossible truncation
Donald Sharp [Thu, 3 May 2018 00:12:31 +0000 (20:12 -0400)]
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>
6 years agoMerge pull request #2141 from chiragshah6/ospfv3_dev
Russ White [Wed, 2 May 2018 22:55:56 +0000 (18:55 -0400)]
Merge pull request #2141 from chiragshah6/ospfv3_dev

ospf6d: fix intra prefix ecmp

6 years agoMerge pull request #2073 from pguibert6WIND/bgp_fs_pbr
Russ White [Wed, 2 May 2018 22:54:11 +0000 (18:54 -0400)]
Merge pull request #2073 from pguibert6WIND/bgp_fs_pbr

Bgp Flowspec Policy Based Routing

6 years agotests: Add a prefix-sid test
Donald Sharp [Wed, 2 May 2018 22:46:18 +0000 (18:46 -0400)]
tests: Add a prefix-sid test

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agobgpd: Handle multiple PREFIX_SID's at a time.
Donald Sharp [Wed, 2 May 2018 18:03:39 +0000 (14:03 -0400)]
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>
6 years agodoc: support VPATH builds
Quentin Young [Wed, 2 May 2018 18:42:28 +0000 (14:42 -0400)]
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>
6 years agozebra: Add a few more breadcrumbs
Donald Sharp [Wed, 2 May 2018 20:50:37 +0000 (16:50 -0400)]
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>
6 years agoMerge pull request #2154 from dslicenc/hostname-fix
Russ White [Wed, 2 May 2018 18:23:46 +0000 (14:23 -0400)]
Merge pull request #2154 from dslicenc/hostname-fix

lib: allow hostname to begin with a letter or number