Thread (33 messages) flat view 33 messages, 5 authors, 2021-06-09

RE: [EXT] Re: [net-next] net: dsa: felix: disable always guard band bit for TAS config

From: Xiaoliang Yang <hidden>
Date: 2021-06-09 08:06:09
Also in: lkml

On 2021-06-07 19:26, Michael Walle wrote:
Hi Vladimir, Hi Xiaoliang,

Am 2021-05-07 14:19, schrieb Vladimir Oltean:
quoted
Devices like Felix need the per-queue max SDU from the user - if that
isn's specified in the netlink message they'll have to default to the
interface's MTU.
Btw. just to let you and Xiaoliang know:

It appears that PORT_MAX_SDU isn't working as expected. It is used as a
fallback if QMAXSDU_CFG_n isn't set for the guard band calculation. But it
appears to be _not_ used for discarding any frames. E.g. if you set
PORT_MAX_SDU to 500 the port will still happily send frames larger than 500
bytes. (Unless of course you hit the guard band of 500 bytes). OTOH
QMAXSDU_CFG_n works as expected, it will discard oversized frames - and
presumly will set the guard band accordingly, I haven't tested this explicitly.

Thus, I wonder what sense PORT_MAX_SDU makes at all. If you set the guard
band to a smaller value than the MTU, you'll also need to make sure, there will
be no larger frames scheduled on that port.

In any case, the workaround is to set QMAXSDU_CFG_n (for all
n=0..7) to the desired max_sdu value instead of using PORT_MAX_SDU.

It might also make sense to check with the IP supplier.

In the case anyone wants to implement that for (upstream) linux ;)

-michael
Yes, PORT_MAX_SDU is only used for guard band calculation. DEV_GMII: MAC_MAXLEN_CFG
limited the frame length accepted by the MAC. I am worried that QMAXSDU is not a universal
setting, it may just be set on Felix, so there is no suitable place to add this configuration.

Thanks,
xiaoliang
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help