portals/knals/socknal/autoMakefile
portals/knals/lonal/Makefile
portals/knals/lonal/autoMakefile
+portals/knals/ranal/Makefile
+portals/knals/ranal/autoMakefile
portals/libcfs/Makefile
portals/libcfs/autoMakefile
portals/portals/Makefile
#include "llite_lib.h"
-unsigned int portal_subsystem_debug = ~0 - (S_PORTALS | S_QSWNAL | S_SOCKNAL |
- S_GMNAL | S_IBNAL);
+unsigned int portal_subsystem_debug = ~0 - (S_PORTALS | S_NAL);
ptl_handle_ni_t tcpnal_ni;
struct task_struct *current;
struct ldlm_res_id;
struct obd_import;
-unsigned int portal_subsystem_debug = ~0 - (S_PORTALS | S_QSWNAL | S_SOCKNAL |
- S_GMNAL | S_IBNAL);
+unsigned int portal_subsystem_debug = ~0 - (S_PORTALS | S_NAL);
void *inter_module_get(char *arg)
{
AC_SUBST(IIBCPPFLAGS)
AC_SUBST(IIBNAL)
+ #### Rapid Array
+ AC_MSG_CHECKING([if RapidArray kernel headers are present])
+ # placeholder
+ RACPPFLAGS="-I/tmp"
+ EXTRA_KCFLAGS_save="$EXTRA_KCFLAGS"
+ EXTRA_KCFLAGS="$EXTRA_KCFLAGS $RACPPFLAGS"
+ LUSTRE_MODULE_TRY_COMPILE(
+ [
+ #include <linux/types.h>
+ #include <rapl.h>
+ ],[
+ RAP_RETURN rc;
+ RAP_PVOID dev_handle;
+
+ rc = RapkGetDeviceByIndex(0, NULL, NULL, &dev_handle);
+
+ return rc == RAP_SUCCESS ? 0 : 1;
+ ],[
+ AC_MSG_RESULT([yes])
+ RANAL="ranal"
+ ],[
+ AC_MSG_RESULT([no])
+ RANAL=""
+ RACPPFLAGS=""
+ ])
+ EXTRA_KCFLAGS="$EXTRA_KCFLAGS_save"
+ AC_SUBST(RACPPFLAGS)
+ AC_SUBST(RANAL)
+
# ---------- Red Hat 2.4.18 has iobuf->dovary --------------
# But other kernels don't
AM_CONDITIONAL(BUILD_GMNAL, test x$GMNAL = "xgmnal")
AM_CONDITIONAL(BUILD_OPENIBNAL, test x$OPENIBNAL = "xopenibnal")
AM_CONDITIONAL(BUILD_IIBNAL, test x$IIBNAL = "xiibnal")
+AM_CONDITIONAL(BUILD_RANAL, test x$RANAL = "xranal")
# portals/utils/portals.c
AC_CHECK_HEADERS([netdb.h netinet/tcp.h asm/types.h])
OPENIBNAL = 7,
IIBNAL = 8,
LONAL = 9,
+ RANAL = 10,
NAL_ENUM_END_MARKER
};
#define S_RPC 0x00000100
#define S_MGMT 0x00000200
#define S_PORTALS 0x00000400
-#define S_SOCKNAL 0x00000800
-#define S_QSWNAL 0x00001000
-#define S_PINGER 0x00002000
-#define S_FILTER 0x00004000
-#define S_PTLBD 0x00008000
-#define S_ECHO 0x00010000
-#define S_LDLM 0x00020000
-#define S_LOV 0x00040000
-#define S_GMNAL 0x00080000
-#define S_PTLROUTER 0x00100000
-#define S_COBD 0x00200000
-#define S_IBNAL 0x00400000 /* All IB NALs */
-#define S_SM 0x00800000
-#define S_ASOBD 0x01000000
-#define S_CONFOBD 0x02000000
-#define S_LMV 0x04000000
-#define S_CMOBD 0x08000000
-#define S_LONAL 0x10000000
+#define S_NAL 0x00000800 /* ALL NALs */
+#define S_PINGER 0x00001000
+#define S_FILTER 0x00002000
+#define S_PTLBD 0x00004000
+#define S_ECHO 0x00008000
+#define S_LDLM 0x00010000
+#define S_LOV 0x00020000
+#define S_PTLROUTER 0x00040000
+#define S_COBD 0x00080000
+#define S_SM 0x00100000
+#define S_ASOBD 0x00200000
+#define S_CONFOBD 0x00400000
+#define S_LMV 0x00800000
+#define S_CMOBD 0x01000000
/* If you change these values, please keep these files up to date...
* portals/utils/debug.c
* utils/lconf
rc = register_ioc_dev(PORTALS_DEV_ID, PORTALS_DEV_PATH);
#endif
ltrace_filter("class");
- ltrace_filter("socknal");
- ltrace_filter("qswnal");
- ltrace_filter("gmnal");
+ ltrace_filter("nal");
ltrace_filter("portals");
ltrace_show("all_types");
@BUILD_GMNAL_TRUE@subdir-m += gmnal
+@BUILD_RANAL_TRUE@subdir-m += ranal
@BUILD_OPENIBNAL_TRUE@subdir-m += openibnal
@BUILD_IIBNAL_TRUE@subdir-m += iibnal
@BUILD_QSWNAL_TRUE@subdir-m += qswnal
# This code is issued under the GNU General Public License.
# See the file COPYING in this distribution
-SUBDIRS = gmnal iibnal openibnal qswnal socknal lonal
+SUBDIRS = gmnal iibnal openibnal qswnal socknal lonal ranal
#include "linux/vmalloc.h"
#include "linux/sysctl.h"
-#define DEBUG_SUBSYSTEM S_GMNAL
+#define DEBUG_SUBSYSTEM S_NAL
#include "portals/nal.h"
#include "portals/api.h"
#include <linux/kmod.h>
#include <linux/sysctl.h>
-#define DEBUG_SUBSYSTEM S_IBNAL
+#define DEBUG_SUBSYSTEM S_NAL
#include <linux/kp30.h>
#include <portals/p30.h>
#include <linux/uio.h>
#include <linux/init.h>
-#define DEBUG_SUBSYSTEM S_LONAL
+#define DEBUG_SUBSYSTEM S_NAL
#include <linux/kp30.h>
#include <portals/p30.h>
#include <linux/kmod.h>
#include <linux/sysctl.h>
-#define DEBUG_SUBSYSTEM S_IBNAL
+#define DEBUG_SUBSYSTEM S_NAL
#include <linux/kp30.h>
#include <portals/p30.h>
#include <linux/sysctl.h>
#include <asm/segment.h>
-#define DEBUG_SUBSYSTEM S_QSWNAL
+#define DEBUG_SUBSYSTEM S_NAL
#include <linux/kp30.h>
#include <linux/kpr.h>
#include <asm/segment.h>
#include <asm/div64.h>
-#define DEBUG_SUBSYSTEM S_SOCKNAL
+#define DEBUG_SUBSYSTEM S_NAL
#include <linux/kp30.h>
#include <linux/portals_compat25.h>
#include <linux/kallsyms.h>
#endif
-unsigned int portal_subsystem_debug = ~0 - (S_PORTALS | S_QSWNAL | S_SOCKNAL |
- S_GMNAL | S_IBNAL);
+unsigned int portal_subsystem_debug = ~0 - (S_PORTALS | S_NAL);
EXPORT_SYMBOL(portal_subsystem_debug);
unsigned int portal_debug = (D_WARNING | D_DLMTRACE | D_ERROR | D_EMERG | D_HA |
/* userspace NAL */
case IIBNAL:
case OPENIBNAL:
+ case RANAL:
case SOCKNAL:
snprintf(str, PTL_NALFMT_SIZE, "%u:%u.%u.%u.%u",
(__u32)(nid >> 32), HIPQUAD(nid));
break;
case QSWNAL:
case GMNAL:
+ case LONAL:
snprintf(str, PTL_NALFMT_SIZE, "%u:%u",
(__u32)(nid >> 32), (__u32)nid);
break;
static const char *portal_debug_subsystems[] =
{"undefined", "mdc", "mds", "osc",
"ost", "class", "log", "llite",
- "rpc", "mgmt", "portals", "socknal",
- "qswnal", "pinger", "filter", "ptlbd",
- "echo", "ldlm", "lov", "gmnal",
- "router", "cobd", "ibnal", "sm",
- "asobd", "confobd", "lmv", "cmobd",
- "lonal", NULL};
+ "rpc", "mgmt", "portals", "nal",
+ "pinger", "filter", "ptlbd", "echo",
+ "ldlm", "lov", "router", "cobd",
+ "sm", "asobd", "confobd", "lmv",
+ "cmobd", NULL};
static const char *portal_debug_masks[] =
{"trace", "inode", "super", "ext2",
"malloc", "cache", "info", "ioctl",
{
int len = strlen(str);
int rc = write(fd, str, len);
-
+
return (rc == len ? 0 : 1);
}
strerror(errno));
return -1;
}
-
+
rc = -1;
if (strcasecmp(argv[1], "start") == 0) {
if (argc < 3 || argc > 4 ||
{"openib", OPENIBNAL},
{"iib", IIBNAL},
{"lo", LONAL},
+ {"ra", RANAL},
#else
{"cray_kern_nal", CRAY_KERN_NAL},
{"cray_user_nal", CRAY_USER_NAL},
int port = 0;
int rc;
- if (!g_nal_is_compatible (argv[0], SOCKNAL, OPENIBNAL, IIBNAL, 0))
+ if (!g_nal_is_compatible (argv[0], SOCKNAL, OPENIBNAL, IIBNAL, RANAL, 0))
return -1;
- if (g_nal_is_compatible(NULL, SOCKNAL, 0)) {
+ if (g_nal_is_compatible(NULL, SOCKNAL, RANAL, 0)) {
if (argc != 4) {
fprintf (stderr, "usage(tcp): %s nid ipaddr port\n",
argv[0]);
return -1;
}
- if (g_nal_is_compatible (NULL, SOCKNAL, 0)) {
+ if (g_nal_is_compatible (NULL, SOCKNAL, RANAL, 0)) {
if (ptl_parse_ipaddr (&ip, argv[2]) != 0) {
fprintf (stderr, "Can't parse ip addr: %s\n", argv[2]);
return -1;
int argidx;
int rc;
- if (!g_nal_is_compatible (argv[0], SOCKNAL, OPENIBNAL, IIBNAL, 0))
+ if (!g_nal_is_compatible (argv[0], SOCKNAL, OPENIBNAL, IIBNAL, RANAL, 0))
return -1;
if (g_nal_is_compatible(NULL, SOCKNAL, 0)) {
{IIBNAL, "iibnal"},
{TCPNAL, "tcpnal"},
{LONAL, "lonal"},
+ {RANAL, "ranal"},
#else
{CRAY_KB_ERNAL, "cray_kb_ernal"},
#endif
"rpc" : (1 << 8),
"mgmt" : (1 << 9),
"portals" : (1 << 10),
- "socknal" : (1 << 11),
- "qswnal" : (1 << 12),
- "pinger" : (1 << 13),
- "filter" : (1 << 14),
- "ptlbd" : (1 << 15),
- "echo" : (1 << 16),
- "ldlm" : (1 << 17),
- "lov" : (1 << 18),
- "gmnal" : (1 << 19),
- "ptlrouter" : (1 << 20),
- "cobd" : (1 << 21),
- "ibnal" : (1 << 22),
- "sm" : (1 << 23),
- "asobd" : (1 << 24),
- "confobd" : (1 << 25),
- "lmv" : (1 << 26),
- "cmobd" : (1 << 27),
- "lonal" : (1 << 28),
+ "nal" : (1 << 11),
+ "pinger" : (1 << 12),
+ "filter" : (1 << 13),
+ "ptlbd" : (1 << 14),
+ "echo" : (1 << 15),
+ "ldlm" : (1 << 16),
+ "lov" : (1 << 17),
+ "ptlrouter" : (1 << 18),
+ "cobd" : (1 << 19),
+ "sm" : (1 << 20),
+ "asobd" : (1 << 21),
+ "confobd" : (1 << 22),
+ "lmv" : (1 << 23),
+ "cmobd" : (1 << 24),
}
self.run(cmds)
def add_peer(self, net_type, nid, hostaddr, port):
- if net_type in ('tcp',) and not config.lctl_dump:
+ if net_type in ('tcp','ra') and not config.lctl_dump:
cmds = """
network %s
add_peer %s %s %d
quit""" % (net_type,
nid, hostaddr)
self.run(cmds)
- elif net_type in ('openib','iib',) and not config.lctl_dump:
+ elif net_type in ('openib','iib','ra') and not config.lctl_dump:
cmds = """
ignore_errors
network %s
# disconnect one connection
def disconnect(self, srv):
self.del_uuid(srv.nid_uuid)
- if srv.net_type in ('tcp','openib','iib',) and not config.lctl_dump:
+ if srv.net_type in ('tcp','openib','iib','ra') and not config.lctl_dump:
if srv.hostaddr[0]:
hostaddr = string.split(srv.hostaddr[0], '/')[0]
self.del_peer(srv.net_type, srv.nid, hostaddr)
def sys_get_local_address(net_type, wildcard, cluster_id):
"""Return the local address for the network type."""
local = ""
- if net_type in ('tcp','openib','iib',):
+ if net_type in ('tcp','openib','iib','ra'):
if ':' in wildcard:
iface, star = string.split(wildcard, ':')
local = if2addr(iface)
self.add_portals_module("knals/iibnal", 'kiibnal')
if self.net_type == 'lo':
self.add_portals_module("knals/lonal", 'klonal')
+ if self.net_type == 'ra':
+ self.add_portals_module("knals/ranal", 'kranal')
def nid_to_uuid(self, nid):
return "NID_%s_UUID" %(nid,)
lo, hi):
# only setup connections for tcp, openib, and iib NALs
srvdb = None
- if not net_type in ('tcp','openib','iib',):
+ if not net_type in ('tcp','openib','iib','ra'):
return None
# connect to target if route is to single node and this node is the gw