]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blobdiff - drivers/infiniband/ulp/srpt/ib_srpt.h
IB/srpt: Accept GUIDs as port names
[mirror_ubuntu-bionic-kernel.git] / drivers / infiniband / ulp / srpt / ib_srpt.h
index 581878782854322301dc85ba1e6c763888da0827..cc1183851af5e587f190c4643103420995330b86 100644 (file)
@@ -258,6 +258,7 @@ enum rdma_ch_state {
  *                 against concurrent modification by the cm_id spinlock.
  * @sess:          Session information associated with this SRP channel.
  * @sess_name:     Session name.
+ * @ini_guid:      Initiator port GUID.
  * @release_work:  Allows scheduling of srpt_release_channel().
  * @release_done:  Enables waiting for srpt_release_channel() completion.
  */
@@ -284,6 +285,7 @@ struct srpt_rdma_ch {
        struct list_head        cmd_wait_list;
        struct se_session       *sess;
        u8                      sess_name[36];
+       u8                      ini_guid[24];
        struct work_struct      release_work;
        struct completion       *release_done;
 };
@@ -306,28 +308,34 @@ struct srpt_port_attrib {
  * @mad_agent: per-port management datagram processing information.
  * @enabled:   Whether or not this target port is enabled.
  * @port_guid: ASCII representation of Port GUID
+ * @port_gid:  ASCII representation of Port GID
  * @port:      one-based port number.
  * @sm_lid:    cached value of the port's sm_lid.
  * @lid:       cached value of the port's lid.
  * @gid:       cached value of the port's gid.
  * @port_acl_lock spinlock for port_acl_list:
  * @work:      work structure for refreshing the aforementioned cached values.
- * @port_tpg_1 Target portal group = 1 data.
- * @port_wwn:  Target core WWN data.
+ * @port_guid_tpg: TPG associated with target port GUID.
+ * @port_guid_wwn: WWN associated with target port GUID.
+ * @port_gid_tpg:  TPG associated with target port GID.
+ * @port_gid_wwn:  WWN associated with target port GID.
  * @port_acl_list: Head of the list with all node ACLs for this port.
  */
 struct srpt_port {
        struct srpt_device      *sdev;
        struct ib_mad_agent     *mad_agent;
        bool                    enabled;
-       u8                      port_guid[64];
+       u8                      port_guid[24];
+       u8                      port_gid[64];
        u8                      port;
        u16                     sm_lid;
        u16                     lid;
        union ib_gid            gid;
        struct work_struct      work;
-       struct se_portal_group  port_tpg_1;
-       struct se_wwn           port_wwn;
+       struct se_portal_group  port_guid_tpg;
+       struct se_wwn           port_guid_wwn;
+       struct se_portal_group  port_gid_tpg;
+       struct se_wwn           port_gid_wwn;
        struct srpt_port_attrib port_attrib;
 };