And btw. it is not about the originator. It is handled in batadv_send_outstanding_bcast_packet at the same place where you want to have the no_rebroadcast check. no_rebroadcast in the patch we are talking [1,2] about is currently just ignoring the num_bcasts of a hard-interface for some situations (when forw_packet->skb->dev == hard_iface->net_dev).
Let's have a look to the source code. The interesting part is function "static void batadv_send_outstanding_bcast_packet(struct work_struct *work)" in file "send.c". There you will find
To what are you answering? At least not to my statement.
[...]
No, it isn't about the incoming or outgoing hard-interfaces. See Marek's reply.
Sorry, that was a misunderstanding. Before Marek's explanation (thank you for that) I was read it as comparing incoming to outgoing interface.
Here is an updated version of the patch as it is used in current master branch of gluon matching batman-adv 2016.0:
Not sure why you sent some(tm) patch of a patch in this way when there is a guideline how to correctly send them [1]
This was not an official launch of a patch but for information only. Neither I myself have a required development environment nor do I like to launch Linus' patch as mine. And because of too few knowledge about Linux and batman-adv internals, my only contribution can be to show the relevance of this issue for Freifunk installations, and looking for somebody who can implement the necessary stuff.
Best regards, Roland.