netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Martin Schiller <ms@dev.tdt.de>
To: Xie He <xie.he.0141@gmail.com>
Cc: Jakub Kicinski <kuba@kernel.org>,
	Leon Romanovsky <leon@kernel.org>,
	"David S. Miller" <davem@davemloft.net>,
	Linux X25 <linux-x25@vger.kernel.org>,
	Linux Kernel Network Developers <netdev@vger.kernel.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Krzysztof Halasa <khc@pm.waw.pl>,
	Jonathan Corbet <corbet@lwn.net>,
	linux-doc@vger.kernel.org
Subject: Re: [PATCH net-next RFC v4] net: hdlc_x25: Queue outgoing LAPB frames
Date: Fri, 26 Feb 2021 15:20:55 +0100	[thread overview]
Message-ID: <e1750da4179aca52960703890e985af3@dev.tdt.de> (raw)
In-Reply-To: <CAJht_EPBJhhdCBoon=WMuPBk-sxaeYOq3veOpAd2jq5kFqQHBg@mail.gmail.com>

On 2021-02-22 09:56, Xie He wrote:
> On Sun, Feb 21, 2021 at 11:14 PM Martin Schiller <ms@dev.tdt.de> wrote:
>> 
>> I'm not really happy with this change because it breaks compatibility.
>> We then suddenly have 2 interfaces; the X.25 routings are to be set 
>> via
>> the "new" hdlc<x>_x25 interfaces instead of the hdlc<x> interfaces.
>> 
>> I currently just don't have a nicer solution to fix this queueing
>> problem either. On the other hand, since the many years we have been
>> using the current state, I have never noticed any problems with
>> discarded frames. So it might be more a theoretical problem than a
>> practical one.
> 
> This problem becomes very serious when we use AF_PACKET sockets,
> because the majority of frames would be dropped by the hardware
> driver, which significantly impacts transmission speed. What I am
> really doing is to enable adequate support for AF_PACKET sockets,
> allowing users to use the bare (raw) LAPB protocol. If we take this
> into consideration, this problem is no longer just a theoretical
> problem, but a real practical issue.

I have now had a look at it. It works as expected.
I just wonder if it would not be more appropriate to call
the lapb_register() already in x25_hdlc_open(), so that the layer2
(lapb) can already "work" before the hdlc<x>_x25 interface is up.


Also, I have a hard time assessing if such a wrap is really enforceable.
Unfortunately I have no idea how many users there actually are.


> 
> If we don't want to break backward compatibility, there is another 
> option:
> We can create a new API for the HDLC subsystem for stopping/restarting
> the TX queue, and replace all HDLC hardware drivers' netif_stop_queue
> and netif_wake_queue calls with calls to this new API. This new API
> would then call hdlc_x25 to stop/restart its internal queue.
> 
> But this option would require modifying all HDLC hardware drivers'
> code, and frankly, not all HDLC hardware drivers' developers care
> about running X.25 protocols on their hardware. So this would cause
> both hardware driver instabilities and confusion for hardware driver
> developers.

  reply	other threads:[~2021-02-26 14:23 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-16 20:18 [PATCH net-next RFC v4] net: hdlc_x25: Queue outgoing LAPB frames Xie He
2021-02-18  8:57 ` Leon Romanovsky
2021-02-18  9:07   ` Xie He
2021-02-18 10:37     ` Leon Romanovsky
2021-02-18 17:36       ` Xie He
2021-02-18 19:55         ` Leon Romanovsky
2021-02-18 20:06           ` Xie He
2021-02-18 20:23             ` Xie He
2021-02-19 18:39               ` Jakub Kicinski
2021-02-19 20:28                 ` Xie He
2021-02-21  6:39                   ` Leon Romanovsky
2021-02-21 19:13                     ` Xie He
2021-02-22  7:14                   ` Martin Schiller
2021-02-22  8:56                     ` Xie He
2021-02-26 14:20                       ` Martin Schiller [this message]
2021-02-26 23:03                         ` Xie He
2021-03-01  6:56                           ` Martin Schiller
2021-03-01  8:56                             ` Xie He
2021-03-02  7:04                               ` Martin Schiller
2021-03-02 23:30                                 ` Jakub Kicinski
2021-03-03 13:26                                   ` Martin Schiller
2021-03-03 20:23                                     ` Xie He

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=e1750da4179aca52960703890e985af3@dev.tdt.de \
    --to=ms@dev.tdt.de \
    --cc=corbet@lwn.net \
    --cc=davem@davemloft.net \
    --cc=khc@pm.waw.pl \
    --cc=kuba@kernel.org \
    --cc=leon@kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-x25@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=xie.he.0141@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).