Linux kernel drops AppleTalk Networking

Nothing has actually been started. Just a discussion opened by @slipperygrey.

A preferred way to do this would be to abstract most of the changes. Netatalk already has the netddp functions defined in netddp.h to partly abstract socket communications. That alone should get afpd, papd, a2boot, and timelord working since they all rely on ATP, which calls netddp_open/close/send/receive. Being an external project originally, macipgw doesn't use it at all.

Oddly, the NBP, RTMP, and ZIP packet handlers in atalkd don't use these abstracted functions, but I don't see why they can't. Of course the comments in the code are minimal to none. The main atalkd handler also doesn't use them, but that code is "here be dragons" and I really hate touching it for fear of something blowing up.

TL;DR: Instead of a ton of ifdefs in the code, focus on routing everything thru netddp.h function calls and putting your entry points (kernel vs. userland ifdef macros) there. This makes code easier to maintain. When I have time, I'll look to see if abstracting the rest of the socket calls in atalkd can be done safely.
 
Back
Top