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"); >