]> git.proxmox.com Git - mirror_frr.git/log
mirror_frr.git
5 years agozebra: Allow ns delete to happen after under/over flow checks
Donald Sharp [Mon, 17 Dec 2018 02:36:49 +0000 (21:36 -0500)]
zebra: Allow ns delete to happen after under/over flow checks

Allow the ns deletion event to happen *after* the data validity
checks.

Please note this probably still leaves a weird hole if we receive
multiple namespace events ( as the for loop implies ).  We will
stop handling anything after a namespace deletion notification.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agoMerge pull request #3485 from dslicenc/frr-reload-delete-vrf
David Lamparter [Tue, 18 Dec 2018 16:54:28 +0000 (17:54 +0100)]
Merge pull request #3485 from dslicenc/frr-reload-delete-vrf

tools: stop frr-reload.py from trying to delete the vrf context

5 years agoMerge pull request #3422 from pguibert6WIND/license_gplv3_rule
David Lamparter [Tue, 18 Dec 2018 16:42:27 +0000 (17:42 +0100)]
Merge pull request #3422 from pguibert6WIND/license_gplv3_rule

doc: add a community rule to permit usage of GPLv3

5 years agoMerge pull request #3337 from manuhalo/isis_nb
Donald Sharp [Tue, 18 Dec 2018 16:33:40 +0000 (11:33 -0500)]
Merge pull request #3337 from manuhalo/isis_nb

IS-IS northbound conversion - configuration and notifications only

5 years agoisisd: suppress maybe uninitialized warnings
Emanuele Di Pascale [Tue, 11 Dec 2018 09:55:32 +0000 (10:55 +0100)]
isisd: suppress maybe uninitialized warnings

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agoisisd, yang: set default network-type to broadcast
Emanuele Di Pascale [Mon, 10 Dec 2018 14:18:25 +0000 (15:18 +0100)]
isisd, yang: set default network-type to broadcast

isisd has both a circ_type and a circ_type_config variable to track
the network tpye of an interface. The former has no default, but the
latter defaults to broadcast. Adding that default makes sure that the
yang leaf won't be deleted, which is something that would not make
sense from an isisd perspective. We will need to add an operational
state leaf to match the potential difference between the configured
network type and the actual network type, since the latter might be
different based on the interface flags received from zebra.

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agoisisd: formatting fixes in isis_cli.c
Emanuele Di Pascale [Mon, 10 Dec 2018 13:56:16 +0000 (14:56 +0100)]
isisd: formatting fixes in isis_cli.c

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agoisisd: fix 'no router isis' on candidate config
Emanuele Di Pascale [Mon, 10 Dec 2018 13:54:48 +0000 (14:54 +0100)]
isisd: fix 'no router isis' on candidate config

if we are using the transactional CLI, we might be trying to
delete an area that has not been actually created in isisd.
So rather than relying on isis_area_lookup, check the candidate
config for the presence of the corresponding area instance.

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agoisisd: retrieve default values from the yang model
Emanuele Di Pascale [Mon, 10 Dec 2018 13:30:40 +0000 (14:30 +0100)]
isisd: retrieve default values from the yang model

also fix a minor issue with isis_config_write where we were
not incrementing the write variable, which is used to append
a new line at the end of the vty string

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agolib: add frr-isisd to the native models
Emanuele Di Pascale [Mon, 10 Dec 2018 11:07:54 +0000 (12:07 +0100)]
lib: add frr-isisd to the native models

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agoisisd: implement sighup handler
Emanuele Di Pascale [Mon, 10 Dec 2018 11:02:32 +0000 (12:02 +0100)]
isisd: implement sighup handler

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agoisisd, yang: change type empty leafs to booleans
Emanuele Di Pascale [Mon, 10 Dec 2018 10:44:30 +0000 (11:44 +0100)]
isisd, yang: change type empty leafs to booleans

