DPDK patches and discussions
 help / color / mirror / Atom feed
From: Huawei Xie <huawei.xie@intel.com>
To: dev@dpdk.org
Subject: [dpdk-dev] [PATCH v6 04/25] lib/librte_vhost: remove mac learning, VMDQ, mac/vlan and other switching related logic
Date: Thu,  9 Oct 2014 02:54:38 +0800	[thread overview]
Message-ID: <1412794499-4332-5-git-send-email-huawei.xie@intel.com> (raw)
In-Reply-To: <1412794499-4332-1-git-send-email-huawei.xie@intel.com>

The following logics will be moved to vhost example.
 1. mac learning, which is used to learn the mac address from the first transmitted packet of guest and bind
the vhost device to a queue in a pool of VMDQ.
 2. VMDQ mac/vlan filter: Each pool the vhost device is bind to is assigned a mac/vlan filter.
 3. num_devices is used to specify the maximum vhost devices the nic supports.

Signed-off-by: Huawei Xie <huawei.xie@intel.com>
---
 lib/librte_vhost/rte_virtio_net.h |  6 ------
 lib/librte_vhost/vhost_rxtx.c     | 18 ------------------
 lib/librte_vhost/virtio-net.c     | 15 ---------------
 3 files changed, 39 deletions(-)

diff --git a/lib/librte_vhost/rte_virtio_net.h b/lib/librte_vhost/rte_virtio_net.h
index 1a2f0dc..4d43f2c 100644
--- a/lib/librte_vhost/rte_virtio_net.h
+++ b/lib/librte_vhost/rte_virtio_net.h
@@ -83,15 +83,9 @@ struct virtio_net
 {
 	struct vhost_virtqueue	*virtqueue[VIRTIO_QNUM];	/* Contains all virtqueue information. */
 	struct virtio_memory 	*mem;						/* QEMU memory and memory region information. */
-	struct ether_addr 		mac_address;				/* Device MAC address (Obtained on first TX packet). */
 	uint64_t 				features;					/* Negotiated feature set. */
 	uint64_t 				device_fh;					/* device identifier. */
-	uint32_t 				vmdq_rx_q;					/* RX VMDQ queue number. */
 	uint32_t 				flags;						/* Device flags. Only used to check if device is running on data core. */
-	uint32_t 				vlan_tag;					/* Vlan tag for device. Currently set to device_id (0-63). */
-	uint16_t 				coreid;						/* Data core that the device is added to. */
-	volatile uint8_t 		ready;						/* A device is set as ready if the MAC address has been set. */
-	volatile uint8_t		remove;						/* Device is marked for removal from the data core. */
 } __rte_cache_aligned;
 
 /*
diff --git a/lib/librte_vhost/vhost_rxtx.c b/lib/librte_vhost/vhost_rxtx.c
index 8b5abb9..d553e71 100644
--- a/lib/librte_vhost/vhost_rxtx.c
+++ b/lib/librte_vhost/vhost_rxtx.c
@@ -735,24 +735,6 @@ virtio_dev_merge_tx(struct virtio_net *dev, struct rte_mempool *mbuf_pool)
 
 		m->nb_segs = seg_num;
 
-		/*
-		 * If this is the first received packet we need to learn
-		 * the MAC and setup VMDQ
-		 */
-		if (dev->ready == DEVICE_MAC_LEARNING) {
-			if (dev->remove || (link_vmdq(dev, m) == -1)) {
-				/*
-				 * Discard frame if device is scheduled for
-				 * removal or a duplicate MAC address is found.
-				 */
-				entry_success = free_entries;
-				vq->last_used_idx += entry_success;
-				rte_pktmbuf_free(m);
-				break;
-			}
-		}
-
-		virtio_tx_route(dev, m, mbuf_pool, (uint16_t)dev->device_fh);
 		vq->last_used_idx++;
 		entry_success++;
 		rte_pktmbuf_free(m);
diff --git a/lib/librte_vhost/virtio-net.c b/lib/librte_vhost/virtio-net.c
index 5e659c7..4089584 100644
--- a/lib/librte_vhost/virtio-net.c
+++ b/lib/librte_vhost/virtio-net.c
@@ -55,9 +55,6 @@
 
 const char eventfd_cdev[] = "/dev/eventfd-link";
 
-extern uint32_t num_devices;
-static uint32_t num_cur_devices = 0;
-
 /* device ops to add/remove device to data core. */
 static struct virtio_net_device_ops const * notify_ops;
 /* Root address of the linked list in the configuration core. */
@@ -434,12 +431,6 @@ new_device(struct vhost_device_ctx ctx)
 	struct virtio_net_config_ll *new_ll_dev;
 	struct vhost_virtqueue *virtqueue_rx, *virtqueue_tx;
 
-	/*check the number of devices in the system*/
-	if (num_cur_devices == num_devices) {
-		RTE_LOG(ERR, VHOST_CONFIG, "() Max num devices (%u) exceeded\n", num_devices);
-		return -1;
-	}
-
 	/* Setup device and virtqueues. */
 	new_ll_dev = malloc(sizeof(struct virtio_net_config_ll));
 	if (new_ll_dev == NULL) {
@@ -473,9 +464,6 @@ new_device(struct vhost_device_ctx ctx)
 	/* Add entry to device configuration linked list. */
 	add_config_ll_entry(new_ll_dev);
 
-	/*increment the number of devices in the system*/
-	num_cur_devices++;
-
 	return new_ll_dev->dev.device_fh;
 }
 
