--- old/./if_tcp.txt	Fri Dec 19 04:18:51 2008
+++ new/./if_tcp.txt	Fri Dec 19 04:18:51 2008
@@ -31,6 +31,10 @@
      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
@@ -100,40 +104,53 @@
 
      SIOCGLIFFLAGS       Get interface flags.
 
-     SIOCGLIFCONF        Get interface configuration  list.  This
-                         request  takes an lifconf structure (see
+     SIOCGLIFCONF        Get  interface configuration list.  This
+                         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.
+                
+                         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.
 
-Protocols                                              if_tcp(7P)
 
-                         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
@@ -176,21 +193,11 @@
 
      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
@@ -318,6 +325,7 @@
        };
 
        The structure used by SIOCGLIFNUM has the form:
+
        struct lifnum {
          sa_family_t     lifn_family;
          int             lifn_flags;   /* req. specf. interfaces */
@@ -401,8 +409,12 @@
                         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.
+                        ifreq    structure,     the ifr_name  and
+                        *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
 
@@ -413,7 +425,11 @@
                         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
@@ -468,7 +484,7 @@
      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 */
@@ -490,7 +506,7 @@
 
        #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 */
@@ -500,17 +516,12 @@
 
        #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 */
@@ -520,6 +531,7 @@
 
        #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.
