]> git.proxmox.com Git - mirror_frr.git/log
mirror_frr.git
5 years agolib, ripd: rework API for converted CLI commands
Renato Westphal [Mon, 26 Nov 2018 17:30:14 +0000 (15:30 -0200)]
lib, ripd: rework API for converted CLI commands

When editing the candidate configuration, the northbound must ensure
that either all changes made by a command are accepted or none are.
This is done to prevent inconsistent states where only parts of a
command are applied in the event any error happens.

The previous API for converted commands, the nb_cli_cfg_change()
function, required callers to pass an array containing all changes
that needed to be applied in the candidate configuration. The
problem with this API is that it was very inconvenient for complex
commands, which change different configuration options depending
on several factors.  This required users to manipulate the array
of configuration changes using low-level primitives, making it
complicated to implement some commands.

To solve this problem, introduce a new API based on the two following
functions:
- nb_cli_enqueue_change()
- nb_cli_apply_changes()

The first function is used to enqueue configuration changes, one
at time. Then the nb_cli_apply_changes() function is used to apply
all the enqueued configuration changes.

To implement this, a static-sized array was allocated in the "vty"
structure, along with a counter of enqueued changes. This eliminates
the need to declare an array of configuration changes in every
converted CLI command, simplifying things quite considerably.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
5 years agoripd: fix display of the "distance" command
Renato Westphal [Sat, 24 Nov 2018 23:55:25 +0000 (21:55 -0200)]
ripd: fix display of the "distance" command

When displaying a configuration using the "with-defaults" option,
do not display "distance 0" when the "distance" command is not
configured. The range of accepted values is (1-255), so "distance
0" isn't a valid command. In this case, display "no distance".

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
5 years agolib: make yang_dnode_get_entry() more flexible
Renato Westphal [Sun, 25 Nov 2018 16:41:38 +0000 (14:41 -0200)]
lib: make yang_dnode_get_entry() more flexible

Add the "abort_if_not_found" parameter to the yang_dnode_get_entry()
function instead of always aborting when an user pointer is not
found.  This will make it possible, for example, to use this function
during the validation phase of a configuration transaction. Callers
will only need to check if the function returned NULL or not,
since new configuration objects (if any) won't be created until
the NB_EV_APPLY phase of the transaction.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
5 years agolib: introduce function to retrieve the schema name of a data node
Renato Westphal [Sat, 24 Nov 2018 23:56:48 +0000 (21:56 -0200)]
lib: introduce function to retrieve the schema name of a data node

In some cases it might be desirable to obtain the schema name of
a libyang data node. Introduce the yang_dnode_get_schema_name()
function for this purpose.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
5 years agolib: improve error handling when connection to confd is lost
Renato Westphal [Fri, 16 Nov 2018 23:02:36 +0000 (21:02 -0200)]
lib: improve error handling when connection to confd is lost

This fixes an infinite loop that happened every time the connection
to the confd daemon was lost. Deactivate the confd module when
that happens to fix the infinite loop. This is only a temporary
workaround, in the long term we need to add a connection retry timer
to reestablish the connection to the confd daemon once it's back.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
5 years agobuild: fix detection of the confd binary
Renato Westphal [Fri, 16 Nov 2018 22:41:16 +0000 (20:41 -0200)]
build: fix detection of the confd binary

The confd binary must be searched in the path given by the user and not
in the system standard directories. This is necessary because, the way
confd is distributed, multiple installations of confd (from different
versions) are possible. Users must choose at configure time which confd
installation they want to use.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
5 years agolib: set YANG search directory when creating libyang context
Renato Westphal [Fri, 16 Nov 2018 13:13:48 +0000 (11:13 -0200)]
lib: set YANG search directory when creating libyang context

Minor code simplification.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
5 years agoMerge pull request #3351 from chiragshah6/ospfv3_dev
Russ White [Mon, 26 Nov 2018 13:09:12 +0000 (08:09 -0500)]
Merge pull request #3351 from chiragshah6/ospfv3_dev

ospf6d: abr summary advertise best route

5 years agoMerge pull request #3356 from opensourcerouting/router-id-loopbacks
Russ White [Mon, 26 Nov 2018 13:07:28 +0000 (08:07 -0500)]
Merge pull request #3356 from opensourcerouting/router-id-loopbacks

zebra: improve identification of loopback interfaces in the router-id code

