• Yuchung Cheng's avatar
    tcp: track total bytes delivered with ECN CE marks · e21db6f6
    Yuchung Cheng authored
    Introduce a new delivered_ce stat in tcp socket to estimate
    number of packets being marked with CE bits. The estimation is
    done via ACKs with ECE bit. Depending on the actual receiver
    behavior, the estimation could have biases.
    
    Since the TCP sender can't really see the CE bit in the data path,
    so the sender is technically counting packets marked delivered with
    the "ECE / ECN-Echo" flag set.
    
    With RFC3168 ECN, because the ECE bit is sticky, this count can
    drastically overestimate the nummber of CE-marked data packets
    
    With DCTCP-style ECN this should be reasonably precise unless there
    is loss in the ACK path, in which case it's not precise.
    
    With AccECN proposal this can be made still more precise, even in
    the case some degree of ACK loss.
    
    However this is sender's best estimate of CE information.
    Signed-off-by: default avatarYuchung Cheng <ycheng@google.com>
    Reviewed-by: default avatarNeal Cardwell <ncardwell@google.com>
    Reviewed-by: default avatarSoheil Hassas Yeganeh <soheil@google.com>
    Reviewed-by: default avatarEric Dumazet <edumazet@google.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    e21db6f6
tcp.c 98.2 KB