[Battlemesh] bmx6-r2014112401-4 failing to use link with high multicast packet loss

Gui Iribarren gui at altermundi.net
Mon Oct 26 06:42:52 CET 2015

Hey folks, hey axel!
we've spent the past few days chasing a malfunction on a particular
cloud in QuintanaLibre that is running latest Libre-Mesh (OpenWrt BB)

turns out, there's one specific link between two nodes (giordano and
si-radio) that shows poor performance of multicast packets with

in concrete terms, multicast traffic from giordano->si-radio flows
acceptably well (50 mcast packets out of 60 are heard by si-radio)
but multicasts from si-radio->giordano have a high chance of being lost
(just around 10 mcast packets out of 60 are heard by giordano)

we have batman-adv and bmx6 running over the same link (separated using
vlans, just as in the battlemesh)
in this scenario, batman-adv copes with that loss well, estimating a low
TQ (between 100 and 150) but anyway considering the link as valid and
pushing traffic through with no problems
(unicast packets have almost no loss, and the two nodes can push around
10mbit between them using unicast netperf)

but bmx6 doesn't make it :(
the estimated txRate of si-radio -> giordano is 0
(looking at si-radio "bmx6 -c show links")
even though giordano "sees" si-radio with a rxRate of ~10-20

this last part is what "seems wrong" (looks like a bug), since normally
the txRate on one node mirrors the rxRate of the remote node,

### illustrative, clearly fake output
nodeA # bmx6 -c show links
nodeB rxRate=96 txRate=77

nodeB # bmx6 -c show links
nodeA rxRate=77 txRate=96

but in this case is more like

nodeA # bmx6 -c show links
nodeB rxRate=88 txRate=0

nodeB # bmx6 -c show links
nodeA rxRate=15 txRate=88

i'd expect that "txRate=0" be actually close to 15, and the link be
considered as "usable", but that's not the case :(

full details at:

and i can provide tcpdumps on request :)

cheers, from our day-to-day battle of the mesh in south america ;)


More information about the Battlemesh mailing list