diff options
author | Philippe Guibert <philippe.guibert@6wind.com> | 2023-07-03 18:01:52 +0200 |
---|---|---|
committer | Philippe Guibert <philippe.guibert@6wind.com> | 2023-07-12 14:06:00 +0200 |
commit | 4aee03bfd5767a8eebbcf0a99cd55d82605ebda5 (patch) | |
tree | 430ca1a1d13af5bd866bb940641633dc0c6243cc /isisd/isis_zebra.h | |
parent | isisd: add redistribute table identifier in nb configuration (diff) | |
download | frr-4aee03bfd5767a8eebbcf0a99cd55d82605ebda5.tar.xz frr-4aee03bfd5767a8eebbcf0a99cd55d82605ebda5.zip |
isisd: add the 'redistribute table' internal support
The 'redistribute table' command does not create the internal
contexts with the appropriate table identifier.
Redistributed prefixes in IS-IS do not care about the
table identifier. Add a linked list of redistribution
contexts, and map the nb configuration to the linked list.
- A new 'table' attribute is added in the 'struct
isis_redist' context.
- The 'isis_redist_update_zebra_subscriptions()' function
is removed and is replaced by direct call to zebra API
for turning on/off redirection.
- The redistributed routes coming from zebra import the
'tableid' information.
- The fabricd redistribute running-config is reworked,
and the 'get_redist_settings()' function is removed.
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Diffstat (limited to 'isisd/isis_zebra.h')
-rw-r--r-- | isisd/isis_zebra.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/isisd/isis_zebra.h b/isisd/isis_zebra.h index 045c75874..1dcd896d0 100644 --- a/isisd/isis_zebra.h +++ b/isisd/isis_zebra.h @@ -43,8 +43,10 @@ void isis_zebra_prefix_sid_uninstall(struct isis_area *area, struct isis_sr_psid_info *psid); void isis_zebra_send_adjacency_sid(int cmd, const struct sr_adjacency *sra); int isis_distribute_list_update(int routetype); -void isis_zebra_redistribute_set(afi_t afi, int type, vrf_id_t vrf_id); -void isis_zebra_redistribute_unset(afi_t afi, int type, vrf_id_t vrf_id); +void isis_zebra_redistribute_set(afi_t afi, int type, vrf_id_t vrf_id, + uint16_t tableid); +void isis_zebra_redistribute_unset(afi_t afi, int type, vrf_id_t vrf_id, + uint16_t tableid); int isis_zebra_rlfa_register(struct isis_spftree *spftree, struct rlfa *rlfa); void isis_zebra_rlfa_unregister_all(struct isis_spftree *spftree); bool isis_zebra_label_manager_ready(void); |