OpenSolaris

You are not signed in. Sign in or register.

Project Clearview: IPMP Rearchitecture

This part of the Clearview project fixes a number of longstanding deficiencies in IPMP by promoting each IPMP group to be an actual IP interface, along with several other smaller enhancements, such as ipmpstat. This page contains references to all material relating to the rationale, design, and implementation of these changes.

Key Milestones

  • Basic network connectivity using single interface IPMP group (Peter Memishian, February 2006)
  • Basic network connectivity using a multi-interface IPMP group (Peter Memishian, August 2006)
  • Integrated ARP changes necessary for IPMP into Nevada (Peter Memishian, October 2006)
  • Migrated existing IPMP test suite from STC1 to TET (Joanna Zhou, November 2006)
  • Completed dynamic reconfiguration interaction with IPMP (Peter Memishian, February 2007)
  • Completed alpha-level functionality (Peter Memishian; April 2007) (essentially: parity with Nevada's IPMP feature set, except for IPv6 support and IPv4 multicast and broadcast support). Notable milestones:
    • Boot support complete.
    • Probe-based and link-based failure detection both operational.
    • IPMP anonymous groups operational.
    • Active/passive interface configuration operational; FAILBACK=no operational.
    • Automatic inbound and outbound load spreading both operational.
  • Built and provided IPMP BFU archives to alpha customers (Peter Memishian, May 2007)
  • Completed implementation of new ipmpstat command (Peter Memishian, May 2007)
  • Completed PSARC inception (Peter Memishian, June 2007)
  • Completed broadcast code (Peter Memishian, July 2007)
  • Completed multicast code (Peter Memishian, July 2007)
  • Completed kstats and MIB code (Peter Memishian, July 2007)
  • Completed enhanced handling of duplicate hardware addresses (Peter Memishian, August 2007)
  • Completed implementation of sockets-based DHCP client (Peter Memishian, September 2007)
  • Integrated sockets-based DHCP client into Nevada (Peter Memishian, October 2007)
  • Completed DHCP support for IPMP data addresses (Peter Memishian, November 2007)
  • Built and provided IPMP BFU archives for beta customers (Peter Memishian, January 2008)
  • Completed basic IPv6 support for IPMP (Peter Memishian, February 2008)
  • Completed DHCP support for IPMP test addresses (Peter Memishian, April 2008)
  • Merged Clearview IPMP into the Clearview mainline (Peter Memishian, April 2008)
  • Refined IPMP kernel API and resolved assorted edge cases (Peter Memishian, May 2008)
  • Completed IP Filter support (Peter Memishian, June 2008)

Project Webrevs

Because IPMP is spread extensively throughout the kernel's IP module (which itself is 150000 lines of code), and because the new kernel implementation differs radically from the Nevada version but (must) occupy the same set of files, the project has two layered gates. The first gate is based on Nevada but the kernel's IPMP implementation removed; the second gate is identical to the first gate with the new Clearview implementation added. Since over 25000 lines of code have been changed in total, this significantly simplifies merges and future code reviews.

Webrevs are updated when milestones occur and upon request.