diff options
Diffstat (limited to 'extras/vom/vom/gbp_bridge_domain_cmds.cpp')
-rw-r--r-- | extras/vom/vom/gbp_bridge_domain_cmds.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/extras/vom/vom/gbp_bridge_domain_cmds.cpp b/extras/vom/vom/gbp_bridge_domain_cmds.cpp index 60f7cddd9f3..8fc5250f192 100644 --- a/extras/vom/vom/gbp_bridge_domain_cmds.cpp +++ b/extras/vom/vom/gbp_bridge_domain_cmds.cpp @@ -20,10 +20,12 @@ namespace gbp_bridge_domain_cmds { create_cmd::create_cmd(HW::item<uint32_t>& item, const handle_t bvi, - const handle_t uu_fwd) + const handle_t uu_fwd, + const gbp_bridge_domain::flags_t& flags) : rpc_cmd(item) , m_bvi(bvi) , m_uu_fwd(uu_fwd) + , m_flags(flags) { } @@ -31,7 +33,8 @@ bool create_cmd::operator==(const create_cmd& other) const { return ((m_hw_item.data() == other.m_hw_item.data()) && - (m_bvi == other.m_bvi) && (m_uu_fwd == other.m_uu_fwd)); + (m_bvi == other.m_bvi) && (m_uu_fwd == other.m_uu_fwd) && + (m_flags == other.m_flags)); } rc_t @@ -45,6 +48,10 @@ create_cmd::issue(connection& con) payload.bd.bvi_sw_if_index = m_bvi.value(); payload.bd.uu_fwd_sw_if_index = m_uu_fwd.value(); + payload.bd.flags = GBP_BD_API_FLAG_NONE; + if (gbp_bridge_domain::flags_t::DO_NOT_LEARN == m_flags) + payload.bd.flags = GBP_BD_API_FLAG_DO_NOT_LEARN; + VAPI_CALL(req.execute()); return (wait()); |