Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ DLrsrv(3dlpi) — UnixWare 2.01

Media Vault

Software Library

Restoration Projects

Artifacts Sought






       DLrsrv(3dlpi)                                          DLrsrv(3dlpi)


       NAME
             DLrsrv - service routine for read queue

       SYNOPSIS
             DLrsrv(queue_t *q)

          Parameters
            q           pointer to the read queue

       DESCRIPTION
             This is the service routine for the read queue.  The DLrecv()
             routine puts any received frames in the read queue of the
             Hardware Independent Layer (if there is no space in the read
             queue the frames are discarded).

             DLrsrv() translates each message received by a DL_ETHER SAP
             into a DL_UNITDATA_IND message by calling DLmk_ud_ind().  If
             an error value is returned in this process, the message is
             freed-up and the ifInDiscards field of MIB is incremented.

             DLrsrv() processes each message received by a DL_CSMACD SAP by
             calling the DLproc_llc() function.  A return value of NULL
             results in the message being freed up.  The DLproc_llc() can
             return a NULL under conditions of unsuccessful and in some
             cases even successful processing of the frame.  For further
             discussions refer to the implementation details of the
             DLproc_llc() routine.

             DLrsrv() also searches the list of valid SAPs to hand out
             duplicate copies of messages.  The current implementation of
             Ethernet drivers allows multiple streams to be bound to the
             same value of sap_addr, enabling each stream to get copies of
             the same packet.  There are other instances in which copies of
             an incoming packet have to be distributed to several streams:

                   A promiscuous SAP existing alongside a valid SAP

                   An LPDU with a dsap value of 0xff (LLC_GLOBAL_SAP)

             While DLrecv() hands over the packet to the first valid SAP,
             DLrsrv() loops through the list of valid SAPs to identify and
             copy the same packet to other streams.

          Notice
             DLrecv() and DLrsrv() loop through the same list of valid
             SAPs.


                           Copyright 1994 Novell, Inc.               Page 1













      DLrsrv(3dlpi)                                          DLrsrv(3dlpi)


            While DLrecv() terminates the search at the first valid SAP,
            DLrsrv() completes the entire loop.

         Response
           none

         Layer
            Hardware Independent.

      REFERENCES
         Hardware Independent Layer Functions Called
           none

         Hardware Dependent Layer Functions Called
           none

































                          Copyright 1994 Novell, Inc.               Page 2








Typewritten Software • bear@typewritten.org • Edmonds, WA 98026