As requested by the reviewers. Additionally, added a check when
setting a circuit on an interface to see if it is a loopback,
and in that case, set it to passive.

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agoisisd: embed the isisd yang model
Emanuele Di Pascale [Mon, 3 Dec 2018 09:38:12 +0000 (10:38 +0100)]
isisd: embed the isisd yang model

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agoisisd: implemented the 'own-lsp-purge' notification
Emanuele Di Pascale [Wed, 14 Nov 2018 15:27:51 +0000 (16:27 +0100)]
isisd: implemented the 'own-lsp-purge' notification

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agoisisd: implemented the 'sequence-number-skipped' notification
Emanuele Di Pascale [Wed, 14 Nov 2018 15:09:43 +0000 (16:09 +0100)]
isisd: implemented the 'sequence-number-skipped' notification

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agoisisd: add the 'lsp-error-detected' notification
Emanuele Di Pascale [Wed, 14 Nov 2018 15:05:57 +0000 (16:05 +0100)]
isisd: add the 'lsp-error-detected' notification

Note that we do not return the actual tlv_type and offset
of the erroneous TLV. This is because unpacking tlvs currently
uses a chain of function calls, where the notification can only
be sent at the start of the chain, but the tlv_type and offset
information are only available at the end. Unless we change the
code to propagate those values, we have no way to feed them to
the notification. So these leafs are not generated.

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agoisisd: implement the 'version-skew' notification
Emanuele Di Pascale [Wed, 14 Nov 2018 14:30:46 +0000 (15:30 +0100)]
isisd: implement the 'version-skew' notification

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agoisisd: implement the 'id-len-mismatch' notification
Emanuele Di Pascale [Wed, 14 Nov 2018 14:29:55 +0000 (15:29 +0100)]
isisd: implement the 'id-len-mismatch' notification

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agoisisd: implement the 'lsp-generation' notification
Emanuele Di Pascale [Wed, 14 Nov 2018 14:28:55 +0000 (15:28 +0100)]
isisd: implement the 'lsp-generation' notification

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agoisisd: implement the 'lsp-received' notification
Emanuele Di Pascale [Wed, 14 Nov 2018 14:28:12 +0000 (15:28 +0100)]
isisd: implement the 'lsp-received' notification

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agoisisd: implement the 'area-mismatch' notification
Emanuele Di Pascale [Wed, 14 Nov 2018 14:27:10 +0000 (15:27 +0100)]
isisd: implement the 'area-mismatch' notification

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agoisisd: implement the 'rejected-adjacency' notification
Emanuele Di Pascale [Wed, 14 Nov 2018 14:25:54 +0000 (15:25 +0100)]
isisd: implement the 'rejected-adjacency' notification

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agoisisd: implement the 'adjacency-state-change' notification
Emanuele Di Pascale [Wed, 14 Nov 2018 14:24:00 +0000 (15:24 +0100)]
isisd: implement the 'adjacency-state-change' notification

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agoisisd: implement the authentication failure notifications
Emanuele Di Pascale [Wed, 14 Nov 2018 14:20:38 +0000 (15:20 +0100)]
isisd: implement the authentication failure notifications

the original isisd code did not distinguish between
authentication_failure and authentication_type_failure, so
additional code had to be added to differentiate between the two
and to return the raw_pdu as requested by the IETF YANG model.

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agoisisd: implement 'max-area-addresses-mismatch' notification
Emanuele Di Pascale [Wed, 14 Nov 2018 14:12:15 +0000 (15:12 +0100)]
isisd: implement 'max-area-addresses-mismatch' notification

Note that the original IETF YANG model also included
a requirement to throttle such notifications so that they would
not be sent more often than once every 5 seconds. I did not
implement any throttling mechanism yet, mostly because I am
not sure whether this limit should apply to the entire isis daemon,
to each area, to each neighbor etc.

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agoisisd: implement the 'attempt-to-exceed-max-sequence' notification
Emanuele Di Pascale [Wed, 14 Nov 2018 14:08:26 +0000 (15:08 +0100)]
isisd: implement the 'attempt-to-exceed-max-sequence' notification

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agoisisd: implement the 'corrupted-lsp-detected' notification
Emanuele Di Pascale [Wed, 14 Nov 2018 14:06:43 +0000 (15:06 +0100)]
isisd: implement the 'corrupted-lsp-detected' notification

