net: split sock abstraction into lib/sock

This separates the network interface management code (interface.c and
net_rpc.c) from the socket abstraction layer, which allows users that
only want the socket abstraction to avoid pulling in the JSON RPC
libraries.

Change-Id: I9b00285a70bac0c74c73353cfa900d4f3b2e465f
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-on: https://review.gerrithub.io/416475
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
This commit is contained in:
Daniel Verkamp 2018-06-21 15:40:18 -07:00 committed by Jim Harris
parent f519fbbc81
commit ea3c58ea77
16 changed files with 55 additions and 14 deletions

View File

@ -35,7 +35,7 @@ SPDK_ROOT_DIR := $(abspath $(CURDIR)/..)
include $(SPDK_ROOT_DIR)/mk/spdk.common.mk include $(SPDK_ROOT_DIR)/mk/spdk.common.mk
DIRS-y += bdev blob blobfs conf copy cunit event json jsonrpc \ DIRS-y += bdev blob blobfs conf copy cunit event json jsonrpc \
log lvol net rpc thread trace util nvme nvmf scsi ioat \ log lvol net rpc sock thread trace util nvme nvmf scsi ioat \
ut_mock iscsi ut_mock iscsi
ifeq ($(OS),Linux) ifeq ($(OS),Linux)
DIRS-y += nbd DIRS-y += nbd

View File

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

44
lib/sock/Makefile Normal file
View File

@ -0,0 +1,44 @@
#
# 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
C_SRCS = sock.c net_framework.c
LIBNAME = sock
DIRS-y += posix
DIRS-$(CONFIG_VPP) += vpp
include $(SPDK_ROOT_DIR)/mk/spdk.lib.mk

View File

@ -34,7 +34,7 @@
SPDK_ROOT_DIR := $(abspath $(CURDIR)/../../..) SPDK_ROOT_DIR := $(abspath $(CURDIR)/../../..)
include $(SPDK_ROOT_DIR)/mk/spdk.common.mk include $(SPDK_ROOT_DIR)/mk/spdk.common.mk
LIBNAME = net_posix LIBNAME = sock_posix
C_SRCS = posix.c C_SRCS = posix.c
include $(SPDK_ROOT_DIR)/mk/spdk.lib.mk include $(SPDK_ROOT_DIR)/mk/spdk.lib.mk

View File

@ -36,6 +36,6 @@ include $(SPDK_ROOT_DIR)/mk/spdk.common.mk
C_SRCS += vpp.c C_SRCS += vpp.c
LIBNAME = net_vpp LIBNAME = sock_vpp
include $(SPDK_ROOT_DIR)/mk/spdk.lib.mk include $(SPDK_ROOT_DIR)/mk/spdk.lib.mk

View File

@ -62,8 +62,8 @@ BLOCKDEV_MODULES_LIST += bdev_pmem
BLOCKDEV_MODULES_DEPS += -lpmemblk BLOCKDEV_MODULES_DEPS += -lpmemblk
endif endif
NET_MODULES_LIST = net NET_MODULES_LIST = net sock
NET_MODULES_LIST += net_posix NET_MODULES_LIST += sock_posix
ifeq ($(CONFIG_VPP),y) ifeq ($(CONFIG_VPP),y)
ifneq ($(CONFIG_VPP_DIR),) ifneq ($(CONFIG_VPP_DIR),)
@ -72,7 +72,7 @@ NET_MODULES_DEPS += -l:libvppcom.a -l:libvlibmemoryclient.a
else else
NET_MODULES_DEPS = -lvppcom NET_MODULES_DEPS = -lvppcom
endif endif
NET_MODULES_LIST += net_vpp NET_MODULES_LIST += sock_vpp
endif endif
COPY_MODULES_LIST = copy_ioat ioat COPY_MODULES_LIST = copy_ioat ioat

View File

@ -34,7 +34,7 @@
SPDK_ROOT_DIR := $(abspath $(CURDIR)/../../..) SPDK_ROOT_DIR := $(abspath $(CURDIR)/../../..)
include $(SPDK_ROOT_DIR)/mk/spdk.common.mk include $(SPDK_ROOT_DIR)/mk/spdk.common.mk
DIRS-y = bdev blob blobfs event ioat iscsi json jsonrpc log lvol net nvme nvmf scsi thread util DIRS-y = bdev blob blobfs event ioat iscsi json jsonrpc log lvol nvme nvmf scsi sock thread util
ifeq ($(OS),Linux) ifeq ($(OS),Linux)
DIRS-$(CONFIG_VHOST) += vhost DIRS-$(CONFIG_VHOST) += vhost
endif endif

View File

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

View File

@ -66,7 +66,7 @@ $testdir/lib/blobfs/blobfs_sync_ut/blobfs_sync_ut
$valgrind $testdir/lib/event/subsystem.c/subsystem_ut $valgrind $testdir/lib/event/subsystem.c/subsystem_ut
$valgrind $testdir/lib/net/sock.c/sock_ut $valgrind $testdir/lib/sock/sock.c/sock_ut
$valgrind $testdir/lib/nvme/nvme.c/nvme_ut $valgrind $testdir/lib/nvme/nvme.c/nvme_ut
$valgrind $testdir/lib/nvme/nvme_ctrlr.c/nvme_ctrlr_ut $valgrind $testdir/lib/nvme/nvme_ctrlr.c/nvme_ctrlr_ut