sxp(7D)




NAME

     sxp - Rockwell 2200 SNAP Streams Driver


SYNOPSIS

     /dev/sxp


DESCRIPTION

     The  sxp (also known as the SNAP )  driver  is  a  loadable,
     clonable,  STREAMS  driver  that supports the connectionless
     Data Link Provider Interface ( dlpi(7P)) over  one  or  more
     FDDI   adapters   (Rockwell   2200   Series).   The  cloning
     character-special devices  (/dev/sxp,  /dev/snap,  /dev/llc,
     /dev/mac)  are  used  to  access the 2200 Series adapter(s).
     The /dev/sxp device is equivalent to /dev/snap. /dev/sxp  is
     used  so  that  the  name  SXP will show up in ifconfig. All
     messages transmitted on a SNAP device have the 802.2 LLC and
     Sub-Network  Access Protocol (SNAP) and the FDDI MAC headers
     ( RFC -1188)  prepended.  For an LLC  device,  the  LLC  and
     MAC headers are prepended, and for a MAC device only the MAC
     header is prepended.
      Received FDDI frames are delivered to the appropriate  open
     device.  In  response  to  a  DL_INFO_REQ,  the  SNAP driver
     returns the following values in the DL_INFO_ACK primitive:

        o  The maximum SDU is 4500.

        o  The minimum SDU is 0.

        o  The DLSAP address length is  8  (always  true  in  the
           Solaris environment).

        o  The address offset is 0 (prior to being attached).

        o  The MAC type is DL_FDDI.

        o  The sap length  value  is  -2,  which  indicates  that
           within  the  DLSAP  address, the physical address com-
           ponent is followed immediately  by  a  2-byte  service
           access point ( SAP ) component.

        o  The service mode is DL_CLDLS.

        o  The quality of service (QOS)  fields  are  0,  because
           optional QOS is not  supported.

        o  The provider style is DL_STYLE2.

        o  The broadcast address  value  is  the  IEEE  broadcast
           address (FF:FF:FF:FF:FF:FF).

     Because the  SNAP driver  is a "style 2" Data  Link  Service
     provider,  an  explicit  DL_ATTACH_REQ message from the user
     is required to associate the opened stream with a particular
     network  device (that is, ppa). The  dl_ppa field within the
     DL_ATTACH_REQ indicates the instance (unit)  number  of  the
     network  device.   If no currently attached ppa has the same
     instance number and there are no unattached ppas  available,
     the  driver  returns  an  error  (DL_ERROR_ACK). Once in the
     DL_ATTACHED state, a  DL_BIND_REQ is required to associate a
     particular SAP with the stream.

     Once in the  DL_ATTACHED state, a DL_BIND_REQ is required to
     associate  a  particular  Service Access Point (  SAP ) with
     the stream.  For the sap field within the DL_BIND_REQ, valid
     values  are  in the range [0-0xFFFF]. Values for 0-0xFF will
     give LLC 802.2 service without SNAP encapsulation, unless  a
     later  DL_HIERARCHIAL_BIND DL_SUBS_BIND_REQ is made.  Values
     from 0x100-0xFFFF will give  LLC 802.2 with SNAP  encapsula-
     tion  without  the  need  for  a DL_SUBS_BIND_REQ. Note that
     DL_HIERARCHIAL_BIND class DL_SUBS_BIND_REQs  are  only  sup-
     ported  on  streams bound to the 0xAA  SAP. After successful
     completion of the DL_BIND_REQ, the ppa  is  initialized  and
     the   stream   is   ready  for  use.   In  addition  to  the
     DL_HIERARCHIAL_BIND   class    of    DL_SUBS_BUD_REQ,    the
     DL_PEER_BIND  class can be used to bind multiple SAP s  with
     a stream.

     Frames may be  transmitted  on  the  FDDI  ring  by  sending
     DL_UNITDATA_REQ  messages  to  the  SNAP  driver.  The DLSAP
     address contained within the DL_UNITDATA_REQ must consist of
     both  the  SAP  and  physical (FDDI) components.  For a SNAP
     device, the SAP portion of the DLSAP address  is  placed  in
     the  EtherType  field of the 802.2 SNAP header. The DSAP and
     SSAP fields of the 802.2 LLC header  are  both  set  to  the
     value 170, indicating a SNAP message and a MAC frame_type of
     LLC. For an LLC device, the SAP portion of the DLSAP address
     is  placed  in  the  DSAP field of the 802.2 LLC header. The
     SSAP field is set to the SAP bound to the stream.   The  MAC
     frame_type  is LLC. For a MAC device, the SAP portion of the
     DLSAP address is placed in the frame_control  field  of  the
     MAC  header.  Received FDDI frames are routed up the correct
     stream(s) as DL_UNITDATA_IND messages (containing the  DLSAP
     address). The stream(s) are found by:

     1. Comparing the EtherType field of the SNAP header with the
        bound SAP of all of the SNAP streams

     2. Comparing the DSAP field of the LLC header with the bound
        SAP of all the LLC streams

     3. Comparing the frame_control field of the MAC header  with
        the bound SAP of all the MAC streams.

     If necessary, messages are duplicated.  In addition  to  the
     mandatory  connectionless  DLPI message set, the driver also
     supports   the   following   primitives:   DL_ENABMULTI_REQ,
     DL_DISABMULTI_REQ,    DL_PROMISCON_REQ,   DL_PROMISCOFF_REQ,
     DL_PHYS_ADDR_REQ.

     The DL_ENABMULTI_REQ and DL_DISABMULTI_REQ primitives enable
     or   disable   reception   of   individual  multicast  group
     addresses. Using these primitives, a set of multicast  group
     addresses  may be iteratively created and modified on a per-
     stream basis. These primitives are accepted by the driver in
     any   state   following   a  successful  DL_ATTACH_REQ.  The
     DL_PROMISCON_REQ and DL_PROMISCOFF_REQ primitives (with  the
     DL_PROMISC_PHYS  flag  set  in  the dl_levelfield) enable or
     disable reception of all (promiscuous mode)  frames  on  the
     media,  including  frames  generated by the local host. When
     used with the DL_PROMISC_SAP flag  (set),  this  enables  or
     disables  reception  of  all  sap values. When used with the
     DL_PROMISC_MULTI flag (set), this enables or disables recep-
     tion  of  all  multicast group addresses. The affect of each
     primitive is always on a per-stream basis, and  is  indepen-
     dent  of  the other sap and physical level configurations on
     this stream (or other streams). In the DL_PHYS_ADDR_ACK mes-
     sage,  the  DL_PHYS_ADDR_REQ  primitive  returns the 6-octet
     FDDI address (in canonical form) currently  associated  with
     the stream. This primitive is valid only in states following
     a successful DL_ATTACH_REQ. The  driver  also  supports  the
     following   ioctls   (I/O   controls):   DLIOCRAW,   SL_RAW,
     SL_DATA_ENABLE, SL_DATA_DISABLE, and DRV_CONFIG. As  defined
     by  Solaris,  the  DLIOCRAW  ioctl  puts the stream into raw
     mode, which causes the driver to send the  full  MAC  -level
     packet  up  the  stream  in  an  M_DATA  message, instead of
     transforming it to the DL_UNITDATA_IND form. On this stream,
     the  driver  will  also accept formatted M_DATA messages for
     transmission. To  disable  raw  mode,  the  stream  must  be
     closed. The DLIOCRAW ioctl requires no arguments. As defined
     by Rockwell, the SL_RAW ioctl puts the stream into raw mode,
     similar  to  the  DLIOCRAW  ioctl except that the frame-type
     field of the MAC header is considered  to  be  a  long  word
     instead  of  a  byte, preserving alignment. The SL_RAW ioctl
     requires  no  arguments.  As  defined   by   Rockwell,   the
     SL_DATA_ENABLE  and SL_DATA_DISABLE ioctls enable or disable
     the  transmission  of  data  on  the  stream.  By   default,
     transmission    is    enabled.    The   SL_DATA_ENABLE   and
     SL_DATA_DISABLE ioctls require no arguments.


FILES

      /dev/sxp
           SXP special character device

     kernel/drv/sys_core
           SXP loadable module

     kernel/drv/sxp.conf
           SXP configuration file


ATTRIBUTES

     See attributes(5) for descriptions of the  following  attri-
     butes:

     ____________________________________________________________
    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
    |_____________________________|_____________________________|
    | Architecture                | x86                         |
    |_____________________________|_____________________________|


SEE ALSO

     attributes(5), dlpi(7P), rns_smt(7D)


Man(1) output converted with man2html