However it is not currently called anywhere, as I could not find a
place in the code where it felt appropriate.

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agoisisd: implement the 'if-state-change' notification
Emanuele Di Pascale [Wed, 14 Nov 2018 14:04:51 +0000 (15:04 +0100)]
isisd: implement the 'if-state-change' notification

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agoisisd: implement the 'lsp-too-large' notification
Emanuele Di Pascale [Wed, 14 Nov 2018 14:03:24 +0000 (15:03 +0100)]
isisd: implement the 'lsp-too-large' notification

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agoisisd: implement the 'database-overload' notification
Emanuele Di Pascale [Wed, 14 Nov 2018 13:55:48 +0000 (14:55 +0100)]
isisd: implement the 'database-overload' notification

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agoisisd: modify config_write funcs to use the northbound
Emanuele Di Pascale [Wed, 14 Nov 2018 13:50:53 +0000 (14:50 +0100)]
isisd: modify config_write funcs to use the northbound

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agoisisd: retrofit the 'log-adjacency-changes' command
Emanuele Di Pascale [Wed, 14 Nov 2018 13:44:07 +0000 (14:44 +0100)]
isisd: retrofit the 'log-adjacency-changes' command

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agoisisd: retrofit the 'isis priority' command
Emanuele Di Pascale [Wed, 14 Nov 2018 13:39:18 +0000 (14:39 +0100)]
isisd: retrofit the 'isis priority' command

remove isis_vty_isisd.c as it is no longer needed

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agoisisd: retrofit the 'isis network' command
Emanuele Di Pascale [Wed, 14 Nov 2018 13:35:43 +0000 (14:35 +0100)]
isisd: retrofit the 'isis network' command

remove the return value and redundant validations from
isis_circuit_circ_type_set(), since they are no longer needed.

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agoisisd: retrofit the 'isis circuit-type' command
Emanuele Di Pascale [Thu, 15 Nov 2018 11:11:19 +0000 (12:11 +0100)]
isisd: retrofit the 'isis circuit-type' command

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agoisisd: retrofit the 'isis topology' command
Emanuele Di Pascale [Wed, 14 Nov 2018 13:27:33 +0000 (14:27 +0100)]
isisd: retrofit the 'isis topology' command

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agoisisd: retrofit the 'isis [c|p]snp-interval' commands
Emanuele Di Pascale [Wed, 14 Nov 2018 13:21:46 +0000 (14:21 +0100)]
isisd: retrofit the 'isis [c|p]snp-interval' commands

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agoisisd: retrofit the 'isis hello-padding' command
Emanuele Di Pascale [Wed, 14 Nov 2018 13:16:41 +0000 (14:16 +0100)]
isisd: retrofit the 'isis hello-padding' command

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agoisisd: retrofit the 'isis three-way-handshake' command
Emanuele Di Pascale [Wed, 14 Nov 2018 12:09:03 +0000 (13:09 +0100)]
isisd: retrofit the 'isis three-way-handshake' command

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agoisisd: retrofit the 'isis hello-multiplier' command
Emanuele Di Pascale [Wed, 14 Nov 2018 12:05:47 +0000 (13:05 +0100)]
isisd: retrofit the 'isis hello-multiplier' command

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agoisisd: retrofit the 'isis hello-interval' command
Emanuele Di Pascale [Wed, 14 Nov 2018 12:03:03 +0000 (13:03 +0100)]
isisd: retrofit the 'isis hello-interval' command

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agoisisd: retrofit the 'isis metric' command
Emanuele Di Pascale [Wed, 14 Nov 2018 11:56:49 +0000 (12:56 +0100)]
isisd: retrofit the 'isis metric' command

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agoisisd: retrofit the 'isis password' command
Emanuele Di Pascale [Wed, 14 Nov 2018 11:51:45 +0000 (12:51 +0100)]
isisd: retrofit the 'isis password' command

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agoisisd: retrofit the 'isis passive' command
Emanuele Di Pascale [Wed, 14 Nov 2018 11:46:48 +0000 (12:46 +0100)]
isisd: retrofit the 'isis passive' command

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agoisisd: retrofit the 'topology' command
Emanuele Di Pascale [Wed, 14 Nov 2018 11:34:02 +0000 (12:34 +0100)]
isisd: retrofit the 'topology' command

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agoisisd: retrofit the 'redistribute' command
Emanuele Di Pascale [Wed, 14 Nov 2018 11:19:33 +0000 (12:19 +0100)]
isisd: retrofit the 'redistribute' command

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agoisisd: retrofit the 'default-originate' command
Emanuele Di Pascale [Wed, 14 Nov 2018 11:12:32 +0000 (12:12 +0100)]
isisd: retrofit the 'default-originate' command

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agoisisd: retrofit the mpls-te commands
Emanuele Di Pascale [Wed, 14 Nov 2018 10:50:29 +0000 (11:50 +0100)]
isisd: retrofit the mpls-te commands

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agoisisd: retrofit the 'purge-originator' command
Emanuele Di Pascale [Wed, 14 Nov 2018 09:55:54 +0000 (10:55 +0100)]
isisd: retrofit the 'purge-originator' command

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agoisisd: retrofit the 'spf-delay-ietf' command
Emanuele Di Pascale [Wed, 14 Nov 2018 09:40:20 +0000 (10:40 +0100)]
isisd: retrofit the 'spf-delay-ietf' command

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agoisisd: retrofit the 'spf-interval' command
Emanuele Di Pascale [Wed, 14 Nov 2018 09:34:41 +0000 (10:34 +0100)]
isisd: retrofit the 'spf-interval' command

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agoisisd: retrofit the 'lsp-mtu' command
Emanuele Di Pascale [Tue, 13 Nov 2018 17:59:23 +0000 (18:59 +0100)]
isisd: retrofit the 'lsp-mtu' command

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agoisisd: retrofit the 'max-lsp-lifetime' command
Emanuele Di Pascale [Tue, 13 Nov 2018 17:47:00 +0000 (18:47 +0100)]
isisd: retrofit the 'max-lsp-lifetime' command

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agoisisd: retrofit the 'lsp-refresh-interval' command
Emanuele Di Pascale [Tue, 13 Nov 2018 17:41:56 +0000 (18:41 +0100)]
isisd: retrofit the 'lsp-refresh-interval' command

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agoisisd: retrofit the 'lsp-gen-interval' command
Emanuele Di Pascale [Tue, 13 Nov 2018 17:37:24 +0000 (18:37 +0100)]
isisd: retrofit the 'lsp-gen-interval' command

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agoisisd: retrofit the 'area-password' and 'domain-password' cmds
Emanuele Di Pascale [Tue, 13 Nov 2018 17:22:20 +0000 (18:22 +0100)]
isisd: retrofit the 'area-password' and 'domain-password' cmds

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agoisisd: retrofit the 'metric-style' command
Emanuele Di Pascale [Tue, 13 Nov 2018 17:05:00 +0000 (18:05 +0100)]
isisd: retrofit the 'metric-style' command

