Hello,
I had an email exchange with the iSER folks earlier this summer where I
submitted the attached proposal for consideration. It does not contain
the local port number because nobody seems to set it to a meaningful
value. More food for thought.
-David
Roland Dreier wrote:
Roland> I have a few minor quibbles with this proposal. I think
Roland> it would be better to have only the IP version, source and
Roland> destination IPs and local in the CM private data.
err-- "...and local PORT NUMBER in the CM private data..."
- R.
_______________________________________________
openib-general mailing list
[email protected]
http://openib.org/mailman/listinfo/openib-general
To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
--- Begin Message ---
I'd like to propose a
standard IBTA
Hello/HelloAck message carried in the CM private data area and IANA
port number to IB service ID mapping for use by IETF RDMA protocols
mapped onto IB. I'm hoping that this extension will enable iSER, NFS,
and perhaps future iWARP ULPs to transmit IP address information that
is needed for authentication and advertise well-known service locations.
The proposal
consists of the following changes to version 1.2 of volume 1 IBTA
specification:
1) When the Service ID is in the IBTA assigned range as described in
section A3.2.3.1 where byte 6 is set to 0x02, the CM REQ packet
will contain the following
Hello message starting at offset 140 (start of private data area):
bit 0 1 2
3
byte 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0
1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
0-3 | MajV | MinV | IPV | Cap | Reserved
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
4-7 | Src IP (127-96)
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
8-11 | Src IP (
95-64)
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
12-15 | Src IP (
63-32)
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
16-19 | Src IP (
31-00)
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
20-23 | Dst IP
(127-96)
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
24-27 | Dst IP (
95-64)
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
28-31 | Dst IP (
63-32)
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
32-35 | Dst IP (
31-00)
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
where:
- MajV (4 bits) - The Major Protocol version number. The value
must be
set to 1. The accepting peer shall reject the connection if MajV in
the Hello message does not match its local value.
- MinV (4 bits) - The Minor Protocol version number.
The value
must be set to 1. The accepting peer shall not reject the
connection, solely on the basis that MinV of the Hello message does not
match its
local value. This enables future protocol extensions which are
upwardly compatible.
- IPV (4 bits) - The Internet Protocol version number of the
end-point
address field (fields Src IP and Dst IP). If IPV = 0x4, the IP
addresses are IP version 4
format (32 bit addresses). If IPV = 0x6, then both IP addresses are IP
version 6 format (128 bit addresses). All other IPV values are
reserved. The accepting peer shall reject the connection if IPV of the
Hello message has a value other than 0x4 or 0x6.
- Cap (4 bits) - The Capabilities field conveys the connecting
peer’s
capabilities. The following capabilities are defined:
| Bit Position |
Capability
|
Description
|
0
|
INVALIDATE_CAP
|
Supports incoming Send w/Invalidate
opcode
|
1
|
VABTO_CAP |
Supports incoming ZBVA Messages |
2-3
|
reserved
|
transmitted as zero and not checked at receiver
|
where:
- The connecting peer shall set the INVALIDATE_CAP bit in the
Cap field
in Hello Message only if it can support incoming invalidate messages.
If the accepting peer does not support Send w/Invalidate, it will
ignore the Invalidate Capability advertisement.
- The connecting peer shall set the ZBVA_CAP bit in the Cap
field in Hello Message only if it can support Zero based
Virtual Addresses (ZBVA). If the accepting peer does not
support ZBVA, it
will ignore the ZBVA Capability advertisement.
- Internet Protocol Address (128 bits) - The Internet Protocol
(IP)
address for the local interface (Src IP) and remote interface (Dst
IP). These can be either IPv4 or IPv6 addresses, as specified by the
IPV field. If Src IP and Dst IP of the Hello Message are IPv4
addresses, as
specified by the IPV field, then Src IP (31-0) and Dst IP (31-0) shall
be used to transmit the source and destination IP addresses,
respectively, and bits Src IP (127-32) and Dst IP (127-32) shall be set
to zero.
and the CM REP packet will contain the following HelloAck
Message starting at offset 36 (start of private data area):
bit 0 1
2
3
byte 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0
1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
0-4 | MajV | MinV | Rsrd | Cap | Reserved
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
where:
- MajV (4 bits) - The Major Protocol version number. The value
must
be set to 1. The accepting peer shall reject the connection if MajV in
the HelloAck message does not match its local value.
- MinV (4 bits) - The Minor Protocol version number.
The value
must be set to 1.
The accepting peer shall not reject the connection, solely on the basis
that MinV of the HelloAck Message does not match its local value. This
enables
future protocol extensions which are upwardly compatible.
- Cap (4 bits) - The Capabilities field conveys the connecting
peer’s
capabilities. The following capabilities are defined:
| Bit Position |
Capability
|
Description
|
0
|
INVALIDATE_CAP
|
Supports incoming Send w/Invalidate
opcode
|
1
|
ZBVA_CAP |
Supports incoming ZBVA messages |
2-3
|
reserved
|
transmitted as zero and not checked at receiver
|
where:
- The connecting peer shall set the INVALIDATE_CAP bit in the
Cap field
in Hello Message only if it can support incoming invalidate messages.
If the accepting peer does not support Send w/Invalidate, it will
ignore the Invalidate Capability advertisement.
- The connecting peer shall set the ZBVA_CAP bit in the Cap
field in Hello Message only if it can support Zero based
Virtual Addresses (ZBVA). If the accepting peer does not
support ZBVA, it
will ignore the ZBVA Capability advertisement.
2) In addition, the format of the IBTA service IDs as
described in section A3.2.3.1 will be extended to
include an "iWARP port" range where byte 6 is set to 0x02 and byte 7
and
8 contain the IANA assigned TCP port number. For example, the port
number would be:
- 2049, the default port number, for NFS.
- 3260, the the default port number, for iSER.
Note, some iWARP ULPs exchange RDMA parameters, such as IRD and ORD,
during connection setup. These ULPs should either (a) establish a TCP
connection to exchange these parameters, or (b) use the remaining CM
private data after the proposed Hello/HelloAck message
described above. Also note,
the
there is no local port in the Hello message because no requirement for
it has been identified.
|
--- End Message ---
_______________________________________________
openib-general mailing list
[email protected]
http://openib.org/mailman/listinfo/openib-general
To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general