Print this page
Clearview IPMP manpages

@@ -29,10 +29,14 @@
      ple,  10Mb/s  Ethernets  using  arp(7P)), the entire address
      specified in the ioctl() is used. A routing table entry  for
      destinations  on  the  network of the interface is installed
      automatically when an interface's address is set.
 
+     Note   IPMP  IP  interfaces cannot   be  created  using  the
+     procedure   described above.  Instead,  ifconfig(1M) must be
+     used to create IPMP IP interfaces.
+
 IOCTLS
      The following ioctl() calls may be  used  to  manipulate  IP
      network  interfaces. Unless specified otherwise, the request
      takes an lifreq structure as its parameter.  This  structure
      has the form:

@@ -99,42 +103,55 @@
                          interface are notified.
 
      SIOCGLIFFLAGS       Get interface flags.
 
      SIOCGLIFCONF        Get interface configuration  list.  This
-                         request  takes an lifconf structure (see
-
-SunOS 5.10          Last change: 14 Nov 2008                    2
-
-Protocols                                              if_tcp(7P)
-
+                         request takes a *lifconf* structure (see
                          below) as a value-result parameter.  The
-                         lifc_family   field   can   be   set  to
-                         AF_UNSPEC to retrieve both  AF_INET  and
-                         AF_INET6   interfaces.   The  lifc_flags
-                         field  should  be  set  to   zero.   The
-                         lifc_len field should be set to the size
-                         of the buffer pointed  to  by  lifc_buf.
-                         Upon  success, lifc_len will contain the
-                         length, in bytes, of the array of lifreq
-                         structures  pointed  to by lifc_req. For
-                         each lifreq structure, the lifr_name and
-                         lifr_addr fields will be valid.
+                         *lifc_family*   field can  be  set    to
+                         *AF_UNSPEC* to retrieve  both  *AF_INET*
+                         and    *AF_INET6*    interfaces.     The
+                         *lifc_len* field  should  be set  to the
+                         size  of  the  buffer    pointed to   by
+                         *lifc_buf*.
+
+                         The *lifc_flags* field should usually be
+                         set to zero, but  callers that need low-
+                         level knowledge    of the  underlying IP
+                         interfaces that comprise an IPMP   group
+                         can   set  it  to  *LIFC_UNDER_IPMP*  to
+                         request that   those     interfaces   be
+                         included in the result.
+                
+                         Upon success,   *lifc_len*  will contain
+                         the length, in bytes,   of the array  of
+                         *lifreq*   structures   pointed   to  by
+                         *lifc_req*. For each *lifreq* structure,
+                         the  *lifr_name* and *lifr_addr*  fields
+                         will be valid.
+
 
      SIOCGLIFNUM         Get number of interfaces.  This  request
                          returns  an  integer which is the number
                          of   interface   descriptions    (struct
                          lifreq)  that  will  be  returned by the
                          SIOCGLIFCONF ioctl; that is, it gives an
-                         indication  of how large lifc_len has to
-                         be. This request takes an lifnum  struc-
-                         ture   (see  below)  as  a  value-result
-                         parameter. The lifn_family field  should
-                         be   set  to  AF_UNSPEC  to  count  both
-                         AF_INET  and  AF_INET6  interfaces.  The
-                         lifn_flags field should be initially set
-                         to zero.
+                         indication of how large lifc_len has
+                         to be.
+
+                         This  request  takes a  *struct  lifnum*
+                         (see below) as a value-result parameter.
+                         The  *lifn_family* field can  be set  to
+                         *AF_UNSPEC* to  count both *AF_INET* and
+                         *AF_INET6*  interfaces. The *lifn_flags*
+                         field should usually be set to zero, but
+                         callers that need low-level knowledge of
+                         the  underlying IP   interfaces     that
+                         comprise an  IPMP group   can set it  to
+                         *LIFC_UNDER_IPMP*  to request that those
+                         interfaces be included in the count.
+
 
      SIOCSLIFMTU         Set the maximum transmission unit  (MTU)
                          size for interface. Place the request in
                          the lifru_mtu field.  The  MTU  can  not
                          exceed   the   physical  MTU  limitation

@@ -174,25 +191,15 @@
                          face.  Only  applies  for zones that use
                          the shared-IP instance.
 
      SIOCLIFADDIF        Add a new logical interface on a  physi-
                          cal  interface  using  an unused logical
-                         unit number. If the  physical  interface
-                         is part of an IP multipathing group, the
-                         logical interface may be added to a dif-
-                         ferent  physical  interface  in the same
-                         group. Upon return, the  lifr_name field
-                         contains  the name of the actual logical
-                         interface created.
+                         interface number.
 
      SIOCLIFREMOVEIF     Remove a logical interface by specifying
                          its  IP  address  or  logical  interface
-                         name. When the IP address  is  specified
-                         and  the interface is part of an IP mul-
-                         tipathing group, the  logical  interface
-                         is  removed  from the physical interface
-                         in the group which holds the IP address.
+                         name.
 
      SIOCSLIFTOKEN       Set the address token used to form  IPv6
                          link-local  addresses  and for stateless
                          address autoconfiguration.
 

@@ -316,10 +323,11 @@
        #define lifc_buf lifc_lifcu.lifcu_buf   /* buffer address */
        #define lifc_req lifc_lifcu.lifcu_req   /* array of structs returned */
        };
 
        The structure used by SIOCGLIFNUM has the form:
