aboutsummaryrefslogtreecommitdiffstats
path: root/extras/vom/vom/gbp_endpoint_group.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'extras/vom/vom/gbp_endpoint_group.hpp')
-rw-r--r--extras/vom/vom/gbp_endpoint_group.hpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/extras/vom/vom/gbp_endpoint_group.hpp b/extras/vom/vom/gbp_endpoint_group.hpp
index b60b1553e3f..d6af570b7a9 100644
--- a/extras/vom/vom/gbp_endpoint_group.hpp
+++ b/extras/vom/vom/gbp_endpoint_group.hpp
@@ -37,6 +37,26 @@ class gbp_endpoint_group : public object_base
{
public:
/**
+ * Endpoint Retention Policy Settings
+ */
+ struct retention_t
+ {
+ retention_t();
+ retention_t(uint32_t remote_ep_timeout);
+
+ retention_t(const retention_t&) = default;
+ retention_t& operator=(const retention_t&) = default;
+
+ bool operator==(const retention_t& o) const;
+ std::string to_string() const;
+
+ /**
+ * Remote Endpoint timeout/ageing
+ */
+ uint32_t remote_ep_timeout;
+ };
+
+ /**
* The key for a GBP endpoint group is its ID
*/
typedef epg_id_t key_t;
@@ -114,6 +134,8 @@ public:
const std::shared_ptr<gbp_route_domain> get_route_domain() const;
const std::shared_ptr<gbp_bridge_domain> get_bridge_domain() const;
+ void set(const retention_t& retention);
+
private:
/**
* Class definition for listeners to OM events
@@ -207,6 +229,11 @@ private:
std::shared_ptr<gbp_bridge_domain> m_bd;
/**
+ * The Group's EP retention Policy
+ */
+ retention_t m_retention;
+
+ /**
* A map of all bridge_domains
*/
static singular_db<key_t, gbp_endpoint_group> m_db;