Example #1
0
lagopus_result_t
dp_interface_unconfigure_internal(struct interface *ifp) {
  lagopus_result_t rv;

  rv = LAGOPUS_RESULT_INVALID_ARGS;
  switch (ifp->info.type) {
    case DATASTORE_INTERFACE_TYPE_ETHERNET_DPDK_PHY:
    case DATASTORE_INTERFACE_TYPE_ETHERNET_DPDK_PCAP:
#ifdef HAVE_DPDK
      rv = dpdk_unconfigure_interface(ifp);
#endif
      break;

    case DATASTORE_INTERFACE_TYPE_ETHERNET_RAWSOCK:
      rv = rawsock_unconfigure_interface(ifp);
      break;

    case DATASTORE_INTERFACE_TYPE_UNKNOWN:
      rv = LAGOPUS_RESULT_OK;
      break;

    default:
      break;
  }

  return rv;
}
Example #2
0
lagopus_result_t
dp_interface_unconfigure_internal(struct interface *ifp) {
  lagopus_result_t rv;

  switch (ifp->info.type) {
    case DATASTORE_INTERFACE_TYPE_ETHERNET_DPDK_PHY:
    case DATASTORE_INTERFACE_TYPE_ETHERNET_DPDK_VDEV:
#ifdef HAVE_DPDK
      rv = dpdk_unconfigure_interface(ifp);
#else
      rv = LAGOPUS_RESULT_OK;
#endif /* HAVE_DPDK */
      break;

    case DATASTORE_INTERFACE_TYPE_ETHERNET_RAWSOCK:
      rv = rawsock_unconfigure_interface(ifp);
      break;

    case DATASTORE_INTERFACE_TYPE_UNKNOWN:
      /* nothing to do. */
      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:
      /* TODO */
      rv = LAGOPUS_RESULT_OK;
      break;

    default:
      rv = LAGOPUS_RESULT_OK;
      break;
  }
#ifdef HYBRID
  if (rv == LAGOPUS_RESULT_OK) {
    dp_tap_interface_destroy(ifp->name);
  }
#endif /* HYBRID */

  return rv;
}