X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=extras%2Fvom%2Fvom%2Fl2_binding.hpp;h=0a30a0cc894c668c406f511b3ffd06aeee1bae60;hb=762d83c198c6c24cce4eb94a6d027f520d0b8383;hp=d24f69ee33dad07b21693c24af6b5ae8d3743510;hpb=539663c401b087e4576e41af35144e73e1907c9d;p=vpp.git 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(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 @@ -187,6 +203,11 @@ private: */ std::shared_ptr 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.