|
@@ -249,7 +249,7 @@ static void br_multicast_group_expired(struct timer_list *t)
|
|
if (!netif_running(br->dev) || timer_pending(&mp->timer))
|
|
if (!netif_running(br->dev) || timer_pending(&mp->timer))
|
|
goto out;
|
|
goto out;
|
|
|
|
|
|
- mp->mglist = false;
|
|
|
|
|
|
+ mp->host_joined = false;
|
|
|
|
|
|
if (mp->ports)
|
|
if (mp->ports)
|
|
goto out;
|
|
goto out;
|
|
@@ -292,7 +292,7 @@ static void br_multicast_del_pg(struct net_bridge *br,
|
|
p->flags);
|
|
p->flags);
|
|
call_rcu_bh(&p->rcu, br_multicast_free_pg);
|
|
call_rcu_bh(&p->rcu, br_multicast_free_pg);
|
|
|
|
|
|
- if (!mp->ports && !mp->mglist &&
|
|
|
|
|
|
+ if (!mp->ports && !mp->host_joined &&
|
|
netif_running(br->dev))
|
|
netif_running(br->dev))
|
|
mod_timer(&mp->timer, jiffies);
|
|
mod_timer(&mp->timer, jiffies);
|
|
|
|
|
|
@@ -773,7 +773,7 @@ static int br_multicast_add_group(struct net_bridge *br,
|
|
goto err;
|
|
goto err;
|
|
|
|
|
|
if (!port) {
|
|
if (!port) {
|
|
- mp->mglist = true;
|
|
|
|
|
|
+ mp->host_joined = true;
|
|
mod_timer(&mp->timer, now + br->multicast_membership_interval);
|
|
mod_timer(&mp->timer, now + br->multicast_membership_interval);
|
|
goto out;
|
|
goto out;
|
|
}
|
|
}
|
|
@@ -1477,7 +1477,7 @@ static int br_ip4_multicast_query(struct net_bridge *br,
|
|
|
|
|
|
max_delay *= br->multicast_last_member_count;
|
|
max_delay *= br->multicast_last_member_count;
|
|
|
|
|
|
- if (mp->mglist &&
|
|
|
|
|
|
+ if (mp->host_joined &&
|
|
(timer_pending(&mp->timer) ?
|
|
(timer_pending(&mp->timer) ?
|
|
time_after(mp->timer.expires, now + max_delay) :
|
|
time_after(mp->timer.expires, now + max_delay) :
|
|
try_to_del_timer_sync(&mp->timer) >= 0))
|
|
try_to_del_timer_sync(&mp->timer) >= 0))
|
|
@@ -1561,7 +1561,7 @@ static int br_ip6_multicast_query(struct net_bridge *br,
|
|
goto out;
|
|
goto out;
|
|
|
|
|
|
max_delay *= br->multicast_last_member_count;
|
|
max_delay *= br->multicast_last_member_count;
|
|
- if (mp->mglist &&
|
|
|
|
|
|
+ if (mp->host_joined &&
|
|
(timer_pending(&mp->timer) ?
|
|
(timer_pending(&mp->timer) ?
|
|
time_after(mp->timer.expires, now + max_delay) :
|
|
time_after(mp->timer.expires, now + max_delay) :
|
|
try_to_del_timer_sync(&mp->timer) >= 0))
|
|
try_to_del_timer_sync(&mp->timer) >= 0))
|
|
@@ -1622,7 +1622,7 @@ br_multicast_leave_group(struct net_bridge *br,
|
|
br_mdb_notify(br->dev, port, group, RTM_DELMDB,
|
|
br_mdb_notify(br->dev, port, group, RTM_DELMDB,
|
|
p->flags);
|
|
p->flags);
|
|
|
|
|
|
- if (!mp->ports && !mp->mglist &&
|
|
|
|
|
|
+ if (!mp->ports && !mp->host_joined &&
|
|
netif_running(br->dev))
|
|
netif_running(br->dev))
|
|
mod_timer(&mp->timer, jiffies);
|
|
mod_timer(&mp->timer, jiffies);
|
|
}
|
|
}
|
|
@@ -1662,7 +1662,7 @@ br_multicast_leave_group(struct net_bridge *br,
|
|
br->multicast_last_member_interval;
|
|
br->multicast_last_member_interval;
|
|
|
|
|
|
if (!port) {
|
|
if (!port) {
|
|
- if (mp->mglist &&
|
|
|
|
|
|
+ if (mp->host_joined &&
|
|
(timer_pending(&mp->timer) ?
|
|
(timer_pending(&mp->timer) ?
|
|
time_after(mp->timer.expires, time) :
|
|
time_after(mp->timer.expires, time) :
|
|
try_to_del_timer_sync(&mp->timer) >= 0)) {
|
|
try_to_del_timer_sync(&mp->timer) >= 0)) {
|