All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rodolfo Zitellini <rwz@xhero.org>
To: Arnd Bergmann <arnd@arndb.de>
Cc: Arnd Bergmann <arnd@kernel.org>, Jakub Kicinski <kuba@kernel.org>,
	Netdev <netdev@vger.kernel.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	linux-wireless@vger.kernel.org,
	Johannes Berg <johannes@sipsolutions.net>,
	linux-wpan@vger.kernel.org,
	Michael Hennerich <michael.hennerich@analog.com>,
	Paolo Abeni <pabeni@redhat.com>,
	Eric Dumazet <edumazet@google.com>,
	"David S . Miller" <davem@davemloft.net>,
	linux-kernel@vger.kernel.org, Doug Brown <doug@schmorgal.com>
Subject: Re: [PATCH 01/10] appletalk: remove localtalk and ppp support
Date: Tue, 10 Oct 2023 09:10:28 +0200	[thread overview]
Message-ID: <DE61EEA5-D560-40B6-8F4D-22F299AC61ED@xhero.org> (raw)
In-Reply-To: <3cb4bb96-1651-4179-9c32-507937282d7d@app.fastmail.com>



> Il giorno 9 ott 2023, alle ore 19:29, Arnd Bergmann <arnd@arndb.de> ha scritto:
> 
> On Mon, Oct 9, 2023, at 18:49, Rodolfo Zitellini wrote:
>>> From: Arnd Bergmann <arnd@arndb.de>
>>> 
>>> The last localtalk driver is gone now, and ppp support was never fully
>>> merged, so clean up the appletalk code by removing the obvious dead
>>> code paths.
>>> 
>>> Notably, this removes one of the two callers of the old .ndo_do_ioctl()
>>> callback that was abused for getting device addresses and is now
>>> only used in the ieee802154 subsystem, which still uses the same trick.
>>> 
>>> The include/uapi/linux/if_ltalk.h header might still be required
>>> for building userspace programs, but I made sure that debian code
>>> search and the netatalk upstream have no references it it, so it
>>> should be fine to remove.
>>> 
>>> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
>> 
>> Hi!
>> I’ve been working on a new LocalTalk interface driver for the last 
>> couple months, do you think it would be possible to at least postpone 
>> the removal of LT a bit?
>> 
>> It is a driver for an open source device called TashTalk 
>> (https://github.com/lampmerchant/tashtalk), which runs on a PIC micro 
>> that does all the LT interfacing, and communicates back via serial to 
>> the host system. My driver is relatively simple and works very well 
>> with netatalk 2.2 (which is still maintained and still has support for 
>> AppleTalk). The driver is basically complete and trsted and I was 
>> preparing to submit a patch.
>> 
>> Still having LocalTalk in my view has many advantages for us 
>> enthusiasts that still want to bridge old machines to the current world 
>> without modifications, for example for printing on modern printers, 
>> netbooting, sharing files and even tcp/ip. All this basically works out 
>> of the box via the driver, Linux and available userspace tools 
>> (netatalk, macipgw).
>> 
>> The old ISA cards supported by COPS were basically unobtanium even 20 
>> years ago, but the solution of using a PIC and a serial port is very 
>> robust and much more furure-proof. We also already have a device that 
>> can interface a modern machine directly via USB to LocalTalk.
>> 
>> The development of the TashTalk has been also extensively discussed on 
>> thr 68KMLA forum 
>> (https://68kmla.org/bb/index.php?threads/modtashtalk-lt0-driver-for-linux.45031/)
>> 
>> I hope the decision to remove LocalTalk can be reconsidered at least 
>> for the time being so there is a chance to submit a new, modern device 
>> making use of this stack.
> 
> Nothing is decided, I'm just proposing my patch as a cleanup
> for now. It would be nice to still drop the ndo_do_ioctl function
> though, at least in some form. When your driver actually makes
> it into the kernel, you can find a different method of communicating
> the address between the socket interface and the device driver.

Yes I too think it is good to remove ndo_do_ioctl, I designed the TashTalk driver to be a drop-in replacement for COPS mostly for compatibility with netatalk 2.2. My plan was to propose it like this (so nothing else needed to be changed) and the propose some patches in the kernel part and userspace part (netatalk).

> I can see a few ways this could work out:
> 
> - add a custom callback pointer to struct atalk_iface to
>  get and set the address for phase1 probing instead of going
>  through the ioctl

This was my initial thought, at least for the moment, mostly to keep netatalk happy and make sure I don’t break other stuff that makes assumptions on how the address probing worked. There are other bits I would like to improve, for example tcpdump (which parses correctly appetalk packets!) is broken in the current implementation.

> - rewrite the probing logic in aarp.c more widely, and improve
>  the userspace interface in the process by introducing a netlink
>  interface

This is sorta the “second step” I was planning, I think the logic for probing could be redesigned and simplified (it also does not work 100% correctly), and it could be a good chance to improve the interface with netatalk too.

> - Move your entire driver into userspace and go to the kernel
>  using tun/tap. This has the added benefit of avoiding a lot
>  of the complexity of the tty line discipline code you have.

We had some discussion too if to just make the lt an userspace stack, I personally like how it is currently implemented because existing code can run basically without modification.

I would propose at this stage to change the TashTalk driver to remove ndo_do_ioctl and to use a custom callback, if this ok.

Many thanks,
Rodolfo


  reply	other threads:[~2023-10-10  7:11 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-09 14:18 [PATCH 01/10] appletalk: remove localtalk and ppp support Arnd Bergmann
2023-10-09 14:19 ` [PATCH 02/10] ieee802154: avoid deprecated .ndo_do_ioctl callback Arnd Bergmann
2023-10-09 14:19 ` [PATCH 03/10] ethernet: sp7021: fix ioctl callback pointer Arnd Bergmann
2023-10-09 14:19 ` [PATCH 04/10] staging: ks7010: remove unused ioctl handler Arnd Bergmann
2023-10-09 15:24   ` Greg Kroah-Hartman
2023-10-09 14:19 ` [PATCH 05/10] staging: rtl8192: remove unused legacy ioctl handlers Arnd Bergmann
2023-10-09 15:24   ` Greg Kroah-Hartman
2023-10-09 14:19 ` [PATCH 06/10] staging: rtl8712: " Arnd Bergmann
2023-10-09 15:23   ` Greg Kroah-Hartman
2023-10-09 14:19 ` [PATCH 07/10] staging: rtl8723bs: remove dead code Arnd Bergmann
2023-10-09 15:23   ` Greg Kroah-Hartman
2023-10-09 14:19 ` [PATCH 08/10] wireless: atmel: remove unused ioctl function Arnd Bergmann
2023-10-10  6:59   ` Kalle Valo
2023-10-09 14:19 ` [PATCH 09/10] wireless: hostap: " Arnd Bergmann
2023-10-10  7:00   ` Kalle Valo
2023-10-11 13:58     ` Arnd Bergmann
2023-10-09 14:19 ` [PATCH 10/10] net: remove ndo_do_ioctl handler Arnd Bergmann
2023-10-09 16:49 ` [PATCH 01/10] appletalk: remove localtalk and ppp support Rodolfo Zitellini
2023-10-09 17:29   ` Arnd Bergmann
2023-10-10  7:10     ` Rodolfo Zitellini [this message]
2023-10-10  7:53       ` [PATCH v2] appletalk: make localtalk and ppp support conditional Arnd Bergmann
2023-10-10  8:15       ` [PATCH 01/10] appletalk: remove localtalk and ppp support Arnd Bergmann
2023-10-11  7:09         ` Rodolfo Zitellini
2023-10-09 23:43   ` Stephen Hemminger
2023-10-10  0:47 ` Jakub Kicinski
2023-10-10  9:21 ` kernel test robot
2023-10-11  9:27 ` kernel test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=DE61EEA5-D560-40B6-8F4D-22F299AC61ED@xhero.org \
    --to=rwz@xhero.org \
    --cc=arnd@arndb.de \
    --cc=arnd@kernel.org \
    --cc=davem@davemloft.net \
    --cc=doug@schmorgal.com \
    --cc=edumazet@google.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=johannes@sipsolutions.net \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=linux-wpan@vger.kernel.org \
    --cc=michael.hennerich@analog.com \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.