[NNagain] Flash priority
Sebastian Moeller
moeller0 at gmx.de
Sat Mar 9 16:01:03 EST 2024
Hi Bob,
so having iperf2 actually check and report this information, obviously is the end game here (especially reporting, the DSCP and ECN pattern send, the patterns recswivec by the other side and what the receiver saw in the response packets would be really helpful).
But one can use tcpdump as a crude hack to get the desired information:
Here are my GOTO tcpdump invocations for that purpose...
# ECN IPv4/6
tcpdump -i pppoe-wan -v -n '(ip6 and (ip6[0:2] & 0x30) >> 4 != 0)' or '(ip and (ip[1] & 0x3) != 0)' # NOT Not-ECT
tcpdump -i pppoe-wan -v -n '(ip6 and (ip6[0:2] & 0x30) >> 4 == 1)' or '(ip and (ip[1] & 0x3) == 1)' # ECT(1)
tcpdump -i pppoe-wan -v -n '(ip6 and (ip6[0:2] & 0x30) >> 4 == 2)' or '(ip and (ip[1] & 0x3) == 2)' # ECT(0)
tcpdump -i pppoe-wan -v -n '(ip6 and (ip6[0:2] & 0x30) >> 4 == 3)' or '(ip and (ip[1] & 0x3) == 3)' # CE
# TCP ECN IPv4/6: (for IPv6 see see https://ask.wireshark.org/question/27153/i-am-trying-to-capture-tcp-syn-on-ipv6-packets-but-i-only-get-ipv4/)
tcpdump -i pppoe-wan -v -n '(tcp[tcpflags] & (tcp-ece|tcp-cwr) != 0)' or '((ip6[6] = 6) and (ip6[53] & 0xC0 != 0))' # TCP ECN flags, ECN in action
tcpdump -i pppoe-wan -v -n '(tcp[tcpflags] & tcp-ece != 0)' or '((ip6[6] = 6) and (ip6[53] & 0x40 != 0))' # TCP ECN flags, ECE: ECN-Echo (reported as E)
tcpdump -i pppoe-wan -v -n '(tcp[tcpflags] & tcp-cwr != 0)' or '((ip6[6] = 6) and (ip6[53] & 0x80 != 0))' # TCP ECN flags, CWR: Congestion Window Reduced (reported as W)
# IPv4/6 everything decimal DSCP 45 0x2D
tcpdump -i pppoe-wan -v -n '(ip and (ip[1] & 0xfc) >> 2 == 0x2D)' or '(ip6 and (ip6[0:2] & 0xfc0) >> 4 == 0x2D)'
Sure this is not super convenient, but they can help a lot in quick and dirty debugging...
Note: pppoe-wan is my OpenWrt router's wan interface.
> On 9. Mar 2024, at 19:43, rjmcmahon via Nnagain <nnagain at lists.bufferbloat.net> wrote:
>
> I should note that I haven't evaluated ECN marks, just that 45 gets passed to/fro
>
> Bob
>>> [JL] Quite true: each network tends to use DSCP marks on a
>>> private/internal basis and so will bleach the DSCP marks on ingress
>>> from peers. This will, however, change with the upcoming IETF RFC on
>>> Non-Queue-Building (NQB) Per Hop Behavior -
>>> https://datatracker.ietf.org/doc/html/draft-ietf-tsvwg-nqb. And I can
>>> report that we at Comcast now permit DSCP-45 inbound for NQB packets,
>>> in case developers would like to experiment with this (we just
>>> finished updating router configs last week for residential users on
>>> DOCSIS; FTTP and commercial are still in process).
>> iperf 2 now supports a --dscp option as a convenience (vs setting the
>> --tos byte.) I can confirm --dscp 45 is being passed over my xfinity
>> hop to my linodes (now Akamai) servers in both directions at multiple
>> colo locations.
>> The --dscp is in the master branch.
>> https://sourceforge.net/p/iperf2/code/ci/master/tree/ Older versions
>> require --tos and setting the byte, e.g. 180
>> Bob
>> _______________________________________________
>> Nnagain mailing list
>> Nnagain at lists.bufferbloat.net
>> https://lists.bufferbloat.net/listinfo/nnagain
> _______________________________________________
> Nnagain mailing list
> Nnagain at lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/nnagain
More information about the Nnagain
mailing list