#include "vom/hw.hpp"
#include "vom/inspect.hpp"
#include "vom/interface.hpp"
+#include "vom/l2_vtr.hpp"
#include "vom/object_base.hpp"
#include "vom/om.hpp"
#include "vom/singular_db.hpp"
*/
typedef interface::key_t key_t;
- struct l2_vtr_op_t : public enum_base<l2_vtr_op_t>
- {
- l2_vtr_op_t(const l2_vtr_op_t& l) = default;
- ~l2_vtr_op_t() = default;
-
- const static l2_vtr_op_t L2_VTR_DISABLED;
- const static l2_vtr_op_t L2_VTR_PUSH_1;
- const static l2_vtr_op_t L2_VTR_PUSH_2;
- const static l2_vtr_op_t L2_VTR_POP_1;
- const static l2_vtr_op_t L2_VTR_POP_2;
- const static l2_vtr_op_t L2_VTR_TRANSLATE_1_1;
- const static l2_vtr_op_t L2_VTR_TRANSLATE_1_2;
- const static l2_vtr_op_t L2_VTR_TRANSLATE_2_1;
- const static l2_vtr_op_t L2_VTR_TRANSLATE_2_2;
-
- private:
- 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;
/**
* Set the VTR operation on the binding/interface
*/
- void set(const l2_vtr_op_t& op, uint16_t tag);
+ void set(const l2_vtr::option_t& op, uint16_t tag);
/**
* Static function to find the bridge_domain in the model
/**
* HW configuration for the VTR option
*/
- HW::item<l2_vtr_op_t> m_vtr_op;
+ HW::item<l2_vtr::option_t> m_vtr_op;
/**
* The Dot1q tag for the VTR operation