Example #1
0
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;
}
Example #2
0
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;
}