routing(4p) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

routing(4p)

routing(4P)                    Network Protocols                   routing(4P)

NAME
       routing - system support for packet network routing

DESCRIPTION
       The  network facilities provide general packet routing. The routing in‐
       terface described here can be used to maintain the system's IPv4  rout‐
       ing table. It has been maintained for compatibility with older applica‐
       tions.  The  recommended interface for maintaining the system's routing
       tables is the routing  socket,  described  at  route(4P).  The  routing
       socket  can be used to manipulate both the IPv4 and IPv6 routing tables
       of the system. Routing table maintenance may be implemented in applica‐
       tions processes.


       A simple set of data structures compose a "routing table" used  in  se‐
       lecting  the  appropriate  network interface when transmitting packets.
       This table contains a single entry for each route to a specific network
       or host. The routing table was designed to support routing for the  In‐
       ternet  Protocol  (IP),  but its implementation is protocol independent
       and thus it may serve other protocols as well. User programs may manip‐
       ulate this data base with the aid of two ioctl(2)  commands,  SIOCADDRT
       and SIOCDELRT. These commands allow the addition and deletion of a sin‐
       gle  routing table entry, respectively. Routing table manipulations may
       only be carried out by privileged user.


       A routing table entry has the following form, as  defined  in  /usr/in‐
       clude/net/route.h:

         struct rtentry {
                 unit_t   rt_hash;               /* to speed lookups */
                 struct  sockaddr rt_dst;        /* key */
                 struct  sockaddr rt_gateway;    /* value */
                 short   rt_flags;               /* up/down?, host/net */
                 short   rt_refcnt;              /* # held references */
                 unit_t   rt_use;                /* raw # packets forwarded */
         /*
          * The kernel does not use this field, and without it the structure is
          * datamodel independent.
          */
         #if !defined(_KERNEL)
                 struct  ifnet *rt_ifp;          /* the answer: interface to use */
         #endif                                  /* !defined(_KERNEL) */
         };



       with rt_flags defined from:

         #define RTF_UP 0x1         /* route usable */
         #define RTF_GATEWAY 0x2    /* destination is a gateway */
         #define RTF_HOST 0x4       /* host entry (net otherwise) */



       There  are  three  types of routing table entries: those for a specific
       host, those for all hosts on a specific network, and those for any des‐
       tination not matched by entries of the first two types, called a  wild‐
       card  route. Each network interface installs a routing table entry when
       it is initialized.  Normally  the  interface  specifies  if  the  route
       through it is a "direct" connection to the destination host or network.
       If  the  route is direct, the transport layer of a protocol family usu‐
       ally requests the packet be sent to the  same  host  specified  in  the
       packet. Otherwise, the interface may be requested to address the packet
       to  an  entity  different from the eventual recipient; essentially, the
       packet is forwarded.


       Routing table entries installed by a user process may not  specify  the
       hash, reference count, use, or interface fields; these are filled in by
       the  routing routines. If a route is in use when it is deleted, meaning
       its rt_refcnt is non-zero, the resources associated with it will not be
       reclaimed until all references to it are removed.


       User processes read the routing tables through the /dev/ip device.


       The rt_use field contains the number of packets sent along  the  route.
       This value is used to select among multiple routes to the same destina‐
       tion.  When  multiple  routes  to the same destination exist, the least
       used route is selected.


       A wildcard routing entry is specified with a zero  destination  address
       value.  Wildcard  routes  are used only when the system fails to find a
       route to the destination host and network. The combination of  wildcard
       routes  and  routing  redirects can provide an economical mechanism for
       routing traffic.

ERRORS
       EEXIST         A request was made to duplicate an existing entry.


       ESRCH          A request was made to delete a non-existent entry.


       ENOBUFS        Insufficient resources were available to install  a  new
                      route.


       ENOMEM         Insufficient  resources  were available to install a new
                      route.


       ENETUNREACH    The gateway is not directly reachable. For  example,  it
                      does not match the destination/subnet on any of the net‐
                      work interfaces.


FILES
       /dev/ip    IP device driver


SEE ALSO
       ioctl(2), route(4P), route(8)

Oracle Solaris 11.4               9 Nov 1999                       routing(4P)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3