Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ DLrecv(3dlpi) — UnixWare 2.01

Media Vault

Software Library

Restoration Projects

Artifacts Sought






       DLrecv(3dlpi)                                          DLrecv(3dlpi)


       NAME
             DLrecv - identify packet frame format

       SYNOPSIS
             DLrecv(mblk_t *mp, DL_sap_t *tsap)

          Parameters
            mp          pointer to a STREAMS message block containing the
                         packet.

            tsap        pointer to the table of SAPs corresponding to the
                         interrupting board.

       DESCRIPTION
             DLrecv() parses every incoming packet to identify the frame
             format and hands over the packet to the first valid SAP.

             The first step involves identifying the frame format.  If the
             length field of the frame is greater than DL_MAX_PACKET then
             the frame format is Ethernet V2.0 (DL_ETHER) else the frame
             format is IEEE802.3 (DL_CSMACD).  The definitions DL_ETHER and
             DL_CSMACD are used not only to identify the different type of
             SAPs but also the frame formats of the incoming packets.

             If the packet type is DL_ETHER, then the length field
             represents the protocol type (eg: 0x800 for IP).  All valid
             DL_ETHER SAPs are searched to identify the first SAP whose
             sap_addr value equals the protocol type.

             A DL_CSMACD packet presents additional complications.  The
             802.2 header is parsed to identify the destination SAP(dsap).
             The following set of rules are applied to determine the valid
             SAP that receives the packet:

                   If the dsap is LLC_GLOBAL_SAP (0xff) then the first
                   DL_CSMACD sap that is not a RAW SAP or SNAP SAP gets it.

                   If the dsap is not LLC_GLOBAL_SAP, then the first
                   DL_CSMACD SAP whose sap_addr equals the dsap receives
                   the packet.

                   If the dsap equals SNAPSAP (0xaa), the SNAP header is
                   parsed and the first DL_CSMACD SAP that is also a SNAP
                   SAP and whose snap address values equal the
                   corresponding values of the incoming packet, receives
                   the packet.


                           Copyright 1994 Novell, Inc.               Page 1













      DLrecv(3dlpi)                                          DLrecv(3dlpi)


                  Finally the packet is handed to any RAW sap that exists
                  on the list of valid SAPs.

         Response
           none

         Layer
            Hardware Independent.

      REFERENCES
         Hardware Independent Layer Functions Called
           DLrsrv()




































                          Copyright 1994 Novell, Inc.               Page 2








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