+
        struct lifnum {
          sa_family_t     lifn_family;
          int             lifn_flags;   /* req. specf. interfaces */
          int             lifn_count;   /* Result */
        };

@@ -400,22 +408,30 @@
                         of the buffer pointed to by ifc_buf. Upon
                         success, ifc_len will contain the length,
                         in bytes, of the array  of  ifreq  struc-
                         tures  pointed  to  by  ifc_req. For each
                         ifreq   structure,   the   ifr_name   and
-                        ifr_addr fields will be valid.
+                        *ifr_addr* fields will   be valid.  While
+                        any IPMP  IP interfaces  will be included
+                        in   the    array,   the underlying    IP
+                        interfaces  that comprise    those   IPMP
+                        groups will not be.
 
 SunOS 5.10          Last change: 14 Nov 2008                    8
 
 Protocols                                              if_tcp(7P)
 
      SIOCGIFNUM         Get number of  interfaces.  This  request
                         returns an integer which is the number of
                         interface  descriptions  (struct   ifreq)
                         that  will be returned by the SIOCGIFCONF
                         ioctl; that is, it gives an indication of
-                        how large ifc_len has to be.
+                        how large *ifc_len* has to be.  While any
+                        IPMP  IP interfaces will  be included  in
+                        the  array, the underlying IP  interfaces
+                        that  comprise those IPMP groups will not
+                        be.
 
      SIOCSIFMTU         Set the maximum transmission  unit  (MTU)
                         size  for interface. Place the request in
                         the ifr_metric field. The MTU has  to  be
                         smaller   than  physical  MTU  limitation

@@ -466,11 +482,11 @@
   IFF_ Flags
      You can use the ifconfig(1M) command  to  display  the  IFF_
      flags  listed  below (with the leading IFF_ prefix removed).
      See the ifconfig(1M) manpage for a definition of each flag.
 
-       #define IFF_UP          0x0000000001    /* Interface is up */
+       #define IFF_UP          0x0000000001    /* Address is up */
        #define IFF_BROADCAST   0x0000000002    /* Broadcast address valid */
        #define IFF_DEBUG       0x0000000004    /* Turn on debugging */
        #define IFF_LOOPBACK    0x0000000008    /* Loopback net */
 
        #define IFF_POINTOPOINT 0x0000000010    /* Interface is p-to-p */

@@ -488,40 +504,36 @@
        #define IFF_DHCPRUNNING 0x0000004000    /* DHCP controls interface */
        #define IFF_PRIVATE     0x0000008000    /* Do not advertise */
 
        #define IFF_NOXMIT      0x0000010000    /* Do not transmit pkts */
        #define IFF_NOLOCAL     0x0000020000    /* No address - just on-link subnet */
-       #define IFF_DEPRECATED  0x0000040000    /* Interface addr. deprecated */
+       #define IFF_DEPRECATED  0x0000040000    /* Address is deprecated */
        #define IFF_ADDRCONF    0x0000080000    /* Addr. from stateless addrconf */
 
        #define IFF_ROUTER      0x0000100000    /* Router on interface */
        #define IFF_NONUD       0x0000200000    /* No NUD on interface */
        #define IFF_ANYCAST     0x0000400000    /* Anycast address */
        #define IFF_NORTEXCH    0x0000800000    /* Don't xchange rout. info */
 
        #define IFF_IPV4        0x0001000000    /* IPv4 interface */
        #define IFF_IPV6        0x0002000000    /* IPv6 interface */
-       #define IFF_NOFAILOVER  0x0008000000    /* No failover on NIC fail. */
-       #define IFF_FAILED      0x0010000000    /* NIC has failed */
-
-       #define IFF_STANDBY     0x0020000000    /* Standby NIC-use on fail. */
-       #define IFF_INACTIVE    0x0040000000    /* Stndby active or not? */
-       #define IFF_OFFLINE     0x0080000000    /* NIC offlined */
-
-SunOS 5.10          Last change: 14 Nov 2008                   10
-
-Protocols                                              if_tcp(7P)
+       #define IFF_NOFAILOVER  0x0008000000    /* in.mpathd test address */
+       #define IFF_FAILED      0x0010000000    /* Interface has failed */
 
+       #define IFF_STANDBY     0x0020000000    /* Interface is a hot-spare */
+       #define IFF_INACTIVE    0x0040000000    /* Functioning but not used */
+       #define IFF_OFFLINE     0x0080000000    /* Interface is offline */
        #define IFF_XRESOLV     0x0100000000    /* IPv6 external resolver */
 
        #define IFF_COS_ENABLED 0x0200000000    /* If CoS marking is supported */
        #define IFF_PREFERRED   0x0400000000    /* Prefer as source address */
        #define IFF_TEMPORARY   0x0800000000    /* RFC3041 */
        #define IFF_FIXEDMTU    0x1000000000    /* MTU set with SIOCSLIFMTU */
 
        #define IFF_VIRTUAL     0x2000000000    /* Cannot send/receive pkts */
        #define IFF_DUPLICATE   0x4000000000    /* Local address in use */
+       #define IFF_IPMP        0x8000000000    /* IPMP IP interface */
 
 ERRORS
      EPERM        Calling process has insufficient privileges.
 
      ENXIO        The  lifr_name member of the  lifreq  structure