From 5c7a80aec366009214bd9f30a1fc7e3389fa93fb Mon Sep 17 00:00:00 2001 From: Huawei Xie Date: Thu, 9 Oct 2014 02:54:35 +0800 Subject: [PATCH] vhost: move from examples to dedicated library Those files will be refactored in subsequent patches to form user space vhost library. Makefile and main.h are removed. main.c is renamed to vhost_rxtx.c and will provide vring enqueue/dequeue API. virtio-net.h is renamed to rte_virtio_net.h which is the API header file. Signed-off-by: Huawei Xie Acked-by: Changchun Ouyang [Thomas: remove from examples Makefile and merge file renaming] --- examples/Makefile | 1 - examples/vhost/Makefile | 60 ------------- examples/vhost/main.h | 86 ------------------- .../librte_vhost}/eventfd_link/Makefile | 0 .../librte_vhost}/eventfd_link/eventfd_link.c | 0 .../librte_vhost}/eventfd_link/eventfd_link.h | 0 .../librte_vhost}/libvirt/qemu-wrap.py | 0 .../librte_vhost/rte_virtio_net.h | 0 .../librte_vhost}/vhost-net-cdev.c | 0 .../librte_vhost}/vhost-net-cdev.h | 0 .../main.c => lib/librte_vhost/vhost_rxtx.c | 0 .../vhost => lib/librte_vhost}/virtio-net.c | 0 12 files changed, 147 deletions(-) delete mode 100644 examples/vhost/Makefile delete mode 100644 examples/vhost/main.h rename {examples/vhost => lib/librte_vhost}/eventfd_link/Makefile (100%) rename {examples/vhost => lib/librte_vhost}/eventfd_link/eventfd_link.c (100%) rename {examples/vhost => lib/librte_vhost}/eventfd_link/eventfd_link.h (100%) rename {examples/vhost => lib/librte_vhost}/libvirt/qemu-wrap.py (100%) rename examples/vhost/virtio-net.h => lib/librte_vhost/rte_virtio_net.h (100%) rename {examples/vhost => lib/librte_vhost}/vhost-net-cdev.c (100%) rename {examples/vhost => lib/librte_vhost}/vhost-net-cdev.h (100%) rename examples/vhost/main.c => lib/librte_vhost/vhost_rxtx.c (100%) rename {examples/vhost => lib/librte_vhost}/virtio-net.c (100%) diff --git a/examples/Makefile b/examples/Makefile index 6245f833ac..110194dedf 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -62,7 +62,6 @@ DIRS-$(CONFIG_RTE_LIBRTE_METER) += qos_meter DIRS-$(CONFIG_RTE_LIBRTE_SCHED) += qos_sched DIRS-y += quota_watermark DIRS-y += timer -DIRS-y += vhost DIRS-$(CONFIG_RTE_LIBRTE_XEN_DOM0) += vhost_xen DIRS-y += vmdq DIRS-y += vmdq_dcb diff --git a/examples/vhost/Makefile b/examples/vhost/Makefile deleted file mode 100644 index f45f83f78b..0000000000 --- a/examples/vhost/Makefile +++ /dev/null @@ -1,60 +0,0 @@ -# BSD LICENSE -# -# Copyright(c) 2010-2014 Intel Corporation. All rights reserved. -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# * Neither the name of Intel Corporation nor the names of its -# contributors may be used to endorse or promote products derived -# from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -ifeq ($(RTE_SDK),) -$(error "Please define RTE_SDK environment variable") -endif - -# Default target, can be overriden by command line or environment -RTE_TARGET ?= x86_64-native-linuxapp-gcc - -include $(RTE_SDK)/mk/rte.vars.mk - -ifneq ($(CONFIG_RTE_EXEC_ENV),"linuxapp") -$(info This application can only operate in a linuxapp environment, \ -please change the definition of the RTE_TARGET environment variable) -all: -else - -# binary name -APP = vhost-switch - -# all source are stored in SRCS-y -#SRCS-y := cusedrv.c loopback-userspace.c -SRCS-y := main.c virtio-net.c vhost-net-cdev.c - -CFLAGS += -O2 -I/usr/local/include -D_FILE_OFFSET_BITS=64 -Wno-unused-parameter -CFLAGS += $(WERROR_FLAGS) -LDFLAGS += -lfuse - -include $(RTE_SDK)/mk/rte.extapp.mk - -endif diff --git a/examples/vhost/main.h b/examples/vhost/main.h deleted file mode 100644 index c15d938531..0000000000 --- a/examples/vhost/main.h +++ /dev/null @@ -1,86 +0,0 @@ -/*- - * BSD LICENSE - * - * Copyright(c) 2010-2014 Intel Corporation. All rights reserved. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Intel Corporation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef _MAIN_H_ -#define _MAIN_H_ - -#ifdef RTE_EXEC_ENV_BAREMETAL -#define MAIN _main -#else -#define MAIN main -#endif - -//#define DEBUG - -#ifdef DEBUG -#define LOG_LEVEL RTE_LOG_DEBUG -#define LOG_DEBUG(log_type, fmt, args...) do { \ - RTE_LOG(DEBUG, log_type, fmt, ##args); \ -} while (0) -#else -#define LOG_LEVEL RTE_LOG_INFO -#define LOG_DEBUG(log_type, fmt, args...) do{} while(0) -#endif - -/* Macros for printing using RTE_LOG */ -#define RTE_LOGTYPE_VHOST_CONFIG RTE_LOGTYPE_USER1 -#define RTE_LOGTYPE_VHOST_DATA RTE_LOGTYPE_USER2 -#define RTE_LOGTYPE_VHOST_PORT RTE_LOGTYPE_USER3 - -/* - * Device linked list structure for data path. - */ -struct virtio_net_data_ll -{ - struct virtio_net *dev; /* Pointer to device created by configuration core. */ - struct virtio_net_data_ll *next; /* Pointer to next device in linked list. */ -}; - -/* - * Structure containing data core specific information. - */ -struct lcore_ll_info -{ - struct virtio_net_data_ll *ll_root_free; /* Pointer to head in free linked list. */ - struct virtio_net_data_ll *ll_root_used; /* Pointer to head of used linked list. */ - uint32_t device_num; /* Number of devices on lcore. */ - volatile uint8_t dev_removal_flag; /* Flag to synchronize device removal. */ -}; - -struct lcore_info -{ - struct lcore_ll_info *lcore_ll; /* Pointer to data core specific lcore_ll_info struct */ -}; - -int MAIN(int argc, char **argv); -#endif /* _MAIN_H_ */ diff --git a/examples/vhost/eventfd_link/Makefile b/lib/librte_vhost/eventfd_link/Makefile similarity index 100% rename from examples/vhost/eventfd_link/Makefile rename to lib/librte_vhost/eventfd_link/Makefile diff --git a/examples/vhost/eventfd_link/eventfd_link.c b/lib/librte_vhost/eventfd_link/eventfd_link.c similarity index 100% rename from examples/vhost/eventfd_link/eventfd_link.c rename to lib/librte_vhost/eventfd_link/eventfd_link.c diff --git a/examples/vhost/eventfd_link/eventfd_link.h b/lib/librte_vhost/eventfd_link/eventfd_link.h similarity index 100% rename from examples/vhost/eventfd_link/eventfd_link.h rename to lib/librte_vhost/eventfd_link/eventfd_link.h diff --git a/examples/vhost/libvirt/qemu-wrap.py b/lib/librte_vhost/libvirt/qemu-wrap.py similarity index 100% rename from examples/vhost/libvirt/qemu-wrap.py rename to lib/librte_vhost/libvirt/qemu-wrap.py diff --git a/examples/vhost/virtio-net.h b/lib/librte_vhost/rte_virtio_net.h similarity index 100% rename from examples/vhost/virtio-net.h rename to lib/librte_vhost/rte_virtio_net.h diff --git a/examples/vhost/vhost-net-cdev.c b/lib/librte_vhost/vhost-net-cdev.c similarity index 100% rename from examples/vhost/vhost-net-cdev.c rename to lib/librte_vhost/vhost-net-cdev.c diff --git a/examples/vhost/vhost-net-cdev.h b/lib/librte_vhost/vhost-net-cdev.h similarity index 100% rename from examples/vhost/vhost-net-cdev.h rename to lib/librte_vhost/vhost-net-cdev.h diff --git a/examples/vhost/main.c b/lib/librte_vhost/vhost_rxtx.c similarity index 100% rename from examples/vhost/main.c rename to lib/librte_vhost/vhost_rxtx.c diff --git a/examples/vhost/virtio-net.c b/lib/librte_vhost/virtio-net.c similarity index 100% rename from examples/vhost/virtio-net.c rename to lib/librte_vhost/virtio-net.c -- 2.20.1