diff options
Diffstat (limited to 'extras/vom/vom/gbp_endpoint_group.hpp')
-rw-r--r-- | extras/vom/vom/gbp_endpoint_group.hpp | 27 |
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; |