Page MenuHomeFreeBSD

tcp: add support for TCP_RST_REASON_CODE socket option
Needs ReviewPublic

Authored by tuexen on Tue, Feb 17, 10:05 PM.
Tags
None
Referenced Files
F145666460: D55338.id172215.diff
Sun, Feb 22, 8:57 PM
F145652051: D55338.id172106.diff
Sun, Feb 22, 4:35 PM
F145630184: D55338.id172187.diff
Sun, Feb 22, 9:45 AM
Unknown Object (File)
Sun, Feb 22, 12:41 AM
Unknown Object (File)
Sat, Feb 21, 10:17 PM
Unknown Object (File)
Sat, Feb 21, 6:56 PM
Unknown Object (File)
Sat, Feb 21, 6:01 PM
Unknown Object (File)
Sat, Feb 21, 5:47 PM

Details

Reviewers
glebius
gnn
rrs
Group Reviewers
transport
Summary

This code is based on the upcoming version 15 of draft-boucadair-tcpm-rst-diagnostic-payload.
Right now, only the IPPROTO_TCP-level socket option with name TCP_RST_REASON_CODE is implemented.
It is planned to implement also the socket option with name `TCP_RST_REASON_CODE, but it is NOT planned to implement the socket option with name TCP_RST_REASON_DESC.

Test Plan
  • Use {F145514417} and {F145514426} in combination with {F145514432}.
  • Extend packetdrill to support these socket options and write tests.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

This revision is now accepted and ready to land.Wed, Feb 18, 2:22 PM

This is work in progress. There will be some more changes.

This is work in progress. There will be some more changes.

Thats fine.. nice to see the IETF catching TCP up to SCTP's abort codes :)

Allow socket option processing on inps with the INP_DROPPED flag set only for getsockopt() of the IPPROTO_TCP-level socket option with name TCP_RST_REASON_CODE, as glebius suggested.

This revision now requires review to proceed.Wed, Feb 18, 3:07 PM

Fix sender side stats counter and teach netstat how to print the stats counters added in this patch.

Fix TCP over UDP tunneling.

Improve inputs validation for UDP encapsulated TCP segments.

Update names of structure and provide a way that setsocktion SO_LINGER is not required anymore.