mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-27 11:13:24 +02:00
Major change in these patches for the user is the addition of a whitelist item for up and downstream interfaces. Excerpt from one of patches: Defines a whitelist for multicast groups. The network address must be in the following format 'a.b.c.d/n'. If you want to allow one single group use a network mask of /32, i.e. 'a.b.c.d/32'. By default all multicast groups are allowed on any downstream interface. If at least one whitelist entry is defined, all igmp membership reports for not explicitly whitelisted multicast groups will be ignored and therefore not be served by igmpproxy. This is especially useful, if your provider does only allow a predefined set of multicast groups. These whitelists are only obeyed by igmpproxy itself, they won't prevent any other igmp client running on the same machine as igmpproxy from requesting 'unallowed' multicast groups. You may specify as many whitelist entries as needed. Although you should keep it as simple as possible, as this list is parsed for every membership report and therefore this increases igmp response times. Often used or large groups should be defined first, as parsing ends as soon as a group matches an entry.
44 lines
1.3 KiB
Diff
44 lines
1.3 KiB
Diff
From 85e240727305b156097ee7aa0f0c4473a136291f Mon Sep 17 00:00:00 2001
|
|
From: Constantin Baranov <const@mimas.ru>
|
|
Date: Tue, 23 Feb 2010 21:08:02 +0400
|
|
Subject: [PATCH] Change default interface state to disabled (wrt #2945877)
|
|
|
|
---
|
|
src/ifvc.c | 2 +-
|
|
src/igmpproxy.c | 6 ++++--
|
|
2 files changed, 5 insertions(+), 3 deletions(-)
|
|
|
|
diff --git a/src/ifvc.c b/src/ifvc.c
|
|
index 545b3b4..9d7ee97 100644
|
|
--- a/src/ifvc.c
|
|
+++ b/src/ifvc.c
|
|
@@ -139,7 +139,7 @@ void buildIfVc() {
|
|
IfDescEp->allowednets->subnet_addr = subnet;
|
|
|
|
// Set the default params for the IF...
|
|
- IfDescEp->state = IF_STATE_DOWNSTREAM;
|
|
+ IfDescEp->state = IF_STATE_DISABLED;
|
|
IfDescEp->robustness = DEFAULT_ROBUSTNESS;
|
|
IfDescEp->threshold = DEFAULT_THRESHOLD; /* ttl limit */
|
|
IfDescEp->ratelimit = DEFAULT_RATELIMIT;
|
|
diff --git a/src/igmpproxy.c b/src/igmpproxy.c
|
|
index 1ece15a..35000c7 100644
|
|
--- a/src/igmpproxy.c
|
|
+++ b/src/igmpproxy.c
|
|
@@ -186,8 +186,10 @@ int igmpProxyInit() {
|
|
}
|
|
}
|
|
|
|
- addVIF( Dp );
|
|
- vifcount++;
|
|
+ if (Dp->state != IF_STATE_DISABLED) {
|
|
+ addVIF( Dp );
|
|
+ vifcount++;
|
|
+ }
|
|
}
|
|
}
|
|
|
|
--
|
|
1.7.2.5
|
|
|