[Bug 259355] iSCSI initiator fails if target does not send MaxRecvDataSegmentLength

From: <bugzilla-noreply_at_freebsd.org>
Date: Fri, 22 Oct 2021 14:00:46 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=259355

            Bug ID: 259355
           Summary: iSCSI initiator fails if target does not send
                    MaxRecvDataSegmentLength
           Product: Base System
           Version: CURRENT
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: kern
          Assignee: bugs@FreeBSD.org
          Reporter: emaste@freebsd.org
                CC: mav@FreeBSD.org
            Blocks: 259152

This is one issue split out from the overall OCI iSCSI issues bug PR259152.

More detail is available on in comments 11 through 13 on PR259152.
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=259152#c11
A pcap demonstrating this issue is in an attachment on that PR,
https://bugs.freebsd.org/bugzilla/attachment.cgi?id=228924

Summary of the specific issue here:

In frame 15 we send a Login Command containing MaxRecvDataSegmentLength=262144.

The response in frame 17 does not contain a MaxRecvDataSegmentLength. As a
result we never update conn->conn_max_recv_data_segment_length in
usr.sbin/iscsid/login.c login_negotiate_key().

In frame 189 we issue a read with ExpectedDataTransferLength: 0x00004000.
The response is in frame 192 with DataSegmentLength 0x00004000.

We then drop the connection with:
WARNING: icl_conn_receive_pdu: received data segment length 16384 is larger
than negotiated; dropping connection


Referenced Bugs:

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=259152
[Bug 259152] [iscsi] OCI oracle iscsi block device problems
-- 
You are receiving this mail because:
You are the assignee for the bug.