5 years agoMerge pull request #3361 from opensourcerouting/yang-embed-models
Russ White [Mon, 26 Nov 2018 13:04:03 +0000 (08:04 -0500)]
Merge pull request #3361 from opensourcerouting/yang-embed-models

yang: embed models into binaries

5 years agoMerge pull request #3362 from pacovn/Coverity_1475469_null_check
Russ White [Mon, 26 Nov 2018 13:01:09 +0000 (08:01 -0500)]
Merge pull request #3362 from pacovn/Coverity_1475469_null_check

bgpd: null check (Coverity 1475469)

5 years agoMerge pull request #3364 from opensourcerouting/bugfix/isis-ipv6-only
Russ White [Mon, 26 Nov 2018 13:00:25 +0000 (08:00 -0500)]
Merge pull request #3364 from opensourcerouting/bugfix/isis-ipv6-only

IS-IS: Bugfix ipv6 only

5 years agoMerge pull request #3374 from opensourcerouting/bugfix/vty-shadow
Russ White [Mon, 26 Nov 2018 12:56:31 +0000 (07:56 -0500)]
Merge pull request #3374 from opensourcerouting/bugfix/vty-shadow

lib/vty: Fix warning about shadowed variable

5 years agoMerge pull request #3371 from donaldsharp/vtysh_ospf_instance
Russ White [Mon, 26 Nov 2018 12:55:49 +0000 (07:55 -0500)]
Merge pull request #3371 from donaldsharp/vtysh_ospf_instance

vtysh: Don't attempt to reconnect the non-instanced ospf process

5 years agoMerge pull request #3325 from adeg/bugfix/bgpd-vtysh-fixes
Russ White [Mon, 26 Nov 2018 03:39:47 +0000 (22:39 -0500)]
Merge pull request #3325 from adeg/bugfix/bgpd-vtysh-fixes

bgp_vty: Fix vpn_leak_postchange_all() every time "router bgp ASNUM" context is entered

5 years agoMerge pull request #3176 from chiragshah6/evpn_dev
Russ White [Mon, 26 Nov 2018 03:17:33 +0000 (22:17 -0500)]
Merge pull request #3176 from chiragshah6/evpn_dev

zebra: duplicate address detection and dampening

5 years agolib/vty: Fix warning about shadowed variable
Christian Franke [Fri, 23 Nov 2018 16:52:46 +0000 (17:52 +0100)]
lib/vty: Fix warning about shadowed variable

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
5 years agovtysh: Don't attempt to reconnect the non-instanced ospf process
Donald Sharp [Wed, 21 Nov 2018 21:13:25 +0000 (16:13 -0500)]
vtysh: Don't attempt to reconnect the non-instanced ospf process

When running ospf instances we should not attempt to reconnect
the default ospf instance on running a command.

This commit should be targeted enough because in the case
of normal operation we connect to everything we should
and only set the VTYSH_WAS_ACTIVE flag for those we
truly have lost connection too.

Before:

donna.cumulusnetworks.com# config t
donna.cumulusnetworks.com(config)# router ospf 100
Warning: connecting to ospfd...failed!
donna.cumulusnetworks.com(config-router)#

After:
donna.cumulusnetworks.com# conf t
donna.cumulusnetworks.com(config)# router ospf 100
donna.cumulusnetworks.com(config-router)# end
donna.cumulusnetworks.com#

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agoMerge pull request #3367 from karamalla0406/frr3333
Russ White [Wed, 21 Nov 2018 18:51:02 +0000 (13:51 -0500)]
Merge pull request #3367 from karamalla0406/frr3333

bgpd: BGP daemon crashed when a L2VNI is unconfigured

5 years agoMerge pull request #3363 from pacovn/static_analysis__ISO_C_return_compliance
Renato Westphal [Wed, 21 Nov 2018 16:19:09 +0000 (14:19 -0200)]
Merge pull request #3363 from pacovn/static_analysis__ISO_C_return_compliance

bgpd isisd lib: fix return on void functions

5 years agoMerge pull request #3368 from pacovn/static_analysis__ISO_C_empty_initializer
Renato Westphal [Wed, 21 Nov 2018 16:14:45 +0000 (14:14 -0200)]
Merge pull request #3368 from pacovn/static_analysis__ISO_C_empty_initializer

isisd lib ospfd pbrd python: fix empty init

5 years agoisisd lib ospfd pbrd python: fix empty init
F. Aragon [Wed, 21 Nov 2018 11:58:48 +0000 (12:58 +0100)]
isisd lib ospfd pbrd python: fix empty init

