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