lkml.org 
[lkml]   [2021]   [Jan]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH net] net: hdlc_x25: Use qdisc to queue outgoing LAPB frames
On 2021-01-28 23:06, Xie He wrote:
> On Thu, Jan 28, 2021 at 11:47 AM Jakub Kicinski <kuba@kernel.org>
> wrote:
>>
>> Noob question - could you point at or provide a quick guide to
>> layering
>> here? I take there is only one netdev, and something maintains an
>> internal queue which is not stopped when HW driver stops the qdisc?
>
> Yes, there is only one netdev. The LAPB module (net/lapb/) (which is
> used as a library by the netdev driver - hdlc_x25.c) is maintaining an
> internal queue which is not stopped when the HW driver stops the
> qdisc.
>
> The queue is "write_queue" in "struct lapb_cb" in
> "include/net/lapb.h". The code that takes skbs out of the queue and
> feeds them to lower layers for transmission is at the "lapb_kick"
> function in "net/lapb/lapb_out.c".
>
> The layering is like this:
>
> Upper layer (Layer 3) (net/x25/ or net/packet/)
>
> ^
> | L3 packets (with control info)
> v
>
> The netdev driver (hdlc_x25.c)
>
> ^
> | L3 packets
> v
>
> The LAPB Module (net/lapb/)
>
> ^
> | LAPB (L2) frames
> v
>
> The netdev driver (hdlc_x25.c)
>
> ^
> | LAPB (L2) frames
> | (also called HDLC frames in the context of the HDLC subsystem)
> v
>
> HDLC core (hdlc.c)
>
> ^
> | HDLC frames
> v
>
> HDLC Hardware Driver

@Xie: Thank you for the detailed presentation.

>
>> Sounds like we're optimizing to prevent drops, and this was not
>> reported from production, rather thru code inspection. Ergo I think
>> net-next will be more appropriate here, unless Martin disagrees.
>
> Yes, I have no problem in targeting net-next instead. Thanks!

I agree.

\
 
 \ /
  Last update: 2021-01-29 06:59    [W:0.104 / U:0.292 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site