- int koib_init; /* initialisation state */
- __u64 koib_incarnation; /* which one am I */
- int koib_shutdown; /* shut down? */
- atomic_t koib_nthreads; /* # live threads */
-
- __u64 koib_cm_service_id; /* service number I listen on */
- ptl_nid_t koib_nid; /* my NID */
- struct semaphore koib_nid_mutex; /* serialise NID ops */
- struct semaphore koib_nid_signal; /* signal completion */
-
- rwlock_t koib_global_lock; /* stabilize peer/conn ops */
-
- struct list_head *koib_peers; /* hash table of all my known peers */
- int koib_peer_hash_size; /* size of koib_peers */
- atomic_t koib_npeers; /* # peers extant */
- atomic_t koib_nconns; /* # connections extant */
-
- struct list_head koib_connd_conns; /* connections to progress */
- struct list_head koib_connd_peers; /* peers waiting for a connection */
- wait_queue_head_t koib_connd_waitq; /* connection daemons sleep here */
- unsigned long koib_connd_waketime; /* when connd will wake */
- spinlock_t koib_connd_lock; /* serialise */
-
- wait_queue_head_t koib_sched_waitq; /* schedulers sleep here */
- struct list_head koib_sched_txq; /* tx requiring attention */
- struct list_head koib_sched_rxq; /* rx requiring attention */
- spinlock_t koib_sched_lock; /* serialise */
+ int kib_init; /* initialisation state */
+ __u64 kib_incarnation; /* which one am I */
+ int kib_shutdown; /* shut down? */
+ atomic_t kib_nthreads; /* # live threads */
+
+ __u64 kib_svc_id; /* service number I listen on */
+ tTS_IB_GID kib_svc_gid; /* device/port GID */
+ __u16 kib_svc_pkey; /* device/port pkey */
+
+ ptl_nid_t kib_nid; /* my NID */
+ struct semaphore kib_nid_mutex; /* serialise NID ops */
+ struct semaphore kib_listener_signal; /* signal IP listener completion */
+ struct socket *kib_listener_sock; /* IP listener's socket */
+ int kib_listener_shutdown; /* ask IP listener to close */
+ void *kib_listen_handle; /* IB listen handle */
+
+ rwlock_t kib_global_lock; /* stabilize peer/conn ops */
+
+ struct list_head *kib_peers; /* hash table of all my known peers */
+ int kib_peer_hash_size; /* size of kib_peers */
+ atomic_t kib_npeers; /* # peers extant */
+ atomic_t kib_nconns; /* # connections extant */
+
+ struct list_head kib_reaper_conns; /* connections to reap */
+ wait_queue_head_t kib_reaper_waitq; /* reaper sleeps here */
+ unsigned long kib_reaper_waketime; /* when reaper will wake */
+ spinlock_t kib_reaper_lock; /* serialise */
+
+ struct list_head kib_connd_peers; /* peers waiting for a connection */
+ struct list_head kib_connd_acceptq; /* accepted sockets to handle */
+ wait_queue_head_t kib_connd_waitq; /* connection daemons sleep here */
+ spinlock_t kib_connd_lock; /* serialise */
+
+ wait_queue_head_t kib_sched_waitq; /* schedulers sleep here */
+ struct list_head kib_sched_txq; /* tx requiring attention */
+ struct list_head kib_sched_rxq; /* rx requiring attention */
+ spinlock_t kib_sched_lock; /* serialise */