summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMohsin Kazmi <sykazmi@cisco.com>2019-09-05 20:17:30 +0200
committerMohsin Kazmi <sykazmi@cisco.com>2019-09-06 07:50:13 +0000
commita069762e8e67f2acb6de612ece01666b1c350473 (patch)
tree3f0c37c92506f298e8dc44a5a125aeb0b00b16d0
parentea397f5a67e8cdef1034757cb07fb409dd150fb8 (diff)
tap: revert clean-up when linux will delete the tap interface
Type: fix Ticket: VPP-1766 revert e4ac48e792f4eebfce296cfde844ee73b1abd62f Change-Id: I03feea4008a47859d570ad8d1d08ff3f30d139ef Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com> (cherry picked from commit 623a1b7053424b539a51faf866ab839d3da3f45b)
-rw-r--r--src/vnet/devices/tap/tap.c42
-rw-r--r--src/vnet/devices/virtio/virtio.h1
2 files changed, 0 insertions, 43 deletions
diff --git a/src/vnet/devices/tap/tap.c b/src/vnet/devices/tap/tap.c
index 917bd10644c..f2903a95adc 100644
--- a/src/vnet/devices/tap/tap.c
+++ b/src/vnet/devices/tap/tap.c
@@ -58,38 +58,6 @@ virtio_eth_flag_change (vnet_main_t * vnm, vnet_hw_interface_t * hi,
return 0;
}
-void vl_api_rpc_call_main_thread (void *fp, u8 * data, u32 data_length);
-
-static clib_error_t *
-call_tap_read_ready (clib_file_t * uf)
-{
- /* nothing to do */
- return 0;
-}
-
-static void
-tap_delete_if_cp (u32 * sw_if_index)
-{
- vlib_main_t *vm = vlib_get_main ();
- tap_delete_if (vm, *sw_if_index);
-}
-
-/*
- * Tap clean-up routine:
- * Linux side of tap interface can be deleted i.e. tap is
- * attached to container and if someone will delete this
- * container, will also removes tap interface. While VPP
- * will have other side of tap. This function will RPC
- * main thread to call the tap_delete_if to cleanup tap.
- */
-static clib_error_t *
-call_tap_error_ready (clib_file_t * uf)
-{
- vl_api_rpc_call_main_thread (tap_delete_if_cp, (u8 *) & uf->private_data,
- sizeof (uf->private_data));
- return 0;
-}
-
static int
open_netns_fd (char *netns)
{
@@ -125,7 +93,6 @@ tap_create_if (vlib_main_t * vm, tap_create_if_args_t * args)
size_t hdrsz;
struct vhost_memory *vhost_mem = 0;
virtio_if_t *vif = 0;
- clib_file_t t = { 0 };
clib_error_t *err = 0;
int fd = -1;
char *host_if_name = 0;
@@ -468,14 +435,6 @@ tap_create_if (vlib_main_t * vm, tap_create_if_args_t * args)
VNET_HW_INTERFACE_FLAG_LINK_UP);
vif->cxq_vring = NULL;
- t.read_function = call_tap_read_ready;
- t.error_function = call_tap_error_ready;
- t.file_descriptor = vif->tap_fd;
- t.private_data = vif->sw_if_index;
- t.description = format (0, "tap sw_if_index %u fd: %u",
- vif->sw_if_index, vif->tap_fd);
- vif->tap_file_index = clib_file_add (&file_main, &t);
-
goto done;
error:
@@ -535,7 +494,6 @@ tap_delete_if (vlib_main_t * vm, u32 sw_if_index)
if (hw->flags & VNET_HW_INTERFACE_FLAG_SUPPORTS_GSO)
vnm->interface_main.gso_interface_count--;
- clib_file_del_by_index (&file_main, vif->tap_file_index);
/* bring down the interface */
vnet_hw_interface_set_flags (vnm, vif->hw_if_index, 0);
vnet_sw_interface_set_flags (vnm, vif->sw_if_index, 0);
diff --git a/src/vnet/devices/virtio/virtio.h b/src/vnet/devices/virtio/virtio.h
index 52b57e9d95f..070d0a45262 100644
--- a/src/vnet/devices/virtio/virtio.h
+++ b/src/vnet/devices/virtio/virtio.h
@@ -179,7 +179,6 @@ typedef struct
ip6_address_t host_ip6_addr;
u8 host_ip6_prefix_len;
u32 host_mtu_size;
- u32 tap_file_index;
int gso_enabled;
int ifindex;
virtio_vring_t *cxq_vring;
x */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */ }
# Copyright (c) 2018 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

add_vpp_plugin(memif
  SOURCES
  memif.c
  memif_api.c
  cli.c
  node.c
  device.c
  socket.c

  API_FILES
  memif.api

  API_TEST_SOURCES
  memif_test.c

  MULTIARCH_SOURCES
  device.c
  node.c

  INSTALL_HEADERS
  memif.h
  memif_all_api_h.h
  memif_msg_enum.h
)