Testing and code examination have revealed a number of additional issues
with the Nevada RPCIB/SDP/RDS code which need to be fixed for it to work
properly with IPMP (and vanity naming, for that matter).  The changes
simplify the code a great deal by introducing a new lifr_type field which
IP fills in for each lifreq returned via SIOCGLIFCONF.  We can do this
without affecting binary compatibility since the Clearview IPMP work freed
up the project-private lifr_movetoindex field, which has been recycled for
lifr_type.

All of this means that RPCIB/SDP/RDS can simply check if lifr_type is
IFT_IB, rather than all the machinations they used to do.  Along the way,
I noticed that I forgot to update ill_type on the IPMP IP interface as
underlying IP interfaces come and go, which is essential to the solution.
(It'd also be nice if loopback used IFT_LOOP or somesuch so we could
remove the lo0 checks, but that's for another time.)  Oh, and there are
also a bunch of other bugs in the Nevada code that I fixed along the way,
discussed in the Evalaution for 6784852.

There are also some small changes to fix a problem where the IPv6
solicited-node multicast address for the IPMP IP interface didn't work.

  http://zhadum.east/ws/clearview/clearview-ipmpdev/misc-bugfixes/

-- 
meem

Reply via email to