Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ if(4N) — UTek 3.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

arp(4n)

ec(4s)

lo(4n)



IF(4N)                  COMMAND REFERENCE                  IF(4N)



NAME
     if - general properties of network interfaces

DESCRIPTION
     Each network interface in a system corresponds to a path
     through which messages may be sent and received.  A network
     interface usually has a hardware device associated with it,
     though certain interfaces such as the loopback interface,
     lo(4n), do not.

     At boot time each interface which has underlying hardware
     support makes itself known to the system during the
     autoconfiguration process.  Once the interface has acquired
     its address it is expected to install a routing table entry
     so that messages may be routed through it.  Most interfaces
     require some part of their address specified with an
     SIOCSIFADDR ioctl before they will allow traffic to flow
     through them.  On interfaces where the network-link layer
     address mapping is static, only the network number is taken
     from the ioctl; the remainder is found in a hardware-
     specific manner.  On interfaces which provide dynamic
     network-link layer address mapping facilities (for example,
     10Mb/s Ethernets using arp(4n)) the entire address specified
     in the ioctl is used.

     The following ioctl calls may be used to manipulate network
     interfaces.  Unless specified otherwise, the request takes
     an ifreq structure as its parameter; this structure has the
     form



          struct  ifreq {
             char ifr_name[16];       /* name of interface (e.g. "ec0") */
             union {
                  struct        sockaddr   ifru_addr;
                  struct        sockaddr   ifru_dstaddr;
                  short ifru_flags;
             } ifr_ifru;
          #define ifr_addr      ifr_ifru.ifru_addr       /* address */
          #define ifr_dstaddr   ifr_ifru.ifru_dstaddr    /* other end of                                                /* p-to-p link */
          #define ifr_flags     ifr_ifru.ifru_flags      /* flags */
          };


     SIOCSIFADDR
          Set interface address.  Following the address
          assignment, the ``initialization'' routine for the
          interface is called.

     SIOCGIFADDR
          Get interface address.



Printed 5/12/88                                                 1





IF(4N)                  COMMAND REFERENCE                  IF(4N)



     SIOCSIFDSTADDR
          Set point to point address for interface.

     SIOCGIFDSTADDR
          Get point to point address for interface.

     SIOCSIFFLAGS
          Set interface flags field.  If the interface is marked
          down, any processes currently routing packets through
          the interface are notified.

     SIOCGIFFLAGS
          Get interface flags.

     SIOCGIFCONF
          Get interface configuration list; this request takes an
          ifconf structure (see below) as a value-result
          parameter.  The ifc_len field should be initially set
          to the size of the buffer pointed to by ifc_buf; on
          return it will contain the length, in bytes, of the
          configuration list.

          /*
           * Structure used in SIOCGIFCONF request.
           * Used to retrieve interface configuration
           * for machine (useful for programs which
           * must know all networks accessible).
           */
          struct    ifconf {
             int    ifc_len;                    /* size of associated buffer */
             union {
                   caddr_t      ifcu_buf;
                   struct       ifreq *ifcu_req;
             } ifc_ifcu;
          #define   ifc_buf     ifc_ifcu.ifcu_buf      /* buffer address */
          #define   ifc_req     ifc_ifcu.ifcu_req      /* array of structures                                              /* returned */
          };


SEE ALSO
     arp(4n), ec(4s), lo(4n).














Printed 5/12/88                                                 2





































































%%index%%
na:216,97;
de:313,2287;2888,1486;
se:4374,146;
%%index%%000000000080

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