diff options
-rw-r--r-- | drivers/scsi/libfc/fc_exch.c | 2 | ||||
-rw-r--r-- | include/scsi/fc_frame.h | 3 | ||||
-rw-r--r-- | include/scsi/libfc.h | 2 |
3 files changed, 7 insertions, 0 deletions
diff --git a/drivers/scsi/libfc/fc_exch.c b/drivers/scsi/libfc/fc_exch.c index 104e0fba7c43..61eabd3ce436 100644 --- a/drivers/scsi/libfc/fc_exch.c +++ b/drivers/scsi/libfc/fc_exch.c | |||
@@ -464,6 +464,7 @@ static int fc_seq_send(struct fc_lport *lport, struct fc_seq *sp, | |||
464 | 464 | ||
465 | f_ctl = ntoh24(fh->fh_f_ctl); | 465 | f_ctl = ntoh24(fh->fh_f_ctl); |
466 | fc_exch_setup_hdr(ep, fp, f_ctl); | 466 | fc_exch_setup_hdr(ep, fp, f_ctl); |
467 | fr_encaps(fp) = ep->encaps; | ||
467 | 468 | ||
468 | /* | 469 | /* |
469 | * update sequence count if this frame is carrying | 470 | * update sequence count if this frame is carrying |
@@ -1259,6 +1260,7 @@ static void fc_exch_recv_req(struct fc_lport *lport, struct fc_exch_mgr *mp, | |||
1259 | sp = fr_seq(fp); /* sequence will be held */ | 1260 | sp = fr_seq(fp); /* sequence will be held */ |
1260 | ep = fc_seq_exch(sp); | 1261 | ep = fc_seq_exch(sp); |
1261 | fc_seq_send_ack(sp, fp); | 1262 | fc_seq_send_ack(sp, fp); |
1263 | ep->encaps = fr_encaps(fp); | ||
1262 | 1264 | ||
1263 | /* | 1265 | /* |
1264 | * Call the receive function. | 1266 | * Call the receive function. |
diff --git a/include/scsi/fc_frame.h b/include/scsi/fc_frame.h index 15427fab8a57..29dd97d5b53a 100644 --- a/include/scsi/fc_frame.h +++ b/include/scsi/fc_frame.h | |||
@@ -51,6 +51,7 @@ | |||
51 | #define fr_sof(fp) (fr_cb(fp)->fr_sof) | 51 | #define fr_sof(fp) (fr_cb(fp)->fr_sof) |
52 | #define fr_eof(fp) (fr_cb(fp)->fr_eof) | 52 | #define fr_eof(fp) (fr_cb(fp)->fr_eof) |
53 | #define fr_flags(fp) (fr_cb(fp)->fr_flags) | 53 | #define fr_flags(fp) (fr_cb(fp)->fr_flags) |
54 | #define fr_encaps(fp) (fr_cb(fp)->fr_encaps) | ||
54 | #define fr_max_payload(fp) (fr_cb(fp)->fr_max_payload) | 55 | #define fr_max_payload(fp) (fr_cb(fp)->fr_max_payload) |
55 | #define fr_fsp(fp) (fr_cb(fp)->fr_fsp) | 56 | #define fr_fsp(fp) (fr_cb(fp)->fr_fsp) |
56 | #define fr_crc(fp) (fr_cb(fp)->fr_crc) | 57 | #define fr_crc(fp) (fr_cb(fp)->fr_crc) |
@@ -69,6 +70,7 @@ struct fcoe_rcv_info { | |||
69 | u8 fr_sof; /* start of frame delimiter */ | 70 | u8 fr_sof; /* start of frame delimiter */ |
70 | u8 fr_eof; /* end of frame delimiter */ | 71 | u8 fr_eof; /* end of frame delimiter */ |
71 | u8 fr_flags; /* flags - see below */ | 72 | u8 fr_flags; /* flags - see below */ |
73 | u8 fr_encaps; /* LLD encapsulation info (e.g. FIP) */ | ||
72 | u8 granted_mac[ETH_ALEN]; /* FCoE MAC address */ | 74 | u8 granted_mac[ETH_ALEN]; /* FCoE MAC address */ |
73 | }; | 75 | }; |
74 | 76 | ||
@@ -97,6 +99,7 @@ static inline void fc_frame_init(struct fc_frame *fp) | |||
97 | fr_dev(fp) = NULL; | 99 | fr_dev(fp) = NULL; |
98 | fr_seq(fp) = NULL; | 100 | fr_seq(fp) = NULL; |
99 | fr_flags(fp) = 0; | 101 | fr_flags(fp) = 0; |
102 | fr_encaps(fp) = 0; | ||
100 | } | 103 | } |
101 | 104 | ||
102 | struct fc_frame *fc_frame_alloc_fill(struct fc_lport *, size_t payload_len); | 105 | struct fc_frame *fc_frame_alloc_fill(struct fc_lport *, size_t payload_len); |
diff --git a/include/scsi/libfc.h b/include/scsi/libfc.h index 24b91c922055..8d297f9a0a47 100644 --- a/include/scsi/libfc.h +++ b/include/scsi/libfc.h | |||
@@ -412,6 +412,7 @@ struct fc_seq { | |||
412 | * @esb_stat: ESB exchange status | 412 | * @esb_stat: ESB exchange status |
413 | * @r_a_tov: Resouce allocation time out value (in msecs) | 413 | * @r_a_tov: Resouce allocation time out value (in msecs) |
414 | * @seq_id: The next sequence ID to use | 414 | * @seq_id: The next sequence ID to use |
415 | * @encaps: encapsulation information for lower-level driver | ||
415 | * @f_ctl: F_CTL flags for the sequence | 416 | * @f_ctl: F_CTL flags for the sequence |
416 | * @fh_type: The frame type | 417 | * @fh_type: The frame type |
417 | * @class: The class of service | 418 | * @class: The class of service |
@@ -443,6 +444,7 @@ struct fc_exch { | |||
443 | u32 esb_stat; | 444 | u32 esb_stat; |
444 | u32 r_a_tov; | 445 | u32 r_a_tov; |
445 | u8 seq_id; | 446 | u8 seq_id; |
447 | u8 encaps; | ||
446 | u32 f_ctl; | 448 | u32 f_ctl; |
447 | u8 fh_type; | 449 | u8 fh_type; |
448 | enum fc_class class; | 450 | enum fc_class class; |