|
@@ -0,0 +1,19 @@
|
|
|
|
|
+--- a/src/igmp.c
|
|
|
|
|
++++ b/src/igmp.c
|
|
|
|
|
+@@ -139,8 +139,14 @@
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ else if(!isAdressValidForIf(checkVIF, src)) {
|
|
|
|
|
+- my_log(LOG_WARNING, 0, "The source address %s for group %s, is not in any valid net for upstream VIF.",
|
|
|
|
|
+- inetFmt(src, s1), inetFmt(dst, s2));
|
|
|
|
|
++ struct IfDesc *downVIF = getIfByAddress(src);
|
|
|
|
|
++ if (downVIF && downVIF->state & IF_STATE_DOWNSTREAM) {
|
|
|
|
|
++ my_log(LOG_NOTICE, 0, "The source address %s for group %s is from downstream VIF. Ignoring.",
|
|
|
|
|
++ inetFmt(src, s1), inetFmt(dst, s2));
|
|
|
|
|
++ } else {
|
|
|
|
|
++ my_log(LOG_WARNING, 0, "The source address %s for group %s, is not in any valid net for upstream VIF.",
|
|
|
|
|
++ inetFmt(src, s1), inetFmt(dst, s2));
|
|
|
|
|
++ }
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+
|