Bug #13232
openAdd support for IPv4/31 or IPv6/127
0%
Description
Many networking equipment vendors provide /31 IPv4 addresses or /127 IPv6 address to attached nodes.
One can configure an ethernet or other 802.x-style NIC to employ a /31 today on illumos, using the "IFF_POINTOPOINT" (sic.) method. Consider 192.168.1.5/31, which makes 192.168.1.4 the other-end/router.
With ifconfig, one can:
ifconfig e1000g0 192.168.1.4 destination 192.168.1.5 netmask 255.255.255.255 up
With ipadm, one can:
ipadm create-addr -T static -a local=192.168.1.5 -a remote=192.168.1.4 e1000g0/v4p2p
It might be nice, however, for both tools to accept 192.168.1.5/31 and either:
1.) Internally transform it into the IFF_POINTOPOINT setup prior to passing it into the kernel. Subsequent displays might show things as an IFF_POINTOPOINT link, or it can check for the /31 or /127 case and reformat output accordingly.
or
2.) Enable the kernel to consume a /31 for IPv4 and a /127 for IPv6, and do the transforms down there.
My initial leaning is toward choice 1 because it would not require kernel changes, possibly entailing ipif_t and other ioctl-processing changes.