summaryrefslogtreecommitdiff
path: root/pbrd/pbr_map.h
diff options
context:
space:
mode:
Diffstat (limited to 'pbrd/pbr_map.h')
-rw-r--r--pbrd/pbr_map.h17
1 files changed, 10 insertions, 7 deletions
diff --git a/pbrd/pbr_map.h b/pbrd/pbr_map.h
index fca59951b5..12d49d98c0 100644
--- a/pbrd/pbr_map.h
+++ b/pbrd/pbr_map.h
@@ -104,7 +104,11 @@ struct pbr_map_sequence {
*/
bool nhs_installed;
+ /*
+ * Are we installed
+ */
bool installed;
+
/*
* A reason of 0 means we think the pbr_map_sequence is good to go
* We can accumuluate multiple failure states
@@ -115,7 +119,6 @@ struct pbr_map_sequence {
#define PBR_MAP_INVALID_NO_NEXTHOPS (1 << 2)
#define PBR_MAP_INVALID_BOTH_NHANDGRP (1 << 3)
#define PBR_MAP_INVALID_SRCDST (1 << 4)
-#define PBR_MAP_DEL_SEQUENCE_NUMBER (1 << 5)
uint64_t reason;
QOBJ_FIELDS
@@ -130,7 +133,8 @@ extern struct pbr_map_sequence *pbrms_lookup_unique(uint32_t unique,
ifindex_t ifindex);
extern struct pbr_map *pbrm_find(const char *name);
-extern void pbr_map_delete(const char *name, uint32_t seqno);
+extern void pbr_map_delete(struct pbr_map_sequence *pbrms);
+extern void pbr_map_delete_nexthop_group(struct pbr_map_sequence *pbrms);
extern void pbr_map_add_interface(struct pbr_map *pbrm, struct interface *ifp);
extern void pbr_map_interface_delete(struct pbr_map *pbrm,
struct interface *ifp);
@@ -139,16 +143,15 @@ extern void pbr_map_init(void);
extern bool pbr_map_check_valid(const char *name);
-extern void pbr_map_check(const char *name, uint32_t seqno);
+extern void pbr_map_check(struct pbr_map_sequence *pbrms);
extern void pbr_map_check_nh_group_change(const char *nh_group);
-extern void pbr_map_check_policy_change(const char *name);
extern void pbr_map_reason_string(unsigned int reason, char *buf, int size);
-extern void pbr_map_add_interfaces(const char *name);
extern void pbr_map_schedule_policy_from_nhg(const char *nh_group);
-extern void pbr_map_install(const char *name);
+extern void pbr_map_install(struct pbr_map *pbrm);
extern void pbr_map_policy_install(const char *name);
-extern void pbr_map_policy_delete(const char *ifname);
+extern void pbr_map_policy_delete(struct pbr_map *pbrm,
+ struct pbr_map_interface *pmi);
#endif