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