summaryrefslogtreecommitdiffstats
path: root/extras/vom/vom/gbp_contract.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'extras/vom/vom/gbp_contract.hpp')
-rw-r--r--extras/vom/vom/gbp_contract.hpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/extras/vom/vom/gbp_contract.hpp b/extras/vom/vom/gbp_contract.hpp
index 7a0696de7b3..53f8f3659ec 100644
--- a/extras/vom/vom/gbp_contract.hpp
+++ b/extras/vom/vom/gbp_contract.hpp
@@ -18,6 +18,7 @@
#include "vom/acl_list.hpp"
#include "vom/gbp_endpoint.hpp"
+#include "vom/gbp_rule.hpp"
#include "vom/interface.hpp"
#include "vom/singular_db.hpp"
#include "vom/types.hpp"
@@ -31,6 +32,11 @@ class gbp_contract : public object_base
{
public:
/**
+ * set of gbp rules
+ */
+ typedef std::set<gbp_rule> gbp_rules_t;
+
+ /**
* The key for a contract is the pari of EPG-IDs
*/
typedef std::pair<epg_id_t, epg_id_t> key_t;
@@ -87,6 +93,11 @@ public:
*/
std::string to_string() const;
+ /**
+ * Set gbp_rules in case of Redirect Contract
+ */
+ void set_gbp_rules(const gbp_rules_t& gbp_rules);
+
private:
/**
* Class definition for listeners to OM events
@@ -169,6 +180,11 @@ private:
std::shared_ptr<ACL::l3_list> m_acl;
/**
+ * The gbp rules applied to traffic between the gourps
+ */
+ gbp_rules_t m_gbp_rules;
+
+ /**
* A map of all bridge_domains
*/
static singular_db<key_t, gbp_contract> m_db;