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

From: Mike Karels <>
Date: Wed, 15 Sep 2021 23:18:02 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  See also
> > https:/ and

> I think it is:


Thanks for the correction, I think I had to type this rather than pasting.

> > some of the discussion in
> >
> > 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 
> 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.

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.