[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <8cac820a181070ac2bad983dc49e4e4e@dev.tdt.de>
Date: Wed, 03 Mar 2021 14:26:35 +0100
From: Martin Schiller <ms@....tdt.de>
To: Jakub Kicinski <kuba@...nel.org>
Cc: Xie He <xie.he.0141@...il.com>, Leon Romanovsky <leon@...nel.org>,
"David S. Miller" <davem@...emloft.net>,
Linux X25 <linux-x25@...r.kernel.org>,
Linux Kernel Network Developers <netdev@...r.kernel.org>,
LKML <linux-kernel@...r.kernel.org>,
Krzysztof Halasa <khc@...waw.pl>,
Jonathan Corbet <corbet@....net>, linux-doc@...r.kernel.org
Subject: Re: [PATCH net-next RFC v4] net: hdlc_x25: Queue outgoing LAPB frames
On 2021-03-03 00:30, Jakub Kicinski wrote:
> On Tue, 02 Mar 2021 08:04:20 +0100 Martin Schiller wrote:
>> On 2021-03-01 09:56, Xie He wrote:
>> > On Sun, Feb 28, 2021 at 10:56 PM Martin Schiller <ms@....tdt.de> wrote:
>> >> I mean the change from only one hdlc<x> interface to both hdlc<x> and
>> >> hdlc<x>_x25.
>> >>
>> >> I can't estimate how many users are out there and how their setup
>> >> looks
>> >> like.
>> >
>> > I'm also thinking about solving this issue by adding new APIs to the
>> > HDLC subsystem (hdlc_stop_queue / hdlc_wake_queue) for hardware
>> > drivers to call instead of netif_stop_queue / netif_wake_queue. This
>> > way we can preserve backward compatibility.
>> >
>> > However I'm reluctant to change the code of all the hardware drivers
>> > because I'm afraid of introducing bugs, etc. When I look at the code
>> > of "wan/lmc/lmc_main.c", I feel I'm not able to make sure there are no
>> > bugs (related to stop_queue / wake_queue) after my change (and even
>> > before my change, actually). There are even serious style problems:
>> > the majority of its lines are indented by spaces.
>> >
>> > So I don't want to mess with all the hardware drivers. Hardware driver
>> > developers (if they wish to properly support hdlc_x25) should do the
>> > change themselves. This is not a problem for me, because I use my own
>> > out-of-tree hardware driver. However if I add APIs with no user code
>> > in the kernel, other developers may think these APIs are not
>> > necessary.
>>
>> I don't think a change that affects the entire HDLC subsystem is
>> justified, since the actual problem only affects the hdlc_x25 area.
>>
>> The approach with the additional hdlc<x>_x25 is clean and purposeful
>> and
>> I personally could live with it.
>>
>> I just don't see myself in the position to decide such a change at the
>> moment.
>>
>> @Jakub: What is your opinion on this.
>
> Hard question to answer, existing users seem happy and Xie's driver
> isn't upstream, so the justification for potentially breaking backward
> compatibility isn't exactly "strong".
>
> Can we cop out and add a knob somewhere to control spawning the extra
> netdev? Let people who just want a newer kernel carry on without
> distractions and those who want the extra layer can flip the switch?
Yes, that would be a good compromise.
I think a compile time selection option is enough here.
We could introduce a new config option CONFIG_HDLC_X25_LEGACY (or
something like that) and then implement the new or the old behavior in
the driver accordingly.
A switch that can be toggled at runtime (e.g. via sethdlc) would also be
conceivable, but I don't think this is necessary.
Powered by blists - more mailing lists