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,43 +103,56 @@
                          interface are notified.
 
      SIOCGLIFFLAGS       Get interface flags.
 
      SIOCGLIFCONF        Get interface configuration  list.  This
-                         request  takes an lifconf structure (see
+                         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_len* field  should  be set  to the
+                         size  of  the  buffer    pointed to   by
+                         *lifc_buf*.
 
-SunOS 5.10          Last change: 14 Nov 2008                    2
+                         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.
 
-Protocols                                              if_tcp(7P)
+                         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.
 
-                         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.
 
      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
                          (which  is   reported   in   the    DLPI

@@ -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,11 +408,15 @@
                         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)
 

@@ -411,11 +423,15 @@
      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_NOFAILOVER  0x0008000000    /* in.mpathd test address */
+       #define IFF_FAILED      0x0010000000    /* Interface 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_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