Re: change to deprecate broadcast on host 0 of a subnet

From: Rodney W. Grimes <freebsd-rwg_at_gndrsh.dnsmgr.net>
Date: Thu, 16 Sep 2021 15:33:42 UTC
> Bjoern wrote:
> 
> > On 12 Sep 2021, at 15:25, Mike Karels wrote:
> 
> > > Long ago (4.2BSD), the IP broadcast address was the lowest address on 
> > > a
> > > network, the one with a host part of 0.  In RFC1122, the broadcast 
> > > address
> > > was standardized using a host part of all ones.  4.3BSD changed its
> > > default, and made the broadcast address settable with ifconfig.  
> > > However,
> > > FreeBSD *still* broadcasts packets sent to the lowest address on a 
> > > subnet.
> > >
> > > I have a change in review to stop broadcasting the lowest address on a
> > > subnet by default, but added a sysctl to revert to the current 
> > > behavior.
> > > I really doubt that anyone is still using a 0-based broadcast address.
> > > This change allows host 0 on a subnet to be used as an assigned host
> > > address, as long as the systems on that network support it (including
> > > routers).  Linux already has this change.
> > >
> > > The review is https://reviews.freebsd.org/D31861.  See also
> > > https:/datatracker.ietf.org/draft-schoen-intarea-lowest-address/ and
> 
> > I think it is:
> 
> > https://datatracker.ietf.org/doc/draft-schoen-intarea-lowest-address/
> 
> Thanks for the correction, I think I had to type this rather than pasting.
> 
> > > some of the discussion in https://reviews.freebsd.org/D19316.
> > >
> > > Comments are welcome on the review.  I will wait a couple of days
> > > for comments before proceeding.  I am also interested in comments on
> > > whether this should be MFC'ed to 13-stable after a suitable delay.
> 
> > I would have even gone one further step back and put this under 
> > EXPERIMENTAL
> > in HEAD and wait until this draft has gone anywhere but with your sysctl 
> > I think
> > it is fine (from reading the email not the recent review).
> 
> > I would prefer if the current behaviour stayed default (would also MFC 
> > better)
> > and then flip if this will indeed go anywhere.
> 
> I considered that, but I think that the current behavior is simply
> wrong.  We broadcast packets to the lowest address on the net, but
> we don't receive these broadcasts as such.  I was surprised to find
> that we were still broadcasting these packets.  I can't think of any
> reason we should do that.

I agree with Mike here, though the IETF/RFC process is lacking,
the use of all 0 host as a broadcast address is dead and has been
dead for decades.  If anyone anyplace can point me to a piece of
equipment or software that can even recieve these without special
configuration I would gladly recant my possition.

> 
> Any other opinions on the default setting of the sysctl?
> 
> 
> > My personal note on this is: it is riding a dead horse, driven by 
> > economics,
> > and it feels 30 year too late to still do this and change this historic 
> > behaviour.
> 
> 30 years ago, one might have been able to find a Vax running 4.2BSD to
> send these packets to.  I agree that this change should have been made
> earlier, but that's not a good reason not to do it now.  Whether or not
> the change has economic benefit, it may allow people to use an additional
> host on small networks.  But I look at this primarily as a cleanup.

There has been nothing pushing for a change here, the thinking in the
network community has been that you can not use a host of 0 on a
subnet, and left at that.  Again, the process to correct the RFC's has
been lacking.

> 		Mike

-- 
Rod Grimes                                                 rgrimes@freebsd.org