]> git.dujemihanovic.xyz Git - linux.git/commit
appletalk: Improve handling of broadcast packets
authorVincent Duvert <vincent.ldev@duvert.net>
Sun, 5 May 2024 18:54:57 +0000 (11:54 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 8 May 2024 11:17:19 +0000 (12:17 +0100)
commit2e82a58d6c0797092eabe7ba66a532c11548047f
tree76f84fd26554bb82d869eecd9941c2a5e5005874
parent86b29d830ad69eecff25b22dc96c14c6573718e6
appletalk: Improve handling of broadcast packets

When a broadcast AppleTalk packet is received, prefer queuing it on the
socket whose address matches the address of the interface that received
the packet (and is listening on the correct port). Userspace
applications that handle such packets will usually send a response on
the same socket that received the packet; this fix allows the response
to be sent on the correct interface.

If a socket matching the interface's address is not found, an arbitrary
socket listening on the correct port will be used, if any. This matches
the implementation's previous behavior.

Fixes atalkd's responses to network information requests when multiple
network interfaces are configured to use AppleTalk.

Link: https://lore.kernel.org/netdev/20200722113752.1218-2-vincent.ldev@duvert.net/
Link: https://gist.github.com/VinDuv/4db433b6dce39d51a5b7847ee749b2a4
Signed-off-by: Vincent Duvert <vincent.ldev@duvert.net>
Signed-off-by: Doug Brown <doug@schmorgal.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/appletalk/ddp.c