Karthik G Balaji wrote:
> On Sat, Apr 25, 2009 at 10:40 AM, Joe Eykholt <[email protected]
> <mailto:[email protected]>> wrote:
>
>
>
> Karthik G Balaji wrote:
>
> I am trying to bring up sw-target to the latest kernel. My setup
> is as
> follows,
>
> Initiator - 2.6.30-rc2 (From linux git tree)
> Target - Trying to build it in 2.6.29.1
> Mode - Point to Point
>
> After the entire setup when I initiate a connection , the target
> drops all
> the FLOGI packets due to CRC errors. I observed the following
> messages in
> the target machine(After compiling with debug mode). Initiator
> seems to be
> sane and it retries continuously and hence these messages occur
> repeatedly
> in the target machine.
>
> Is this occuring due to the compatibility issues between the latest
> initiator and target ?
>
>
> Apr 25 02:06:19 kb-xen kernel: [10544.396376] frame with CRC
> error 010101 ->
> 010102 xids 014c ffff ELS req ELS PLOGI
> Apr 25 02:06:19 kb-xen kernel: [10544.400015] fcoe_xmit
> 000000 ->
> fffffe xids 00c4 ffff ELS req ELS FLOGI
> Apr 25 02:06:19 kb-xen kernel: [10544.400540] fcoe_rcv:
> skb_info: len:166
> data_len:0 head:c7578000 data:c7578020 tail:c75780c6
> end:c7578100 sum:0
> dev:eth0
> Apr 25 02:06:19 kb-xen kernel: [10544.400549]
> fcoe_percpu_receive_thread:
> skb_info: len:166 data_len:0 head:c7578000 data:c7578020
> tail:c75780c6
> end:c7578100 sum:0 dev:eth0
> Apr 25 02:06:19 kb-xen kernel: [10544.400553]
> fcoe_percpu_receive_thread:
> dropping frame with CRC error
> Apr 25 02:06:19 kb-xen kernel: [10544.400556] frame with CRC
> error fffffe ->
> 000000 xids 00c4 014d ELS rep ELS LS_ACC
> Apr 25 02:06:19 kb-xen kernel: [10544.400675] fcoe_rcv:
> skb_info: len:66
> data_len:0 head:e586e000 data:e586e020 tail:e586e062
> end:e586e100 sum:0
> dev:eth0
> Apr 25 02:06:19 kb-xen kernel: [10544.400683]
> fcoe_percpu_receive_thread:
> skb_info: len:66 data_len:0 head:e586e000 data:e586e020
> tail:e586e062
> end:e586e100 sum:0 dev:eth0
> Apr 25 02:06:19 kb-xen kernel: [10544.400686]
> fcoe_percpu_receive_thread:
> dropping frame with CRC error
> Apr 25 02:06:19 kb-xen kernel: [10544.400690] frame with CRC
> error 010101 ->
> 010102 xids 014e ffff ELS req ELS LOGO
> Apr 25 02:06:19 kb-xen kernel: [10544.400893] fcoe_rcv:
> skb_info: len:166
> data_len:0 head:ed683000 data:ed683020 tail:ed6830c6
> end:ed683100 sum:0
> dev:eth0
> Apr 25 02:06:19 kb-xen kernel: [10544.400901]
> fcoe_percpu_receive_thread:
> skb_info: len:166 data_len:0 head:ed683000 data:ed683020
> tail:ed6830c6
> end:ed683100 sum:0 dev:eth0
> Apr 25 02:06:19 kb-xen kernel: [10544.400905]
> fcoe_percpu_receive_thread:
> dropping frame with CRC error
> Apr 25 02:06:19 kb-xen kernel: [10544.400908] frame with CRC
> error 010101 ->
> 010102 xids 014f ffff ELS req ELS PLOGI
> Apr 25 02:06:21 kb-xen kernel: [10546.395430] fcoe_rcv:
> skb_info: len:50
> data_len:0 head:ed687400 data:ed687420 tail:ed687452
> end:ed687500 sum:0
> dev:eth0
> Apr 25 02:06:21 kb-xen kernel: [10546.395442]
> fcoe_percpu_receive_thread:
> skb_info: len:50 data_len:0 head:ed687400 data:ed687420
> tail:ed687452
> end:ed687500 sum:0 dev:eth0
> Apr 25 02:06:21 kb-xen kernel: [10546.395446]
> fcoe_percpu_receive_thread:
> dropping frame with CRC error
> Apr 25 02:06:21 kb-xen kernel: [10546.395450] frame with CRC
> error 010101 ->
> 010102 xids 014c ffff BLS abort BLS op 2d
> Apr 25 02:06:21 kb-xen kernel: [10546.395682] fcoe_rcv:
> skb_info: len:50
> data_len:0 head:ed79e800 data:ed79e820 tail:ed79e852
> end:ed79e900 sum:0
> dev:eth0
> Apr 25 02:06:21 kb-xen kernel: [10546.395689]
> fcoe_percpu_receive_thread:
> skb_info: len:50 data_len:0 head:ed79e800 data:ed79e820
> tail:ed79e852
> end:ed79e900 sum:0 dev:eth0
> Apr 25 02:06:21 kb-xen kernel: [10546.395693]
> fcoe_percpu_receive_thread:
> dropping frame with CRC error
> Apr 25 02:06:21 kb-xen kernel: [10546.395696] frame with CRC
> error 010101 ->
> 010102 xids 014e ffff BLS abort BLS op 4
> Apr 25 02:06:21 kb-xen kernel: [10546.395942] fcoe_rcv:
> skb_info: len:50
> data_len:0 head:ed683400 data:ed683420 tail:ed683452
> end:ed683500 sum:0
> dev:eth0
> Apr 25 02:06:21 kb-xen kernel: [10546.395951]
> fcoe_percpu_receive_thread:
> skb_info: len:50 data_len:0 head:ed683400 data:ed683420
> tail:ed683452
> end:ed683500 sum:0 dev:eth0
> Apr 25 02:06:21 kb-xen kernel: [10546.395955]
> fcoe_percpu_receive_thread:
> dropping frame with CRC error
> Apr 25 02:06:21 kb-xen kernel: [10546.395959] frame with CRC
> error 010101 ->
> 010102 xids 014f ffff BLS abort BLS op b0
> Apr 25 02:06:21 kb-xen kernel: [10546.396029] fcoe_rcv:
> skb_info: len:166
> data_len:0 head:ed685000 data:ed685020 tail:ed6850c6
> end:ed685100 sum:0
> dev:eth0
> Apr 25 02:06:21 kb-xen kernel: [10546.396038]
> fcoe_percpu_receive_thread:
> skb_info: len:166 data_len:0 head:ed685000 data:ed685020
> tail:ed6850c6
> end:ed685100 sum:0 dev:eth0
> Apr 25 02:06:21 kb-xen kernel: [10546.396043]
> fcoe_percpu_receive_thread:
> dropping frame with CRC error
> Apr 25 02:06:21 kb-xen kernel: [10546.396046] frame with CRC
> error 010101 ->
> 010102 xids 0150 ffff ELS req ELS PLOGI
> Apr 25 02:06:21 kb-xen kernel: [10546.400012] fcoe_xmit
> 000000 ->
> fffffe xids 00c6 ffff ELS req ELS FLOGI
>
>
> I tried to compare the fcoe_percpu_receive_thread() function of
> the latest
> initiator with the same function present in the target. But I am
> not able to
> figure out the error. Please help me to debug this. I have
> attached the
> relevant dump from wireshark with this mail. That has the packet
> contents
> while these error messages are displayed.
>
>
> It looks like the length may be the problem, or the target is
> looking for
> the CRC in the wrong place. The wireshark info shows it read 42000000,
> which is an EOF code value which would normally follow the CRC.
>
> So, it looks like it's looking 4 bytes past the CRC, and
> perhaps also using 4 bytes more than it should to compute the CRC.
>
> Let us know what it turns out to be.
>
>
> Ya looks like it. Thanks for the pointer. I think the following patch
> has some role to play in this error.
>
> http://lists.wpkg.org/pipermail/stgt/2008-July/001762.html
>
> The target is still using *FCOE_T11_AUG07* and the CRC struct reads,
>
> /*
> * FCoE CRC & EOF
> * NB: This is the old version, defined before August 2007.
> */
> struct fcoe_crc_eof {
> u_int32_t fcoe_crc32; /* CRC for FC packet */
> net8_t fcoe_eof; /* EOF from RFC 3643 */
> } __attribute__((packed));
>
> Let me know your thoughts. I will try to understand this better.
>
> -Karthik
>
The one called FCOE_T11_AUG07 is the latest one, but that crc_eof struct
above is from the pre-T11 format. The latest one has an additional
three reserved bytes after the EOF.
The patch intended to remove the old pre-T11 support, but I don't
see the changes that would be required in the receive code, and it
still has the member fcoe_hlen, which was used to select the format.
I figure somehow the offset to the CRC in your target receive code
(percpu_receive_thread) is 4 bytes larger than it should be.
You might try just using the code you have, but with fcconf, be sure
to select the new format. To do that:
fcconf ethX delete # this might not work on target, you may need to
rmmod
fcconf ethX create fcoe_version T11
If that works, then the patch was incomplete. Target mode definitely
needs more attention and testing. I'm glad you're doing that.
Joe
_______________________________________________
devel mailing list
[email protected]
http://www.open-fcoe.org/mailman/listinfo/devel