Re: [PATCH net-next 01/10] batman-adv: dat: drop non-4addr backwards compatibility

Sven Eckelmann <[email protected]>
Newsgroups org.open-mesh.lists.batman,org.kernel.vger.netdev
Message-ID <14211429.uLZWGnKmhe@sven-desktop>
https://netdev-ai.bots.linux.dev/sashiko/#/patchset/20260805143200.722098-1-sw%40simonwunderlich.de?part=1

> --- Patch [1]: [PATCH net-next 01/10] batman-adv: dat: drop non-4addr backwards compatibility ---
[...]
> Discovered by: opus-5 · Missed by: old-prompts, sashiko-gemini · Confirmed by: old-prompts
> Was the removed else branch really only reachable when talking to
> pre-compat-15 nodes?

This is a misrepresentation of the commit. The code was added in batman-adv 
with compat 14 when not all nodes had support for 4-addr packets. 
With compat-15, all nodes must have support for 4addr packets and the 
backwards compatibility hack is no longer needed

[...]
> After this change those cache replies go out as BATADV_UNICAST_4ADDR, and on
> the receiver batadv_recv_unicast_packet() now takes the is4addr path:
> 
> 			subtype = unicast_4addr_packet->subtype;
> 			batadv_dat_inc_counter(bat_priv, subtype);
> 
> so BATADV_P_DAT_CACHE_REPLY RX accounting is incremented where it previously
> was not, and the encapsulation of these replies changes in packet captures.

Yes, but what is wrong about the correct packets and correct accounting?

[...] 
> Discovered by: opus-5 · Missed by: old-prompts, sashiko-gemini · Confirmed by: old-prompts
> This is a pre-existing issue and not introduced by this patch, but while
> looking at the DAT subtype decoding: the default arm of the inner switch in
> batadv_dbg_arp() prints the packet type where the message says subtype:
> 
> 		switch (unicast_4addr_packet->subtype) {
> 		...
> 		default:
> 			batadv_dbg(BATADV_DBG_DAT, bat_priv, "* type: Unknown (%u)!\n",
> 				   unicast_4addr_packet->u.packet_type);
> 		}
> 
> That arm is only reachable from case BATADV_UNICAST_4ADDR: of the outer
> switch, so the value printed is always 0x42 rather than the unrecognized
> value from enum batadv_subtype in include/uapi/linux/batadv_packet.h.

Irrelevant for this patch but I've submitted a mini fix:
https://patchwork.open-mesh.org/project/b.a.t.m.a.n./patch/20260806-4addr-unknown-subtype-print-v1-1-e906357a5895@narfation.org/

Regards,
	Sven
signature.asc (application/pgp-signature, 228 B)
-----BEGIN PGP SIGNATURE-----

iHUEABYKAB0WIQS81G/PswftH/OW8cVND3cr0xT1ywUCanSiTQAKCRBND3cr0xT1
y6t8AQD84YyhEiTBB6riLKZaG7fUtJLbGi7SGzoDcxIdade7fAEA7pecsXc6V744
BCmzGIuj+MzY9/64yJz9Z9ZFKcXOZAs=
=DknP
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.