> dladm create-aggr -d bge0 1 > > I got an error saying 'device busy'. Now bge0 was definitely gone from > ifconfig but from looking at the code it was apparent that when the bge > driver calls mac_register() this has the effect of doing a dls_create() > and presumably, therefore, the aggr driver finds that a dls reference > to the mac interface exists and thus refuses to use it.
That doesn't sound right to me. When the `ifconfig bge0 unplumb' occurs, we should go through dld_str_detach() -> dls_close() -> dls_active_clear() -> mac_active_clear() which will clear mi_activelink on the underlying mac_t. At this point, another mac client (aggr) should be able to use the underlying mac_t without restriction. (Otherwise, it is restricted to "passive" DLPI operations -- unless it issues a DL_PASSIVE_REQ, as per dlpi(7P)). However, it seems there must be a bug here -- or there was another DLS client holding open an instance and keeping mi_activelink set. Can you reproduce it? -- meem _______________________________________________ opensolaris-discuss mailing list opensolaris-discuss@opensolaris.org