/* * dpdk_virtual_if_del - deletes a virtual (virtio) interface from vrouter. * Returns 0 on success, -1 otherwise. */ static int dpdk_virtual_if_del(struct vr_interface *vif) { int ret; RTE_LOG(INFO, VROUTER, "Deleting vif %u virtual device\n", vif->vif_idx); vr_dpdk_lcore_if_unschedule(vif); ret = vr_netlink_uvhost_vif_del(vif->vif_idx); if (ret) { RTE_LOG(ERR, VROUTER, "Error deleting vif %u virtual device %s\n", vif->vif_idx, vif->vif_name); } return ret; }
/* * dpdk_virtual_if_del - deletes a virtual (virtio) interface from vrouter. * Returns 0 on success, -1 otherwise. */ static int dpdk_virtual_if_del(struct vr_interface *vif) { int ret; RTE_LOG(INFO, VROUTER, "Deleting vif %u virtual device\n", vif->vif_idx); ret = vr_netlink_uvhost_vif_del(vif->vif_idx); vr_dpdk_lcore_if_unschedule(vif); /* * TODO - User space vhost thread need to ack the deletion of the vif. */ return ret; }