]> Git Repo - linux.git/commit
net/sched: taprio: allow user input of per-tc max SDU
authorVladimir Oltean <[email protected]>
Wed, 28 Sep 2022 09:51:58 +0000 (12:51 +0300)
committerJakub Kicinski <[email protected]>
Fri, 30 Sep 2022 01:52:05 +0000 (18:52 -0700)
commita54fc09e4cba3004443aa05979f8c678196c8226
tree39fa2bf497eca834991bee88ce3f29e017245a64
parentaac4daa8941ea6566563ac001e9e5d4e54a674e2
net/sched: taprio: allow user input of per-tc max SDU

IEEE 802.1Q clause 12.29.1.1 "The queueMaxSDUTable structure and data
types" and 8.6.8.4 "Enhancements for scheduled traffic" talk about the
existence of a per traffic class limitation of maximum frame sizes, with
a fallback on the port-based MTU.

As far as I am able to understand, the 802.1Q Service Data Unit (SDU)
represents the MAC Service Data Unit (MSDU, i.e. L2 payload), excluding
any number of prepended VLAN headers which may be otherwise present in
the MSDU. Therefore, the queueMaxSDU is directly comparable to the
device MTU (1500 means L2 payload sizes are accepted, or frame sizes of
1518 octets, or 1522 plus one VLAN header). Drivers which offload this
are directly responsible of translating into other units of measurement.

To keep the fast path checks optimized, we keep 2 arrays in the qdisc,
one for max_sdu translated into frame length (so that it's comparable to
skb->len), and another for offloading and for dumping back to the user.

Signed-off-by: Vladimir Oltean <[email protected]>
Signed-off-by: Jakub Kicinski <[email protected]>
include/net/pkt_sched.h
include/uapi/linux/pkt_sched.h
net/sched/sch_taprio.c
This page took 0.058095 seconds and 4 git commands to generate.