On Wed, Sep 10, 2008 at 07:04:01AM -0700, Seokmann Ju wrote: [...] > +struct fc_frame_header { > + __u8 fh_r_ctl; /* routing control */ > + __u8 fh_d_id[3]; /* Destination ID */ > + > + __u8 fh_cs_ctl; /* class of service control / pri */ > + __u8 fh_s_id[3]; /* Source ID */ > + > + __u8 fh_type; /* see enum fc_fh_type below */ > + __u8 fh_f_ctl[3]; /* frame control */ > + > + __u8 fh_seq_id; /* sequence ID */ > + __u8 fh_df_ctl; /* data field control */ > + __be16 fh_seq_cnt; /* sequence count */ > + > + __be16 fh_ox_id; /* originator exchange ID */ > + __be16 fh_rx_id; /* responder exchange ID */ > + __be32 fh_parm_offset; /* parameter or relative offset */ > +}; > + > +/* TBD - fc_els_hdr to move to ~/include/scsi/fc/fc_els.h */ > +struct fc_els_hdr { > + __u8 els_cmd; > + __u8 els_param[3]; > +}; > + > +/* NOTE - fc_ct_hdr is already defined in open-fcoe-upstream branch */ > +/* > + * Fibre Channel Services - Common Transport. > + * From T11.org FC-GS-2 Rev 5.3 November 1998. > + */ > + > +struct fc_ct_hdr { > + __u8 ct_rev; /* revision */ > + __u8 ct_in_id[3]; /* N_Port ID of original requestor */ > + __u8 ct_fs_type; /* type of fibre channel service */ > + __u8 ct_fs_subtype; /* subtype */ > + __u8 ct_options; > + __u8 _ct_resvd1; > + __be16 ct_cmd; /* command / response code */ > + __be16 ct_mr_size; /* maximum / residual size */ > + __u8 _ct_resvd2; > + __u8 ct_reason; /* reject reason */ > + __u8 ct_explan; /* reason code explanation */ > + __u8 ct_vendor; /* vendor unique data */ > +}; > + > +struct fc_els_frame { > + struct fc_frame_header fc_hdr; > + struct fc_els_hdr els_hdr; > + u32 els_cmd[4]; > +}; > + > +struct fc_ct_frame { > + struct fc_frame_header fc_hdr; > + struct fc_ct_hdr ct_hdr; > + u32 ct_cmd[1]; > +}; I was just reading he patch and i am wondering why the fc_frame_header is included here. There was a discussion in August and the conclusion was to only include the common ct_hdr in the LLD interface: http://marc.info/?t=121908849700001&r=1&w=2 The zfcp driver does not care about the FC headers, this is hidden in the System z FCP HBA. I would prefer that the interface to the LLD does not include the frame_header, otherwise userspace would fill the frame_header and zfcp would simply discard it. Christof -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html