summaryrefslogtreecommitdiff
path: root/lib/affinitymap.h
diff options
context:
space:
mode:
authorLouis Scalbert <louis.scalbert@6wind.com>2022-11-09 15:17:19 +0100
committerLouis Scalbert <louis.scalbert@6wind.com>2023-02-10 13:52:01 +0100
commitae251b86845a976534f978b4a323cfee779916ee (patch)
tree4d40515b9db7d494b9641df47b106c2bdb608acc /lib/affinitymap.h
parentfa1b95c3ec8c1c34116ffe1cc908fb08459bd3e4 (diff)
lib,zebra: add affinity-map configuration hooks
Add affinity-map hooks to check the utilization of affinity-map in link-params before its deletion and to update link-params when the affinity-map bit-position is updated. Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
Diffstat (limited to 'lib/affinitymap.h')
-rw-r--r--lib/affinitymap.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/affinitymap.h b/lib/affinitymap.h
index 323439c743..19edf5a269 100644
--- a/lib/affinitymap.h
+++ b/lib/affinitymap.h
@@ -50,6 +50,11 @@ DECLARE_QOBJ_TYPE(affinity_map);
struct affinity_maps {
struct list *maps;
+ bool (*check_use_hook)(const char *affmap_name);
+ bool (*check_update_hook)(const char *affmap_name, uint16_t new_pos);
+ void (*update_hook)(const char *affmap_name, uint16_t old_pos,
+ uint16_t new_pos);
+
QOBJ_FIELDS;
};
DECLARE_QOBJ_TYPE(affinity_maps);
@@ -61,6 +66,17 @@ void affinity_map_unset(const char *name);
struct affinity_map *affinity_map_get(const char *name);
char *affinity_map_name_get(const int pos);
+bool affinity_map_check_use_hook(const char *affmap_name);
+bool affinity_map_check_update_hook(const char *affmap_name, uint16_t new_pos);
+void affinity_map_update_hook(const char *affmap_name, uint16_t new_pos);
+
+void affinity_map_set_check_use_hook(bool (*func)(const char *affmap_name));
+void affinity_map_set_check_update_hook(bool (*func)(const char *affmap_name,
+ uint16_t new_pos));
+void affinity_map_set_update_hook(void (*func)(const char *affmap_name,
+ uint16_t old_pos,
+ uint16_t new_pos));
+
void cli_show_affinity_map(struct vty *vty, const struct lyd_node *dnode,
bool show_defaults);