Whamcloud - gitweb
LU-13641 socklnd: replace route construct
[fs/lustre-release.git] / lnet / klnds / socklnd / socklnd.h
index cd95ea6..49055d0 100644 (file)
@@ -245,7 +245,7 @@ struct ksock_nal_data {
  * received into struct bio_vec fragments.
  */
 struct ksock_conn;                             /* forward ref */
-struct ksock_route;                            /* forward ref */
+struct ksock_conn_cb;                          /* forward ref */
 struct ksock_proto;                            /* forward ref */
 
 struct ksock_tx {                      /* transmit packet */
@@ -289,7 +289,7 @@ union ksock_rxiovspace {
 
 struct ksock_conn {
        struct ksock_peer_ni    *ksnc_peer;             /* owning peer_ni */
-       struct ksock_route      *ksnc_route;            /* owning route */
+       struct ksock_conn_cb    *ksnc_conn_cb;          /* owning conn control block */
        struct list_head        ksnc_list;              /* on peer_ni's conn list */
        struct socket           *ksnc_sock;             /* actual socket */
        void                    *ksnc_saved_data_ready; /* socket's original
@@ -357,8 +357,7 @@ struct ksock_conn {
        time64_t                ksnc_tx_last_post;
 };
 
-struct ksock_route {
-       struct list_head        ksnr_list;      /* chain on peer_ni route list*/
+struct ksock_conn_cb {
        struct list_head        ksnr_connd_list;/* chain on ksnr_connd_routes */
        struct ksock_peer_ni   *ksnr_peer;      /* owning peer_ni */
        refcount_t              ksnr_refcount;  /* # users */
@@ -372,7 +371,6 @@ struct ksock_route {
        unsigned int            ksnr_connecting:1;/* connection in progress */
        unsigned int            ksnr_connected:4;/* connections by type */
        unsigned int            ksnr_deleted:1; /* been removed from peer_ni? */
-       unsigned int            ksnr_share_count;/* created explicitly? */
        int                     ksnr_conn_count;/* # conns for this route */
 };
 
@@ -390,7 +388,7 @@ struct ksock_peer_ni {
        __u64                   ksnp_incarnation;   /* latest known peer_ni incarnation */
        const struct ksock_proto *ksnp_proto;   /* latest known protocol */
        struct list_head        ksnp_conns;     /* all active connections */
-       struct list_head        ksnp_routes;    /* routes */
+       struct ksock_conn_cb    *ksnp_conn_cb;  /* conn control block */
        struct list_head        ksnp_tx_queue;  /* waiting packets */
        spinlock_t              ksnp_lock;      /* serialize, g_lock unsafe */
        /* zero copy requests wait for ACK  */
@@ -459,7 +457,7 @@ static inline __u32 ksocknal_csum(__u32 crc, unsigned char const *p, size_t len)
 }
 
 static inline int
-ksocknal_route_mask(void)
+ksocknal_conn_cb_mask(void)
 {
        if (!*ksocknal_tunables.ksnd_typed_conns)
                return BIT(SOCKLND_CONN_ANY);
@@ -528,18 +526,18 @@ ksocknal_tx_decref(struct ksock_tx *tx)
 }
 
 static inline void
-ksocknal_route_addref(struct ksock_route *route)
+ksocknal_conn_cb_addref(struct ksock_conn_cb  *conn_cb)
 {
-       refcount_inc(&route->ksnr_refcount);
+       refcount_inc(&conn_cb->ksnr_refcount);
 }
 
-extern void ksocknal_destroy_route(struct ksock_route *route);
+extern void ksocknal_destroy_conn_cb(struct ksock_conn_cb *conn_cb);
 
 static inline void
-ksocknal_route_decref(struct ksock_route *route)
+ksocknal_conn_cb_decref(struct ksock_conn_cb *conn_cb)
 {
-       if (refcount_dec_and_test(&route->ksnr_refcount))
-               ksocknal_destroy_route (route);
+       if (refcount_dec_and_test(&conn_cb->ksnr_refcount))
+               ksocknal_destroy_conn_cb(conn_cb);
 }
 
 static inline void
@@ -581,7 +579,8 @@ struct ksock_peer_ni *ksocknal_find_peer_locked(struct lnet_ni *ni,
 struct ksock_peer_ni *ksocknal_find_peer(struct lnet_ni *ni,
                                    struct lnet_process_id id);
 extern void ksocknal_peer_failed(struct ksock_peer_ni *peer_ni);
-extern int ksocknal_create_conn(struct lnet_ni *ni, struct ksock_route *route,
+extern int ksocknal_create_conn(struct lnet_ni *ni,
+                               struct ksock_conn_cb *conn_cb,
                                struct socket *sock, int type);
 extern void ksocknal_close_conn_locked(struct ksock_conn *conn, int why);
 extern void ksocknal_terminate_conn(struct ksock_conn *conn);
@@ -605,8 +604,8 @@ extern void ksocknal_txlist_done(struct lnet_ni *ni, struct list_head *txlist,
 extern int ksocknal_thread_start(int (*fn)(void *arg), void *arg, char *name);
 extern void ksocknal_thread_fini(void);
 extern void ksocknal_launch_all_connections_locked(struct ksock_peer_ni *peer_ni);
-extern struct ksock_route *ksocknal_find_connectable_route_locked(struct ksock_peer_ni *peer_ni);
-extern struct ksock_route *ksocknal_find_connecting_route_locked(struct ksock_peer_ni *peer_ni);
+extern struct ksock_conn_cb *ksocknal_find_connectable_conn_cb_locked(struct ksock_peer_ni *peer_ni);
+extern struct ksock_conn_cb *ksocknal_find_connecting_conn_cb_locked(struct ksock_peer_ni *peer_ni);
 extern int ksocknal_new_packet(struct ksock_conn *conn, int skip);
 extern int ksocknal_scheduler(void *arg);
 extern int ksocknal_connd(void *arg);