package created using the webbuild interface [release 3.11-1mamba;Tue Jun 24 2014]
This commit is contained in:
parent
57c6190c42
commit
a3cc1c95d2
@ -1,2 +1,4 @@
|
|||||||
# open-fcoe
|
# open-fcoe
|
||||||
|
|
||||||
|
Fibre Channel over Ethernet implementation for the Linux operating system.
|
||||||
|
|
||||||
|
100
open-fcoe-3.11-add_systemd_service_file.patch
Normal file
100
open-fcoe-3.11-add_systemd_service_file.patch
Normal file
@ -0,0 +1,100 @@
|
|||||||
|
From 41e9d79bd4bf9af4aa422615453333e860acabcd Mon Sep 17 00:00:00 2001
|
||||||
|
From: Hannes Reinecke <hare@suse.de>
|
||||||
|
Date: Fri, 6 Dec 2013 19:51:56 +0000
|
||||||
|
Subject: [PATCH] fcoemon: add systemd service file
|
||||||
|
|
||||||
|
Add fcoe.service file to start fcoemon from systemd
|
||||||
|
|
||||||
|
Signed-off-by: Hannes Reinecke <hare@suse.de>
|
||||||
|
Signed-off-by: Robert Love <robert.w.love@intel.com>
|
||||||
|
---
|
||||||
|
Makefile.am | 5 +++++
|
||||||
|
configure.ac | 8 ++++++++
|
||||||
|
doc/fcoemon.8 | 2 +-
|
||||||
|
doc/fcoemon.txt | 1 +
|
||||||
|
etc/systemd/fcoe.service | 13 +++++++++++++
|
||||||
|
5 files changed, 28 insertions(+), 1 deletions(-)
|
||||||
|
create mode 100644 etc/systemd/fcoe.service
|
||||||
|
|
||||||
|
diff --git a/Makefile.am b/Makefile.am
|
||||||
|
index ba08924..012b560 100644
|
||||||
|
--- a/Makefile.am
|
||||||
|
+++ b/Makefile.am
|
||||||
|
@@ -41,6 +41,11 @@ noinst_HEADERS = fcoeadm_display.h fcoe_clif.h fcoemon.h \
|
||||||
|
fcoe_configdir = ${sysconfdir}/fcoe
|
||||||
|
dist_fcoe_config_DATA = etc/cfg-ethx
|
||||||
|
|
||||||
|
+## install systemd service files
|
||||||
|
+if HAVE_SYSTEMD
|
||||||
|
+systemdsystemunit_DATA = etc/systemd/fcoe.service
|
||||||
|
+endif
|
||||||
|
+
|
||||||
|
## man pages for fcoeadm and fcoemon
|
||||||
|
dist_man_MANS = doc/fcoeadm.8 doc/fcoemon.8 doc/fipvlan.8 doc/fcrls.8 \
|
||||||
|
doc/fcnsq.8 doc/fcping.8
|
||||||
|
diff --git a/configure.ac b/configure.ac
|
||||||
|
index bb1385b..107d039 100644
|
||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -17,6 +17,14 @@ AC_SUBST([LLDPAD_CFLAGS])
|
||||||
|
PKG_CHECK_MODULES([LIBHBALINUX], [libhbalinux >= 1.0.13])
|
||||||
|
AC_SUBST([LIBHBALINUX_CFLAGS])
|
||||||
|
|
||||||
|
+PKG_PROG_PKG_CONFIG
|
||||||
|
+AC_ARG_WITH([systemdsystemunitdir],
|
||||||
|
+ AS_HELP_STRING([--with-systemdsystemunitdir=DIR],
|
||||||
|
+ [Directory for systemd service files]), [],
|
||||||
|
+ [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)])
|
||||||
|
+AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])
|
||||||
|
+AM_CONDITIONAL(HAVE_SYSTEMD, [test -n "$with_systemdsystemunitdir"])
|
||||||
|
+
|
||||||
|
AC_CONFIG_FILES([Makefile fcoe-utils.spec include/fcoe_utils_version.h])
|
||||||
|
AC_OUTPUT
|
||||||
|
|
||||||
|
diff --git a/doc/fcoemon.8 b/doc/fcoemon.8
|
||||||
|
index e9a045b..020394e 100644
|
||||||
|
--- a/doc/fcoemon.8
|
||||||
|
+++ b/doc/fcoemon.8
|
||||||
|
@@ -358,7 +358,7 @@ indicates whether a FIP responder should be activated on this device to support
|
||||||
|
Note that the attached Ethernet peer device (e\&.g\&. FCoE capable switch port) must have compatible settings For DCB and FCoE to function properly\&.
|
||||||
|
.SS "/etc/init\&.d/fcoe"
|
||||||
|
.sp
|
||||||
|
-This is the \fBfcoe\fR system service script\&. This script is invoked by the init process or by the service command to start and stop the \fBfcoemon\fR\&.
|
||||||
|
+This is the \fBfcoe\fR system service script\&. This script is invoked by the init process or by the service command to start and stop the \fBfcoemon\fR\&. On systemd-enabled systems, \fBfcoemon\fR is controlled via the \fBfcoe.service\fR unit.
|
||||||
|
.SH "VLAN NAMING CONVENTIONS"
|
||||||
|
.sp
|
||||||
|
If a new VLAN device is created (see the description of the \fIAUTO_VLAN\fR setting above), it will have the name \fIdev\fR\&.\fIvlan\fR\-fcoe; where \fIdev\fR is the name of the Ethernet parent device and \fIvlan\fR is the discovered VLAN ID number\&.
|
||||||
|
diff --git a/doc/fcoemon.txt b/doc/fcoemon.txt
|
||||||
|
index ec15197..09ee5a2 100644
|
||||||
|
--- a/doc/fcoemon.txt
|
||||||
|
+++ b/doc/fcoemon.txt
|
||||||
|
@@ -214,6 +214,7 @@ must have compatible settings For DCB and FCoE to function properly.
|
||||||
|
~~~~~~~~~~~~~~~~
|
||||||
|
This is the *fcoe* system service script. This script is invoked by the
|
||||||
|
init process or by the service command to start and stop the *fcoemon*.
|
||||||
|
+On systemd-enabled systems, *fcoemon* is controlled via the *fcoe.service* unit.
|
||||||
|
|
||||||
|
VLAN NAMING CONVENTIONS
|
||||||
|
-----------------------
|
||||||
|
diff --git a/etc/systemd/fcoe.service b/etc/systemd/fcoe.service
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..4834e43
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/etc/systemd/fcoe.service
|
||||||
|
@@ -0,0 +1,13 @@
|
||||||
|
+[Unit]
|
||||||
|
+Description=Open-FCoE initiator daemon
|
||||||
|
+After=syslog.target network.target
|
||||||
|
+
|
||||||
|
+[Service]
|
||||||
|
+Type=forking
|
||||||
|
+EnvironmentFile=/etc/sysconfig/fcoe
|
||||||
|
+ExecStartPre=/sbin/modprobe -qa $SUPPORTED_DRIVERS
|
||||||
|
+ExecStart=/usr/sbin/fcoemon $FCOEMON_OPTS
|
||||||
|
+
|
||||||
|
+[Install]
|
||||||
|
+WantedBy=multi-user.target
|
||||||
|
+Also=lldpad.socket
|
||||||
|
--
|
||||||
|
1.7.1
|
||||||
|
|
11
open-fcoe-3.11-bootstrap.patch
Normal file
11
open-fcoe-3.11-bootstrap.patch
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
diff -Nru open-fcoe-3.11.orig/fcoe-utils/configure.ac open-fcoe-3.11/fcoe-utils/configure.ac
|
||||||
|
--- open-fcoe-3.11.orig/fcoe-utils/configure.ac 2013-10-14 19:16:02.000000000 +0200
|
||||||
|
+++ open-fcoe-3.11/fcoe-utils/configure.ac 2014-06-24 00:45:50.021288671 +0200
|
||||||
|
@@ -2,7 +2,6 @@
|
||||||
|
AM_INIT_AUTOMAKE([foreign])
|
||||||
|
|
||||||
|
m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
|
||||||
|
-AM_INIT_AUTOMAKE([foreign])
|
||||||
|
|
||||||
|
AC_PROG_CC
|
||||||
|
AM_PROG_CC_C_O
|
60
open-fcoe-3.11-fix-hbaapi-prototypes.patch
Normal file
60
open-fcoe-3.11-fix-hbaapi-prototypes.patch
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
diff -Nru open-fcoe-3.11.orig/libHBAAPI/hbaapi.h open-fcoe-3.11/libHBAAPI/hbaapi.h
|
||||||
|
--- open-fcoe-3.11.orig/libHBAAPI/hbaapi.h 2013-10-14 19:16:02.000000000 +0200
|
||||||
|
+++ open-fcoe-3.11/libHBAAPI/hbaapi.h 2014-06-24 01:31:20.505015831 +0200
|
||||||
|
@@ -523,17 +523,17 @@
|
||||||
|
#define HBA_EVENT_LINK_UNKNOWN 0x500
|
||||||
|
#define HBA_EVENT_LINK_INCIDENT 0x501
|
||||||
|
|
||||||
|
-HBA_API HBA_UINT32 HBA_GetVersion();
|
||||||
|
+HBA_API HBA_UINT32 HBA_GetVersion(void);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Make sure HBA_LoadLibrary returns before any other threads
|
||||||
|
* make calls to the library
|
||||||
|
*/
|
||||||
|
-HBA_API HBA_STATUS HBA_LoadLibrary();
|
||||||
|
+HBA_API HBA_STATUS HBA_LoadLibrary(void);
|
||||||
|
|
||||||
|
-HBA_API HBA_STATUS HBA_FreeLibrary();
|
||||||
|
+HBA_API HBA_STATUS HBA_FreeLibrary(void);
|
||||||
|
|
||||||
|
-HBA_API HBA_UINT32 HBA_GetNumberOfAdapters();
|
||||||
|
+HBA_API HBA_UINT32 HBA_GetNumberOfAdapters(void);
|
||||||
|
|
||||||
|
HBA_API HBA_STATUS HBA_GetAdapterName(
|
||||||
|
HBA_UINT32 adapterindex,
|
||||||
|
@@ -602,7 +602,7 @@
|
||||||
|
HBA_UINT32 RspBufferSize
|
||||||
|
);
|
||||||
|
|
||||||
|
-HBA_API void HBA_RefreshAdapterConfiguration();
|
||||||
|
+HBA_API void HBA_RefreshAdapterConfiguration(void);
|
||||||
|
|
||||||
|
HBA_API HBA_STATUS HBA_GetEventBuffer(
|
||||||
|
HBA_HANDLE handle,
|
||||||
|
--- open-fcoe-3.11.orig/libHBAAPI/vendorhbaapi.h 2013-10-14 19:16:02.000000000 +0200
|
||||||
|
+++ open-fcoe-3.11/libHBAAPI/vendorhbaapi.h 2014-06-24 01:43:51.728306594 +0200
|
||||||
|
@@ -44,10 +44,10 @@
|
||||||
|
|
||||||
|
|
||||||
|
/* 6.10.1 HBA Library Function Table */
|
||||||
|
-typedef HBA_UINT32 (* HBAGetVersionFunc)();
|
||||||
|
-typedef HBA_STATUS (* HBALoadLibraryFunc)();
|
||||||
|
-typedef HBA_STATUS (* HBAFreeLibraryFunc)();
|
||||||
|
-typedef HBA_UINT32 (* HBAGetNumberOfAdaptersFunc)();
|
||||||
|
+typedef HBA_UINT32 (* HBAGetVersionFunc)(void);
|
||||||
|
+typedef HBA_STATUS (* HBALoadLibraryFunc)(void);
|
||||||
|
+typedef HBA_STATUS (* HBAFreeLibraryFunc)(void);
|
||||||
|
+typedef HBA_UINT32 (* HBAGetNumberOfAdaptersFunc)(void);
|
||||||
|
typedef HBA_STATUS (* HBAGetAdapterNameFunc)(HBA_UINT32, char *);
|
||||||
|
/*
|
||||||
|
* Open Adapter.... the vendor function is limmited to 16 bits,
|
||||||
|
@@ -72,7 +72,7 @@
|
||||||
|
typedef HBA_STATUS (* HBASendCTPassThruV2Func)
|
||||||
|
(HBA_HANDLE, HBA_WWN, void *, HBA_UINT32, void *, HBA_UINT32 *);
|
||||||
|
typedef void (* HBARefreshInformationFunc)(HBA_HANDLE);
|
||||||
|
-typedef void (* HBARefreshAdapterConfigurationFunc) ();
|
||||||
|
+typedef void (* HBARefreshAdapterConfigurationFunc) (void);
|
||||||
|
typedef void (* HBAResetStatisticsFunc)(HBA_HANDLE, HBA_UINT32);
|
||||||
|
typedef HBA_STATUS (* HBAGetFcpTargetMappingV2Func)
|
||||||
|
(HBA_HANDLE, HBA_WWN, HBA_FCPTARGETMAPPINGV2 *);
|
29
open-fcoe-3.11-libHBAAPI-add-ldl.patch
Normal file
29
open-fcoe-3.11-libHBAAPI-add-ldl.patch
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
From 7c19af12660189a1980e96373b9e56f35583f07a Mon Sep 17 00:00:00 2001
|
||||||
|
From: Hannes Reinecke <hare@suse.de>
|
||||||
|
Date: Fri, 6 Dec 2013 19:58:07 +0000
|
||||||
|
Subject: [PATCH] Add '-ldl' during link
|
||||||
|
|
||||||
|
Adding '-ld' to avoid link failures of dependent
|
||||||
|
libraries / applications.
|
||||||
|
|
||||||
|
Signed-off-by: Hannes Reinecke <hare@suse.de>
|
||||||
|
Signed-off-by: Robert Love <robert.w.love@intel.com>
|
||||||
|
---
|
||||||
|
Makefile.am | 1 +
|
||||||
|
1 files changed, 1 insertions(+), 0 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/Makefile.am b/Makefile.am
|
||||||
|
index ffb53b9..ab14cb2 100644
|
||||||
|
--- a/Makefile.am
|
||||||
|
+++ b/Makefile.am
|
||||||
|
@@ -2,6 +2,7 @@ lib_LTLIBRARIES = libHBAAPI.la
|
||||||
|
libHBAAPI_la_SOURCES = hbaapi.h vendorhbaapi.h
|
||||||
|
nodist_libHBAAPI_la_SOURCES = hbaapilib.c
|
||||||
|
libHBAAPI_la_LDFLAGS = -version-info 2:2:0
|
||||||
|
+libHBAAPI_la_LIBADD = -ldl
|
||||||
|
|
||||||
|
nobase_include_HEADERS = hbaapi.h vendorhbaapi.h
|
||||||
|
|
||||||
|
--
|
||||||
|
1.7.1
|
||||||
|
|
81
open-fcoe-3.11-properly_use_inttypes.patch
Normal file
81
open-fcoe-3.11-properly_use_inttypes.patch
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
From e566b3ecac367cf59a1d3995b32591bba2ad2972 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Hannes Reinecke <hare@suse.de>
|
||||||
|
Date: Fri, 6 Dec 2013 19:51:53 +0000
|
||||||
|
Subject: [PATCH] Fix integer formatting
|
||||||
|
|
||||||
|
Properly use inttypes when printing 64bit values.
|
||||||
|
|
||||||
|
Signed-off-by: Hannes Reinecke <hare@suse.de>
|
||||||
|
Signed-off-by: Robert Love <robert.w.love@intel.com>
|
||||||
|
---
|
||||||
|
fcoeadm_display.c | 4 ++--
|
||||||
|
fcoemon.c | 2 +-
|
||||||
|
fcping.c | 11 ++++++-----
|
||||||
|
3 files changed, 9 insertions(+), 8 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/fcoeadm_display.c b/fcoeadm_display.c
|
||||||
|
index 287e370..9b96aa7 100644
|
||||||
|
--- a/fcoeadm_display.c
|
||||||
|
+++ b/fcoeadm_display.c
|
||||||
|
@@ -1417,8 +1417,8 @@ static void print_fcoe_fcf_device(void *ep, UNUSED void *arg)
|
||||||
|
if (!buf)
|
||||||
|
buf = temp;
|
||||||
|
printf(" Connection Mode: %s\n", buf);
|
||||||
|
- printf(" Fabric Name: 0x%016lx\n", fcf->fabric_name);
|
||||||
|
- printf(" Switch Name 0x%016lx\n", fcf->switch_name);
|
||||||
|
+ printf(" Fabric Name: 0x%016" PRIx64 "\n", fcf->fabric_name);
|
||||||
|
+ printf(" Switch Name 0x%016" PRIx64 "\n", fcf->switch_name);
|
||||||
|
mac2str(fcf->mac, mac, MAX_STR_LEN);
|
||||||
|
printf(" MAC Address: %s\n", mac);
|
||||||
|
printf(" FCF Priority: %u\n", fcf->priority);
|
||||||
|
diff --git a/fcoemon.c b/fcoemon.c
|
||||||
|
index a5babfa..be4c74d 100644
|
||||||
|
--- a/fcoemon.c
|
||||||
|
+++ b/fcoemon.c
|
||||||
|
@@ -2637,7 +2637,7 @@ static void fcm_dcbd_get_oper(struct fcm_netif *ff, char *resp, char *cp)
|
||||||
|
|
||||||
|
if (ep) {
|
||||||
|
FCM_LOG_DEV(ff, "Invalid get oper response "
|
||||||
|
- "parse error byte %ld, resp %s", ep - cp, cp);
|
||||||
|
+ "parse error byte %td, resp %s", ep - cp, cp);
|
||||||
|
fcm_dcbd_state_set(ff, FCD_ERROR);
|
||||||
|
} else {
|
||||||
|
if (val && fcoe_config.debug)
|
||||||
|
diff --git a/fcping.c b/fcping.c
|
||||||
|
index c6f74a6..399b778 100644
|
||||||
|
--- a/fcping.c
|
||||||
|
+++ b/fcping.c
|
||||||
|
@@ -25,6 +25,7 @@
|
||||||
|
#include <stddef.h>
|
||||||
|
#include <stdarg.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
+#include <inttypes.h>
|
||||||
|
#include <errno.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <time.h>
|
||||||
|
@@ -810,17 +811,17 @@ static void fp_check_data_len(void)
|
||||||
|
printf("Maximum ECHO data allowed by the Fabric (0x%06x) : %d bytes.\n"
|
||||||
|
"Maximum ECHO data allowed by the Source (0x%06x) : %d bytes.\n"
|
||||||
|
"Maximum ECHO data allowed by the Target (0x%06x) : %d bytes.\n"
|
||||||
|
- "Maximum ECHO data requested from user input (-s) : %lu "
|
||||||
|
+ "Maximum ECHO data requested from user input (-s) : %" PRIu32 " "
|
||||||
|
"(default %d) bytes.\n",
|
||||||
|
FC_WKA_FABRIC_CONTROLLER, flen, sid, slen, fp_did, dlen,
|
||||||
|
- fp_len - FP_LEN_ECHO, FP_LEN_DEF);
|
||||||
|
+ (uint32_t)(fp_len - FP_LEN_ECHO), FP_LEN_DEF);
|
||||||
|
|
||||||
|
/* fp_len is the total payload, including 4 bytes for ECHO command */
|
||||||
|
fp_len = MIN(fp_len, plen + FP_LEN_ECHO);
|
||||||
|
- printf("Actual FC ELS ECHO data size used : %lu bytes.\n"
|
||||||
|
+ printf("Actual FC ELS ECHO data size used : %" PRIu32 " bytes.\n"
|
||||||
|
"Actual FC ELS ECHO payload size used : %d bytes "
|
||||||
|
- "(including %ld bytes ECHO command).\n",
|
||||||
|
- fp_len - FP_LEN_ECHO, fp_len, FP_LEN_ECHO);
|
||||||
|
+ "(including %zu bytes ECHO command).\n",
|
||||||
|
+ (uint32_t)(fp_len - FP_LEN_ECHO), fp_len, FP_LEN_ECHO);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
--
|
||||||
|
1.7.1
|
||||||
|
|
131
open-fcoe-3.11-systemd_socket_activation.patch
Normal file
131
open-fcoe-3.11-systemd_socket_activation.patch
Normal file
@ -0,0 +1,131 @@
|
|||||||
|
From 09caead4ae14c868cee0ad71f8bb8648746a81a0 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Hannes Reinecke <hare@suse.de>
|
||||||
|
Date: Fri, 6 Dec 2013 19:51:57 +0000
|
||||||
|
Subject: [PATCH] fcoemon: systemd socket activation
|
||||||
|
|
||||||
|
Implement systemd socket activation on the CLIF socket.
|
||||||
|
|
||||||
|
Signed-off-by: Hannes Reinecke <hare@suse.de>
|
||||||
|
Signed-off-by: Robert Love <robert.w.love@intel.com>
|
||||||
|
---
|
||||||
|
Makefile.am | 2 +-
|
||||||
|
etc/systemd/fcoe.service | 3 ++-
|
||||||
|
etc/systemd/fcoemon.socket | 6 ++++++
|
||||||
|
fcoemon.c | 44 +++++++++++++++++++++++++++++++++++++++++++-
|
||||||
|
4 files changed, 52 insertions(+), 3 deletions(-)
|
||||||
|
create mode 100644 etc/systemd/fcoemon.socket
|
||||||
|
|
||||||
|
diff --git a/Makefile.am b/Makefile.am
|
||||||
|
index 012b560..e7df6f5 100644
|
||||||
|
--- a/Makefile.am
|
||||||
|
+++ b/Makefile.am
|
||||||
|
@@ -43,7 +43,7 @@ dist_fcoe_config_DATA = etc/cfg-ethx
|
||||||
|
|
||||||
|
## install systemd service files
|
||||||
|
if HAVE_SYSTEMD
|
||||||
|
-systemdsystemunit_DATA = etc/systemd/fcoe.service
|
||||||
|
+systemdsystemunit_DATA = etc/systemd/fcoe.service etc/systemd/fcoemon.socket
|
||||||
|
endif
|
||||||
|
|
||||||
|
## man pages for fcoeadm and fcoemon
|
||||||
|
diff --git a/etc/systemd/fcoe.service b/etc/systemd/fcoe.service
|
||||||
|
index 4834e43..5e5c8a2 100644
|
||||||
|
--- a/etc/systemd/fcoe.service
|
||||||
|
+++ b/etc/systemd/fcoe.service
|
||||||
|
@@ -3,7 +3,7 @@ Description=Open-FCoE initiator daemon
|
||||||
|
After=syslog.target network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
-Type=forking
|
||||||
|
+Type=simple
|
||||||
|
EnvironmentFile=/etc/sysconfig/fcoe
|
||||||
|
ExecStartPre=/sbin/modprobe -qa $SUPPORTED_DRIVERS
|
||||||
|
ExecStart=/usr/sbin/fcoemon $FCOEMON_OPTS
|
||||||
|
@@ -11,3 +11,4 @@ ExecStart=/usr/sbin/fcoemon $FCOEMON_OPTS
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
Also=lldpad.socket
|
||||||
|
+Also=fcoemon.socket
|
||||||
|
diff --git a/etc/systemd/fcoemon.socket b/etc/systemd/fcoemon.socket
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..4de8715
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/etc/systemd/fcoemon.socket
|
||||||
|
@@ -0,0 +1,6 @@
|
||||||
|
+[Socket]
|
||||||
|
+ListenDatagram=@/com/intel/fcoemon
|
||||||
|
+PassCredentials=true
|
||||||
|
+
|
||||||
|
+[Install]
|
||||||
|
+WantedBy=sockets.target
|
||||||
|
diff --git a/fcoemon.c b/fcoemon.c
|
||||||
|
index be4c74d..5e4f8d7 100644
|
||||||
|
--- a/fcoemon.c
|
||||||
|
+++ b/fcoemon.c
|
||||||
|
@@ -3546,12 +3546,54 @@ err:
|
||||||
|
sendto(snum, rbuf, MSG_RBUF, 0, (struct sockaddr *)&from, fromlen);
|
||||||
|
}
|
||||||
|
|
||||||
|
+static int fcm_systemd_socket(void)
|
||||||
|
+{
|
||||||
|
+ char *env, *ptr;
|
||||||
|
+ unsigned int p, l;
|
||||||
|
+
|
||||||
|
+ env = getenv("LISTEN_PID");
|
||||||
|
+ if (!env)
|
||||||
|
+ return -1;
|
||||||
|
+
|
||||||
|
+ p = strtoul(env, &ptr, 10);
|
||||||
|
+ if (ptr && ptr == env) {
|
||||||
|
+ FCM_LOG_DBG("Invalid value '%s' for LISTEN_PID\n", env);
|
||||||
|
+ return -1;
|
||||||
|
+ }
|
||||||
|
+ if ((pid_t)p != getpid()) {
|
||||||
|
+ FCM_LOG_DBG("Invalid PID '%d' from LISTEN_PID\n", p);
|
||||||
|
+ return -1;
|
||||||
|
+ }
|
||||||
|
+ env = getenv("LISTEN_FDS");
|
||||||
|
+ if (!env) {
|
||||||
|
+ FCM_LOG_DBG("LISTEN_FDS is not set\n");
|
||||||
|
+ return -1;
|
||||||
|
+ }
|
||||||
|
+ l = strtoul(env, &ptr, 10);
|
||||||
|
+ if (ptr && ptr == env) {
|
||||||
|
+ FCM_LOG_DBG("Invalid value '%s' for LISTEN_FDS\n", env);
|
||||||
|
+ return -1;
|
||||||
|
+ }
|
||||||
|
+ if (l != 1) {
|
||||||
|
+ FCM_LOG_DBG("LISTEN_FDS specified %d fds\n", l);
|
||||||
|
+ return -1;
|
||||||
|
+ }
|
||||||
|
+ /* systemd returns fds with an offset of '3' */
|
||||||
|
+ return 3;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
static int fcm_srv_create(struct fcm_srv_info *srv_info)
|
||||||
|
{
|
||||||
|
socklen_t addrlen;
|
||||||
|
struct sockaddr_un addr;
|
||||||
|
int rc = 0;
|
||||||
|
|
||||||
|
+ srv_info->srv_sock = fcm_systemd_socket();
|
||||||
|
+ if (srv_info->srv_sock > 0) {
|
||||||
|
+ FCM_LOG_DBG("Using systemd socket\n");
|
||||||
|
+ goto out_done;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
srv_info->srv_sock = socket(AF_LOCAL, SOCK_DGRAM, 0);
|
||||||
|
if (srv_info->srv_sock < 0) {
|
||||||
|
FCM_LOG_ERR(errno, "Failed to create socket\n");
|
||||||
|
@@ -3570,7 +3612,7 @@ static int fcm_srv_create(struct fcm_srv_info *srv_info)
|
||||||
|
rc = errno;
|
||||||
|
goto err_close;
|
||||||
|
}
|
||||||
|
-
|
||||||
|
+out_done:
|
||||||
|
sa_select_add_fd(srv_info->srv_sock, fcm_srv_receive,
|
||||||
|
NULL, NULL, srv_info);
|
||||||
|
|
||||||
|
--
|
||||||
|
1.7.1
|
||||||
|
|
154
open-fcoe.spec
Normal file
154
open-fcoe.spec
Normal file
@ -0,0 +1,154 @@
|
|||||||
|
Name: open-fcoe
|
||||||
|
Version: 3.11
|
||||||
|
Release: 1mamba
|
||||||
|
Summary: Fibre Channel over Ethernet implementation for the Linux operating system
|
||||||
|
Group: System/Kernel and Hardware
|
||||||
|
Vendor: openmamba
|
||||||
|
Distribution: openmamba
|
||||||
|
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
|
||||||
|
URL: http://open-fcoe.org/
|
||||||
|
Source: http://ftp-osl.osuosl.org/pub/open-fcoe/open-fcoe-%{version}.tar.gz
|
||||||
|
Patch0: open-fcoe-3.11-bootstrap.patch
|
||||||
|
Patch1: open-fcoe-3.11-fix-hbaapi-prototypes.patch
|
||||||
|
Patch2: open-fcoe-3.11-libHBAAPI-add-ldl.patch
|
||||||
|
Patch3: open-fcoe-3.11-add_systemd_service_file.patch
|
||||||
|
Patch4: open-fcoe-3.11-systemd_socket_activation.patch
|
||||||
|
Patch5: open-fcoe-3.11-properly_use_inttypes.patch
|
||||||
|
License: GPL
|
||||||
|
## AUTOBUILDREQ-BEGIN
|
||||||
|
BuildRequires: glibc-devel
|
||||||
|
BuildRequires: ldconfig
|
||||||
|
BuildRequires: libpciaccess-devel
|
||||||
|
## AUTOBUILDREQ-END
|
||||||
|
BuildRequires: libopen-lldp-devel
|
||||||
|
Requires: lib%{name} = %{?epoch:%epoch:}%{version}-%{release}
|
||||||
|
BuildRoot: %{_tmppath}/%{name}-%{version}-root
|
||||||
|
|
||||||
|
%description
|
||||||
|
Fibre Channel over Ethernet implementation for the Linux operating system.
|
||||||
|
|
||||||
|
%package -n lib%{name}
|
||||||
|
Group: System/Libraries
|
||||||
|
Summary: Shared libraries for %{name}
|
||||||
|
|
||||||
|
%description -n lib%{name}
|
||||||
|
This package contains shared libraries for %{name}.
|
||||||
|
|
||||||
|
%package -n lib%{name}-devel
|
||||||
|
Group: Development/Libraries
|
||||||
|
Summary: Development files for %{name}
|
||||||
|
Requires: lib%{name} = %{?epoch:%epoch:}%{version}-%{release}
|
||||||
|
Requires: pkg-config
|
||||||
|
|
||||||
|
%description -n lib%{name}-devel
|
||||||
|
This package contains libraries and header files for developing applications that use %{name}.
|
||||||
|
|
||||||
|
%debug_package
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -q -c
|
||||||
|
%patch0 -p1
|
||||||
|
%patch1 -p1
|
||||||
|
cd libHBAAPI
|
||||||
|
%patch2 -p1
|
||||||
|
cd ..
|
||||||
|
cd fcoe-utils
|
||||||
|
%patch3 -p1
|
||||||
|
%patch4 -p1
|
||||||
|
%patch5 -p1
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
%build
|
||||||
|
cd libHBAAPI
|
||||||
|
./bootstrap.sh
|
||||||
|
%configure
|
||||||
|
%make
|
||||||
|
|
||||||
|
cd ../libhbalinux
|
||||||
|
./bootstrap.sh
|
||||||
|
%configure \
|
||||||
|
HBAAPI_LIBS="-L../libHBAAPI/.libs/ -lHBAAPI" HBAAPI_CFLAGS="-I../libHBAAPI"
|
||||||
|
%make
|
||||||
|
|
||||||
|
cd ../fcoe-utils
|
||||||
|
./bootstrap.sh
|
||||||
|
%configure \
|
||||||
|
--with-systemdsystemunitdir=%{_unitdir} \
|
||||||
|
HBAAPI_LIBS="-L../libHBAAPI/.libs/ -lHBAAPI" HBAAPI_CFLAGS="-I../libHBAAPI" \
|
||||||
|
LIBHBALINUX_CFLAGS="../libhbalinux/" LIBHBALINUX_LIBS="-L../libhbalinux/.libs" \
|
||||||
|
CFLAGS="-I../libHBAAPI %{optflags} -Wno-error"
|
||||||
|
|
||||||
|
%make
|
||||||
|
|
||||||
|
%install
|
||||||
|
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
|
||||||
|
cd libHBAAPI
|
||||||
|
%makeinstall
|
||||||
|
|
||||||
|
cd ../libhbalinux
|
||||||
|
%makeinstall
|
||||||
|
|
||||||
|
cd ../fcoe-utils
|
||||||
|
%makeinstall \
|
||||||
|
BASH_COMPLETION_DIR=%{buildroot}%{_sysconfdir}/bash_completion.d/
|
||||||
|
|
||||||
|
rm -f %{buildroot}%{_sysconfdir}/init.d/fcoe
|
||||||
|
|
||||||
|
%clean
|
||||||
|
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
|
||||||
|
|
||||||
|
%post
|
||||||
|
if [ $1 -ge 1 ]; then
|
||||||
|
systemctl -q daemon-reload
|
||||||
|
fi
|
||||||
|
:
|
||||||
|
|
||||||
|
%post -n lib%{name} -p /sbin/ldconfig
|
||||||
|
%postun -n lib%{name} -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%files
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%{_sysconfdir}/bash_completion.d/fcoeadm
|
||||||
|
%{_sysconfdir}/bash_completion.d/fcoemon
|
||||||
|
%dir %{_sysconfdir}/fcoe
|
||||||
|
%config(noreplace) %{_sysconfdir}/fcoe/cfg-ethx
|
||||||
|
%config(noreplace) %{_sysconfdir}/fcoe/config
|
||||||
|
%config(noreplace) %{_sysconfdir}/hba.conf
|
||||||
|
%{_sbindir}/fcnsq
|
||||||
|
%{_sbindir}/fcoeadm
|
||||||
|
%{_sbindir}/fcoemon
|
||||||
|
%{_sbindir}/fcping
|
||||||
|
%{_sbindir}/fcrls
|
||||||
|
%{_sbindir}/fipvlan
|
||||||
|
%{_unitdir}/fcoe.service
|
||||||
|
%{_unitdir}/fcoemon.socket
|
||||||
|
%{_mandir}/man8/fcnsq.8*
|
||||||
|
%{_mandir}/man8/fcoeadm.8*
|
||||||
|
%{_mandir}/man8/fcoemon.8*
|
||||||
|
%{_mandir}/man8/fcping.8*
|
||||||
|
%{_mandir}/man8/fcrls.8*
|
||||||
|
%{_mandir}/man8/fipvlan.8*
|
||||||
|
%doc fcoe-utils/COPYING
|
||||||
|
|
||||||
|
%files -n lib%{name}
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%{_libdir}/libHBAAPI.so.*
|
||||||
|
%{_libdir}/libhbalinux.so.*
|
||||||
|
%doc libHBAAPI/COPYING
|
||||||
|
|
||||||
|
%files -n lib%{name}-devel
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%{_includedir}/hbaapi.h
|
||||||
|
%{_includedir}/vendorhbaapi.h
|
||||||
|
%{_libdir}/libHBAAPI.a
|
||||||
|
%{_libdir}/libHBAAPI.la
|
||||||
|
%{_libdir}/libHBAAPI.so
|
||||||
|
%{_libdir}/libhbalinux.a
|
||||||
|
%{_libdir}/libhbalinux.la
|
||||||
|
%{_libdir}/libhbalinux.so
|
||||||
|
%{_libdir}/pkgconfig/HBAAPI.pc
|
||||||
|
%{_libdir}/pkgconfig/libhbalinux.pc
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Tue Jun 24 2014 Silvan Calarco <silvan.calarco@mambasoft.it> 3.11-1mamba
|
||||||
|
- package created using the webbuild interface
|
Loading…
Reference in New Issue
Block a user