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