bin/145759: commit references a PR

dfilter service dfilter at FreeBSD.ORG
Tue Apr 20 06:20:04 UTC 2010


The following reply was made to PR bin/145759; it has been noted by GNATS.

From: dfilter at FreeBSD.ORG (dfilter service)
To: bug-followup at FreeBSD.org
Cc:  
Subject: Re: bin/145759: commit references a PR
Date: Tue, 20 Apr 2010 06:10:14 +0000 (UTC)

 Author: maxim
 Date: Tue Apr 20 06:10:05 2010
 New Revision: 206889
 URL: http://svn.freebsd.org/changeset/base/206889
 
 Log:
   o Add do-not-fragment option support to ping6(8).
   
   PR:		bin/145759
   Submitted by:	pluknet
   MFC after:	1 month
 
 Modified:
   head/sbin/ping6/ping6.8
   head/sbin/ping6/ping6.c
 
 Modified: head/sbin/ping6/ping6.8
 ==============================================================================
 --- head/sbin/ping6/ping6.8	Tue Apr 20 06:08:34 2010	(r206888)
 +++ head/sbin/ping6/ping6.8	Tue Apr 20 06:10:05 2010	(r206889)
 @@ -29,7 +29,7 @@
  .\"
  .\" $FreeBSD$
  .\"
 -.Dd August 27, 2008
 +.Dd April 20, 2010
  .Dt PING6 8
  .Os
  .Sh NAME
 @@ -40,9 +40,9 @@ packets to network hosts
  .Sh SYNOPSIS
  .Nm
  .\" without ipsec, or new ipsec
 -.Op Fl dfHmnNoqrRtvwW
 +.Op Fl DdfHmnNoqrRtvwW
  .\" old ipsec
 -.\" .Op Fl AdEfmnNqRtvwW
 +.\" .Op Fl ADdEfmnNqRtvwW
  .Bk -words
  .Op Fl a Ar addrtype
  .Ek
 @@ -141,6 +141,8 @@ Stop after sending
  .Ar count
  .Tn ECHO_RESPONSE
  packets.
 +.It Fl D
 +Disable IPv6 fragmentation.
  .It Fl d
  Set the
  .Dv SO_DEBUG
 
 Modified: head/sbin/ping6/ping6.c
 ==============================================================================
 --- head/sbin/ping6/ping6.c	Tue Apr 20 06:08:34 2010	(r206888)
 +++ head/sbin/ping6/ping6.c	Tue Apr 20 06:10:05 2010	(r206889)
 @@ -191,6 +191,7 @@ struct tv32 {
  #define F_ONCE		0x200000
  #define F_AUDIBLE	0x400000
  #define F_MISSED	0x800000
 +#define F_DONTFRAG	0x1000000
  #define F_NOUSERDATA	(F_NODEADDR | F_FQDN | F_FQDNOLD | F_SUPTYPES)
  u_int options;
  
 @@ -349,7 +350,7 @@ main(argc, argv)
  #endif /*IPSEC_POLICY_IPSEC*/
  #endif
  	while ((ch = getopt(argc, argv,
 -	    "a:b:c:dfHg:h:I:i:l:mnNop:qrRS:s:tvwW" ADDOPTS)) != -1) {
 +	    "a:b:c:DdfHg:h:I:i:l:mnNop:qrRS:s:tvwW" ADDOPTS)) != -1) {
  #undef ADDOPTS
  		switch (ch) {
  		case 'a':
 @@ -415,6 +416,9 @@ main(argc, argv)
  				errx(1,
  				    "illegal number of packets -- %s", optarg);
  			break;
 +		case 'D':
 +			options |= F_DONTFRAG;
 +			break;
  		case 'd':
  			options |= F_SO_DEBUG;
  			break;
 @@ -742,7 +746,11 @@ main(argc, argv)
  	for (i = 0; i < sizeof(nonce); i += sizeof(u_int32_t))
  		*((u_int32_t *)&nonce[i]) = arc4random();
  #endif
 -
 +	optval = 1;
 +	if (options & F_DONTFRAG)
 +		if (setsockopt(s, IPPROTO_IPV6, IPV6_DONTFRAG,
 +		    &optval, sizeof(optval)) == -1)
 +			err(1, "IPV6_DONTFRAG");
  	hold = 1;
  
  	if (options & F_SO_DEBUG)
 @@ -2780,7 +2788,7 @@ usage()
  	    "A"
  #endif
  	    "usage: ping6 [-"
 -	    "d"
 +	    "Dd"
  #if defined(IPSEC) && !defined(IPSEC_POLICY_IPSEC)
  	    "E"
  #endif
 _______________________________________________
 svn-src-all at freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe at freebsd.org"
 


More information about the freebsd-bugs mailing list