Re: git: 20d59403961d - main - kernel: deprecate Internet Class A/B/C
Date: Wed, 10 Nov 2021 22:26:29 UTC
I’m going to top-post my reply to highlight this question: It is proposed to revert the change to the default mask when setting an Internet interface address without a mask, returning to the use of the Class A/B/C mask as the default. We would still warn if there was no mask supplied, except on loopback and point-to-point interfaces. Does anyone object, or otherwise have comments? Mike On 10 Nov 2021, at 10:38, Gleb Smirnoff wrote: > On Wed, Nov 10, 2021 at 09:36:03AM -0600, Mike Karels wrote: > M> > The new /24 default is no better than classes. The only difference > M> > that classes maintained POLA and new default doesn't. For example, > M> > in my home network I have default router 10.0.0.1 and since it is > M> > class A network on my VMs and test boxes I can type > M> > M> > # ifconfig vtnet0 10.6.6.6 > M> > M> > and that is going to work. With this change no longer. > M> > M> I suspect that /8 is by far the minority these days, even with a > M> "Class A" net. I also use net 10 at home, and at the last several jobs, > M> but it is subnetted in each case. I would peridically add an address, > M> forgetting a mask, only to find that a route for 10/8 isolated the machine. > > The 10/8 can be used at home as a huge personal address space, just like > a /64 IPv6 prefix. All addresses added without masks and everything works. > > M> That said, my main objective was to deprecate usage without a mask, and > M> to warn in that case. Both the kernel and ifconfig now warn when a default > M> mask is used. In the discussion on freebsd-net and in the review, the > M> main thought was that masks should be required. But it isn't practical to > M> fail and return an error with no mask, at least not without a significant > M> period with warnings, or some systems would stop coming up on the network. > M> > M> One reviewer was going to comment on the /24 default, but thought it was > M> better than the previous. I'm open to hearing more opinions. > > Although I don't internally agree that we really need to police people to > always specify masks, I would make step forward and agree with that. So, > let's do print loud warning on every attempt to set IP address without a > mask. But I can not agree that change from class based guess to /24 is a > right thing to do. A proper deprecation process goes like this: > > Step 1: Print warning, don't change legacy behavior. > <... people adopt ...> > Step 2: Return error. Remove deprecated behavior. > > What we did is that we changed behavior together with warning. The new > behavior is neither the legacy one nor the desired one, where mask is > a must. Look from a user perspective: for class C nothing changed, but > changed for A and B. > > -- > Gleb Smirnoff