linux/net/batman-adv
Linus Lüssing 3f69339068 batman-adv: bcast: queue per interface, if needed
Currently we schedule a broadcast packet like:

3x: [ [(re-)queue] --> for(hard-if): maybe-transmit ]

The intention of queueing a broadcast packet multiple times is to
increase robustness for wireless interfaces. However on interfaces
which we only broadcast on once the queueing induces an unnecessary
penalty. This patch restructures the queueing to be performed on a per
interface basis:

for(hard-if):
- transmit
- if wireless: [queue] --> transmit --> [requeue] --> transmit

Next to the performance benefits on non-wireless interfaces this
should also make it easier to apply alternative strategies for
transmissions on wireless interfaces in the future (for instance sending
via unicast transmissions on wireless interfaces, without queueing in
batman-adv, if appropriate).

Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
2021-05-17 12:00:44 +02:00
..
bat_algo.c batman-adv: Drop publication years from copyright info 2021-02-06 09:22:10 +01:00
bat_algo.h batman-adv: Drop publication years from copyright info 2021-02-06 09:22:10 +01:00
bat_iv_ogm.c batman-adv: Always send iface index+name in genlmsg 2021-05-17 12:00:44 +02:00
bat_iv_ogm.h batman-adv: Drop publication years from copyright info 2021-02-06 09:22:10 +01:00
bat_v_elp.c batman-adv: Drop publication years from copyright info 2021-02-06 09:22:10 +01:00
bat_v_elp.h batman-adv: Drop publication years from copyright info 2021-02-06 09:22:10 +01:00
bat_v_ogm.c batman-adv: Drop publication years from copyright info 2021-02-06 09:22:10 +01:00
bat_v_ogm.h batman-adv: Drop publication years from copyright info 2021-02-06 09:22:10 +01:00
bat_v.c batman-adv: Always send iface index+name in genlmsg 2021-05-17 12:00:44 +02:00
bat_v.h batman-adv: Drop publication years from copyright info 2021-02-06 09:22:10 +01:00
bitarray.c batman-adv: Drop publication years from copyright info 2021-02-06 09:22:10 +01:00
bitarray.h batman-adv: Drop publication years from copyright info 2021-02-06 09:22:10 +01:00
bridge_loop_avoidance.c batman-adv: Drop unused header preempt.h 2021-03-23 21:52:28 +01:00
bridge_loop_avoidance.h batman-adv: Drop publication years from copyright info 2021-02-06 09:22:10 +01:00
distributed-arp-table.c batman-adv: Fix names for kernel-doc blocks 2021-02-06 09:22:45 +01:00
distributed-arp-table.h batman-adv: Drop publication years from copyright info 2021-02-06 09:22:10 +01:00
fragmentation.c batman-adv: Drop publication years from copyright info 2021-02-06 09:22:10 +01:00
fragmentation.h batman-adv: Drop publication years from copyright info 2021-02-06 09:22:10 +01:00
gateway_client.c batman-adv: Drop publication years from copyright info 2021-02-06 09:22:10 +01:00
gateway_client.h batman-adv: Drop publication years from copyright info 2021-02-06 09:22:10 +01:00
gateway_common.c batman-adv: Drop publication years from copyright info 2021-02-06 09:22:10 +01:00
gateway_common.h batman-adv: Drop publication years from copyright info 2021-02-06 09:22:10 +01:00
hard-interface.c batman-adv: Drop publication years from copyright info 2021-02-06 09:22:10 +01:00
hard-interface.h batman-adv: Drop publication years from copyright info 2021-02-06 09:22:10 +01:00
hash.c batman-adv: Drop publication years from copyright info 2021-02-06 09:22:10 +01:00
hash.h batman-adv: Drop publication years from copyright info 2021-02-06 09:22:10 +01:00
Kconfig This feature/cleanup patchset is an updated version of the pull request 2021-02-08 11:32:40 -08:00
log.c batman-adv: Drop publication years from copyright info 2021-02-06 09:22:10 +01:00
log.h batman-adv: Drop publication years from copyright info 2021-02-06 09:22:10 +01:00
main.c module: remove never implemented MODULE_SUPPORTED_DEVICE 2021-03-17 13:16:18 -07:00
main.h batman-adv: bcast: queue per interface, if needed 2021-05-17 12:00:44 +02:00
Makefile batman-adv: Drop publication years from copyright info 2021-02-06 09:22:10 +01:00
multicast.c mld: convert ifmcaddr6 to RCU 2021-03-26 15:14:56 -07:00
multicast.h batman-adv: Drop publication years from copyright info 2021-02-06 09:22:10 +01:00
netlink.c batman-adv: Always send iface index+name in genlmsg 2021-05-17 12:00:44 +02:00
netlink.h batman-adv: Drop publication years from copyright info 2021-02-06 09:22:10 +01:00
network-coding.c batman-adv: Drop publication years from copyright info 2021-02-06 09:22:10 +01:00
network-coding.h batman-adv: Drop publication years from copyright info 2021-02-06 09:22:10 +01:00
originator.c batman-adv: Drop publication years from copyright info 2021-02-06 09:22:10 +01:00
originator.h batman-adv: Drop publication years from copyright info 2021-02-06 09:22:10 +01:00
routing.c batman-adv: bcast: queue per interface, if needed 2021-05-17 12:00:44 +02:00
routing.h batman-adv: Drop publication years from copyright info 2021-02-06 09:22:10 +01:00
send.c batman-adv: bcast: queue per interface, if needed 2021-05-17 12:00:44 +02:00
send.h batman-adv: bcast: queue per interface, if needed 2021-05-17 12:00:44 +02:00
soft-interface.c batman-adv: bcast: queue per interface, if needed 2021-05-17 12:00:44 +02:00
soft-interface.h batman-adv: Drop publication years from copyright info 2021-02-06 09:22:10 +01:00
tp_meter.c batman-adv: Fix names for kernel-doc blocks 2021-02-06 09:22:45 +01:00
tp_meter.h batman-adv: Drop publication years from copyright info 2021-02-06 09:22:10 +01:00
trace.c batman-adv: Drop publication years from copyright info 2021-02-06 09:22:10 +01:00
trace.h batman-adv: Drop publication years from copyright info 2021-02-06 09:22:10 +01:00
translation-table.c batman-adv: initialize "struct batadv_tvlv_tt_vlan_data"->reserved field 2021-04-05 15:06:03 -07:00
translation-table.h batman-adv: Drop publication years from copyright info 2021-02-06 09:22:10 +01:00
tvlv.c batman-adv: Drop publication years from copyright info 2021-02-06 09:22:10 +01:00
tvlv.h batman-adv: Drop publication years from copyright info 2021-02-06 09:22:10 +01:00
types.h batman-adv: Fix order of kernel doc in batadv_priv 2021-03-23 21:49:14 +01:00