Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
gluon-mesh-batman-adv: reenable batman-adv multicast optimizations
Several fixes and enhancements related to multicast were added upstream in batman-adv. So let's give the batman-adv multicast optimizations another go. Signed-off-by: Linus Lüssing <[email protected]>
- Loading branch information
9b1eb40
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We have to keep in mind potential sideeffect on some (Expressif?) IosT-devices.
it seems that e.g. some Wifi lightbulbs are crashing if there is MLD on their (client) network. (even though it's unknown what they do with multicast at all and dont's seem to support IPv6 either)
nb: i had this in a non-ff-wifi network
9b1eb40
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I respectfully disagree. Proper multicast support is a boon to networks like ours. Broken network stacks should not prevent us from improving the network.
That being said, I have ESP8266 based devices running Tasmota in my home network and I don't experience crashes, even though I have an MLD querier on their subnet.
9b1eb40
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
By the way, this commit does not enable MLD. The MLD side was added and enabled way earlier, with Gluon v2016.2 (2a51d94).
Since that commit the bridge on the node uses MLD queries to figure out where multicast listeners on the local wifi AP interface are and delivers multicast packets via individual wifi unicast transmissions (if there are any interested listeners for a specific multicast packet at all).
So we have had MLD on the client network side of each node for some years now. This patch now "just" extends this multicast awareness and interconnects the multicast awareness between the individual, per node client networks. To not only be able to filter and dissect multicast packets on the "last mile", the wifi AP of a node, but also before they enter and inside the mesh.
9b1eb40
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
But of course, this is new now and adds a bit of complexity. Although we had multiple testers and reviewers for this, any observations, testing and feedback concerning multicast are very appreciated. I'd gladly have a look at any multicast related issues people come across.
9b1eb40
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@mweinelt "keep in mind" != "should not activate": This was just to point out that people are warned that MLD might have side effects on really shitty devices.