Merge branch 'per-route-dctcp-receive-side'
authorDavid S. Miller <davem@davemloft.net>
Mon, 31 Aug 2015 19:34:00 +0000 (12:34 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 31 Aug 2015 19:34:00 +0000 (12:34 -0700)
commit9dc30648f0708cf063e29470d83f63f8dc8fc430
treef12130b61955f4471ebd61474244ecf9ebdc0858
parent87583ebb9f6ea6dc7f8ef167b815656787e429fc
parentc3a8d9474684d391b0afc3970d9b249add15ec07
Merge branch 'per-route-dctcp-receive-side'

Daniel Borkmann says:

====================
tcp: receive-side per route dctcp handling

Original cover letter:

  Currently, the following case doesn't use DCTCP, even if it should:

    - responder has f.e. cubic as system wide default
    - 'ip route congctl dctcp $src' was set

  Then, DCTCP is NOT used if a DCTCP sender attempts to connect from a
  host in the $src range: ECT(0) is set, but listen_sk is not dctcp, so
  we fail the INET_ECN_is_not_ect sanity check.

  We also have to examine the dst used for the SYN/ACK reply to make
  this case work.

  In order to minimize additional cost, store the 'ecn is must have'
  information is the dst_features field.

  The set targets -next instead of -net since this doesn't seem to be a
  serious bug and to give the change more soak time until it hits linus
  tree.

v1 -> v2:
 - Addressed Dave's feedback, not exposing any bits to user space
 - Added patch 3 to reject incorrect configurations
 - Rest as is, rebased and retested
====================

Signed-off-by: David S. Miller <davem@davemloft.net>