RFC3168 specifies on page 15, how to correctly negotiate for a TCP session with ECN support.
There are a (diminishing) number of middleboxes reflecting reserved TCP header bits. Simultaneously an increasing interest in deploying ECN, may lead to
the incorrect behavior for TCP sessions.
On a SYN, both CWR and ECE have to be set, while on the SYN,ACK only the ECE must be set, and CWR must be clear.