change to deprecate broadcast on host 0 of a subnet
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 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. Mike
Re: change to deprecate broadcast on host 0 of a subnet
Mike Karels wrote: > 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. Personally, if an MFC isn't too timeconsuming to do, and there are no worries about regression, I'd have thought it woud be advantgeous to have STABLE matching CURRENT as far as possible. It would also speed up the time we have to wait until this is standard on all supported versions. On a more personal note, I track STABLE on all my machines, and would be willing to fiddle with this and the other inet4 changes, but I don't have time to maintain running CURRENT on them, as they are mostly in production use. Of course, it's not about me, but I suspect I'm not the only one with this opinion! Cheers, Jamie
Re: change to deprecate broadcast on host 0 of a subnet
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/ 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. 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. /bz
Re: change to deprecate broadcast on host 0 of a subnet
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. 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. Mike
Re: change to deprecate broadcast on host 0 of a subnet
>> 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? I welcome a change to stop broadcasting the lowest address on a subnet. Yes this should have been done years ago. Steinar Haug, Nethelp consulting, sth...@nethelp.no
Re: change to deprecate broadcast on host 0 of a subnet
> 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 rgri...@freebsd.org