On Monday, 26 December 2022 21:42:35 CET Linus Lüssing wrote:
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(a)c0d3.blue>
---
include/uapi/linux/batadv_packet.h | 48 ++++-
net/batman-adv/Makefile | 1 +
net/batman-adv/main.c | 2 +
net/batman-adv/multicast.c | 48 ++++-
net/batman-adv/multicast.h | 5 +
net/batman-adv/multicast_forw.c | 274 +++++++++++++++++++++++++++++
net/batman-adv/originator.c | 1 +
net/batman-adv/routing.c | 68 +++++++
net/batman-adv/routing.h | 11 ++
net/batman-adv/soft-interface.c | 12 ++
net/batman-adv/types.h | 64 +++++++
11 files changed, 523 insertions(+), 11 deletions(-)
create mode 100644 net/batman-adv/multicast_forw.c
ecsv/pu: checkpatch ./net/batman-adv/multicast_forw.c
-----------------------------------------------------
CHECK: Macro argument reuse 'num_dests' - possible side-effects?
#25: FILE: ./net/batman-adv/multicast_forw.c:25:
+#define batadv_mcast_forw_tracker_for_each_dest(dest, num_dests) \
+ for (; num_dests; num_dests--, (dest) += ETH_ALEN)
total: 0 errors, 0 warnings, 1 checks, 274 lines checked