Cathy Zhou wrote: > Hi, > > As we already discussed on this alias, we cannot completely get rid of > the dlpi_open() fallback logic (to open the /dev devices when opening > the /dev/net links fails) because: > > a. the vni interfaces only exist in /dev > b. the ib (infiniband) driver is not ported to GLDv3 yet, so that it > only exists in /dev > > But falling back to open the /dev devices have problems too. Assume > the scenario: > > a. one create a VLAN using a vanity name: > > # dladm create-vlan -l bge1 -v 1 vlan1 > > b. then on tries to plumb this VLAN using the VLAN ppa name, it should > fail. But it actually succeed in current clearview bits: > > # ifconfig bge1001 plumb > > As opening /dev/net/bge1001 fails with the error code EEXIST, it falls > back to open the bge1001 in /dev, and the style-2 open succeed. > > I can think two solutions: > > a. using strcmp(), and only allow fallback for certain drivers, > including ib and vni. > > b. only fallback when opening /dev/net/<ifN> returns ENOENT. > > I think b would solve the problem in this scenario but it might not > cover all cases. > > What do you think? I think solution b is better. Adding more strcmp() if we find more drivers seems more problematic.
-sagun -- Sagun Shakya 781.442.7344/ X27344 sagun.shakya at sun.com