Note that some of the validation checks that were previously
executed in the code have been moved to the YANG model.

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agoisisd: retrofit 'set-overload-bit' and 'set-attached-bit' cmds
Emanuele Di Pascale [Tue, 13 Nov 2018 16:59:13 +0000 (17:59 +0100)]
isisd: retrofit 'set-overload-bit' and 'set-attached-bit' cmds

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agoisisd: retrofit the 'dynamic-hostname' command
Emanuele Di Pascale [Tue, 13 Nov 2018 16:51:47 +0000 (17:51 +0100)]
isisd: retrofit the 'dynamic-hostname' command

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agoisisd: retrofit the 'is-type' command
Emanuele Di Pascale [Tue, 13 Nov 2018 16:46:30 +0000 (17:46 +0100)]
isisd: retrofit the 'is-type' command

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agoisisd: retrofit the 'net' command
Emanuele Di Pascale [Tue, 13 Nov 2018 16:33:49 +0000 (17:33 +0100)]
isisd: retrofit the 'net' command

This is a simple command but with a complex callback, the only
one in isisd which uses the resource allocation API implemented
in the northbound (i.e. the PREPARE phase).

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agoisisd: retrofit 'router isis' and 'ip router isis' cmds
Emanuele Di Pascale [Tue, 13 Nov 2018 16:19:10 +0000 (17:19 +0100)]
isisd: retrofit 'router isis' and 'ip router isis' cmds

These are complex commands to retrofit, partly due to the number of
different callbacks they touch. Additionally, in FRR adding
an interface to an IS-IS area that does not exist also creates that
area. To make sure that this behavior is kept, while at the same
time keeping the northbound api consistent, we need to take extra
care to call the appropriate callbacks to update the YANG tree.

