OpenSolaris

Printable Version Enter a New Search
Bug ID 6784852
Synopsis RPCIB, SDP, and RDS all break when vanity naming is used
State 10-Fix Delivered (Fix available in build)
Category:Subcategory ib_sw:ibd
Keywords
Responsible Engineer Peter Memishian
Reported Against
Duplicate Of
Introduced In solaris_nevada
Commit to Fix snv_107
Fixed In snv_107
Release Fixed solaris_nevada(snv_107)
Related Bugs 6577618 , 6783149 , 6784858
Submit Date 13-December-2008
Last Update Date 28-January-2009
Description
During Clearview IPMP development, I noticed that RPCIB, SDP, and RDS all 
have significant issues that prevent them from working with Clearview 
Vanity Naming (integrated into snv_83).  Specifically: 
 
    * RDS and RPCIB (which appear to share reams of similar-looking code)
      both issue a SIOCGIFCONF and try to filter out any non-RDMA-capable
      interfaces.  They do this by taking the IP interface name and
      attempting to open it as DLPI link in /dev.  They then issue a
      DL_INFO_REQ, get the type information back, and check for DL_IB. 
      For more, see rpcib_is_ib_interface(), rds_is_ib_interface(), and 
      several related functions. 
 
      Obviously, this won't work if DLPI link has been renamed 
      since the vanity names are in /dev/net.  Moreover, this will be 
      rendered even more broken by the upcoming Clearview IPMP work 
      because an IPMP IP interface has no direct corresponding DLPI link. 
 
    * The RDS code further does additional checks in ibcm_arp_link.c. 
      In this case, specific bcmp() calls are made to test if the IP 
      interface begins with the letters "ibd", which is even more broken. 
 
    * The SDP code has its own set of interface checks in sdp_link.c 
      (this seems to be cut-and-pasted from RDS).  Again, bcmp() calls 
      are made to test if the IP interface begins with the letters "ibd". 
 
All of this needs to be fixed both for Clearview Vanity Naming to work --
and for Clearview IPMP to be supported with RDS, SDP and RPCIB.
Work Around
N/A
Comments
A few of these violations pre-date the integration of vanity-naming and thus
should've been fixed as part of that integration.  Setting "Introduced in Build"
and "Introduced in Release" accordingly.