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?

Thanks
- Cathy


Reply via email to