routing man page on SmartOS

Man page or keyword search:  
man Server   16655 pages
apropos Keyword Search (all sections)
Output format
SmartOS logo
[printable version]

ROUTING(7P)							   ROUTING(7P)

NAME
       routing - system support for packet network routing

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

       A simple set of data structures	compose	 a  "routing  table"  used  in
       selecting  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
       Internet 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/include/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
       destination not matched by entries of the first	two  types,  called  a
       wildcard	 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
       route(1M), ioctl(2), route(7P)

				  Nov 9, 1999			   ROUTING(7P)
[top]

List of man pages available for SmartOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net