On Samstag, 14. April 2018 04:34:42 CEST Antonio Quartulli wrote:
On 14/04/18 02:16, Sven Eckelmann wrote:
[...]
We already handle the case of multiple originators handling the same MAC address, no? In that case I think we pick the "best" originator.
Yes, but this doesn't make a lot of sense for multicast and zero mac addresses. The translate layer of batctl is usually used to ping/traceroute to some originator. But multicast and zero mac addresses don't represent a "client" which can be used to identify some originator. So it doesn't seem to make sense to allow them here.
Or even without the ping/traceroute stuff, the concept of calling `batctl translate` should give you an answer which you can understand. So it should tell you that batman-adv is very likely to transmit a unicast packet with this destination address to this originator. But this cannot work for multicast destination addresses because multiple answer should be given here - which is out of scope for this command. Which reminds me that I should propose a second patch which checks whether the input for translate_mac is "valid" before trying to translate it.
This case sounds more like a validity check because "a zero MAC should not be in the translation table", or am I wrong?
Partially, yes. I personally don't care (at the moment) whether there is a zero mac address in the translation table. The current translation table code (batadv_tt_local_add) doesn't check whether there is a zero mac address (is_zero_ether_addr). But Linus had some ideas when zero mac addresses can be useful - maybe he tell us whether it makes sense/problems to have them in the translation table.
Kind regards, Sven