net: create NET_MODULE for compiling different net_implementations

Change-Id: Id370631770cb2e090c3efbe95cd86db4f6168c5e
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.gerrithub.io/403702
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
Tomasz Zawadzki 2018-03-14 08:54:30 -04:00 committed by Jim Harris
parent 21ef6ee50d
commit 609fb9a16b
8 changed files with 65 additions and 10 deletions

View File

@ -45,7 +45,7 @@ CFLAGS += -I$(SPDK_ROOT_DIR)/lib
C_SRCS := iscsi_tgt.c
SPDK_LIB_LIST = event_bdev event_copy event_iscsi event_net event_scsi
SPDK_LIB_LIST += jsonrpc json rpc bdev_rpc bdev iscsi scsi net copy trace conf
SPDK_LIB_LIST += jsonrpc json rpc bdev_rpc bdev iscsi scsi copy trace conf
SPDK_LIB_LIST += util log log_rpc event app_rpc
ifeq ($(OS),Linux)
@ -53,14 +53,15 @@ SPDK_LIB_LIST += event_nbd nbd
endif
LIBS += $(BLOCKDEV_MODULES_LINKER_ARGS) \
$(COPY_MODULES_LINKER_ARGS)
$(COPY_MODULES_LINKER_ARGS) \
$(NET_MODULES_LINKER_ARGS)
LIBS += $(SPDK_LIB_LINKER_ARGS) -lcrypto
LIBS += $(ENV_LINKER_ARGS)
all : $(APP)
@:
$(APP) : $(OBJS) $(SPDK_LIB_FILES) $(ENV_LIBS) $(BLOCKDEV_MODULES_FILES) $(COPY_MODULES_FILES)
$(APP) : $(OBJS) $(SPDK_LIB_FILES) $(ENV_LIBS) $(BLOCKDEV_MODULES_FILES) $(COPY_MODULES_FILES) $(NET_MODULES_FILES)
$(LINK_C)
clean :

View File

@ -41,7 +41,7 @@ APP = spdk_tgt
C_SRCS := spdk_tgt.c
SPDK_LIB_LIST = event_bdev event_copy event_iscsi event_net event_scsi event_nvmf
SPDK_LIB_LIST += nvmf event log trace conf util bdev iscsi scsi net copy rpc jsonrpc json
SPDK_LIB_LIST += nvmf event log trace conf util bdev iscsi scsi copy rpc jsonrpc json
SPDK_LIB_LIST += app_rpc log_rpc bdev_rpc
ifeq ($(OS),Linux)
@ -55,13 +55,14 @@ endif
LIBS += $(BLOCKDEV_MODULES_LINKER_ARGS) \
$(COPY_MODULES_LINKER_ARGS) \
$(NET_MODULES_LINKER_ARGS) \
$(SPDK_LIB_LINKER_ARGS) $(ENV_LINKER_ARGS)
LIBS += -lcrypto
all: $(APP)
@:
$(APP): $(OBJS) $(SPDK_LIB_FILES) $(SPDK_WHOLE_LIBS) $(BLOCKDEV_MODULES_FILES) $(LINKER_MODULES) $(ENV_LIBS)
$(APP): $(OBJS) $(SPDK_LIB_FILES) $(SPDK_WHOLE_LIBS) $(BLOCKDEV_MODULES_FILES) $(NET_MODULES_FILES) $(LINKER_MODULES) $(ENV_LIBS)
$(LINK_C)
clean:

View File

@ -41,19 +41,20 @@ APP = vhost
C_SRCS := vhost.c
SPDK_LIB_LIST = event_bdev event_copy event_net event_scsi event_vhost
SPDK_LIB_LIST += jsonrpc json rpc bdev_rpc bdev scsi net copy trace conf
SPDK_LIB_LIST += jsonrpc json rpc bdev_rpc bdev scsi copy trace conf
SPDK_LIB_LIST += util log log_rpc event app_rpc
SPDK_LIB_LIST += vhost rte_vhost event_nbd nbd
LIBS += $(BLOCKDEV_MODULES_LINKER_ARGS) \
$(COPY_MODULES_LINKER_ARGS)
$(COPY_MODULES_LINKER_ARGS) \
$(NET_MODULES_LINKER_ARGS)
LIBS += $(SPDK_LIB_LINKER_ARGS)
LIBS += $(ENV_LINKER_ARGS)
all : $(APP)
@:
$(APP) : $(OBJS) $(SPDK_LIB_FILES) $(ENV_LIBS) $(BLOCKDEV_MODULES_FILES) $(COPY_MODULES_FILES)
$(APP) : $(OBJS) $(SPDK_LIB_FILES) $(ENV_LIBS) $(BLOCKDEV_MODULES_FILES) $(COPY_MODULES_FILES) $(NET_MODULES_FILES)
$(LINK_C)
clean :

View File

@ -34,8 +34,10 @@
SPDK_ROOT_DIR := $(abspath $(CURDIR)/../..)
include $(SPDK_ROOT_DIR)/mk/spdk.common.mk
C_SRCS = interface.c sock.c net_framework.c net_rpc.c posix.c
C_SRCS = interface.c sock.c net_framework.c net_rpc.c
LIBNAME = net
DIRS-y += posix
include $(SPDK_ROOT_DIR)/mk/spdk.lib.mk

40
lib/net/posix/Makefile Normal file
View File

@ -0,0 +1,40 @@
#
# BSD LICENSE
#
# Copyright (c) Intel Corporation.
# 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.
#
SPDK_ROOT_DIR := $(abspath $(CURDIR)/../../..)
include $(SPDK_ROOT_DIR)/mk/spdk.common.mk
LIBNAME = net_posix
C_SRCS = posix.c
include $(SPDK_ROOT_DIR)/mk/spdk.lib.mk

View File

@ -55,6 +55,9 @@ BLOCKDEV_MODULES_LIST += bdev_pmem
BLOCKDEV_MODULES_DEPS += -lpmemblk
endif
NET_MODULES_LIST = net
NET_MODULES_LIST += net_posix
COPY_MODULES_LIST = copy_ioat ioat
BLOCKDEV_MODULES_LINKER_ARGS = -Wl,--whole-archive \
@ -70,3 +73,10 @@ COPY_MODULES_LINKER_ARGS = -Wl,--whole-archive \
$(COPY_MODULES_DEPS)
COPY_MODULES_FILES = $(call spdk_lib_list_to_files,$(COPY_MODULES_LIST))
NET_MODULES_LINKER_ARGS = -Wl,--whole-archive \
$(NET_MODULES_LIST:%=-lspdk_%) \
$(NET_MODULES_DEPS) \
-Wl,--no-whole-archive
NET_MODULES_FILES = $(call spdk_lib_list_to_files,$(NET_MODULES_LIST))

View File

@ -37,7 +37,7 @@
#include "spdk_cunit.h"
#include "net/sock.c"
#include "net/posix.c"
#include "net/posix/posix.c"
#define UT_IP "test_ip"
#define UT_PORT 1234