]> git.proxmox.com Git - mirror_frr.git/log
mirror_frr.git
5 years agoMerge pull request #3502 from donaldsharp/socket_to_me_baby
Russ White [Wed, 19 Dec 2018 16:48:42 +0000 (11:48 -0500)]
Merge pull request #3502 from donaldsharp/socket_to_me_baby

BSD route socket refactoring/cleanup

5 years agozebra: Fixup spaces/tabs issue found by CI in rt_socket.c
Donald Sharp [Wed, 19 Dec 2018 00:32:14 +0000 (19:32 -0500)]
zebra: Fixup spaces/tabs issue found by CI in rt_socket.c

Cleanup the space/tabs issues found by CI in rt_socket.c so
it stops complaining at us.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agozebra: Make label processing guaranteed to be unique
Donald Sharp [Wed, 19 Dec 2018 00:34:22 +0000 (19:34 -0500)]
zebra: Make label processing guaranteed to be unique

The label processing for socket installs was not ensuring
that each nexthop would not accidently use the last
nexthops value.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agozebra: Convert gate in kernel_rtm to a bool
Donald Sharp [Mon, 17 Dec 2018 23:34:26 +0000 (18:34 -0500)]
zebra: Convert gate in kernel_rtm to a bool

Convert the gate test int to a bool as that we use it this way.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agozebra: The mask and sin_mask are a bit redundant for kernel_rtm
Donald Sharp [Mon, 17 Dec 2018 23:31:09 +0000 (18:31 -0500)]
zebra: The mask and sin_mask are a bit redundant for kernel_rtm

The test we were using to ensure that a mask was sent in
is a bit redundant, let's just always send it in.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agozebra: Refactor kernel_rtm to be a bit smarter about how it handles options
Donald Sharp [Mon, 17 Dec 2018 23:21:38 +0000 (18:21 -0500)]
zebra: Refactor kernel_rtm to be a bit smarter about how it handles options

The ADD/DELETE messages are the only ones we support, so leave
early from the function, in other words don't check it every
nexthop loop.

Additionally nexthops only care about non recursive active flags.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agozebra: Refactor kernel_socket kernel_rtm_ipv4 and ipv6 functions
Donald Sharp [Mon, 17 Dec 2018 19:23:02 +0000 (14:23 -0500)]
zebra: Refactor kernel_socket kernel_rtm_ipv4 and ipv6 functions

Refactor both v4 and v6 functions down to 1 install function.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agozebra: Move sin6_masklen to earlier in the file
Donald Sharp [Mon, 17 Dec 2018 21:28:47 +0000 (16:28 -0500)]
zebra: Move sin6_masklen to earlier in the file

I'm going to rearrage the kernel_rtm_ipv4 and v6 functions
so the sin6_masklen needs to be moved a bit earlier.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agozebra: Convert socket interface to use `union sockunion`
Donald Sharp [Mon, 17 Dec 2018 18:57:04 +0000 (13:57 -0500)]
zebra: Convert socket interface to use `union sockunion`

The write function converted to v4 and v6 functions to a union sockunion
via casting.  Just use `union sockunion` instead.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agoMerge pull request #3448 from chiragshah6/evpn_dev1
Sri Mohana Singamsetty [Wed, 19 Dec 2018 02:12:18 +0000 (18:12 -0800)]
Merge pull request #3448 from chiragshah6/evpn_dev1

bgpd: l3vni add-del handle non-defualt route-target

5 years agoMerge pull request #3507 from opensourcerouting/master-init-fixes
Donald Sharp [Wed, 19 Dec 2018 00:21:39 +0000 (19:21 -0500)]
Merge pull request #3507 from opensourcerouting/master-init-fixes

[master] minor tools/ fixes

5 years agoMerge pull request #3503 from qlyoung/fix-bgpd-show-ip-neigh-json-double-free
David Lamparter [Tue, 18 Dec 2018 17:01:48 +0000 (18:01 +0100)]
Merge pull request #3503 from qlyoung/fix-bgpd-show-ip-neigh-json-double-free

bgpd: fix json double free when showing neighbors

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 agotools/frrcommon.sh: always start staticd
David Lamparter [Mon, 17 Dec 2018 19:42:51 +0000 (20:42 +0100)]
tools/frrcommon.sh: always start staticd

"derp."

Since zebra is always started, the same should hold for staticd.

Signed-off-by: David Lamparter <equinox@diac24.net>
5 years agotools/frrcommon.sh: actually create /run/frr
David Lamparter [Mon, 17 Dec 2018 18:08:02 +0000 (19:08 +0100)]
tools/frrcommon.sh: actually create /run/frr

tmpfiles.d is nice and all, but we can't rely on it.  Just create
/run/frr if needed.

Signed-off-by: David Lamparter <equinox@diac24.net>
5 years agotools/etc: remove cumulus user from vtysh.conf
David Lamparter [Fri, 14 Dec 2018 20:16:38 +0000 (21:16 +0100)]
tools/etc: remove cumulus user from vtysh.conf

This is a Cumulus-specific default which we shouldn't have in git.

Signed-off-by: David Lamparter <equinox@diac24.net>
5 years agotools: add documentation URL on frr.service
David Lamparter [Sun, 28 Oct 2018 15:34:48 +0000 (16:34 +0100)]
tools: add documentation URL on frr.service

Signed-off-by: David Lamparter <equinox@diac24.net>
5 years agobgpd: fix json double free when showing neighbors
Quentin Young [Mon, 17 Dec 2018 22:18:13 +0000 (22:18 +0000)]
bgpd: fix json double free when showing neighbors

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
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>