Peter Memishian wrote:
> That little bit of code is only needed for "ce", and perhaps "ge". It
> would be pretty trivial to make "ce" export DLPI style 1 nodes (and "ge"
> as well -- heck "ge" could be trivially converted to GLDv3 since it uses
> the same controller as eri, and that is already GLDv3.) All other
> network bootable devices already (I believe) export DLPI style 1 nodes.
I don't think this is true. The boot code relies on the nodes in
/devices. In particular, look at resolve_boot_path(), which hands back:
(void) snprintf(rootfs.bo_devname, BO_MAXOBJNAME,
"/devices/pseudo/cl...@0:%s", driver);
(void) snprintf(rootfs.bo_ifname, BO_MAXOBJNAME, "%s%d",
driver, instance);
rootfs.bo_ppa = instance;
Again, the /dev nodes have not been created yet.
But the /devices nodes do exist. The dev_info_t * can probably be
trivially located using ddi_find_devinfo(char *nodename, instance,
attached). From the dev_info_t, its trivial to obtain the path name in
/devices. The use of the "clone" node is just a short-cut, and clone.c
has to resolve the real device path anyway, after all. There is no magic
here.
> Agreed... I want to clean it up. But part of the process needs to
> include *notification* of the intent that these will be removed at some
> point in the future.... so I'm asking about making the interfaces
> Obsolete, not about actually removing them. Its *obviously* premature to
> remove anything.
If these aren't things we plan to remove for Solaris 11, then we have
plenty of time to work out a transition plan.
Its a lot easier to do a future removal if someone has notified in
advance. Its also better, IMO, if we intend that nobody use these these
interfaces that we actually *tell* them this. Indefinite deferral to the
future is why it took ~gazillion years to finally get rid of in.tnamed
and /usr/ucb/cc. Planning ahead makes it easier.
- Garrett
_______________________________________________
networking-discuss mailing list
[email protected]