mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-04 09:09:56 +00:00
Add support for ICMPv6 messages indicating a parameter problem related
to an unrecognized next header. MFC after: 2 weeks
This commit is contained in:
parent
64694fdcc0
commit
1f69b3fb55
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=350028
@ -29,7 +29,7 @@
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd May 2, 2018
|
||||
.Dd July 16, 2019
|
||||
.Dt TRACEROUTE6 8
|
||||
.Os
|
||||
.\"
|
||||
@ -172,6 +172,8 @@ Destination Unreachable - Administratively Prohibited.
|
||||
Destination Unreachable - Not a Neighbour.
|
||||
.It !A
|
||||
Destination Unreachable - Address Unreachable.
|
||||
.It !H
|
||||
Parameter Problem - Unrecognized Next Header Type.
|
||||
.It !\&
|
||||
This is printed if the hop limit is <= 1 on a port unreachable message.
|
||||
This means that the packet got to the destination,
|
||||
|
@ -972,6 +972,10 @@ main(int argc, char *argv[])
|
||||
++got_there;
|
||||
break;
|
||||
}
|
||||
} else if (type == ICMP6_PARAM_PROB &&
|
||||
code == ICMP6_PARAMPROB_NEXTHEADER) {
|
||||
printf(" !H");
|
||||
++got_there;
|
||||
} else if (type == ICMP6_ECHO_REPLY) {
|
||||
if (rcvhlim >= 0 &&
|
||||
rcvhlim <= 1)
|
||||
@ -1345,7 +1349,9 @@ packet_ok(struct msghdr *mhdr, int cc, int seq, u_char *type, u_char *code)
|
||||
*code = icp->icmp6_code;
|
||||
if ((*type == ICMP6_TIME_EXCEEDED &&
|
||||
*code == ICMP6_TIME_EXCEED_TRANSIT) ||
|
||||
(*type == ICMP6_DST_UNREACH)) {
|
||||
(*type == ICMP6_DST_UNREACH) ||
|
||||
(*type == ICMP6_PARAM_PROB &&
|
||||
*code == ICMP6_PARAMPROB_NEXTHEADER)) {
|
||||
struct ip6_hdr *hip;
|
||||
struct icmp6_hdr *icmp;
|
||||
struct sctp_init_chunk *init;
|
||||
|
Loading…
Reference in New Issue
Block a user