/* network state */
enum lnet_net_state net_state;
+
+ /* when I was last alive */
+ time64_t net_last_alive;
+
+ /* protects access to net_last_alive */
+ spinlock_t net_lock;
};
struct lnet_ni {
/* percpt reference count */
int **ni_refs;
- /* when I was last alive */
- time64_t ni_last_alive;
-
/* pointer to parent network */
struct lnet_net *ni_net;
__u32 lpni_gw_seq;
/* returned RC ping features. Protected with lpni_lock */
unsigned int lpni_ping_feats;
+ /* time last message was received from the peer */
+ time64_t lpni_last_alive;
/* preferred local nids: if only one, use lpni_pref.nid */
union lpni_pref {
lnet_nid_t nid;
/* primary NID of the peer */
lnet_nid_t lp_primary_nid;
+ /* net to perform discovery on */
+ __u32 lp_disc_net_id;
+
/* CPT of peer_table */
int lp_cpt;
/* # refs from lnet_route_t::lr_gateway */
int lp_rtr_refcount;
+ /*
+ * peer specific health sensitivity value to decrement peer nis in
+ * this peer with if set to something other than 0
+ */
+ __u32 lp_health_sensitivity;
+
/* messages blocking for router credits */
struct list_head lp_rtrq;
/* routes on this peer */
struct list_head lp_routes;
- /* time of last router check attempt */
- time64_t lp_rtrcheck_timestamp;
-
/* reference count */
atomic_t lp_refcount;
/* Net ID */
__u32 lpn_net_id;
+ /* time of last router net check attempt */
+ time64_t lpn_rtrcheck_timestamp;
+
+ /* selection sequence number */
+ __u32 lpn_seq;
+
/* reference count */
atomic_t lpn_refcount;
};