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.
>
>
>   


Reply via email to