Commit Graph

14190 Commits

Author SHA1 Message Date
Emanuele Di Pascale
d082076585 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>
2018-12-18 15:24:46 +01:00
Emanuele Di Pascale
9302fbb693 isisd: retrofit the 'isis circuit-type' command
Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
2018-12-18 15:24:46 +01:00
Emanuele Di Pascale
83d043f6c0 isisd: retrofit the 'isis topology' command
Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
2018-12-18 15:24:46 +01:00
Emanuele Di Pascale
9ce808b955 isisd: retrofit the 'isis [c|p]snp-interval' commands
Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
2018-12-18 15:23:49 +01:00
Emanuele Di Pascale
7b6b75e542 isisd: retrofit the 'isis hello-padding' command
Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
2018-12-18 15:23:49 +01:00
Emanuele Di Pascale
5f2ce4466f isisd: retrofit the 'isis three-way-handshake' command
Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
2018-12-18 15:23:49 +01:00
Emanuele Di Pascale
4e75a67d02 isisd: retrofit the 'isis hello-multiplier' command
Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
2018-12-18 15:23:49 +01:00
Emanuele Di Pascale
356a2e3c0c isisd: retrofit the 'isis hello-interval' command
Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
2018-12-18 15:23:49 +01:00
Emanuele Di Pascale
be49219c54 isisd: retrofit the 'isis metric' command
Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
2018-12-18 15:23:49 +01:00
Emanuele Di Pascale
3e20c83aff isisd: retrofit the 'isis password' command
Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
2018-12-18 15:23:49 +01:00
Emanuele Di Pascale
a6a36c41e2 isisd: retrofit the 'isis passive' command
Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
2018-12-18 15:23:49 +01:00
Emanuele Di Pascale
22af6a806d isisd: retrofit the 'topology' command
Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
2018-12-18 15:23:49 +01:00
Emanuele Di Pascale
a041ac8ef6 isisd: retrofit the 'redistribute' command
Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
2018-12-18 15:23:49 +01:00
Emanuele Di Pascale
8b104c1064 isisd: retrofit the 'default-originate' command
Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
2018-12-18 15:23:49 +01:00
Emanuele Di Pascale
d1a80ef660 isisd: retrofit the mpls-te commands
Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
2018-12-18 15:23:49 +01:00
Emanuele Di Pascale
66e45e10f1 isisd: retrofit the 'purge-originator' command
Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
2018-12-18 15:23:49 +01:00
Emanuele Di Pascale
5336ba3025 isisd: retrofit the 'spf-delay-ietf' command
Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
2018-12-18 15:23:49 +01:00
Emanuele Di Pascale
dcb1dcd6dc isisd: retrofit the 'spf-interval' command
Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
2018-12-18 15:22:37 +01:00
Emanuele Di Pascale
27a45d16aa isisd: retrofit the 'lsp-mtu' command
Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
2018-12-18 15:22:37 +01:00
Emanuele Di Pascale
ea120aa053 isisd: retrofit the 'max-lsp-lifetime' command
Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
2018-12-18 15:22:37 +01:00
Emanuele Di Pascale
7e8690041f isisd: retrofit the 'lsp-refresh-interval' command
Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
2018-12-18 15:22:37 +01:00
Emanuele Di Pascale
1d6fe72e12 isisd: retrofit the 'lsp-gen-interval' command
Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
2018-12-18 15:22:37 +01:00
Emanuele Di Pascale
933536e3ab isisd: retrofit the 'area-password' and 'domain-password' cmds
Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
2018-12-18 15:22:37 +01:00
Emanuele Di Pascale
e0df3206f1 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>
2018-12-18 15:21:52 +01:00
Emanuele Di Pascale
05a3f9f041 isisd: retrofit 'set-overload-bit' and 'set-attached-bit' cmds
Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
2018-12-18 15:21:52 +01:00
Emanuele Di Pascale
6bb043cd0f isisd: retrofit the 'dynamic-hostname' command
Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
2018-12-18 15:21:15 +01:00
Emanuele Di Pascale
e6bdae69de isisd: retrofit the 'is-type' command
Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
2018-12-18 15:21:15 +01:00
Emanuele Di Pascale
f084ea5523 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>
2018-12-18 15:21:15 +01:00
Emanuele Di Pascale
aaf2fd21fc 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>
2018-12-18 15:20:20 +01:00
Emanuele Di Pascale
20bd27e2aa isisd, yang: add configuration model and callback stubs
Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
2018-12-18 15:15:55 +01:00
Emanuele Di Pascale
bb359ba2f2 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>
2018-12-18 15:15:26 +01:00
Emanuele Di Pascale
8427e0e674 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>
2018-12-18 15:15:26 +01:00
Emanuele Di Pascale
625b70e3da 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>
2018-12-18 15:15:26 +01:00
Renato Westphal
9e7367db49
Merge pull request #3500 from pguibert6WIND/missing_default_vrf_name
bgpd: nexthop vrf name set to default vrf
2018-12-18 10:44:12 -02:00
Martin Winter
f26be30a4b
Merge pull request #3279 from adharkar/frr-default_local
bgpd: Display default local preference and local AS for BGP show commands
2018-12-18 10:46:58 +01:00
Philippe Guibert
08ab35fe0e 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>
2018-12-17 18:58:05 +01:00
Philippe Guibert
03a6facfd3 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>
2018-12-17 18:57:22 +01:00
Philippe Guibert
4d97eea630 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>
2018-12-17 17:44:02 +01:00
Donald Sharp
b31c2a2ebf
Merge pull request #3428 from pguibert6WIND/avoid_vni_overwrite
zebra: avoid initialising more than one the l3vni hash structure
2018-12-17 07:22:45 -05:00
Donald Sharp
f307f0c585
Merge pull request #3496 from opensourcerouting/rip-memleaks
ripd, ripngd: fix memleaks when deleting routing instance
2018-12-17 07:08:42 -05:00
Philippe Guibert
6548050a85 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>
2018-12-17 12:09:52 +01:00
Renato Westphal
a8dfbac67b
Merge pull request #3335 from pguibert6WIND/ospf_remove_if_lookup_all_vrf
ospfd: remove call to if_lookup_all_vrf
2018-12-17 08:33:34 -02:00
Renato Westphal
cf6ef36996 ripd, ripngd: fix memleaks when deleting routing instance
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2018-12-17 08:19:48 -02:00
Christian Franke
77b5231435
Merge pull request #3494 from donaldsharp/topotests_fixup
Topotests fixup
2018-12-17 10:35:29 +01:00
Renato Westphal
37b3fabab0
Merge pull request #3489 from donaldsharp/confed_unsigned
bgpd: Fix confederation identifier unsigned display
2018-12-17 07:24:23 -02:00
Donald Sharp
849d1ed9af 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>
2018-12-16 20:47:30 -05:00
Donald Sharp
28440fd9f8 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>
2018-12-16 20:47:30 -05:00
Donald Sharp
3c195d60db 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>
2018-12-16 09:43:40 -05:00
Martin Winter
4870191362
Merge pull request #3488 from donaldsharp/bsd_topo_abstract1
Bsd topo abstract1
2018-12-15 23:29:43 +01:00
Donald Sharp
cc95fbd9ff 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>
2018-12-15 10:54:11 -05:00