Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ strcf(4) — NEWS-os 5.0.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

slattach(1M)

slink(1M)



strcf(4)                  FILE FORMATS                   strcf(4)



NAME
     strcf - STREAMS Configuration File for STREAMS TCP/IP

DESCRIPTION
     /etc/strcf contains the script that is executed by slink(1M)
     to perform the STREAMS configuration operations required for
     STREAMS TCP/IP.

     The standard /etc/strcf file contains several functions that
     perform  various configuration operations, along with a sam-
     ple boot function. Normally, only the boot function must  be
     modified  to customize the configuration for a given instal-
     lation. In some cases,  however,  it  may  be  necessary  to
     change existing functions or add new functions.

     The following functions perform basic linking operations:

     The tp function is used to set up the link between  a  tran-
     sport provider, such as TCP, and IP.

          #
          # tp - configure transport provider (i.e. tcp, udp, icmp)
          # usage: tp devname
          #
          tp {
               p = open $1
               ip = open /dev/ip
               link p ip
          }

     The linkint function links the specified streams and does  a
     sifname operation with the given name.

          #
          # linkint - link interface to ip or arp
          # usage: linkint top bottom ifname
          #
          linkint {
               x = link $1 $2
               sifname $1 x $3
          }

     The aplinkint function performs the same function as linkint
     for an interface that uses the app module.

          #
          # aplinkint - like linkint, but app is pushed on dev
          # usage: aplinkint top bottom ifname
          #
          aplinkint {
               push $2 app
               linkint $1 $2 $3



                                                                1





strcf(4)                  FILE FORMATS                   strcf(4)



          }

     The following functions  are  used  to  configure  different
     types of Ethernet interfaces:

     The uenet function is used to configure an  Ethernet  inter-
     face  for  a cloning device driver that uses the unit select
     ioctl to select the desired interface.  The  interface  name
     is  constructed by concatenating the supplied prefix and the
     unit number.

          #
          # uenet - configure ethernet-type interface for cloning driver using
          #         unit select
          # usage: uenet ip-fd devname ifprefix unit
          #
          uenet {
               ifname = strcat $3 $4
               dev = open $2
               unitsel dev $4
               aplinkint $1 dev ifname
               dev = open $2
               unitsel dev $4
               arp = open /dev/arp
               linkint arp dev ifname
          }

     The denet function performs  the  same  function  as  uenet,
     except that DLATTACH is used instead of unit select.

          #
          # denet - configure ethernet-type interface for cloning driver using
          #         DLATTACH
          # usage: denet ip-fd devname ifprefix unit
          #
          denet {
               ifname = strcat $3 $4
               dev = open $2
               dlattach dev $4
               aplinkint $1 dev ifname
               dev = open $2
               dlattach dev $4
               arp = open /dev/arp
               linkint arp dev ifname
          }

     The cenet function is used to configure an  Ethernet  inter-
     face for a cloning device driver that uses a different major
     number for each interface.  The device  name  is  formed  by
     concatenating  the  supplied device name prefix and the unit
     number.  The interface name is formed in  a  similar  manner
     using the interface name prefix.



                                                                2





strcf(4)                  FILE FORMATS                   strcf(4)



          #
          # cenet - configure ethernet-type interface for cloning driver with
          #         one major per interface
          # usage: cenet ip-fd devprefix ifprefix unit
          #
          cenet {
               devname = strcat $2 $4
               ifname = strcat $3 $4
               dev = open devname
               aplinkint $1 dev ifname
               dev = open devname
               arp = open /dev/arp
               linkint arp dev ifname
          }

     The senet function is used to configure an  Ethernet  inter-
     face  for a non-cloning device driver.  Two different device
     nodes must be specified for IP and ARP.

          #
          # senet - configure ethernet-type interface for non-cloning driver
          # usage: senet ip-fd ipdevname arpdevname ifname
          #
          senet {
               dev = open $2
               aplinkint $1 dev $4
               dev = open $3
               arp = open /dev/arp
               linkint arp dev $4
          }

     The senetc function is like senet, except that it allows the
     specification  of  a  convergence module to be used with the
     ethernet driver (such as, for the 3B2 emd driver).

          #
          # senetc - configure ethernet-type interface for non-cloning driver
          #          using convergence module
          # usage: senetc ip-fd convergence ipdevname arpdevname ifname
          #
          senetc {
               dev = open $3
               push dev $2
               aplinkint $1 dev $5
               dev = open $4
               push dev $2
               arp = open /dev/arp
               linkint arp dev $5
          }

     The loopback function is  used  to  configure  the  loopback
     interface.



                                                                3





strcf(4)                  FILE FORMATS                   strcf(4)



          #
          # loopback - configure loopback device
          # usage: loopback ip-fd
          #
          loopback {
               dev = open /dev/loop
               linkint $1 dev lo0
          }

     The slip function is used to  configure  a  SLIP  interface.
     This  function  is  not  normally  executed  at  boot  time.
     Rather, the slattach(1M) command runs slink specifying  slip
     on the command line.

          #
          # slip - configure slip interface
          # usage: slip unit
          #
          slip {
               ip = open /dev/ip
               s = open /dev/slip
               ifname = strcat sl $1
               unitsel s $1
               linkint ip s ifname
          }

     The boot function is called by default when  slink  is  exe-
     cuted.   Normally,  only the interfaces section and possibly
     the queue params section will have to be  customized  for  a
     given  installation.   Examples are provided for the various
     Ethernet driver types.

          #
          # boot - boot time configuration
          #
          boot {
               #
               # queue params
               #
               initqp /dev/udp rq 8192 40960
               initqp /dev/ip muxrq 8192 40960 rq 8192 40960
               #
               # transport
               #
               tp /dev/tcp
               tp /dev/udp
               tp /dev/icmp
               tp /dev/rawip
          }

FILES
     /etc/strcf



                                                                4





strcf(4)                  FILE FORMATS                   strcf(4)



SEE ALSO
     slattach(1M), slink(1M).





















































                                                                5



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