Here is a patch to fix the parameter order issue for the filtering...
--- a/mcproxy/src/proxy/simple_mc_proxy_routing.cpp
+++ b/mcproxy/src/proxy/simple_mc_proxy_routing.cpp
@@ -118,13 +118,13 @@ void interface_memberships::process_upst
for (auto source_it = cs.first.m_source_list.begin();
source_it != cs.first.m_source_list.end();) {
//downstream out
- if
(!cs.second->match_output_filter(interfaces::get_if_name(upstr_e.m_if_index),
gaddr, source_it->saddr)) {
+ if
(!cs.second->match_output_filter(interfaces::get_if_name(upstr_e.m_if_index),
source_it->saddr, gaddr)) {
source_it = cs.first.m_source_list.erase(source_it);
continue;
}
//upstream in
- if
(!upstr_e.m_interface->match_input_filter(interfaces::get_if_name(upstr_e.m_if_index),
gaddr, source_it->saddr)) {
+ if
(!upstr_e.m_interface->match_input_filter(interfaces::get_if_name(upstr_e.m_if_index),
source_it->saddr, gaddr)) {
tmp_sstate.m_source_list.insert(*source_it);
source_it = cs.first.m_source_list.erase(source_it);
continue;
@@ -175,13 +175,13 @@ void interface_memberships::process_upst
for (auto source_it = cs_it->first.m_source_list.begin();
source_it != cs_it->first.m_source_list.end();) {
//downstream out
- if
(!cs_it->second->match_output_filter(interfaces::get_if_name(upstr_e.m_if_index),
gaddr, source_it->saddr)) {
+ if
(!cs_it->second->match_output_filter(interfaces::get_if_name(upstr_e.m_if_index),
source_it->saddr, gaddr)) {
++source_it;
continue;
}
//upstream in
- if
(!upstr_e.m_interface->match_input_filter(interfaces::get_if_name(upstr_e.m_if_index),
gaddr, source_it->saddr)) {
+ if
(!upstr_e.m_interface->match_input_filter(interfaces::get_if_name(upstr_e.m_if_index),
source_it->saddr, gaddr)) {
++source_it;
continue;
}
@@ -619,9 +619,9 @@ bool simple_mc_proxy_routing::check_inte
std::string input_if_index_name =
interfaces::get_if_name(input_if_index);
if (!input_if_index_name.empty()) {
if (interface_direction == ID_IN) {
- return interf->match_input_filter(input_if_index_name, gaddr,
saddr);
+ return interf->match_input_filter(input_if_index_name, saddr,
gaddr);
} else if (interface_direction == ID_OUT) {
- return interf->match_output_filter(input_if_index_name, gaddr,
saddr);
+ return interf->match_output_filter(input_if_index_name, saddr,
gaddr);
} else {
HC_LOG_ERROR("unkown interface direction");
return false;
--
You received this message because you are subscribed to the Google Groups
"Multicast Proxy" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.