ifconfig output: ipv4 netmask format
Paul Schenkeveld
freebsd at psconsult.nl
Fri Apr 8 20:22:48 UTC 2011
On Fri, Apr 08, 2011 at 01:16:17PM -0600, Warner Losh wrote:
>
> On Apr 8, 2011, at 1:00 PM, Sergey Vinogradov wrote:
>
> > 08.04.2011 19:55, Mike Bristow пиÑеÑ:
> >> On Fri, Apr 08, 2011 at 07:40:56PM +0400, Sergey Vinogradov wrote:
> >>> On 08.04.2011 19:23, Warner Losh wrote:
> >>>> On Apr 8, 2011, at 6:08 AM, Sergey Vinogradov wrote:
> >>>> If we really wanted to make it human readable, we'd output 10.2.3.4/24
> >>>
> >>> So, maybe, while following the POLA, we should add an option, as Daniel
> >>> mentioned above? To output the CIDR?
> >>
> >> Non-contigous netmasks are legal in IPv4. What do you do if someone adds
> >> the CIDR flag but the netmask cannot be represented in CIDR notation?
> >
> > And boom goes the dynamite. Reverting to my first proposal about changing only netmask notation.
>
> Non-contiguous netmasks are *not* legal anymore in IPv4. They have gone the way of the dodo. While some stacks still support it, a growing number of an interesting number of bugs with them that actual deployments with non-contiguous submasks becomes more hassle than it is worth.
Although non-contiguous netmasks are not legal anymore in IPv4, our
ifconfig still allows to do something like:
# ifconfig em0 inet 10.0.5.2 netmask 255.0.255.0
# ifconfig em0
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=219b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MAGIC>
ether xx:xx:xx:xx:xx:xx
inet 10.0.5.2 netmask 0xff00ff00 broadcast 10.255.5.255
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active
If we allow ifconfig to set non-contiguous netmasks, it cannot be
output in CIDR notation. Perhaps a compromise could be:
-t Prefer dotted decimal over hex.
-c If the netmask is contiguous, print it in CIDR, otherwise in hex
(without -d) or dotted decimal (with -d).
-d is already in use, hence -t although -D is also available.
Does this make everyone happy?
> Warner
Paul Schenkeveld
More information about the freebsd-hackers
mailing list