Messages in this thread | | | From | Vladimir Oltean <> | Subject | Re: [PATCH net-next 08/13] net: dsa: hellcreek: deny tc-taprio changes to per-tc max SDU | Date | Wed, 21 Sep 2022 14:21:16 +0000 |
| |
On Wed, Sep 21, 2022 at 05:12:06PM +0300, Vladimir Oltean wrote: > On Wed, Sep 21, 2022 at 01:46:22PM +0200, Kurt Kanzenbach wrote: > > >> So, configured to 128 and 132 bytes (including VLAN Ethernet header) is > > >> the maximum frame size which passes through. > > > > > > Frame size means MAC DA + MAC SA + VLAN header + Ethertype + L2 payload, > > > and without FCS, right? > > > > Yes. > > > > > > > > Because max_sdu 128 only counts the L2 payload, so the maximum frame > > > size that passes should be 142 octets, or 146 octets with VLAN. > > > > Ok, i see. So, for 128 max-sdu we should end up with something like this > > in the prio config register: > > > > schedule->max_sdu[tc] + VLAN_ETH_HLEN - 4 > > What does 4 represent? ETH_FCS_LEN? > > So when schedule->max_sdu[tc] is 128, you write to HR_PTPRTCCFG_MAXSDU > the value of 128 + 18 - 4 = 142, and this will pass packets (VLAN-tagged > or not) with an skb->len (on xmit) <= 142, right?
Mistake, I meant skb->len <= 146 (max_sdu[tc] + VLAN_ETH_HLEN). So the hardware calculates the max frame len to include FCS, and skb->len is without FCS, hence the 4 discrepancy.
| |