Skip to content

Commit

Permalink
update to reflect current status and the ws2-related changes
Browse files Browse the repository at this point in the history
also document a bit of that we’re researching various algorithms
to make use of all this
  • Loading branch information
mirabilos committed Apr 21, 2023
1 parent 9bfa84e commit 6c1bcd4
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 7 deletions.
15 changes: 9 additions & 6 deletions README
Original file line number Diff line number Diff line change
Expand Up @@ -84,14 +84,14 @@ git clone -c core.symlinks=true https://github.com/tarent/ECN-Bits.git
so all systems that the BSD/Linux/Mac/WSL runs on can be used modulo
removed functionality (see below); applications needing to honour some
Win32/Winsock2 specifics can remain portable)
! native Winsock2 can set (per-packet) outgoing ECN bits to NO/ECT(0)/ECT(1)
but not CE and not the DSCP bits, nor a per-socket default
• extra library exports for easier high-level language wrapping
• manpages including preformatted plaintext form for GUI users
• tested on Windows 10, versions 1909 (WSL 1, WinSock), 2004 (WSL 2)
! the outgoing traffic class cannot, at all, be set on Windows and WSL 1
- so the examples don’t do it, the server just sends back one packet
- functions dealing with setting the outgoing tc were also removed
: Status: complete and builds a .dylib/.so/.DLL also used by .net library
HLL support functions under development
: Status: complete and builds a .dylib/.so/.DLL with HLL (.net) support code
HLL support functions working, but not declared external API
! outgoing traffic class cannot at all be set on WSL 1
! WSL 2 in theory would work better than WSL 1 (as it uses the native
Linux network stack) but the hypervisor side breaks networking in
too many cases (no IPv6 support (up to that syscalls fail), lack of
Expand All @@ -103,7 +103,6 @@ git clone -c core.symlinks=true https://github.com/tarent/ECN-Bits.git

– Windows/Linux, C♯/.net including Mono (also VB.net and other CLR languages)
‣ see dotnet/README
• being under development
: Status: Extension Method API works but this needs more eyes, actual users

– iOS (Apple)
Expand Down Expand Up @@ -142,6 +141,9 @@ is a good example of how to actually adapt use of band‐
width based on network conditions:
‣ https://github.com/EricssonResearch/scream

DTAG and partners are currently researching integrating
SCReAM and writing other adaptive algorithms.

Another way to retrieve the IP traffic class (therefore
also the ECN bits) is packet sniffing — while this adds
latency and has concerns in production (security etc.),
Expand All @@ -152,3 +154,4 @@ The directory CONFLUENCE/ contains extra documentation,
in both importable form (*.doc) and as PDF export, with
a plaintext version to improve legibility and grepping,
for this library and demo programs, with screenshots.
This extra documentation tends to get out of date though.
4 changes: 3 additions & 1 deletion TODO
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
• catmanpages; toplev update 2023Q2
• the simple counting of how many packets got CE vs. how many
were there, in total, is possibly much too naïve, at least
the sizes are needed if not timestamping with in-flight calc

• Android 11 strict mode prüfen, falls möglich

Expand Down

0 comments on commit 6c1bcd4

Please sign in to comment.