ISO C forbids empty initializer braces. Empty initializers have been
replaced with {0}

Signed-off-by: F. Aragon <paco@voltanet.io>
5 years agobgpd: BGP daemon crashed when a L2VNI is unconfigured
Kishore Aramalla [Wed, 21 Nov 2018 00:15:56 +0000 (16:15 -0800)]
bgpd: BGP daemon crashed when a L2VNI is unconfigured

When a VNI is unconfigured it deletes all of its import and export
route-targets.  There is a export route-target link list and import
route-target linked list.  There are redudant loops in  the
route-target deletion code.  In the first iteration it deleted the
route-target and freed the RT node, but not list node.
In the 2nd iteration it tries to free the RT node again, resulting in
 the double free of RT node.

Signed-off-by: "Kishore Aramalla karamallavmware.com"
5 years agoMerge pull request #3339 from opensourcerouting/bugfix/isis-flooding-issues
Russ White [Tue, 20 Nov 2018 20:07:19 +0000 (15:07 -0500)]
Merge pull request #3339 from opensourcerouting/bugfix/isis-flooding-issues

isis: Fix flooding issues

5 years agoisisd: Fix bug in tlvs_protocols_supported_to_adj
Christian Franke [Tue, 20 Nov 2018 18:45:31 +0000 (19:45 +0100)]
isisd: Fix bug in tlvs_protocols_supported_to_adj

We should set nlpids[0] if we only set on protocol,
not nlpids[1].

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
5 years agoisisd: Consider non-mt links usable when either v4 or v6 works
Christian Franke [Tue, 20 Nov 2018 18:18:42 +0000 (19:18 +0100)]
isisd: Consider non-mt links usable when either v4 or v6 works

When we run in non-mt mode, we should consider links which have either
working IPv4 or IPv6 active and look at the neighbors nlpids to judge
wether a link is usable.

Fixes: #3336
5 years agoMerge pull request #3359 from qlyoung/true-atomics
Mark Stapp [Tue, 20 Nov 2018 16:43:10 +0000 (11:43 -0500)]
Merge pull request #3359 from qlyoung/true-atomics

Restrict atomics to 32-bits only

5 years agobgpd isisd lib: fix return on void functions
F. Aragon [Tue, 20 Nov 2018 15:30:20 +0000 (16:30 +0100)]
bgpd isisd lib: fix return on void functions

ISO C forbids ‘return’ with expression, in function returning void.

Signed-off-by: F. Aragon <paco@voltanet.io>
5 years agoMerge pull request #2929 from kssoman/rtr_fix
Renato Westphal [Tue, 20 Nov 2018 14:26:52 +0000 (12:26 -0200)]
Merge pull request #2929 from kssoman/rtr_fix

bgpd, zebra: Creating Loopback Interface Flaps BGPd, it should update

5 years agobgpd: null check (Coverity 1475469)
F. Aragon [Tue, 20 Nov 2018 11:50:05 +0000 (12:50 +0100)]
bgpd: null check (Coverity 1475469)

Null check of 'rn' returned by bgp_node_lookup() because it could be
deferenced afterwards into bgp_nexthop_get_node_info()

Signed-off-by: F. Aragon <paco@voltanet.io>
5 years agoyang: add .gitignore
David Lamparter [Mon, 19 Nov 2018 22:59:41 +0000 (23:59 +0100)]
yang: add .gitignore

Signed-off-by: David Lamparter <equinox@diac24.net>
5 years agoyang: embed models into binaries
David Lamparter [Mon, 19 Nov 2018 18:18:37 +0000 (19:18 +0100)]
yang: embed models into binaries

This bakes our YANG models straight into the library/daemons, so they
don't need to be loaded from /usr/share/yang.  This makes the
installation quite a bit more robust, as well as gets us halfway to
running uninstalled.  (The other half is baking in the extension type
module.)

The /usr/share/yang directory is still searched as a fallback, as well
as for the experimental YANG model translator.  This is likely to stay
as is for the time being.

