lagopus_result_t dp_interface_start_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_start_interface(ifp->info.eth.port_number); #else break; #endif case DATASTORE_INTERFACE_TYPE_ETHERNET_RAWSOCK: return rawsock_start_interface(ifp); case DATASTORE_INTERFACE_TYPE_UNKNOWN: return LAGOPUS_RESULT_OK; default: break; } return LAGOPUS_RESULT_INVALID_ARGS; }
lagopus_result_t dp_interface_start_internal(struct interface *ifp) { lagopus_result_t rv; switch (ifp->info.type) { #ifdef HAVE_DPDK case DATASTORE_INTERFACE_TYPE_ETHERNET_DPDK_PHY: case DATASTORE_INTERFACE_TYPE_ETHERNET_DPDK_VDEV: rv = dpdk_start_interface(ifp->info.eth.port_number); break; #endif case DATASTORE_INTERFACE_TYPE_ETHERNET_RAWSOCK: rv = rawsock_start_interface(ifp); break; case DATASTORE_INTERFACE_TYPE_UNKNOWN: rv = LAGOPUS_RESULT_OK; break; case DATASTORE_INTERFACE_TYPE_GRE: case DATASTORE_INTERFACE_TYPE_NVGRE: case DATASTORE_INTERFACE_TYPE_VXLAN: case DATASTORE_INTERFACE_TYPE_VHOST_USER: rv = LAGOPUS_RESULT_OK; break; default: rv = LAGOPUS_RESULT_INVALID_ARGS; break; } #ifdef HYBRID if (rv == LAGOPUS_RESULT_OK) { rv = dp_tap_start_interface(ifp->name); } #endif /* HYBRID */ return rv; }