Note that many callbacks rely on the existence of the corresponding
IS-IS area; when these callbacks are joined together in a single
transaction, we need to ensure that the area creation is performed
first, or the config will fail. For this reason, the isis instance
create callback has been given a slightly lower priority than the
others.

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agoMerge pull request #3321 from pguibert6WIND/show_import_table
Renato Westphal [Tue, 18 Dec 2018 14:17:50 +0000 (12:17 -0200)]
Merge pull request #3321 from pguibert6WIND/show_import_table

Show import table

5 years agoisisd, yang: add configuration model and callback stubs
Emanuele Di Pascale [Tue, 13 Nov 2018 15:35:07 +0000 (16:35 +0100)]
isisd, yang: add configuration model and callback stubs

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agolib: fix issue with yang_str2enum
Emanuele Di Pascale [Mon, 10 Dec 2018 13:27:37 +0000 (14:27 +0100)]
lib: fix issue with yang_str2enum

The same issue with derived enum types that was already fixed
for yang_data_new_enum was still present here, so I simply
applied the same fix.

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agolib: copy xpaths when enqueing changes
Emanuele Di Pascale [Tue, 4 Dec 2018 14:34:09 +0000 (15:34 +0100)]
lib: copy xpaths when enqueing changes

Just copying th const char* of the xpath means that if we
are enqueing multiple changes from a buffer, the last xpath
addedd will overwrite all of the previous references.
Copying the xpath to a buffer simplifies the API when
retrofitting the commands.

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agolib: add NB phase-specific error codes
Emanuele Di Pascale [Fri, 9 Nov 2018 15:13:12 +0000 (16:13 +0100)]
lib: add NB phase-specific error codes

As suggested by Renato, add error codes that are specific
to the various phases of a northbound callback. These can
be used by the daemons when logging an error. The reasoning
is that validation errors typically mean that there is an
inconsistency in the configuration, a prepare error means
that we are running out of resources, and abort/apply errors
are bugs that need to be reported to the devs.

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
5 years agoMerge pull request #3500 from pguibert6WIND/missing_default_vrf_name
Renato Westphal [Tue, 18 Dec 2018 12:44:12 +0000 (10:44 -0200)]
Merge pull request #3500 from pguibert6WIND/missing_default_vrf_name

bgpd: nexthop vrf name set to default vrf

5 years agoMerge pull request #3279 from adharkar/frr-default_local
Martin Winter [Tue, 18 Dec 2018 09:46:58 +0000 (10:46 +0100)]
Merge pull request #3279 from adharkar/frr-default_local

bgpd: Display default local preference and local AS for BGP show commands

5 years agozebra: the default vrf name in vxlan is correctly set
Philippe Guibert [Mon, 17 Dec 2018 17:56:36 +0000 (18:56 +0100)]
zebra: the default vrf name in vxlan is correctly set

the default vrf name was hardset to "Default", whereas the default vrf
name could have been configured in an other manner. Fix this
inconsistency.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
5 years agobgpd: bgp default vrf in show route naming change
Philippe Guibert [Mon, 17 Dec 2018 17:56:22 +0000 (18:56 +0100)]
bgpd: bgp default vrf in show route naming change

Default vrf name has been changed in show route. Because the default vrf
name can be configured in zebra, the default vrf name in bgp is changed.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
5 years agobgpd: nexthop vrf name set to default vrf
Philippe Guibert [Mon, 17 Dec 2018 16:44:02 +0000 (17:44 +0100)]
bgpd: nexthop vrf name set to default vrf

if default vrf is not Default, then nexthop vrf name returned may be
"Default", which is not the correct name of default vrf. change it
accordingly.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
5 years agoMerge pull request #3428 from pguibert6WIND/avoid_vni_overwrite
Donald Sharp [Mon, 17 Dec 2018 12:22:45 +0000 (07:22 -0500)]
Merge pull request #3428 from pguibert6WIND/avoid_vni_overwrite

zebra: avoid initialising more than one the l3vni hash structure

5 years agoMerge pull request #3496 from opensourcerouting/rip-memleaks
Donald Sharp [Mon, 17 Dec 2018 12:08:42 +0000 (07:08 -0500)]
Merge pull request #3496 from opensourcerouting/rip-memleaks

