tcpdump mailing list archives

Accurate ECN support in tcpdump/libpcap


From: "Scheffenegger, Richard via tcpdump-workers" <tcpdump-workers () lists tcpdump org>
Date: Tue, 29 Aug 2023 14:33:28 +0000

--- Begin Message --- From: "Scheffenegger, Richard" <Richard.Scheffenegger () netapp com>
Date: Tue, 29 Aug 2023 14:33:28 +0000
Hi,

I’ve been asked to reach out to this mailing list, which, after much ado (temporarily unreactive mailman) I hope I can 
finally do.


The goal is to gather some feedback around the support for tcpdump to properly decode the upcoming (WGLC) Accurate ECN 
signalling enhancement, which is part of the L4S (low loss, low latency, scalable) effort, ultimately culminating in a 
variant of TCP called TCP Prague:

Here is the change to tcpdump – adding the additional “A” TCP header flag bit; Since the ACK bit has traditionally been 
mapped to “.”, and the refurbished former Nonce bit #9 in the 12-bit TCP header flags field has been named “AE” 
(Accurate ecn Enable), the code changes to other tools such as Wireshark and Packetdrill are using the mapping to the 
character “A” (or decode Accurate ECN stateful into the ACE counter value of 0..7)

https://github.com/the-tcpdump-group/tcpdump/pull/999


This change to the parser in libpcap allows access to all 12 bits when using the sample from the man page like this

tcpdump 'tcp[tcpflags] & (tcp-rst|tcp-ack) == (tcp-rst|tcp-ack)'

to also include the ‘tcp-ae’ flag:

https://github.com/the-tcpdump-group/libpcap/pull/1210


If you are interested in learning more about L4S:
https://datatracker.ietf.org/doc/rfc9330/

Accurate ECN requirements:
https://datatracker.ietf.org/doc/rfc7560/

Accurate ECN signaling protocol:
https://datatracker.ietf.org/doc/draft-ietf-tcpm-accurate-ecn

The adjacent patch to packetdrill for decoding and encoding AccECN (stateful):
https://github.com/google/packetdrill/commit/77ab15806a56de226345fbe1910139829e431fe0

And the adjacent patch to wireshark – including the TCP Option of Accurate ECN
https://gitlab.com/wireshark/wireshark/-/merge_requests/7816/diffs?commit_id=ecefcf880121961c03d2ec05ad378c82e951e0a2 


Richard Scheffenegger 


--- End Message ---
_______________________________________________
tcpdump-workers mailing list -- tcpdump-workers () lists tcpdump org
To unsubscribe send an email to tcpdump-workers-leave () lists tcpdump org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Current thread: