Lines Matching defs:vdds

142 	vnet_dds_info_t *vdds = arg;
144 if (vdds != NULL) {
146 vdds->vnetp->instance, fname);
232 vnet_dds_info_t *vdds = &vnetp->vdds_info;
235 vdds->vnetp = vnetp;
236 DBG1(vdds, "Initializing..");
238 if ((vdds->dds_taskqp = ddi_taskq_create(vnetp->dip, qname, 1,
244 mutex_init(&vdds->lock, NULL, MUTEX_DRIVER, NULL);
254 vnet_dds_info_t *vdds = &vnetp->vdds_info;
256 DBG1(vdds, "Cleanup...");
261 ddi_taskq_destroy(vdds->dds_taskqp);
262 vdds->dds_taskqp = NULL;
263 mutex_destroy(&vdds->lock);
264 DBG1(vdds, "Cleanup complete");
274 vnet_dds_info_t *vdds = &vnetp->vdds_info;
276 DBG1(vdds, "Hybrid device cleanup...");
277 mutex_enter(&vdds->lock);
278 if (vdds->task_flags == VNET_DDS_TASK_ADD_SHARE) {
284 vdds->task_flags = 0;
285 DBG2(vdds, "Task for ADD is pending, clean flags only");
286 } else if ((vdds->hio_dip != NULL) && (vdds->task_flags == 0)) {
291 vdds->task_flags = VNET_DDS_TASK_REL_SHARE;
292 (void) ddi_taskq_dispatch(vdds->dds_taskqp,
294 DBG2(vdds, "Dispatched a task to destroy HIO device");
301 mutex_exit(&vdds->lock);
302 DBG1(vdds, "Hybrid device cleanup complete");
312 vnet_dds_info_t *vdds = &vnetp->vdds_info;
314 /* Wait for any pending vdds tasks to complete */
315 ddi_taskq_wait(vdds->dds_taskqp);
318 ddi_taskq_wait(vdds->dds_taskqp);
327 vnet_dds_info_t *vdds = &vnetp->vdds_info;
330 DBG1(vdds, "DDS message received...");
333 DBG2(vdds, "Invalid class send NACK");
337 mutex_enter(&vdds->lock);
340 DBG2(vdds, "DDS_VNET_ADD_SHARE message...");
341 if ((vdds->task_flags != 0) || (vdds->hio_dip != NULL)) {
346 DWARN(vdds, "NACK: Already pending DDS task");
348 mutex_exit(&vdds->lock);
351 vdds->task_flags = VNET_DDS_TASK_ADD_SHARE;
353 DBG2(vdds, "Dispatching task for ADD_SHARE");
354 rv = ddi_taskq_dispatch(vdds->dds_taskqp,
358 DBG2(vdds, "NACK: Failed to dispatch task");
360 vdds->task_flags = 0;
365 DBG2(vdds, "DDS_VNET_DEL_SHARE message...");
366 if (vdds->task_flags == VNET_DDS_TASK_ADD_SHARE) {
371 DBG2(vdds, "ACK:ADD_SHARE task still pending");
372 vdds->task_flags = 0;
374 mutex_exit(&vdds->lock);
377 if ((vdds->task_flags == 0) && (vdds->hio_dip == NULL)) {
379 DBG2(vdds, "NACK:No HIO device exists");
381 mutex_exit(&vdds->lock);
384 vdds->task_flags = VNET_DDS_TASK_DEL_SHARE;
385 bcopy(dmsg, &vdds->dmsg, sizeof (vio_dds_msg_t));
386 DBG2(vdds, "Dispatching DEL_SHARE task");
387 rv = ddi_taskq_dispatch(vdds->dds_taskqp,
391 DBG2(vdds, "NACK: failed to dispatch task");
393 vdds->task_flags = 0;
397 DBG2(vdds, "Reply for REL_SHARE reply=%d",
401 DWARN(vdds, "Discarding Unknown DDS message");
404 mutex_exit(&vdds->lock);
415 vnet_dds_info_t *vdds = &vnetp->vdds_info;
416 vio_dds_msg_t *dmsg = &vdds->dmsg;
422 DBG1(vdds, "DDS task started...");
423 mutex_enter(&vdds->lock);
424 switch (vdds->task_flags) {
426 DBG2(vdds, "ADD_SHARE task...");
439 DERR(vdds, "Failed to create HIO node");
441 vdds->hio_dip = dip;
442 vdds->hio_cookie = hio_cookie;
443 (void) snprintf(vdds->hio_ifname,
444 sizeof (vdds->hio_ifname), "%s%d",
447 rv = vnet_hio_mac_init(vnetp, vdds->hio_ifname);
450 DERR(vdds, "HIO mac init failed, cleaning up");
454 DERR(vdds, "Successfully destroyed"
461 vdds->hio_dip = NULL;
462 vdds->hio_cookie = 0;
470 DERR(vdds, "Successfully created HIO node");
475 DBG2(vdds, "DEL_SHARE task...");
477 DBG2(vdds, "NACK: No HIO device destroy");
482 vdds->hio_cookie);
485 DERR(vdds, "Successfully destroyed"
492 DBG2(vdds, "ACK: HIO device destroyed");
494 vdds->hio_dip = 0;
495 vdds->hio_cookie = 0;
499 DBG2(vdds, "REL_SHARE task...");
503 vdds->hio_cookie);
505 DERR(vdds, "Successfully destroyed "
513 vdds->hio_dip = 0;
514 vdds->hio_cookie = 0;
520 vdds->task_flags = 0;
521 mutex_exit(&vdds->lock);
530 vnet_dds_info_t *vdds = &vnetp->vdds_info;
535 DBG1(vdds, "Sending DDS_VNET_REL_SHARE message");
542 vmsg.dds_req_id = (++vdds->dds_req_id);
544 smsg->cookie = vdds->hio_cookie;
555 vnet_dds_info_t *vdds = &vnetp->vdds_info;
558 DBG1(vdds, "Sending a response mesage=%d", ack);