ripd, ripngd: fix memleaks when deleting routing instance

5 years agozebra: add command show ip/ipv6 import-check table
Philippe Guibert [Mon, 17 Dec 2018 11:18:57 +0000 (12:18 +0100)]
zebra: add command show ip/ipv6 import-check table

Add the ability to dump import check nexthop table.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
5 years agobgpd: add show bgp import-check-table
Philippe Guibert [Tue, 11 Dec 2018 08:45:46 +0000 (09:45 +0100)]
bgpd: add show bgp import-check-table

this table is used to check for nexthop value on locally configured
entries.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
5 years agodoc: add a community rule to permit usage of GPLv3
Philippe Guibert [Wed, 5 Dec 2018 18:00:21 +0000 (19:00 +0100)]
doc: add a community rule to permit usage of GPLv3

explain why GPLv3 must be permitted, and explicitly mention that code
not compatible with GPLv3 is prohibited.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
5 years agozebra: avoid initialising more than one the l3vni hash structure
Philippe Guibert [Thu, 6 Dec 2018 08:03:12 +0000 (09:03 +0100)]
zebra: avoid initialising more than one the l3vni hash structure

the l3vni structure is allocated only once, since that structure is only
used for default netns. For that, move the initialisation part is moved
to a proper place, where there is no risk of attempting to initialise it
more than once, even when vrf backend is netns.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
5 years agoMerge pull request #3335 from pguibert6WIND/ospf_remove_if_lookup_all_vrf
Renato Westphal [Mon, 17 Dec 2018 10:33:34 +0000 (08:33 -0200)]
Merge pull request #3335 from pguibert6WIND/ospf_remove_if_lookup_all_vrf

ospfd: remove call to if_lookup_all_vrf

5 years agoripd, ripngd: fix memleaks when deleting routing instance
Renato Westphal [Mon, 17 Dec 2018 10:19:48 +0000 (08:19 -0200)]
ripd, ripngd: fix memleaks when deleting routing instance

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
5 years agoMerge pull request #3494 from donaldsharp/topotests_fixup
Christian Franke [Mon, 17 Dec 2018 09:35:29 +0000 (10:35 +0100)]
Merge pull request #3494 from donaldsharp/topotests_fixup

Topotests fixup

5 years agoMerge pull request #3489 from donaldsharp/confed_unsigned
Renato Westphal [Mon, 17 Dec 2018 09:24:23 +0000 (07:24 -0200)]
Merge pull request #3489 from donaldsharp/confed_unsigned

bgpd: Fix confederation identifier unsigned display

5 years agotopotests: Allow sharpd to be used in topotests
Donald Sharp [Mon, 17 Dec 2018 01:46:10 +0000 (20:46 -0500)]
topotests: Allow sharpd to be used in topotests

The sharp daemon did not have any ability to be used in
topotests.  Add some code to allow this.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agotopotests: module_present should return a True/False
Donald Sharp [Mon, 17 Dec 2018 01:41:58 +0000 (20:41 -0500)]
topotests: module_present should return a True/False

The recent change to module_present accidently didn't return anything.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agobgpd: Fix confederation identifier unsigned display
Donald Sharp [Sun, 16 Dec 2018 14:43:40 +0000 (09:43 -0500)]
bgpd: Fix confederation identifier unsigned display

The confederation identifier is a `as_t` type which is a
uint32_t underneath the covers.  Display it using a %u

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agoMerge pull request #3488 from donaldsharp/bsd_topo_abstract1
Martin Winter [Sat, 15 Dec 2018 22:29:43 +0000 (23:29 +0100)]
Merge pull request #3488 from donaldsharp/bsd_topo_abstract1

Bsd topo abstract1

5 years agotopotests: Start abstraction of module_present for other platforms
Donald Sharp [Sat, 15 Dec 2018 15:54:11 +0000 (10:54 -0500)]
topotests: Start abstraction of module_present for other platforms

Start abstraction of the module_present into module_present_linux and freebsd
To allow for multiple platforms that the topotests can be run on.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agotopotests: Cleanup diagnose_env to allow thought about multi-platforms
Donald Sharp [Sat, 15 Dec 2018 15:49:59 +0000 (10:49 -0500)]
topotests: Cleanup diagnose_env to allow thought about multi-platforms

