  The IETF's Prague L4S Requirements [DSBE20] expect an L4S congestion control
to somehow detect if there is a classic ECN [RFB01] AQM at the bottleneck and
fall back to Reno-friendly behaviour (as it would on a loss). This paper
addresses that requirement in depth. A solution has been implemented in Linux
and extensively tested, which distinguishes L4S from Classic AQMs primarily by
their delay variation. This paper describes version 2 of the design of that
solution, giving extensive rationale and pseudocode. It briefly summarizes a
comprehensive testbed evaluation of the solution, referring to the full details
online. The v2 algorithm very rarely falsely detects a Classic AQM as L4S. It
also rarely detects an L4S AQM as Classic in the majority of scenarios, but not
at low link rates and large RTTs.
  This report is a work in progress. It suggests ideas for improving on the
approach. It also outlines new ideas that could solve the problem in
complementary or alternative ways.
