summaryrefslogtreecommitdiffstats
path: root/isisd/isis_zebra.h
diff options
context:
space:
mode:
authorPhilippe Guibert <philippe.guibert@6wind.com>2023-07-03 18:01:52 +0200
committerPhilippe Guibert <philippe.guibert@6wind.com>2023-07-12 14:06:00 +0200
commit4aee03bfd5767a8eebbcf0a99cd55d82605ebda5 (patch)
tree430ca1a1d13af5bd866bb940641633dc0c6243cc /isisd/isis_zebra.h
parentisisd: add redistribute table identifier in nb configuration (diff)
downloadfrr-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.h6
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);