summaryrefslogtreecommitdiffstats
path: root/src/plugins/gbp/gbp_endpoint_group.h
diff options
context:
space:
mode:
authorNeale Ranns <nranns@cisco.com>2019-03-05 04:22:08 -0800
committerNeale Ranns <nranns@cisco.com>2019-03-05 13:51:32 +0000
commit32f6d8e0ca39483f706dc3a1c28223e9fe028f06 (patch)
tree4d36a736e12268ca5f4cb937260b3ac037e743c2 /src/plugins/gbp/gbp_endpoint_group.h
parent0fce11f23d64eae2f374435b31a77b872d552298 (diff)
GBP: per-group EP retention policy
Change-Id: I3ed4e2e92f74f15b07fcd3e7fbc3fa8718d5249d Signed-off-by: Neale Ranns <nranns@cisco.com>
Diffstat (limited to 'src/plugins/gbp/gbp_endpoint_group.h')
-rw-r--r--src/plugins/gbp/gbp_endpoint_group.h18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/plugins/gbp/gbp_endpoint_group.h b/src/plugins/gbp/gbp_endpoint_group.h
index 123954f63ea..08e3a5c874c 100644
--- a/src/plugins/gbp/gbp_endpoint_group.h
+++ b/src/plugins/gbp/gbp_endpoint_group.h
@@ -21,6 +21,15 @@
#include <vnet/fib/fib_types.h>
/**
+ * Endpoint Retnetion Policy
+ */
+typedef struct gbp_endpoint_retention_t_
+{
+ /** Aging timeout for remote endpoints */
+ u32 remote_ep_timeout;
+} gbp_endpoint_retention_t;
+
+/**
* An Endpoint Group representation
*/
typedef struct gpb_endpoint_group_t_
@@ -65,6 +74,11 @@ typedef struct gpb_endpoint_group_t_
* Locks/references to this EPG
*/
u32 gg_locks;
+
+ /**
+ * EP retention policy
+ */
+ gbp_endpoint_retention_t gg_retention;
} gbp_endpoint_group_t;
/**
@@ -79,7 +93,9 @@ extern int gbp_endpoint_group_add_and_lock (epg_id_t epg_id,
u16 sclass,
u32 bd_id,
u32 rd_id,
- u32 uplink_sw_if_index);
+ u32 uplink_sw_if_index,
+ const gbp_endpoint_retention_t *
+ retention);
extern index_t gbp_endpoint_group_find (epg_id_t epg_id);
extern int gbp_endpoint_group_delete (epg_id_t epg_id);
extern void gbp_endpoint_group_unlock (index_t index);