Add code 3 of paramprob, part of RFC7112: "IPv6 First Fragment has

incomplete IPv6 Header Chain". Handle this code in ping6.
This commit is contained in:
maxv 2018-04-24 07:22:32 +00:00
parent 519a11ad08
commit b5d4b113f7
2 changed files with 7 additions and 3 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: ping6.c,v 1.102 2018/04/24 07:12:04 maxv Exp $ */
/* $NetBSD: ping6.c,v 1.103 2018/04/24 07:22:32 maxv Exp $ */
/* $KAME: ping6.c,v 1.164 2002/11/16 14:05:37 itojun Exp $ */
/*
@ -77,7 +77,7 @@ static char sccsid[] = "@(#)ping.c 8.1 (Berkeley) 6/5/93";
#else
#include <sys/cdefs.h>
#ifndef lint
__RCSID("$NetBSD: ping6.c,v 1.102 2018/04/24 07:12:04 maxv Exp $");
__RCSID("$NetBSD: ping6.c,v 1.103 2018/04/24 07:22:32 maxv Exp $");
#endif
#endif
@ -2108,6 +2108,9 @@ pr_icmph(struct icmp6_hdr *icp, u_char *end)
case ICMP6_PARAMPROB_OPTION:
printf("Unrecognized Option ");
break;
case ICMP6_PARAMPROB_FRAGMENT:
printf("First Fragment Has Incomplete Chain ");
break;
default:
printf("Bad code(%d) ", icp->icmp6_code);
break;

View File

@ -1,4 +1,4 @@
/* $NetBSD: icmp6.h,v 1.50 2018/03/06 10:57:00 roy Exp $ */
/* $NetBSD: icmp6.h,v 1.51 2018/04/24 07:22:33 maxv Exp $ */
/* $KAME: icmp6.h,v 1.84 2003/04/23 10:26:51 itojun Exp $ */
@ -156,6 +156,7 @@ struct icmp6_hdr {
#define ICMP6_PARAMPROB_HEADER 0 /* erroneous header field */
#define ICMP6_PARAMPROB_NEXTHEADER 1 /* unrecognized next header */
#define ICMP6_PARAMPROB_OPTION 2 /* unrecognized option */
#define ICMP6_PARAMPROB_FRAGMENT 3 /* incomplete chain in frag */
#define ICMP6_INFOMSG_MASK 0x80 /* all informational messages */