On Tuesday, 27 December 2022 20:34:06 CET Linus Lüssing wrote:
Prepare TVLV infrastructure for more packet types, in particular the upcoming batman-adv multicast packet type.
For that swap the OGM vs. unicast-tvlv packet boolean indicator to an explicit unsigned integer packet type variable. And provide the skb to a call to batadv_tvlv_containers_process(), as later the multicast packet's TVLV handler will need to have access not only to the TVLV but the full skb for forwarding. Forwarding will be invoked from the multicast packet's TVLVs' contents later.
Signed-off-by: Linus Lüssing linus.luessing@c0d3.blue
include/uapi/linux/batadv_packet.h | 2 + net/batman-adv/bat_v_ogm.c | 4 +- net/batman-adv/distributed-arp-table.c | 2 +- net/batman-adv/gateway_common.c | 2 +- net/batman-adv/multicast.c | 2 +- net/batman-adv/network-coding.c | 2 +- net/batman-adv/routing.c | 7 ++- net/batman-adv/translation-table.c | 4 +- net/batman-adv/tvlv.c | 71 ++++++++++++++++++-------- net/batman-adv/tvlv.h | 9 ++-- net/batman-adv/types.h | 6 +++ 11 files changed, 74 insertions(+), 37 deletions(-)
I am rather unhappy that the TVLV handlers parts are not static, constant, global objects which are just presented to batadv_tvlv_handler_register. The batadv_tvlv_containers_process parameters start to become a mess. Anyway, this has not really anything to do with your patch.
Acked-by: Sven Eckelmann sven@narfation.org
Just wondering if it is a good idea to use the network/transport header offsets/pointers like this.
Kind regards, Sven