]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blobdiff - net/smc/smc_core.h
smc: link layer control (LLC)
[mirror_ubuntu-artful-kernel.git] / net / smc / smc_core.h
index f5ea52086d6d9fb538e2edc44ea70464db753c45..27eb38056a27fb07e3ce72afbacaffaf4ae55f73 100644 (file)
@@ -73,6 +73,9 @@ struct smc_link {
        u32                     peer_psn;       /* QP rx initial packet seqno */
        u8                      peer_mac[ETH_ALEN];     /* = gid[8:10||13:15] */
        u8                      peer_gid[sizeof(union ib_gid)]; /* gid of peer*/
+       u8                      link_id;        /* unique # within link group */
+       struct completion       llc_confirm;    /* wait for rx of conf link */
+       struct completion       llc_confirm_resp; /* wait 4 rx of cnf lnk rsp */
 };
 
 /* For now we just allow one parallel link per link group. The SMC protocol
@@ -102,6 +105,8 @@ struct smc_rtoken {                         /* address/key of remote RMB */
        u32                     rkey;
 };
 
+#define SMC_LGR_ID_SIZE                4
+
 struct smc_link_group {
        struct list_head        list;
        enum smc_lgr_role       role;           /* client or server */
@@ -125,6 +130,7 @@ struct smc_link_group {
                                                        SMC_RMBS_PER_LGR_MAX)];
                                                /* used rtoken elements */
 
+       u8                      id[SMC_LGR_ID_SIZE];    /* unique lgr id */
        struct delayed_work     free_work;      /* delayed freeing of an lgr */
        bool                    sync_err;       /* lgr no longer fits to peer */
 };