Seb, Given that this spec update has made the documents in the final.materials directory obsolete, will the "final materials" be updated to be the "really final materials"?
Thanks, Darren On 31/10/08 09:40 AM, Sebastien Roy wrote: > The project team is ready to integrate this case, and implementation > differs slightly from the approved spec. Below are the details of these > deviations. In my opinion, these are minor enough that they can be > included in this case as spec updates. Please let me know if you > disagree, and I can also file a separate case (which would likely be > self-reviewed). > > 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. Miscellaneous 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> 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 Project-Private. > > 4. Changes to Netinfo > > The project did not need to introduce the NE_SET_ZONE NIC event as > originally anticipated, so this is no longer included in this case. > > The previously Committed net_getlifflags() and net_getlifzone() > functions, and NE_LIF_UP and NE_LIF_DOWN NIC events will be > Consolidation-Private, as there is very little implementation > experience to warrant their being Committed, and the project team > doesn't feel confident further sedimenting the concept of "logical > interfaces" into this API. > > 5. Clarification of Project-Private ipobs_* Kernel Interfaces > > The case documented the use of ipobs_register_hook() and > ipobs_unregister_hook() for consumers like the ipnet module to gain > access to IP packets. > > The case was silent on how access to those packets would be > achieved. The following set of Project-Private functions are used > for this purpose: > > ipobs_init(ip_stack_t *ipst) > > Called in IP's stack initialization function to initialize > the IP observability callback list and other private > per-stack data structures. > > ipobs_fini(ip_stack_t *ipst) > > Called in IP's stack tear-down function to free what was > instantiated in ipobs_init(). > > ipobs_hook(mblk_t *mp, ipobs_hook_type_t htype, zoneid_t zsrc, > zoneid_t zdst, ill_t *ill, int ipver, uint32_t hlen, > ip_stack_t ipst) > > The function used to distribute an IP packet to registered > consumers. > > >
