diff options
| author | Rosen Penev <rosenp@gmail.com> | 2026-10-13 17:13:34 -0700 |
|---|---|---|
| committer | Paolo Abeni <pabeni@redhat.com> | 2026-10-20 13:13:53 +0200 |
| commit | f09123082704b08d56fd044a2166e3e39fa68563 (patch) | |
| tree | 138ed02f83a0138023bc694a673a721dc36b7cee /tools/lib/python | |
| parent | 643f9c0bd87767f2076dca3acd850f3a95f4ad34 (diff) | |
net: ag71xx: align the IP header behind DSA tags
The receive buffer offset includes NET_IP_ALIGN to get the IP header
aligned behind a 14 byte Ethernet header. Most ag71xx devices use DSA
switches whose tag sits in front of the EtherType, which moves the IP
header by another 2 bytes. Every access to the IP and TCP headers then
traps and gets emulated by the unaligned access handler, around 6 times
per forwarded frame.
Take the headroom needed by the DSA tagger into account when choosing
the offset.
TP-Link Archer C7 v2 (qca8k), median of 3 runs, Mbit/s:
before after
routed up 743 855
routed down 660 749
local receive 554 572
The unaligned instruction counter no longer moves while forwarding.
Assisted-by: LLM
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Link: https://patch.msgid.link/20261014001334.132962-1-rosenp@gmail.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Diffstat (limited to 'tools/lib/python')
0 files changed, 0 insertions, 0 deletions