Signed-off-by: David Lamparter <equinox@diac24.net>
5 years agotools: add non-32 bit atomic warning to checkpatch
Quentin Young [Mon, 19 Nov 2018 18:48:42 +0000 (18:48 +0000)]
tools: add non-32 bit atomic warning to checkpatch

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
5 years ago*: only use 32-bit atomics
Quentin Young [Mon, 19 Nov 2018 18:44:35 +0000 (18:44 +0000)]
*: only use 32-bit atomics

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
5 years agoMerge pull request #3358 from opensourcerouting/libtool-cfg-warn
Quentin Young [Mon, 19 Nov 2018 17:16:37 +0000 (12:16 -0500)]
Merge pull request #3358 from opensourcerouting/libtool-cfg-warn

build: refuse non-working linking options

5 years agoMerge pull request #3346 from donaldsharp/pim_possible_issues
David Lamparter [Mon, 19 Nov 2018 16:02:27 +0000 (17:02 +0100)]
Merge pull request #3346 from donaldsharp/pim_possible_issues

Pim possible issues

5 years agoMerge pull request #3294 from pguibert6WIND/distribute_list_ipv6
David Lamparter [Mon, 19 Nov 2018 16:01:24 +0000 (17:01 +0100)]
Merge pull request #3294 from pguibert6WIND/distribute_list_ipv6

lib: distribute-list ipv6 can be (un)configured

5 years agoMerge pull request #3311 from dslicenc/static-int-up
David Lamparter [Mon, 19 Nov 2018 15:59:08 +0000 (16:59 +0100)]
Merge pull request #3311 from dslicenc/static-int-up

staticd: install static routes in a vrf when next-hop interface comes up

5 years agoMerge pull request #2725 from pguibert6WIND/workflow_lts
David Lamparter [Mon, 19 Nov 2018 15:54:56 +0000 (16:54 +0100)]
Merge pull request #2725 from pguibert6WIND/workflow_lts

doc: change workflow to support long term maintenance branches

5 years agoMerge pull request #3343 from qlyoung/doc-add-vtysh-dev
David Lamparter [Mon, 19 Nov 2018 15:54:25 +0000 (16:54 +0100)]
Merge pull request #3343 from qlyoung/doc-add-vtysh-dev

doc: add dev doc for vtysh

5 years agobuild: refuse non-working linking options
David Lamparter [Mon, 19 Nov 2018 15:32:14 +0000 (16:32 +0100)]
build: refuse non-working linking options

We only support:
* --enable-shared --disable-static --disable-static-bin
* --enable-shared --enable-static --disable-static-bin
* --enable-shared --enable-static --enable-static-bin

(The second option is not particularly useful.)

