The IPaddr2 resource agent is used by Heartbeat to configure IPv4 ServiceAddresses. Most resource groups will contain at least one IPaddr2 or IPaddr resource agent.
The basic syntax of an IPaddr2 resource is
IPaddr2::ip-address[/netmask[/interface][/broadcast]]
So, the following forms of addressing are legal:
IPaddr2::address IPaddr2::address/netmask IPaddr2::address/netmask/broadcast IPaddr2::address/netmask/interface IPaddr2::address/netmask/interface/broadcast
By far the most common case is the simplest one:
IPaddr2::ip-address
In this form, appropriate defaults are taken as described below.
If the interface was omitted, we use the system routing tables to determine which interface would be used to route a packet to the given address. That is, IPaddr2 selects the preferred interface for sending packets to that subnet. If no such interface can be found, heartbeat will issue a message something like this: ERROR: unable to find an interface for given-ip-address
If the CIDR netmask is omitted, we choose the netmask associated with the route to the subnet to which packets to the given IP address would be routed. That is, we simply look up the routing information for that address, and use it to compute the correct netmask (and other items as described below).
If the broadcast address was omitted, IPaddr2 defaults to the highest address in the subnet (the usual default).
IPaddr2::135.9.216.100 IPaddr2::135.9.216.100/24 (implies a 255.255.255.0 netmask) IPaddr2::135.9.216.100/24/135.9.216.255 IPaddr2::135.9.216.100/24/eth0 IPaddr2::135.9.216.100/24/eth0/135.9.216.255
The interface mentioned above does not include an alias number. Heartbeat assigns them dynamically according to the available alias names.
See http://www.doom.net/docs/netmask.html for a table explaining CIDR address format and their relationship to life, the universe and everything.
Unlike IPaddr, IPaddr2 has no obvious limitations on the number of addresses it can configure on an interface.
ResourceAgent, HeartbeatResourceAgent, IPaddr resource agent, Linux Hacks article on our send_arp command