IPMP on the cheap with Solaris 10

While discussing some examples of unapproachable features in Solaris today, one of our luminaries (who shall remain nameless so as not to dim his luminosity ;-) was noting how customers wouldn't use IP multipathing (IPMP) because of its requirement for additional, dedicated IP addresses to probe the network and detect failures. I pointed out that this is actually no longer true, as we implemented RFE 4840370 in Solaris 10. He hadn't heard about that, and I suspect most everyone else hasn't, either, since it didn't make it into the Solaris 10 What's New book. Here's what we should have said in that book:

"The use of a dedicated test address for IP multipathing groups is no longer required as of Solaris 10. When test addresses are not configured on the interfaces assigned to a group, IP multipathing will detect interface failures solely by monitoring the IFF_RUNNING flag for each network interface. This requires that the network interface driver support link status notification, which is true of most recent network drivers in Solaris. For further information, see in.mpathd(1M) and the System Administration Guide: IP Services."

The end result is that IPMP can be done "on the cheap" if you only care to passively monitor the link status from the driver; if you want to do active monitoring using ICMP probes, it'll still cost you a test address dedicated to each network interface. Note, though, that in.mpathd can use IPv6 link-local addresses for this purpose, one small reason to think about getting to know IPv6.

My buddy meem the code minimalist was the implementor of this feature. Perhaps he'll see fit to talk about the details at some point.


This is why I love the Sun blogs: good info that doesn't make it into the documentation. Any chance this feature will be backported to Solaris 8 and/or 9?

Posted by ML Starkey on September 07, 2005 at 10:38 AM EDT #

At this point I would not expect it to be backported to Solaris 8 or 9., as I don't know of any additional update releases planned for either one.

Posted by Dave Miner on September 07, 2005 at 12:53 PM EDT #

Any examples of configs for IPv4 data address with 2 NICs and only IPv6 test addresses?

I have the following:

/etc/hostname.bge0: group test

-failover group test up

-failover group test up
is this all I need?

Posted by Matthew Flanagan on October 24, 2005 at 04:20 PM EDT #

Can you also tell me when I should use IPMP rather than greating an aggregation with dladm(1m) [ this is for bge0 on a v40z if it matters ].

Posted by Darren Moffat on December 08, 2005 at 01:48 AM EST #

Since link aggregation requires switch support, that's the first thing to consider. Assuming it does, then you can choose either way, the main difference being link aggregation theoretically would give you higher peak performance on a single TCP connection. There are probably other factors to consider, but I'm hardly an expert on aggregation so I'll not dig myself in deeper.

Posted by Dave Miner on December 09, 2005 at 09:33 AM EST #

Link based IPMP is discussed in the latest rev of SunEd's SA300 Network Administration instructor led course. While it didn't make the Whats New list at release time, it hasn't been forgotten and is being taught by Solaris 10 instructors. It's a cool new feature. Thanks for spreading the info even more. Not everyone will be retaking the Solaris 10 courses so it's good they can learn about it here.

Posted by Aaron Brendel on December 21, 2005 at 12:34 PM EST #

A how-to on configuring IPv6 only test addresses can be found here.

Posted by Matthew Flanagan on January 16, 2007 at 01:47 PM EST #

Post a Comment:
Comments are closed for this entry.

I'm the architect for Solaris deployment and system management, with a lot of background in networking on the side. I spend a lot of my time currently operating Solaris Engineering's OpenStack cloud. I am co-author of the OpenSolaris Bible (Wiley, 2009). I also play a lot of golf.


« February 2016

No bookmarks in folder


No bookmarks in folder