summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--extras/vom/vom/interface.cpp2
-rw-r--r--extras/vom/vom/l2_binding.cpp12
-rw-r--r--extras/vom/vom/l2_binding.hpp4
-rw-r--r--extras/vom/vom/l2_vtr.cpp27
-rw-r--r--extras/vom/vom/l2_vtr.hpp30
-rw-r--r--extras/vom/vom/l2_vtr_cmds.cpp18
-rw-r--r--extras/vom/vom/l2_vtr_cmds.hpp14
-rw-r--r--extras/vom/vom/l2_xconnect.cpp8
-rw-r--r--extras/vom/vom/l2_xconnect.hpp4
-rw-r--r--test/ext/vom_test.cpp11
10 files changed, 69 insertions, 61 deletions
diff --git a/extras/vom/vom/interface.cpp b/extras/vom/vom/interface.cpp
index a94be683424..ec6204f1e0c 100644
--- a/extras/vom/vom/interface.cpp
+++ b/extras/vom/vom/interface.cpp
@@ -394,7 +394,7 @@ interface::set(const admin_state_t& state)
void
interface::set(const l2_address_t& addr)
{
- m_l2_address.update(addr);
+ m_l2_address = { addr, rc_t::NOOP };
}
void
diff --git a/extras/vom/vom/l2_binding.cpp b/extras/vom/vom/l2_binding.cpp
index 5f0c7a79f94..37039a0b930 100644
--- a/extras/vom/vom/l2_binding.cpp
+++ b/extras/vom/vom/l2_binding.cpp
@@ -47,7 +47,7 @@ l2_binding::l2_binding(const interface& itf, const bridge_domain& bd)
, m_bd(bd.singular())
, m_port_type(l2_port_type_t::L2_PORT_TYPE_NORMAL)
, m_binding(0)
- , m_vtr_op(l2_vtr_op_t::L2_VTR_DISABLED, rc_t::UNSET)
+ , m_vtr_op(l2_vtr::option_t::DISABLED, rc_t::UNSET)
, m_vtr_op_tag(0)
{
if (interface::type_t::BVI == m_itf->type())
@@ -64,7 +64,7 @@ l2_binding::l2_binding(const interface& itf,
, m_bd(bd.singular())
, m_port_type(port_type)
, m_binding(0)
- , m_vtr_op(l2_vtr_op_t::L2_VTR_DISABLED, rc_t::UNSET)
+ , m_vtr_op(l2_vtr::option_t::DISABLED, rc_t::UNSET)
, m_vtr_op_tag(0)
{
}
@@ -119,7 +119,8 @@ l2_binding::replay()
}
if (m_vtr_op && handle_t::INVALID != m_itf->handle()) {
- HW::enqueue(new set_vtr_op_cmd(m_vtr_op, m_itf->handle(), m_vtr_op_tag));
+ HW::enqueue(
+ new l2_vtr_cmds::set_cmd(m_vtr_op, m_itf->handle(), m_vtr_op_tag));
}
}
@@ -142,7 +143,7 @@ l2_binding::to_string() const
}
void
-l2_binding::set(const l2_vtr_op_t& op, uint16_t tag)
+l2_binding::set(const l2_vtr::option_t& op, uint16_t tag)
{
assert(rc_t::UNSET == m_vtr_op.rc());
m_vtr_op.set(rc_t::NOOP);
@@ -174,7 +175,8 @@ l2_binding::update(const l2_binding& desired)
* set the VTR operation if request
*/
if (m_vtr_op.update(desired.m_vtr_op)) {
- HW::enqueue(new set_vtr_op_cmd(m_vtr_op, m_itf->handle(), m_vtr_op_tag));
+ HW::enqueue(
+ new l2_vtr_cmds::set_cmd(m_vtr_op, m_itf->handle(), m_vtr_op_tag));
}
}
diff --git a/extras/vom/vom/l2_binding.hpp b/extras/vom/vom/l2_binding.hpp
index 19082892f5b..de3608a2626 100644
--- a/extras/vom/vom/l2_binding.hpp
+++ b/extras/vom/vom/l2_binding.hpp
@@ -98,7 +98,7 @@ public:
/**
* 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
@@ -199,7 +199,7 @@ private:
/**
* 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
diff --git a/extras/vom/vom/l2_vtr.cpp b/extras/vom/vom/l2_vtr.cpp
index 707a2239ebe..61505f68210 100644
--- a/extras/vom/vom/l2_vtr.cpp
+++ b/extras/vom/vom/l2_vtr.cpp
@@ -16,25 +16,28 @@
#include "vom/l2_vtr.hpp"
namespace VOM {
+namespace l2_vtr {
/*
* Make sure these are in sync with the smae enum in VPP
*/
-const l2_vtr_op_t l2_vtr_op_t::L2_VTR_DISABLED(0, "disabled");
-const l2_vtr_op_t l2_vtr_op_t::L2_VTR_PUSH_1(1, "push-1");
-const l2_vtr_op_t l2_vtr_op_t::L2_VTR_PUSH_2(2, "push-2");
-const l2_vtr_op_t l2_vtr_op_t::L2_VTR_POP_1(3, "pop-1");
-const l2_vtr_op_t l2_vtr_op_t::L2_VTR_POP_2(4, "pop-2");
-const l2_vtr_op_t l2_vtr_op_t::L2_VTR_TRANSLATE_1_1(5, "translate-1-1");
-const l2_vtr_op_t l2_vtr_op_t::L2_VTR_TRANSLATE_1_2(6, "translate-1-2");
-const l2_vtr_op_t l2_vtr_op_t::L2_VTR_TRANSLATE_2_1(7, "translate-2-1");
-const l2_vtr_op_t l2_vtr_op_t::L2_VTR_TRANSLATE_2_2(5, "translate-2-2");
+const option_t option_t::DISABLED(0, "disabled");
+const option_t option_t::PUSH_1(1, "push-1");
+const option_t option_t::PUSH_2(2, "push-2");
+const option_t option_t::POP_1(3, "pop-1");
+const option_t option_t::POP_2(4, "pop-2");
+const option_t option_t::TRANSLATE_1_1(5, "translate-1-1");
+const option_t option_t::TRANSLATE_1_2(6, "translate-1-2");
+const option_t option_t::TRANSLATE_2_1(7, "translate-2-1");
+const option_t option_t::TRANSLATE_2_2(5, "translate-2-2");
-l2_vtr_op_t::l2_vtr_op_t(int v, const std::string s)
- : enum_base<l2_vtr_op_t>(v, s)
+option_t::option_t(int v, const std::string s)
+ : enum_base<option_t>(v, s)
{
}
-}
+
+}; // namespace l2_vtr
+}; // namespace VOM
/*
* fd.io coding-style-patch-verification: ON
diff --git a/extras/vom/vom/l2_vtr.hpp b/extras/vom/vom/l2_vtr.hpp
index 540cc83fd07..688e87a8108 100644
--- a/extras/vom/vom/l2_vtr.hpp
+++ b/extras/vom/vom/l2_vtr.hpp
@@ -20,25 +20,27 @@
#include "vom/om.hpp"
namespace VOM {
-struct l2_vtr_op_t : public enum_base<l2_vtr_op_t>
+namespace l2_vtr {
+struct option_t : public enum_base<option_t>
{
- l2_vtr_op_t(const l2_vtr_op_t& l) = default;
- ~l2_vtr_op_t() = default;
+ option_t(const option_t& l) = default;
+ ~option_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;
+ const static option_t DISABLED;
+ const static option_t PUSH_1;
+ const static option_t PUSH_2;
+ const static option_t POP_1;
+ const static option_t POP_2;
+ const static option_t TRANSLATE_1_1;
+ const static option_t TRANSLATE_1_2;
+ const static option_t TRANSLATE_2_1;
+ const static option_t TRANSLATE_2_2;
private:
- l2_vtr_op_t(int v, const std::string s);
-};
+ option_t(int v, const std::string s);
};
+}; // namespace l2_vtr
+}; // namesapce VOM
/*
* fd.io coding-style-patch-verification: ON
diff --git a/extras/vom/vom/l2_vtr_cmds.cpp b/extras/vom/vom/l2_vtr_cmds.cpp
index df50ae46fe7..1c76cf0e490 100644
--- a/extras/vom/vom/l2_vtr_cmds.cpp
+++ b/extras/vom/vom/l2_vtr_cmds.cpp
@@ -16,10 +16,11 @@
#include "vom/l2_vtr_cmds.hpp"
namespace VOM {
+namespace l2_vtr_cmds {
-set_vtr_op_cmd::set_vtr_op_cmd(HW::item<l2_vtr_op_t>& item,
- const handle_t& itf,
- uint16_t tag)
+set_cmd::set_cmd(HW::item<l2_vtr::option_t>& item,
+ const handle_t& itf,
+ uint16_t tag)
: rpc_cmd(item)
, m_itf(itf)
, m_tag(tag)
@@ -27,7 +28,7 @@ set_vtr_op_cmd::set_vtr_op_cmd(HW::item<l2_vtr_op_t>& item,
}
bool
-set_vtr_op_cmd::operator==(const set_vtr_op_cmd& other) const
+set_cmd::operator==(const set_cmd& other) const
{
return (
(m_hw_item.data() == other.m_hw_item.data() && m_itf == other.m_itf) &&
@@ -35,7 +36,7 @@ set_vtr_op_cmd::operator==(const set_vtr_op_cmd& other) const
}
rc_t
-set_vtr_op_cmd::issue(connection& con)
+set_cmd::issue(connection& con)
{
msg_t req(con.ctx(), std::ref(*this));
@@ -51,15 +52,16 @@ set_vtr_op_cmd::issue(connection& con)
}
std::string
-set_vtr_op_cmd::to_string() const
+set_cmd::to_string() const
{
std::ostringstream s;
- s << "L2-set-vtr-op: " << m_hw_item.to_string()
- << " itf:" << m_itf.to_string() << " tag:" << m_tag;
+ s << "L2-vtr-set: " << m_hw_item.to_string() << " itf:" << m_itf.to_string()
+ << " tag:" << m_tag;
return (s.str());
}
+}; // namespace vtr_cmds
}; // namespace VOM
/*
diff --git a/extras/vom/vom/l2_vtr_cmds.hpp b/extras/vom/vom/l2_vtr_cmds.hpp
index d26b7195817..14477fd43f4 100644
--- a/extras/vom/vom/l2_vtr_cmds.hpp
+++ b/extras/vom/vom/l2_vtr_cmds.hpp
@@ -20,23 +20,20 @@
#include "vom/rpc_cmd.hpp"
#include <vapi/l2.api.vapi.hpp>
-#include <vapi/vpe.api.vapi.hpp>
namespace VOM {
-
+namespace l2_vtr_cmds {
/**
* A cmd class sets the VTR operation
*/
-class set_vtr_op_cmd
- : public rpc_cmd<HW::item<l2_vtr_op_t>, vapi::L2_interface_vlan_tag_rewrite>
+class set_cmd : public rpc_cmd<HW::item<l2_vtr::option_t>,
+ vapi::L2_interface_vlan_tag_rewrite>
{
public:
/**
* Constructor
*/
- set_vtr_op_cmd(HW::item<l2_vtr_op_t>& item,
- const handle_t& itf,
- uint16_t tag);
+ set_cmd(HW::item<l2_vtr::option_t>& item, const handle_t& itf, uint16_t tag);
/**
* Issue the command to VPP/HW
@@ -51,7 +48,7 @@ public:
/**
* Comparison operator - only used for UT
*/
- bool operator==(const set_vtr_op_cmd& i) const;
+ bool operator==(const set_cmd& i) const;
private:
/**
@@ -65,6 +62,7 @@ private:
uint16_t m_tag;
};
+}; // namespace vtr_cmds
}; // namespace VOM
/*
diff --git a/extras/vom/vom/l2_xconnect.cpp b/extras/vom/vom/l2_xconnect.cpp
index 1bdb651ff9b..f54da6c8abf 100644
--- a/extras/vom/vom/l2_xconnect.cpp
+++ b/extras/vom/vom/l2_xconnect.cpp
@@ -34,7 +34,7 @@ l2_xconnect::l2_xconnect(const interface& east_itf, const interface& west_itf)
, m_west_itf(west_itf.singular())
, m_xconnect_east(0)
, m_xconnect_west(0)
- , m_vtr_op(l2_vtr_op_t::L2_VTR_DISABLED, rc_t::UNSET)
+ , m_vtr_op(l2_vtr::option_t::DISABLED, rc_t::UNSET)
, m_vtr_op_tag(0)
{
}
@@ -98,7 +98,7 @@ l2_xconnect::replay()
if (m_vtr_op && handle_t::INVALID != m_east_itf->handle()) {
HW::enqueue(
- new set_vtr_op_cmd(m_vtr_op, m_east_itf->handle(), m_vtr_op_tag));
+ new l2_vtr_cmds::set_cmd(m_vtr_op, m_east_itf->handle(), m_vtr_op_tag));
}
}
@@ -122,7 +122,7 @@ l2_xconnect::to_string() const
}
void
-l2_xconnect::set(const l2_vtr_op_t& op, uint16_t tag)
+l2_xconnect::set(const l2_vtr::option_t& op, uint16_t tag)
{
assert(rc_t::UNSET == m_vtr_op.rc());
m_vtr_op.set(rc_t::NOOP);
@@ -148,7 +148,7 @@ l2_xconnect::update(const l2_xconnect& desired)
*/
if (m_vtr_op.update(desired.m_vtr_op)) {
HW::enqueue(
- new set_vtr_op_cmd(m_vtr_op, m_east_itf->handle(), m_vtr_op_tag));
+ new l2_vtr_cmds::set_cmd(m_vtr_op, m_east_itf->handle(), m_vtr_op_tag));
}
}
diff --git a/extras/vom/vom/l2_xconnect.hpp b/extras/vom/vom/l2_xconnect.hpp
index 32acd61dd8e..89acc1c32e6 100644
--- a/extras/vom/vom/l2_xconnect.hpp
+++ b/extras/vom/vom/l2_xconnect.hpp
@@ -81,7 +81,7 @@ public:
/**
* 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
@@ -183,7 +183,7 @@ private:
/**
* 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
diff --git a/test/ext/vom_test.cpp b/test/ext/vom_test.cpp
index c259bb071df..26653940d2e 100644
--- a/test/ext/vom_test.cpp
+++ b/test/ext/vom_test.cpp
@@ -25,6 +25,7 @@
#include "vom/bond_group_binding_cmds.hpp"
#include "vom/l2_binding.hpp"
#include "vom/l2_binding_cmds.hpp"
+#include "vom/l2_vtr_cmds.hpp"
#include "vom/l2_xconnect.hpp"
#include "vom/l2_xconnect_cmds.hpp"
#include "vom/l3_binding.hpp"
@@ -308,9 +309,9 @@ public:
{
rc = handle_derived<l2_binding_cmds::unbind_cmd>(f_exp, f_act);
}
- else if (typeid(*f_exp) == typeid(l2_binding_cmds::set_vtr_op_cmd))
+ else if (typeid(*f_exp) == typeid(l2_vtr_cmds::set_cmd))
{
- rc = handle_derived<l2_binding_cmds::set_vtr_op_cmd>(f_exp, f_act);
+ rc = handle_derived<l2_vtr_cmds::set_cmd>(f_exp, f_act);
}
else if (typeid(*f_exp) == typeid(l2_xconnect_cmds::bind_cmd))
{
@@ -988,14 +989,14 @@ BOOST_AUTO_TEST_CASE(test_bridge) {
TRY_CHECK_RC(OM::write(dante, bd1));
l2_binding *l2itf2 = new l2_binding(itf2, bd1);
- HW::item<l2_binding::l2_vtr_op_t> hw_set_vtr(l2_binding::l2_vtr_op_t::L2_VTR_POP_1, rc_t::OK);
- l2itf2->set(l2_binding::l2_vtr_op_t::L2_VTR_POP_1, 68);
+ HW::item<l2_vtr::option_t> hw_set_vtr(l2_vtr::option_t::POP_1, rc_t::OK);
+ l2itf2->set(l2_vtr::option_t::POP_1, 68);
ADD_EXPECT(l2_binding_cmds::bind_cmd(hw_l2_bind,
hw_ifh2.data(),
hw_bd.data(),
l2_binding::l2_port_type_t::L2_PORT_TYPE_NORMAL));
- ADD_EXPECT(l2_binding_cmds::set_vtr_op_cmd(hw_set_vtr, hw_ifh2.data(), 68));
+ ADD_EXPECT(l2_vtr_cmds::set_cmd(hw_set_vtr, hw_ifh2.data(), 68));
TRY_CHECK_RC(OM::write(dante, *l2itf2));
// Add some static entries to the bridge-domain