* GPL HEADER END
*/
/*
- * Copyright 2008 Sun Microsystems, Inc. All rights reserved
+ * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
* Use is subject to license terms.
*/
/*
#define WIRE_ATTR __attribute__((packed))
+/* Packed version of lnet_process_id_t to transfer via network */
+typedef struct {
+ lnet_nid_t nid;
+ lnet_pid_t pid; /* node id / process id */
+} WIRE_ATTR lnet_process_id_packed_t;
+
/* The wire handle's interface cookie only matches one network interface in
* one epoch (i.e. new cookie when the interface restarts or the node
* reboots). The object cookie only matches one object on that interface
lnet_rc_data_t *lp_rcd; /* router checker state */
} lnet_peer_t;
+#define lnet_peer_aliveness_enabled(lp) ((lp)->lp_ni->ni_peertimeout > 0)
+
typedef struct {
struct list_head lr_list; /* chain on net */
lnet_peer_t *lr_gateway; /* router node */
__u64 recv_length;
__u64 route_length;
__u64 drop_length;
-} lnet_counters_t;
+} WIRE_ATTR lnet_counters_t;
#define LNET_PEER_HASHSIZE 503 /* prime! */
/* Options for lnet_portal_t::ptl_options */
#define LNET_PTL_LAZY (1 << 0)
+#define LNET_PTL_MATCH_UNIQUE (1 << 1) /* unique match, for RDMA */
+#define LNET_PTL_MATCH_WILDCARD (1 << 2) /* wildcard match, request portal */
+
+#define LNET_PORTAL_HASH_SIZE 113 /* ME hash size of RDMA portal (prime) */
+
typedef struct {
- struct list_head ptl_ml; /* match list */
- struct list_head ptl_msgq; /* messages blocking for MD */
- __u64 ptl_ml_version; /* validity stamp, only changed for new attached MD */
- __u64 ptl_msgq_version; /* validity stamp */
- unsigned int ptl_options;
+ struct list_head *ptl_mhash; /* match hash */
+ struct list_head ptl_mlist; /* match list */
+ struct list_head ptl_msgq; /* messages blocking for MD */
+ __u64 ptl_ml_version; /* validity stamp, only changed for new attached MD */
+ __u64 ptl_msgq_version; /* validity stamp */
+ unsigned int ptl_options;
} lnet_portal_t;
/* Router Checker states */