Jakub Kicinski
023f9b0f2f
appletalk: stop storing per-interface state in struct net_device
...
AppleTalk keeps its per-interface control block (struct atalk_iface)
directly in struct netdevice (dev->atalk_ptr). This is the only thing
tying the protocol into the core net_device layout and is the sole
blocker to moving AppleTalk out of tree.
Replace dev->atalk_ptr with a small ifindex-keyed hashtable internal
to ddp.c. The existing atalk_interfaces list stays the owner of the iface
objects; the hashtable is purely a fast dev->iface index and reuses
the same atalk_interfaces_lock.
AFAICT this patch does not make this code any more racy than it already
is, I'm sure Sashiko will point out some basically existing bugs.
AFAICT atalk_interfaces_lock is the innermost lock already.
Acked-by: Stephen Hemminger <stephen@networkplumber.org >
Link: https://patch.msgid.link/20260615222935.947233-2-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org >
2026-06-16 14:37:06 -07:00
..
2026-05-21 15:09:02 -07:00
2026-06-15 15:42:53 -07:00
2026-01-23 11:59:34 -07:00
2026-06-13 15:00:07 -07:00
2026-06-16 14:37:06 -07:00
2024-04-18 18:27:33 -07:00
2026-06-04 12:22:50 +02:00
2025-07-10 14:48:29 +02:00
2026-05-22 17:20:57 -07:00
2026-05-22 17:20:57 -07:00
2024-11-30 13:54:28 -08:00
2025-02-22 11:36:22 +01:00
2026-06-10 07:53:26 -07:00
2026-04-10 15:52:25 -07:00
2023-01-31 13:00:47 +01:00
2025-10-15 17:56:20 -07:00
2024-11-28 12:08:32 +01:00
2026-05-28 14:37:47 -07:00
2026-05-28 14:37:46 -07:00
2025-09-26 15:21:38 -07:00
2026-06-12 17:55:48 -07:00
2026-03-18 20:01:10 -07:00
2024-05-12 16:51:36 -07:00
2022-11-23 17:25:02 -08:00
2023-01-31 13:00:47 +01:00
2024-10-28 21:14:27 +01:00
2026-04-23 10:24:02 -07:00
2021-07-21 08:14:33 -07:00
2026-01-14 02:13:37 +00:00
2026-06-15 15:57:31 -07:00
2023-01-31 13:00:47 +01:00
2026-06-14 12:51:55 +02:00
2025-02-08 11:28:11 +01:00
2025-02-19 11:10:53 +01:00
2024-10-10 08:30:22 -07:00
2025-03-24 12:20:42 -07:00
2024-08-11 04:38:49 +01:00
2020-06-08 10:05:53 +02:00
2022-02-09 12:00:11 +00:00
2026-06-11 15:33:37 -07:00
2025-09-11 17:40:13 -07:00
2023-10-15 13:19:42 +01:00
2025-01-09 12:53:27 -08:00
2026-05-28 14:37:46 -07:00
2024-11-03 12:36:54 -08:00
2025-10-17 16:28:29 -07:00
2025-10-31 16:54:22 -07:00
2026-06-09 10:13:06 -07:00
2026-06-09 10:13:06 -07:00
2026-05-18 18:49:06 -07:00
2021-03-29 13:51:38 -07:00
2025-07-03 13:51:39 +02:00
2021-03-25 17:42:02 -07:00
2025-10-21 10:57:45 +02:00
2024-09-11 20:53:42 -07:00
2021-08-02 15:16:04 +01:00
2024-10-28 15:47:10 -07:00
2026-05-28 18:10:03 -07:00
2023-01-31 13:00:47 +01:00
2024-08-23 13:04:35 +01:00
2026-01-13 18:52:36 -08:00
2026-01-15 19:48:26 -08:00
2023-09-28 16:25:14 +02:00
2020-12-10 13:57:36 -08:00
2025-09-18 12:32:06 +02:00
2025-08-18 10:31:20 -06:00
2023-01-31 13:00:47 +01:00
2024-03-28 18:20:08 -07:00
2025-09-24 18:12:10 -07:00
2026-03-04 16:54:09 -08:00
2025-10-12 22:51:37 +01:00
2026-05-28 14:37:47 -07:00
2024-03-07 15:27:05 +01:00
2026-05-28 14:37:47 -07:00
2026-04-27 16:49:39 -07:00
2023-11-17 13:13:24 -07:00
2024-06-21 10:18:45 +01:00
2026-05-28 14:37:46 -07:00
2026-06-15 15:42:53 -07:00
2025-03-04 12:44:48 +01:00
2023-01-31 13:00:47 +01:00
2022-10-25 10:32:40 +02:00
2026-05-02 10:18:09 -07:00
2026-01-20 18:21:27 -08:00
2024-11-19 11:17:13 +01:00
2026-02-27 19:24:08 -08:00
2026-06-15 15:42:52 -07:00
2025-10-27 16:13:42 -07:00
2025-04-29 00:00:26 +02:00
2021-06-04 11:21:43 -06:00
2021-08-23 11:53:24 +01:00
2020-09-28 12:50:12 -07:00
2023-05-10 10:31:46 +01:00
2020-12-12 17:15:33 -08:00
2026-06-12 15:58:02 -07:00
2026-06-12 15:58:02 -07:00