lagopus_result_t dp_interface_stop_internal(struct interface *ifp) { if (ifp == NULL) { return LAGOPUS_RESULT_INVALID_ARGS; } #ifdef HYBRID dp_tap_stop_interface(ifp->name); #endif /* HYBRID */ switch (ifp->info.type) { case DATASTORE_INTERFACE_TYPE_ETHERNET_DPDK_PHY: case DATASTORE_INTERFACE_TYPE_ETHERNET_DPDK_VDEV: #ifdef HAVE_DPDK return dpdk_stop_interface(ifp->info.eth.port_number); #else break; #endif case DATASTORE_INTERFACE_TYPE_ETHERNET_RAWSOCK: return rawsock_stop_interface(ifp); case DATASTORE_INTERFACE_TYPE_UNKNOWN: break; case DATASTORE_INTERFACE_TYPE_GRE: case DATASTORE_INTERFACE_TYPE_NVGRE: case DATASTORE_INTERFACE_TYPE_VXLAN: case DATASTORE_INTERFACE_TYPE_VHOST_USER: /* TODO */ break; default: break; } return LAGOPUS_RESULT_OK; }
lagopus_result_t dp_interface_stop_internal(struct interface *ifp) { switch (ifp->info.type) { case DATASTORE_INTERFACE_TYPE_ETHERNET_DPDK_PHY: case DATASTORE_INTERFACE_TYPE_ETHERNET_DPDK_PCAP: #ifdef HAVE_DPDK return dpdk_stop_interface(ifp->info.eth.port_number); #else break; #endif case DATASTORE_INTERFACE_TYPE_ETHERNET_RAWSOCK: return rawsock_stop_interface(ifp); case DATASTORE_INTERFACE_TYPE_UNKNOWN: return LAGOPUS_RESULT_OK; default: break; } return LAGOPUS_RESULT_INVALID_ARGS; }