Page MenuHomeFreeBSD

Make ICMPv6 hard error handling for TCP consistent with the ICMPv4 handling
ClosedPublic

Authored by tuexen on Sep 16 2016, 11:18 AM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Mar 4, 3:25 PM
Unknown Object (File)
Feb 18 2024, 2:38 PM
Unknown Object (File)
Feb 18 2024, 12:06 PM
Unknown Object (File)
Feb 18 2024, 6:07 AM
Unknown Object (File)
Jan 13 2024, 10:38 PM
Unknown Object (File)
Dec 20 2023, 12:58 AM
Unknown Object (File)
Oct 1 2023, 2:35 AM
Unknown Object (File)
Jul 16 2023, 6:56 AM
Subscribers

Details

Reviewers
gallatin
rrs
bz
Group Reviewers
transport
Summary

Ensure that:

  • Protocol unreachable errors are handled by indicating ECONNREFUSED to the TCP user for both IPv4 and IPv6. These were ignored for IPv6.
  • Communication prohibited errors are handled by indicating ECONNREFUSED to the TCP user for both IPv4 and IPv6. These were ignored for IPv6.
  • Hop Limited exceeded errors are handled by indicating EHOSTUNREACH to the TCP user for both IPv4 and IPv6. For IPv6 the TCP connected was dropped but errno wasn't set.

This is done by:

  • Reporting PRC_UNREACH_PROTOCOL and PRC_UNREACH_PORT for IPv4 and IPv6. For IPv4 PRC_UNREACH_PROTOCOL, was always mapped to PRC_UNREACH_PORT.
  • Reporting PRC_UNREACH_ADMIN_PROHIB for IPv6. It was reported as PRC_UNREACH_PROTOCOL.
  • Adding the explicit handling of PRC_UNREACH_PROTOCOL.
  • Add the correct errnos for PRC_UNREACH_ADMIN_PROHIB and PRC_TIMXCEED_INTRANS for IPv6.
Test Plan

Get all tests from ICMP tests passed.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 5162
Build 5280: CI src buildJenkins

Event Timeline

tuexen retitled this revision from to Make ICMPv6 hard error handling for TCP consistent with the ICMPv4 handling.
tuexen updated this object.
tuexen edited the test plan for this revision. (Show Details)
tuexen added reviewers: rrs, gallatin, bz, transport.
tuexen set the repository for this revision to rS FreeBSD src repository - subversion.
gallatin edited edge metadata.
rrs edited edge metadata.
This revision is now accepted and ready to land.Oct 20 2016, 1:22 PM