Asserting ECN from userspace?
From: David Täht <hidden>
Date: 2011-10-06 09:33:26
No sooner had I noted (with pleasure) the kernel's new ability to correctly set the dscp bits on IPv6 TCP streams without messing with the negotiated ECN status, that I found several use cases where being able to assert ECN from userspace (for either ipv4, or ipv6) would be useful. 1) Applications such as bittorrent (transmission, etc) that are much more aware of their overall environment could assert ECN on their UDP streams to indicate congestion. 2) Test tools. It would be nice to be able, from userspace, to easily diagnose if ECN was working on a stream, end to end, and being able to set and receive the ECN bits on a less algorithmic basis (ie, not wedged deep within a kernel aqm such as RED or SFB) 3) Web Proxies. A web proxy could note when it was experiencing congestion on one side of the proxied connection (or another) and signal the other side to slow down. Ah, ECN, we hardly know ye. as for item 1 I'm hard pressed to think of a case where setting the ECN bits on udp streams would introduce a security problem. As for 2, can live without. As for 3... perhaps a grantable network capability? A proxy could acquire privs to twiddle those bits before dropping root privs. That begs the question of how to see those bits in the first place. OOB data? And twiddling them, on a per stream basis, for a single packet, would seem to require something more robust than setsockopt/getsockopt (although that would work for udp streams)