@@ -506,9 +494,6 @@ destroy_device(struct vhost_device_ctx ctx)
 			ll_dev_cur = ll_dev_cur->next;
 		}
 	}
-
-	/*decrement the number of devices in the system*/
-	num_cur_devices--;
 }
 
 /*
-- 
1.8.1.4

  parent reply	other threads:[~2014-10-08 18:48 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-08 18:54 [dpdk-dev] [PATCH v6 00/25] user space vhost library Huawei Xie
2014-10-08 18:54 ` [dpdk-dev] [PATCH v6 01/25] lib/librte_vhost: move src files from examples/vhost to lib/librte_vhost Huawei Xie
2014-10-08 18:54 ` [dpdk-dev] [PATCH v6 02/25] lib/librte_vhost: rename main.c to vhost_rxtx.c and virtio-net.h to rte_virtio_net.h Huawei Xie
2014-10-08 18:54 ` [dpdk-dev] [PATCH v6 03/25] lib/librte_vhost: clean unused codes in vhost_rxtx.c Huawei Xie
2014-10-08 18:54 ` Huawei Xie [this message]
2014-10-08 18:54 ` [dpdk-dev] [PATCH v6 05/25] lib/librte_vhost: remove zero copy memory region generation logic Huawei Xie
2014-10-08 18:54 ` [dpdk-dev] [PATCH v6 06/25] lib/librte_vhost: remove retry logic Huawei Xie
2014-10-08 18:54 ` [dpdk-dev] [PATCH v6 07/25] lib/librte_vhost: patch virtio_dev_merge_tx to return packets to upper layer Huawei Xie
2014-10-08 18:54 ` [dpdk-dev] [PATCH v6 08/25] lib/librte_vhost: calculate mbuf size Huawei Xie
2014-10-08 18:54 ` [dpdk-dev] [PATCH v6 09/25] lib/librte_vhost: add queue_id parameter to vhost rx/tx functions Huawei Xie
2014-10-08 18:54 ` [dpdk-dev] [PATCH v6 10/25] lib/librte_vhost: define PACKET_BURST Huawei Xie
2014-10-08 18:54 ` [dpdk-dev] [PATCH v6 11/25] lib/librte_vhost: rte_vhost_en/dequeue_burst API Huawei Xie
2014-10-08 18:54 ` [dpdk-dev] [PATCH v6 12/25] lib/librte_vhost: move virtio_net_config_ll structure to virtio_net.c Huawei Xie
2014-10-08 18:54 ` [dpdk-dev] [PATCH v6 13/25] lib/librte_vhost: remove index parameter Huawei Xie
2014-10-08 18:54 ` [dpdk-dev] [PATCH v6 14/25] lib/librte_vhost: call get_virtio_net_callbacks to get internal ops in register_cuse_device Huawei Xie
2014-10-08 18:54 ` [dpdk-dev] [PATCH v6 15/25] lib/librte_vhost: rte_vhost_driver_register and rte_vhost_session_start API Huawei Xie
2014-10-08 18:54 ` [dpdk-dev] [PATCH v6 16/25] lib/librte_vhost: rename init_virtio_net to rte_vhost_callback_register Huawei Xie
2014-10-08 18:54 ` [dpdk-dev] [PATCH v6 17/25] lib/librte_vhost: vhost APIs Huawei Xie
2014-10-08 18:54 ` [dpdk-dev] [PATCH v6 18/25] lib/librte_vhost: add debug print Huawei Xie
2014-10-08 18:54 ` [dpdk-dev] [PATCH v6 19/25] lib/librte_vhost: VHOST SUPPORTED FEATURES Huawei Xie
2014-10-08 18:54 ` [dpdk-dev] [PATCH v6 20/25] lib/librte_vhost: header file cleanups Huawei Xie
2014-10-08 18:54 ` [dpdk-dev] [PATCH v6 21/25] lib/librte_vhost: static variable fixes Huawei Xie
2014-10-08 18:54 ` [dpdk-dev] [PATCH v6 22/25] lib/librte_vhost: add priv context field to virtio_net structure Huawei Xie
2014-10-08 18:54 ` [dpdk-dev] [PATCH v6 23/25] lib/librte_vhost: coding style fixes Huawei Xie
2014-10-08 18:54 ` [dpdk-dev] [PATCH v6 24/25] lib/librte_vhost: add TODO/FIXME for identified issues Huawei Xie
2014-10-08 18:54 ` [dpdk-dev] [PATCH v6 25/25] lib/librte_vhost: add vhost support in Makefile Huawei Xie
2014-10-09 18:36 ` [dpdk-dev] [PATCH v6 00/25] user space vhost library Xie, Huawei
2014-10-11  8:31 ` Ouyang, Changchun
2014-10-13 19:51 ` Thomas Monjalon
2014-10-13 20:53   ` Xie, Huawei

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1412794499-4332-5-git-send-email-huawei.xie@intel.com \
    --to=huawei.xie@intel.com \
    --cc=dev@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).