batman-adv: mcast: implement multicast packet reception and forwarding
authorLinus Lüssing <linus.luessing@c0d3.blue>
Thu, 7 Sep 2023 01:09:08 +0000 (03:09 +0200)
committerSimon Wunderlich <sw@simonwunderlich.de>
Tue, 14 Nov 2023 07:16:34 +0000 (08:16 +0100)
commit07afe1ba288c04280622fa002ed385f1ac0b6fe6
tree038c9adbac0b7a1e55851fc7665d2fb3d8991628
parente4679a1b8a73584c5774af0fe19bcece94245487
batman-adv: mcast: implement multicast packet reception and forwarding

Implement functionality to receive and forward a new TVLV capable
multicast packet type.

The new batman-adv multicast packet type allows to contain several
originator destination addresses within a TVLV. Routers on the way will
potentially split the batman-adv multicast packet and adjust its tracker
TVLV contents.

Routing decisions are still based on the selected BATMAN IV or BATMAN V
routing algorithm. So this new batman-adv multicast packet type retains
the same loop-free properties.

Also a new OGM multicast TVLV flag is introduced to signal to other
nodes that we are capable of handling a batman-adv multicast packet and
multicast tracker TVLV. And that all of our hard interfaces have an MTU
of at least 1280 bytes (IPv6 minimum MTU), as a simple solution for now
to avoid MTU issues while forwarding.

Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
13 files changed:
include/uapi/linux/batadv_packet.h
net/batman-adv/Makefile
net/batman-adv/fragmentation.c
net/batman-adv/main.c
net/batman-adv/multicast.c
net/batman-adv/multicast.h
net/batman-adv/multicast_forw.c [new file with mode: 0644]
net/batman-adv/originator.c
net/batman-adv/originator.h
net/batman-adv/routing.c
net/batman-adv/routing.h
net/batman-adv/soft-interface.c
net/batman-adv/types.h