SAS: COPY ROUTE TABLE, BROADCAST and version descriptor

Luben Tuikov ltuikov at
Tue Apr 11 10:08:25 PDT 2006

* From the T10 Reflector (t10 at, posted by:
* Luben Tuikov <ltuikov at>
1. COPY ROUTE TABLE SMP function is to copy the route table from
one phy to another phy. "TABLE" since it copies the whole table.
Copying per index can be done with RRI/CRI pairs.
Since the expander route table implementation is (very) vendor specific,
it would be useful to complement the GET (RRI), SET (CRI) methods
with a COPY (COPY ROUTE TABLE) method, such that the actual "copying" is
done by the vendor's firmware (depending on the HW implementation,
Thus, only a single phy's route table would be built with RRI/CRI pairs,
and then COPY ROUTE TABLE can be used to tell the fw/hw to "copy" it to the
other phys part of the same port.  This would also be used when the port
is "augmented" (widened) in the future by say bringing up another link.
This would also allow for the expander to better manage its routing
Request: offset 9: source phy; offset 11: destination phy; frame size
16, request length 2.
Response: offset 2: SMP function result, plus new SMP PARTIAL, to indicate
partial completion. I.e. when returned as a result to COPY ROUTE TABLE it
would mean that only part of the table was successfully copied.  Offset 6-7
to indicate the size of the resulting routing table of the destination phy.
Offset 9: source phy, offset 11: destination phy.  Frame size 16,
response length 2.
Proposing (bug fix):
2. BROADCAST to be allowed to be sent/forwarded to non-generating ports,
only after the link reset sequence, not after the phy reset sequence,
since the port exists only after the link reset sequence
(i.e. (phy+hr)?(phy+identification) sequence).
Currently allows it, which implies that an expander port
can send BROADCAST before it has sent IDENTIFY addr frame.
Section 4.4.1 doesn't seem to allow for any slack between
the phy reset and identification sequence.
3. Inclusion of the version descriptor value in the REPORT GENERAL or
REPORT MANUFACTURER INFORMATION data.  The version descriptor value
to be used is as defined in Table 87 "Version descriptor values"
in SPC4r04.
E.g. bytes 20-21 of REPORT GENERAL or bytes 4-5 of REPORT MANUFACTURER
* For T10 Reflector information, send a message with
* 'info t10' (no quotes) in the message body to majordomo at

More information about the T10 mailing list