namespace igmp_listen_cmds {
listen_cmd::listen_cmd(HW::item<bool>& item,
const handle_t& itf,
- const boost::asio::ip::address& gaddr,
+ const boost::asio::ip::address_v4& gaddr,
const igmp_listen::src_addrs_t& saddrs)
: rpc_cmd(item)
, m_itf(itf)
bool
listen_cmd::operator==(const listen_cmd& other) const
{
- return ((m_itf == other.m_itf) && (m_gaddr == other.m_gaddr));
+ return ((m_itf == other.m_itf) && (m_gaddr == other.m_gaddr) &&
+ (m_saddrs == other.m_saddrs));
}
rc_t
auto& payload = req.get_request().get_payload();
payload.group.sw_if_index = m_itf.value();
- to_api(m_gaddr.to_v4(), payload.group.gaddr);
+ to_api(m_gaddr, payload.group.gaddr);
if (0 == size) {
// no sources => (*,G) join
unlisten_cmd::unlisten_cmd(HW::item<bool>& item,
const handle_t& itf,
- const boost::asio::ip::address& gaddr)
+ const boost::asio::ip::address_v4& gaddr)
: rpc_cmd(item)
, m_itf(itf)
, m_gaddr(gaddr)
payload.group.sw_if_index = m_itf.value();
payload.group.n_srcs = 0;
payload.group.filter = INCLUDE;
- to_api(m_gaddr.to_v4(), payload.group.gaddr);
+ to_api(m_gaddr, payload.group.gaddr);
VAPI_CALL(req.execute());