Signed-off-by: David Lamparter <equinox@diac24.net>
5 years agobgpd: Creating Loopback Interface Flaps BGPd (#2865)
root [Mon, 19 Nov 2018 12:35:32 +0000 (04:35 -0800)]
bgpd: Creating Loopback Interface Flaps BGPd (#2865)

* The function bgp_router_id_zebra_bump() will check for active bgp
  peers before chenging the router ID.
  If there are established peers, router ID is not modified
  which prevents the flapping of established peer connection

* Added field in bgp structure to store the count of established peers

Signed-off-by: kssoman <somanks@vmware.com>
5 years agozebra: dup addr detect mac consolidation
Chirag Shah [Sun, 18 Nov 2018 00:03:19 +0000 (16:03 -0800)]
zebra: dup addr detect mac consolidation

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
5 years agozebra: dup addr detect neigh consolidation
Chirag Shah [Sat, 17 Nov 2018 04:38:39 +0000 (20:38 -0800)]
zebra: dup addr detect neigh consolidation

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
5 years agobgp, zebra: address review comments
Chirag Shah [Sat, 17 Nov 2018 01:30:15 +0000 (17:30 -0800)]
bgp, zebra: address review comments

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
5 years agozebra: dup addr detect add fields to show evpn cmd
Chirag Shah [Sat, 17 Nov 2018 01:51:11 +0000 (17:51 -0800)]
zebra: dup addr detect add fields to show evpn cmd

TOR# show evpn
L2 VNIs: 5
L3 VNIs: 0
Advertise gateway mac-ip: No
Duplicate address detection: Enable
  Detection max-moves 5, time 180

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
5 years agozebra: dup addr detect fix warnings
Chirag Shah [Mon, 5 Nov 2018 03:27:28 +0000 (19:27 -0800)]
zebra: dup addr detect fix warnings

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
5 years agozebra: dup addr detect clear command
Chirag Shah [Sun, 4 Nov 2018 18:55:39 +0000 (10:55 -0800)]
zebra: dup addr detect clear command

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
5 years agozebra: dup addr detect operation commands
Chirag Shah [Sun, 4 Nov 2018 18:17:29 +0000 (10:17 -0800)]
zebra: dup addr detect operation commands

Display duplicate detected list of MACs and VNIs.
- Per VNI
- Across all VNIs

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
5 years agolib, zebra: dup addr detect display detection fields
Chirag Shah [Sun, 4 Nov 2018 17:36:47 +0000 (09:36 -0800)]
lib, zebra: dup addr detect display detection fields

Display following Per MAC and Neigh's output:
If duplicate address detection is under process,
display detection start time and detection count.
If duplicate address detection detected an address
as duplicate, display detection time and duplicate
status.

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
5 years agozebra: dup addr detect freeze action
Chirag Shah [Sun, 4 Nov 2018 16:20:11 +0000 (08:20 -0800)]
zebra: dup addr detect freeze action

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
5 years agozebra: dup addr detect warn-only
Chirag Shah [Fri, 2 Nov 2018 15:30:41 +0000 (08:30 -0700)]
zebra: dup addr detect warn-only

Duplicate address detection warning only action
upon an address detected as duplicate.

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
5 years agozebra: dup addr detect zapi changes
Chirag Shah [Fri, 2 Nov 2018 00:55:07 +0000 (17:55 -0700)]
zebra: dup addr detect zapi changes

EVPN Duplicate Address Detection (DAD)
zapi information

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
5 years agobgpd: dup addr detect config cli
Chirag Shah [Thu, 1 Nov 2018 15:28:08 +0000 (08:28 -0700)]
bgpd: dup addr detect config cli

Duplicate address detection configuration clis
under bgp l2vpn evpn config mode.
- Enabled/Disable (global knob) for feature.
- Configure cli for duplicate detection action
freeze and freze until time (auto-recovery).

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
5 years agobgpd: dup addr detect data struct for cfg
Chirag Shah [Wed, 31 Oct 2018 23:53:28 +0000 (16:53 -0700)]
bgpd: dup addr detect data struct for cfg

Enable/disable duplicate address detection
there are 3 actions
warning-only: Default action which generates
only frr warning (syslog) to user for any
duplicate detecton
freeze: Permanently freezes address, manual
intervene required.
freeze with time: An address will recover once
the time has expired (auto-recovery).

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
5 years agozebra: improve identification of loopback interfaces in the router-id code
Renato Westphal [Sat, 17 Nov 2018 23:33:37 +0000 (21:33 -0200)]
zebra: improve identification of loopback interfaces in the router-id code

The if_is_loopback() function is the right abstraction for identifying
loopback interfaces. There should be no reason for not using it in the
router-id code.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
5 years agoMerge pull request #3341 from donaldsharp/unneeded
Renato Westphal [Sat, 17 Nov 2018 22:33:44 +0000 (20:33 -0200)]
Merge pull request #3341 from donaldsharp/unneeded

zebra: Remove uncompiled file

5 years agoMerge pull request #3352 from pacovn/Coverity_1475489_resource_leak
Renato Westphal [Sat, 17 Nov 2018 22:32:02 +0000 (20:32 -0200)]
Merge pull request #3352 from pacovn/Coverity_1475489_resource_leak

bgpd: fix resource leak (Coverity 1475489)

5 years agoMerge pull request #3353 from qlyoung/fix-bgpd-community-list-deletion-nit
Renato Westphal [Sat, 17 Nov 2018 22:30:23 +0000 (20:30 -0200)]
Merge pull request #3353 from qlyoung/fix-bgpd-community-list-deletion-nit

bgpd: fix small error in community-list patch

5 years agoMerge pull request #3338 from ton31337/fix/optional_args_for_exclude
Quentin Young [Fri, 16 Nov 2018 20:43:44 +0000 (15:43 -0500)]
Merge pull request #3338 from ton31337/fix/optional_args_for_exclude

bgpd: Optionally remove AS number when using `no set as-path exclude`

5 years agoMerge pull request #3344 from ton31337/fix/optional_args_for_community-lists
Quentin Young [Fri, 16 Nov 2018 20:16:35 +0000 (15:16 -0500)]
Merge pull request #3344 from ton31337/fix/optional_args_for_community-lists

bgpd: Remove community-list by name without typing full rule

5 years agoospf6d: abr summary advertise best route
Chirag Shah [Fri, 16 Nov 2018 01:05:58 +0000 (17:05 -0800)]
ospf6d: abr summary advertise best route

ABR summary should contain best intra prefix LSA.
There might be a case where intra-prefix route with different
cost from different advertising router present, summary
advertisement should only consider best intra-prefix route.

A route which is marked for remove, while purging the route's
ABR summary LSA also remove summary route from the summary
table.

Ticket:CM-22665
Testing Done:
Validate on ABR topology, intra-prefix route with
different cost, a higher cost intra-prefix route skip from sending
ABR summary LSA.

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
5 years agobgpd: fix resource leak (Coverity 1475489)
F. Aragon [Fri, 16 Nov 2018 19:13:38 +0000 (20:13 +0100)]
bgpd: fix resource leak (Coverity 1475489)

Signed-off-by: F. Aragon <paco@voltanet.io>
5 years agoMerge pull request #3348 from donaldsharp/bsd_route_install
Mark Stapp [Fri, 16 Nov 2018 13:53:27 +0000 (08:53 -0500)]
Merge pull request #3348 from donaldsharp/bsd_route_install

zebra: Fix bsd privs elevation

5 years agozebra: Fix privs elevation
Donald Sharp [Fri, 16 Nov 2018 12:26:51 +0000 (07:26 -0500)]
zebra: Fix privs elevation

This Commit: f183e380fae61b7c1f89fed6e32ed5a9d1ede8a8 broke
priviledge escalation on *bsd.  This puts it back.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agopimd: When we fail to initiate ifchannel backout work done
Donald Sharp [Fri, 16 Nov 2018 00:28:43 +0000 (19:28 -0500)]
pimd: When we fail to initiate ifchannel backout work done

When we receive a igmp report and attempt to initiate
a pim ifchannel for it and that fails to work then
let's back out the work done setting stuff up to this
point.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agopimd: Add some debugs for when local membership fails
Donald Sharp [Fri, 16 Nov 2018 00:17:17 +0000 (19:17 -0500)]
pimd: Add some debugs for when local membership fails

When we fail to add a local membership add some additional debugs
so that we can have a bit more information on when something goes
bad.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agobgpd: Remove community-list by name without typing full rule
Donatas Abraitis [Thu, 15 Nov 2018 20:08:42 +0000 (22:08 +0200)]
bgpd: Remove community-list by name without typing full rule

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
5 years agobgpd: Optionally remove AS number when using `no set as-path exclude`
Donatas Abraitis [Thu, 15 Nov 2018 19:57:34 +0000 (21:57 +0200)]
bgpd: Optionally remove AS number when using `no set as-path exclude`

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
5 years agozebra: Remove uncompiled file
Donald Sharp [Thu, 15 Nov 2018 18:42:30 +0000 (13:42 -0500)]
zebra: Remove uncompiled file

The zebra_l2_null.c is not compiled and not needed, remove.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agoisisd: Fix behavior on reception of self-originated LSP
Christian Franke [Thu, 15 Nov 2018 13:55:31 +0000 (14:55 +0100)]
isisd: Fix behavior on reception of self-originated LSP

We should only update and reflood our own LSPs when the received LSP
is newer than the local copy.

In all other cases, we should simply acknowledge it or resend our own
LSP.

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
5 years agofabricd: Fix flooding bug
Christian Franke [Thu, 15 Nov 2018 12:05:35 +0000 (13:05 +0100)]
fabricd: Fix flooding bug

Due to `lsp` getting shadowed, we would send each T0 its own LSP
whenever we actually wanted to flood a different LSP.

Fix this and set -Wshadow=local in my build environment. m(

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
5 years agoisisd: Always consider purges as newer
Christian Franke [Wed, 14 Nov 2018 17:54:59 +0000 (18:54 +0100)]
isisd: Always consider purges as newer

When receiving an LSP with same sequence number but different
checksum as in the local database, we would always treat it as
newer than the local LSP.

That behavior is incorrect if the local LSP is indeed a purged
LSP waiting for age-out and the received one is not.

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
5 years agoMerge pull request #3326 from qlyoung/fix-lla-reinstallation
David Lamparter [Thu, 15 Nov 2018 13:58:51 +0000 (14:58 +0100)]
Merge pull request #3326 from qlyoung/fix-lla-reinstallation

zebra: force neighbor entry reinstallation

5 years agoMerge pull request #3316 from qlyoung/remove-pr-admonishment
David Lamparter [Thu, 15 Nov 2018 13:07:09 +0000 (14:07 +0100)]
Merge pull request #3316 from qlyoung/remove-pr-admonishment

.github: remove style reminder from PR template

5 years agoMerge pull request #3323 from qlyoung/doc-zebra-protocol
David Lamparter [Thu, 15 Nov 2018 13:06:00 +0000 (14:06 +0100)]
Merge pull request #3323 from qlyoung/doc-zebra-protocol

doc: update zebra protocol documentation

5 years agoMerge pull request #3329 from rubenk/autoconf-cleanup
David Lamparter [Thu, 15 Nov 2018 13:02:20 +0000 (14:02 +0100)]
Merge pull request #3329 from rubenk/autoconf-cleanup

configure.ac: consistently quote all m4 macros

5 years agoMerge pull request #3331 from mjstapp/fix_lib_id_warning
David Lamparter [Thu, 15 Nov 2018 12:59:52 +0000 (13:59 +0100)]
Merge pull request #3331 from mjstapp/fix_lib_id_warning

libs: rename two id_alloc macros to resolve bsd conflict

5 years agoMerge pull request #3332 from qlyoung/fix-code-block-err
Renato Westphal [Thu, 15 Nov 2018 12:50:38 +0000 (10:50 -0200)]
Merge pull request #3332 from qlyoung/fix-code-block-err

doc: use correct specifier for code block

5 years agoMerge pull request #3164 from pguibert6WIND/bgpstandalone_importexport
Renato Westphal [Thu, 15 Nov 2018 12:49:17 +0000 (10:49 -0200)]
Merge pull request #3164 from pguibert6WIND/bgpstandalone_importexport

bgpd: allow vrf validity and bgp vrf import/export, when zebra is off

5 years agolibs: rename two id_alloc macros to resolve bsd conflict
Mark Stapp [Wed, 14 Nov 2018 19:04:55 +0000 (14:04 -0500)]
libs: rename two id_alloc macros to resolve bsd conflict

Two of the macros in lib/id_alloc had conflicts on some platforms;
rename them to be unique.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
5 years agoconfigure.ac: consistently quote all m4 macros
Ruben Kerkhof [Wed, 14 Nov 2018 11:23:49 +0000 (12:23 +0100)]
configure.ac: consistently quote all m4 macros

Signed-off-by: Ruben Kerkhof <ruben@rubenkerkhof.com>
5 years agoMerge pull request #3322 from qlyoung/remove-vestigial-secondary
David Lamparter [Wed, 14 Nov 2018 08:09:43 +0000 (09:09 +0100)]
Merge pull request #3322 from qlyoung/remove-vestigial-secondary

Remove vestigial secondary

5 years agoMerge pull request #3324 from qlyoung/fix-zebra-router-memleak
David Lamparter [Wed, 14 Nov 2018 08:08:50 +0000 (09:08 +0100)]
Merge pull request #3324 from qlyoung/fix-zebra-router-memleak

zebra: fix zebra router memleaks

5 years agobgpd: add missing endline
Anton Degtyarev [Wed, 14 Nov 2018 00:57:46 +0000 (03:57 +0300)]
bgpd: add missing endline

Missing endline was resulting in garbled output in vtysh in some cases, for example, when there were no peers configured and the user has issued "bgp disable-ebgp-connected-route-check" command.

Signed-off-by: Anton Degtyarev <anton@cumulusnetworks.com>
5 years agobgpd: Fix bgpd doing vpn_leak_postchange_all() every time "router bgp ASNUM" command...
Anton Degtyarev [Wed, 14 Nov 2018 00:54:56 +0000 (03:54 +0300)]
bgpd: Fix bgpd doing vpn_leak_postchange_all() every time "router bgp ASNUM" command is entered in vtysh

In rare cases when the default BGP instance is instantiated after VRF bgp instances (see comment to bgp_mplsvpn.c:vpn_leak_postchange_all() for an example), the "router bgp" command needs to call vpn_leak_postchange_all() to start the route leaking process. The issue was it was never checked if the "router bgp" command was used to create the default BGP instance or just to enter into "router bgp" command context. This resulted in vpn_leak_postchange_all() executed every time (and vpn routes re-announced to all peers) when the user was entering "router bgp" command context.

Signed-off-by: Anton Degtyarev <anton@cumulusnetworks.com>
5 years agoMerge pull request #3320 from mjstapp/fix_dp_ecmp
Donald Sharp [Tue, 13 Nov 2018 18:02:02 +0000 (13:02 -0500)]
Merge pull request #3320 from mjstapp/fix_dp_ecmp

zebra: Fix netlink installation of recursive ecmp routes

5 years agodoc: change workflow to support long term maintenance branches
Philippe Guibert [Wed, 25 Jul 2018 16:09:52 +0000 (18:09 +0200)]
doc: change workflow to support long term maintenance branches

Add in the workflow the possibility to do long term support.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
5 years agoMerge pull request #3295 from pguibert6WIND/ospf_area_unconfigure
David Lamparter [Tue, 13 Nov 2018 15:40:58 +0000 (16:40 +0100)]
Merge pull request #3295 from pguibert6WIND/ospf_area_unconfigure

ospfd: permit reconfiguring network after area suppressed

5 years agozebra: Fix netlink installation of recursive ecmp routes
Mark Stapp [Tue, 13 Nov 2018 15:21:16 +0000 (10:21 -0500)]
zebra: Fix netlink installation of recursive ecmp routes

Recursive multipath nexthops were broken by the initial async
dataplane - we were trying to install an extra, invalid
nexthop.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
5 years agobgpd: allow vrf validity and bgp vrf import/export, when zebra is off
Philippe Guibert [Thu, 11 Oct 2018 16:37:01 +0000 (18:37 +0200)]
bgpd: allow vrf validity and bgp vrf import/export, when zebra is off

if zebra is not started, then vrf identifiers are not available. This
prevents import/exportation to be available. This commit permits having
import/export available, even when zebra is not started.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
5 years agoMerge pull request #3310 from adeg/bugfix/bgpd-mplsvpn-route-import-check
Donald Sharp [Tue, 13 Nov 2018 14:21:05 +0000 (09:21 -0500)]
Merge pull request #3310 from adeg/bugfix/bgpd-mplsvpn-route-import-check

bgpd: fix bgp path info for mplsvpn leaked routes

5 years agoMerge pull request #3051 from mitch-skiba/addpath_change_V1
Donald Sharp [Tue, 13 Nov 2018 14:20:22 +0000 (09:20 -0500)]
Merge pull request #3051 from mitch-skiba/addpath_change_V1

Addpath - Reuse IDs

5 years agoMerge pull request #3318 from qlyoung/agentx-remove-warning-msg
David Lamparter [Tue, 13 Nov 2018 14:06:24 +0000 (15:06 +0100)]
Merge pull request #3318 from qlyoung/agentx-remove-warning-msg

lib: remove agentx already enabled warning

5 years agoMerge pull request #3317 from qlyoung/gitignore-libtool-orig
David Lamparter [Tue, 13 Nov 2018 14:05:24 +0000 (15:05 +0100)]
Merge pull request #3317 from qlyoung/gitignore-libtool-orig

frr: ignore libtool.orig

5 years agoMerge pull request #3287 from donaldsharp/v6_access_list
Lou Berger [Tue, 13 Nov 2018 09:59:23 +0000 (16:59 +0700)]
Merge pull request #3287 from donaldsharp/v6_access_list

zebra: Add `match ipv6 address WORD` as a legal option

5 years agoMerge pull request #3286 from donaldsharp/late_registration
David Lamparter [Tue, 13 Nov 2018 09:26:14 +0000 (10:26 +0100)]
Merge pull request #3286 from donaldsharp/late_registration

bgpd: Late registration of Extended Nexthop should allow RA's to happen

5 years agoMerge pull request #3313 from qlyoung/doc-strip-whitespace
Lou Berger [Tue, 13 Nov 2018 07:56:14 +0000 (14:56 +0700)]
Merge pull request #3313 from qlyoung/doc-strip-whitespace

doc: strip trailing whitespace

5 years agoMerge pull request #3314 from qlyoung/doc-ipv6-isis-router-cmd
Lou Berger [Tue, 13 Nov 2018 07:55:38 +0000 (14:55 +0700)]
Merge pull request #3314 from qlyoung/doc-ipv6-isis-router-cmd

doc: add missing docs for ipv6 isis router cmd

5 years agoMerge pull request #3315 from qlyoung/doc-dev-fixes
Lou Berger [Tue, 13 Nov 2018 07:54:11 +0000 (14:54 +0700)]
Merge pull request #3315 from qlyoung/doc-dev-fixes

Doc dev fixes