On Sat, Nov 10, 2018 at 03:27:19PM +1000, David Gwynne wrote:
> this brings -D over to ping6.
> 
> ok?
> 

morning.

could we reduce the entire text to just "Disable fragmentation of
transmitted packets.", without special casing ip4/6?

or perhaps "Don;t fragment transmitted packets.", since that is maybe a
term people will search for?

jmc

> Index: ping.8
> ===================================================================
> RCS file: /cvs/src/sbin/ping/ping.8,v
> retrieving revision 1.60
> diff -u -p -r1.60 ping.8
> --- ping.8    10 Nov 2018 05:03:23 -0000      1.60
> +++ ping.8    10 Nov 2018 05:25:30 -0000
> @@ -79,7 +79,7 @@
>  .Op Fl w Ar maxwait
>  .Ar host
>  .Nm ping6
> -.Op Fl dEefHLmnqv
> +.Op Fl DdEefHLmnqv
>  .Op Fl c Ar count
>  .Op Fl h Ar hoplimit
>  .Op Fl I Ar sourceaddr
> @@ -116,10 +116,10 @@ If
>  .Ar count
>  is 0, send an unlimited number of packets.
>  .It Fl D
> -.Pq IPv4 only
> +Don't fragment.
>  Set the
>  .Dv Don't Fragment
> -bit.
> +bit on IPv4 frames, or disable fragmentation of transmitted IPv6 packets.
>  .It Fl d
>  Set the
>  .Dv SO_DEBUG
> Index: ping.c
> ===================================================================
> RCS file: /cvs/src/sbin/ping/ping.c,v
> retrieving revision 1.231
> diff -u -p -r1.231 ping.c
> --- ping.c    10 Nov 2018 05:03:23 -0000      1.231
> +++ ping.c    10 Nov 2018 05:25:31 -0000
> @@ -291,7 +291,7 @@ main(int argc, char *argv[])
>       preload = 0;
>       datap = &outpack[ECHOLEN + ECHOTMLEN];
>       while ((ch = getopt(argc, argv, v6flag ?
> -         "c:dEefHh:I:i:Ll:mNnp:qS:s:T:V:vw:" :
> +         "c:DdEefHh:I:i:Ll:mNnp:qS:s:T:V:vw:" :
>           "DEI:LRS:c:defHi:l:np:qs:T:t:V:vw:")) != -1) {
>               switch(ch) {
>               case 'c':
> @@ -681,6 +681,13 @@ main(int argc, char *argv[])
>                               warn("setsockopt(IPV6_TVAL)"); /* XXX err? */
>               }
>  
> +             if (df) {
> +                     optval = 1;
> +                     if (setsockopt(s, IPPROTO_IPV6, IPV6_DONTFRAG,
> +                         &optval, (socklen_t)sizeof(optval)) < 0)
> +                             warn("setsockopt(IPV6_DONTFRAG"); /* err? */
> +             }
> +
>               optval = 1;
>               if (setsockopt(s, IPPROTO_IPV6, IPV6_RECVPKTINFO, &optval,
>                   (socklen_t)sizeof(optval)) < 0)
> @@ -2166,7 +2173,7 @@ usage(void)
>  {
>       if (v6flag) {
>               fprintf(stderr,
> -                 "usage: ping6 [-dEefHLmnqv] [-c count] [-h hoplimit] "
> +                 "usage: ping6 [-DdEefHLmnqv] [-c count] [-h hoplimit] "
>                   "[-I sourceaddr]\n\t[-i wait] [-l preload] [-p pattern] "
>                   "[-s packetsize] [-T toskeyword]\n\t"
>                   "[-V rtable] [-w maxwait] host\n");
> 

Reply via email to