mirror of
https://github.com/zerotier/ZeroTierOne.git
synced 2025-06-05 03:53:44 +02:00
Check multicast limit on send after NDP emulation code.
This commit is contained in:
parent
7e90ab3534
commit
e1fbf7b34c
1 changed files with 6 additions and 5 deletions
|
@ -349,11 +349,6 @@ void Switch::onLocalEthernet(const SharedPtr<Network> &network,const MAC &from,c
|
||||||
}
|
}
|
||||||
|
|
||||||
if (to.isMulticast()) {
|
if (to.isMulticast()) {
|
||||||
if (network->config().multicastLimit == 0) {
|
|
||||||
TRACE("%.16llx: dropped multicast: not allowed on network",network->id());
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
MulticastGroup multicastGroup(to,0);
|
MulticastGroup multicastGroup(to,0);
|
||||||
|
|
||||||
if (to.isBroadcast()) {
|
if (to.isBroadcast()) {
|
||||||
|
@ -457,6 +452,12 @@ void Switch::onLocalEthernet(const SharedPtr<Network> &network,const MAC &from,c
|
||||||
} // else no NDP emulation
|
} // else no NDP emulation
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Check this after NDP emulation, since that has to be allowed in exactly this case
|
||||||
|
if (network->config().multicastLimit == 0) {
|
||||||
|
TRACE("%.16llx: dropped multicast: not allowed on network",network->id());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
/* Learn multicast groups for bridged-in hosts.
|
/* Learn multicast groups for bridged-in hosts.
|
||||||
* Note that some OSes, most notably Linux, do this for you by learning
|
* Note that some OSes, most notably Linux, do this for you by learning
|
||||||
* multicast addresses on bridge interfaces and subscribing each slave.
|
* multicast addresses on bridge interfaces and subscribing each slave.
|
||||||
|
|
Loading…
Add table
Reference in a new issue