I'm working on a port of the BATMAN-ADV protocol to FreeRTOS,
specifically running on the ESP32 from EspressIF.
I'm currently sending and receiving what seem to be correctly formed OGM
messages from BATMAN IV. For now, my goal is interoperability with
Raspberry Pis running BATMAN from stock Raspbian.
>From the RasPi, I am able to see the ESP32 as a neighbor, but not as an
originator:
pi@pi-16:~ $ sudo batctl n
[B.A.T.M.A.N. adv 2017.3, MainIF/MAC: wlan0/b8:27:eb:a0:2a:53
(bat0/e6:46:65:5b:c4:c4 BATMAN_IV)]
IF Neighbor last-seen
wlan0 30:ae:a4:3b:9a:d4 0.090s
pi@pi-16:~ $ sudo batctl o
[B.A.T.M.A.N. adv 2017.3, MainIF/MAC: wlan0/b8:27:eb:a0:2a:53
(bat0/e6:46:65:5b:c4:c4 BATMAN_IV)]
Originator last-seen (#/255) Nexthop [outgoingIF]
Can someone explain to me why this might be occurring, and what I'm
missing? Currently, the code is doing two things: sending a new OGM
with an incrementing sequence number every 1000 ms, and re-broadcasting
any received OGMs with a decremented TTL, modified TQ, and DirectLink
flag set whenever it receives them (also every 1000 ms or so).
Internally, I'm getting close to having the routing algorithm
implemented, but it looks like I'm doing something "wrong" in the eyes
of the BATMAN implementation on the Pis. I'd be happy to provide packet
dumps on request.
Thank you in advance.
John Gorkos