I'm writing an article on the development history of ifconfig, and some remnants of earlier protocols that remain in the command defaults. Specifically, in BSD and Linux, we've found that there are some defaults in the subnet mask parameters that can bite an admin if they don't know about them.<p>These defaults derive from the old classful network address system of the late 80s-early 90s. I'm trying to understand why those behaviors haven't been removed since classful networks went away. I think I understand in the case of Linux: Classful networks ended in 1993, and support for net-tools in Linux ended in 2001.<p>I've seen hints though that development for net-tools continues to the present in BSD. So my questions are...<p>1) Is net-tools/ifconfig still in development for BSD?
2) If not, then when did it end?
3) If so, then do you have any idea why it's still using defaults based on classful networks?
Which BSDs did you try and what is the precise behavior of subnet mask parameters that you had a problem with? It would be best if you could include the exact ifconfig command, the output from running the command and what was the expected outcome.<p>1) Yes, there is active development. BSDs don't have net-tools as a separately developed package.<p><a href="https://github.com/openbsd/src/commits/master/sbin/ifconfig" rel="nofollow">https://github.com/openbsd/src/commits/master/sbin/ifconfig</a><p><a href="https://github.com/freebsd/freebsd/commits/master/sbin/ifconfig" rel="nofollow">https://github.com/freebsd/freebsd/commits/master/sbin/ifcon...</a>
It turns out the ifconfig command does not provide any default subnet mask parameters. That is done inside the kernel. Changing the kernel would break backwards compatibility.<p><a href="https://github.com/openbsd/src/blob/0970cb57551e0e8df6688f8a475400ea57aba548/sys/netinet/in.c#L664" rel="nofollow">https://github.com/openbsd/src/blob/0970cb57551e0e8df6688f8a...</a><p><a href="https://github.com/torvalds/linux/blob/cb8e59cc87201af93dfbb6c3dccc8fcad72a09c2/net/ipv4/devinet.c#L1173" rel="nofollow">https://github.com/torvalds/linux/blob/cb8e59cc87201af93dfbb...</a>
There was a thread about ifconfig earlier this year: <a href="https://news.ycombinator.com/item?id=22626346" rel="nofollow">https://news.ycombinator.com/item?id=22626346</a>