summaryrefslogtreecommitdiffstats
path: root/extras/vom/vom/l2_binding.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'extras/vom/vom/l2_binding.hpp')
-rw-r--r--extras/vom/vom/l2_binding.hpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/extras/vom/vom/l2_binding.hpp b/extras/vom/vom/l2_binding.hpp
index d24f69ee33d..0a30a0cc894 100644
--- a/extras/vom/vom/l2_binding.hpp
+++ b/extras/vom/vom/l2_binding.hpp
@@ -56,10 +56,26 @@ public:
l2_vtr_op_t(int v, const std::string s);
};
+ struct l2_port_type_t : public enum_base<l2_port_type_t>
+ {
+ l2_port_type_t(const l2_port_type_t& l) = default;
+ ~l2_port_type_t() = default;
+
+ const static l2_port_type_t L2_PORT_TYPE_NORMAL;
+ const static l2_port_type_t L2_PORT_TYPE_BVI;
+ const static l2_port_type_t L2_PORT_TYPE_UU_FWD;
+
+ private:
+ l2_port_type_t(int v, const std::string s);
+ };
+
/**
* Construct a new object matching the desried state
*/
l2_binding(const interface& itf, const bridge_domain& bd);
+ l2_binding(const interface& itf,
+ const bridge_domain& bd,
+ const l2_port_type_t& port_type);
/**
* Copy Constructor
@@ -188,6 +204,11 @@ private:
std::shared_ptr<bridge_domain> m_bd;
/**
+ * l2 port type i.e. normal, bvi or unknown unicast
+ */
+ l2_port_type_t m_port_type;
+
+ /**
* HW configuration for the binding. The bool representing the
* do/don't bind.
*/