Start the cleanup of diagnose_env to allow the running of topotests
on platforms besides linux.

So we split up diagnose_env into linux and freebsd variants.
At this point in time freebsd doesn't have any special code.
To be determined in the future.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agoMerge pull request #3487 from opensourcerouting/master-license-foo
Donald Sharp [Fri, 14 Dec 2018 15:25:16 +0000 (10:25 -0500)]
Merge pull request #3487 from opensourcerouting/master-license-foo

[master] license foo

5 years agodoc: re-add copyright & license note
David Lamparter [Fri, 14 Dec 2018 15:05:18 +0000 (16:05 +0100)]
doc: re-add copyright & license note

This was mistakenly removed in the texi -> sphinx conversion.

Signed-off-by: David Lamparter <equinox@diac24.net>
5 years ago*: remove all MIBs for DFSG compliance
David Lamparter [Fri, 14 Dec 2018 15:01:44 +0000 (16:01 +0100)]
*: remove all MIBs for DFSG compliance

cf. https://wiki.debian.org/NonFreeIETFDocuments

These MIBs were in our git purely for documentation purposes, they are
not installed and not needed for building SNMP support.

Signed-off-by: David Lamparter <equinox@diac24.net>
5 years agolib: flip to ISC on hook & module code
David Lamparter [Fri, 14 Dec 2018 13:44:51 +0000 (14:44 +0100)]
lib: flip to ISC on hook & module code

I accidentally put MIT headers on these; the intent was ISC.  It doesn't
really make a difference, but let's get it consistent.

Signed-off-by: David Lamparter <equinox@diac24.net>
5 years agoMerge pull request #3463 from mjstapp/zserv_event
Donald Sharp [Fri, 14 Dec 2018 15:02:33 +0000 (10:02 -0500)]
Merge pull request #3463 from mjstapp/zserv_event

zebra: make incoming zserv message-processing a singleton event

5 years agoMerge pull request #3464 from mjstapp/wq_event
Donald Sharp [Fri, 14 Dec 2018 15:00:49 +0000 (10:00 -0500)]
Merge pull request #3464 from mjstapp/wq_event

libs,zebra: support timeout for workqueue retries, use for rib

5 years agoMerge pull request #3480 from opensourcerouting/master-kill-empty-lib
Donald Sharp [Fri, 14 Dec 2018 14:59:54 +0000 (09:59 -0500)]
Merge pull request #3480 from opensourcerouting/master-kill-empty-lib

[master] kill empty libfrrfpm_pb

5 years agotools: stop frr-reload.py from trying to delete the vrf context
Don Slice [Fri, 14 Dec 2018 13:11:05 +0000 (13:11 +0000)]
tools: stop frr-reload.py from trying to delete the vrf context

Problem seen when removing last config item under the vrf context,
where frr-reload.py tries instead to delete the vrf context itself.
Since that is not permitted on an active vrf, the command errors
out and nothing is deleted.

Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
5 years agoMerge pull request #3399 from opensourcerouting/ripngd-nb-retrofitting
Donald Sharp [Fri, 14 Dec 2018 12:45:42 +0000 (07:45 -0500)]
Merge pull request #3399 from opensourcerouting/ripngd-nb-retrofitting

ripngd northbound conversion

5 years agoMerge pull request #3484 from donaldsharp/route_remoal_fix
Jafar Al-Gharaibeh [Fri, 14 Dec 2018 05:30:59 +0000 (23:30 -0600)]
Merge pull request #3484 from donaldsharp/route_remoal_fix

zebra: On route removal failure return proper message

5 years agoMerge pull request #3478 from qlyoung/issue-template-yelling
Jafar Al-Gharaibeh [Fri, 14 Dec 2018 05:30:14 +0000 (23:30 -0600)]
Merge pull request #3478 from qlyoung/issue-template-yelling

.github: add core guidelines to issue template

5 years agozebra: On route removal failure return proper message
Donald Sharp [Thu, 13 Dec 2018 15:42:42 +0000 (10:42 -0500)]
zebra: On route removal failure return proper message

When a route removal failure happens return to the installing
protocol that the route deletion failed.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>