Hi,

I am curious if anyone here has expirience with the handling of ECN in TSO-enabled drivers/hardware...

The other day I found that the virtio driver would bail out with ENOTSUP when encountering the TCP CWR header bit on a TSO-enabled flow, when the host does not also claim ECN-support for TSO.

But this made me wonder, how the expected behavior is.

Presumably, this means that the hardware (or driver) would clear the CWR bit after the first packet is sent, correct?

However, in light of the upcoming AccECN signalling protocol, that is not what TSO should be doing (with AccECN, all segments should retain the exact same header flags, maybe expect PSH).

Probably "non-ECN" capable TSO offload would actually work better with AccECN - and if the above behavior is what ECN-aware TSO is doing, AccECN sessions would need to somehow work around that (e.g. spoon-feeding any segment with CWR set individually - e.g. bypassing the TSO capabilities in tcp_output)?


Would appreciate any feedback around this...

Best regards,
  Richard

Attachment: OpenPGP_0x17BE5899E0B1439B.asc
Description: OpenPGP public key

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

Reply via email to