svn commit: r351423 - in head: . sbin/ping6 sbin/ping6/tests

Bjoern A. Zeeb bzeeb-lists at lists.zabbadoz.net
Mon Aug 26 09:10:23 UTC 2019


On 25 Aug 2019, at 20:26, alan somers wrote:

> On Sun, Aug 25, 2019, 2:11 PM Hiroki Sato <hrs at allbsd.org> wrote:
>
>> Alan Somers <asomers at freebsd.org> wrote
>>   in 
>> <CAOtMX2hLxx=SKvh1ZoiMAcagQJjPaRSvkML9J+BgpQsz5uNNbw at mail.gmail.com>:
>>
>> as> On Sun, Aug 25, 2019 at 1:22 PM Hiroki Sato <hrs at allbsd.org> 
>> wrote:
>> as> >
>> as> > Hi,
>> as> >
>> as> > Alan Somers <asomers at FreeBSD.org> wrote
>> as> >   in <201908231522.x7NFMLuJ068037 at repo.freebsd.org>:
>> as> >
>> as> > as> Author: asomers
>> as> > as> Date: Fri Aug 23 15:22:20 2019
>> as> > as> New Revision: 351423
>> as> > as> URL: https://svnweb.freebsd.org/changeset/base/351423
>> as> > as>
>> as> > as> Log:
>> as> > as>   ping6: Rename options for better consistency with ping
>> as> > as>
>> as> > as>   Now equivalent options have the same flags, and 
>> nonequivalent
>> options have
>> as> > as>   different flags.  This is a prelude to merging the two
>> commands.
>> as> > as>
>> as> > as>   Submitted by:     Ján Sučan <sucanjan at gmail.com>
>> as> > as>   MFC:              Never
>> as> > as>   Sponsored by:     Google LLC (Google Summer of Code 2019)
>> as> > as>   Differential Revision:    
>> https://reviews.freebsd.org/D21345
>> as> >
>> as> >  I have an objection on renaming the existing option flags in
>> ping6(8)
>> as> >  for compatibility with ping(8).
>> as> >
>> as> >  Is it sufficient to add INET6 support to ping(8) with 
>> consistent
>> as> >  flags and keep CLI of ping6(8) backward compatible?  People 
>> have
>> used
>> as> >  ping6(8) for >15 years, so it is too late to rename the flags. 
>>  I do
>> as> >  not think the renaming is useful if "ping -6 localhost" or 
>> "ping
>> ::1"
>> as> >  works.
>> as> >
>> as> > -- Hiroki
>> as>
>> as> If ping works with inet6, then why would we want to keep a 
>> separate
>> as> tool around?  If it's just for the sake of people who don't want 
>> to or
>> as> can't update scripts, would a version in ports suffice?
>>
>>  Because removing (or renaming) it causes a POLA violation.  Do we
>>  really have a strong, unavoidable reason to force people to rewrite
>>  their script now?  This is still a fairly essential and actively 
>> used
>>  tool, not like rcp or rlogin.  Although deprecating ping6(8) and
>>  removing it from the base system in the future release at some point
>>  may work, changing the existing interface will simply confuse people
>>  who have used IPv6 for a long time.
>>
>>  In my understanding, the purpose to integrate ping(8) and ping6(8)
>>  into a single utility is to provide a consistent CLI and reduce
>>  duplicate code, not to break compatibility.
>>
>> -- Hiroki
>>
>
> Those goals are incompatible. We can't provide a consistent CLI 
> without
> breaking compatibility because ping and ping6 have conflicting 
> options.
> And we can't keep ping6 around while also removing duplicate code 
> because
> that would be, well, duplicate code.
>
> When would be a better time than a major version bump to make a change 
> like
> this?
>
> The lack of a ping6 command in freebsd 13 should serve as a pretty 
> obvious
> reminder that scripts will need updating.  I think that putting a 
> version
> of ping6 in ports should be a sufficient crutch for those who need it,
> don't you?

No.  I have systems without ping as I have systems without any INET 
support.
We do use ping(though not ping6 yet imho) in startup scripts so we 
consider it essential to the base system.

If you migrate ping6 into ping the first thing I’ll want to be able is 
to compile one or the other address family out and that’ll basically 
give me the same we have today + a name change I have to deal with 
unless argv[0] tricks and a hardlink are done.  (Hint: if you make the 
compile out happen, deal with the fact that ping and ping6 can be there 
without the hardlink to the other — a bit of Makefile glue — and 
migrate it all in based on argv[0], I think I can be happy).

In other notes (and I keep saying that), I can see a world when ping 
doesn’t exist anymore as IPv4 doesn’t exist anymore (I partially 
already live in that world).  The fact that people still do not prepare 
themselves for this time is a bit strange to me as by the time FreeBSD 
14 is still in support this IPv6-only world might very well happen for a 
majority of people.  And FreeBSD 14-CURRENT really is only a year away 
now.   So breaking what’s been good for almost 20 years now for a few 
more years doesn’t really seem to be worth to me.


Just my 2cts,
Bjoern




More information about the svn-src-head mailing list