(Cc'ing Kais, as he's the case owner)
On Thu, 2008-10-30 at 14:17 -0400, Sebastien Roy wrote:
> I'll re-send updates to the text in a moment.
Here is the updated text based on Meem's input. It's a bit lengthy for
a spec update, but I don't believe that it would change anyone's vote on
the case.
1. Additions for libdlpi.so
The approved spec contained the following text:
Moreover, in order to shield applications from the details of
accessing these and other upcoming DLPI devices proposed by
Clearview, we will be proposing a public libdlpi.so library as
part of an upcoming case.
That case was PSARC 2006/436, and the dlpi_open() function is the
function that shields applications from the details of DLPI device
access. Two new dlpi_open() flags are being included with this
case to implement this:
DLPI_DEVIPNET Causes dlpi_open() to only open DLPI style-1
devices from the /dev/ipnet directory.
DLPI_IPNETINFO Causes dlpi_open() to issue a DLIPNETINFO
ioctl to the DLPI device after opening it,
thereby enabling the inclusion of
dl_ipnetinfo_t headers in front of received
packets from /dev/ipnet or /dev/lo0 devices.
A new libdlpi error code, DLPI_EIPNETINFONOTSUP, is also included.
The dlpi_open() function fails with this error if the
DLPI_IPNETINFO flag was set but the device opened doesn't support
the DLIOCIPNETINFO ioctl.
2. Miscelaneous Symbol Name Changes
Original Interface New Interface Comment
-----------------------------------------------------------------------
DL_IOC_IPNET_INFO DLIOCIPNETINFO <sys/dlpi.h>
struct dl_ipnet_info dl_ipnetinfo_t <sys/dlpi.h>
net_getlif_flags() net_getlifflags() <sys/neti.h>
ips_register_hook() ipobs_register_hook() (Project Private)
ips_unregister_hook() ipobs_unregister_hook() (Project Private)
zoneid zone snoop keyword
PRIV_IP_OBSERVABILITY PRIV_NET_OBSERVABILITY
3. <inet/ipnet.h> is not Committed
As approved, the <inet/ipnet.h> was a Committed interface because
it contained the Committed DL_IOC_IPNET_INFO ioctl, the
dl_ipnet_info header, and the DL_IPNETINFO_VERSION constant. These
are moved to <sys/dlpi.h> (and renamed in some cases, see section
2), and <inet/ipnet.h> is now an implementation detail (Not An
Interface).
4. Omissions
The project also did not need to introduce the NE_SET_ZONE NIC
event as originally anticipated, so this is no longer included in
this case.
-Seb