Routing Table Entries

Johnson, Stephen B. sjohnson at lsil.com
Wed Feb 26 08:17:53 PST 2003


* From the T10 Reflector (t10 at t10.org), posted by:
* "Johnson, Stephen B." <sjohnson at lsil.com>
*
This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

------_=_NextPart_001_01C2DDB2.9D24D870
Content-Type: text/plain;
	charset="iso-8859-1"

Denis,
 
You are correct about the DISABLE EXPANDER ROUTE ENTRY bit.
All entries that reference the expander itself and attached expanders
shall be disabled.
I was thinking about if the PHY's actaully were enabled or not. Not the
Route Tabled Entry.
Confusion on my part.
 
As far as your assumption that 2100 is the first entry in PHY 0 Route
Table, I think this is incorrect. 
 
4.6.11.4 says
 
The expander route table shall be configured starting from expander
route index 0 by level (e.g., all level 1 entries first, then all level
2 entries, then all level 3 entries, etc.) up to the value of the
EXPANDER ROUTE INDEXES field reported by the SMP REPORT GENERAL function
(see 10.3.1.2).
"Assuming the attached edge expander devices each have N phys, the first
N entries shall be the SAS addresses of the devices attached to the
attached edge expander device, ordered from expander phy 0 through
expander phy N."

I read this to be the first entry of the table is the SAS addresses of
the device attached to the level 1, PHY 0.
Not the address of Level 1. 
In your example the Fanout already knows the address of the 2100 since
it is directly attached to it. Why have it in the
table at all? It does need the table to access 2100.
 
The wording needs to be more clear here and possibly show an example to
eliminate the confusion
since all initiators need to do this exactly the same.
 
Steve
 
 
 
-----Original Message-----
From: Dennis Moore [mailto:dmoore at ix.netcom.com]
Sent: Tuesday, February 25, 2003 10:59 PM
To: Johnson, Stephen B.; t10 at t10.org
Subject: Re: Routing Table Entries


Stephen,
 Thanks for your input. I have a few question about your solution. All
comments refer to SAS-r03d.pdf. 
 
First, I think the first four entries in the table below should be
disabled. According to clause 4.6.11.3 paragraph 9 (top of page 65) if
the expander detects self-reference, it shall disable the entry. 
"If the application client detects an expander route entry that
references the SAS address of the expander device itself (i.e.,
self-reference), it shall disable the expander route entry by setting
the DISABLE EXPANDER ROUTE ENTRY bit to one in the SMP CONFIGURE ROUTE
INFORMATION function (see 10.3.1.8)."

I believe the first four entries are self-reference. 
 
Second, clause 4.6.11.4 paragraph 2 states:
"For purposes of configuring the expander route table, the edge expander
devices attached to the expander phy are assigned levels:

1) the attached edge expander device is considered level 1;

2) devices attached to it are considered level 2;

3) devices attached to level 2 edge expander devices are considered
level 3; and

4) etc."

The numbered list entry number 1 above indicates that level 1 is the
attached expander which in the example is SAS address 2100. So that
should be the first entry in the table. Also, clause 4.6.11.3 paragraph
10 states that the entry should be disabled.

"If the application client detects an expander route entry that
references the SAS address of an attached edge expander device, it shall
disable the expander route entry by setting the DISABLE EXPANDER ROUTE
ENTRY bit to one in the SMP CONFIGURE ROUTE INFORMATION function (see
10.3.1.8)."

I think the same applies to the entries in your example for indices 12,
13,17, and 18. These should all be disabled.

Now I must confess that it does not make much sense to have this level 1
entry (2100 disabled) in the table, but that seems to be what the text
indicates. It does seem to make sense for the other indices.

Numbered entry 2 above indicates that the devices attached to that
expander are level 2 devices. I believe that is where your table below
begins.

Please let me know if I'm incorrect and what reference in the standard I
need to look at to make the corrections. 
Thanks,
dmoore
 
----- Original Message ----- 

From: Johnson, Stephen   B. 
To: Dennis Moore   ; t10 at t10.org
<mailto:t10 at t10.org>  
Sent: Tuesday, February 25, 2003 5:38 PM
Subject: RE: Routing Table Entries

Denis,
 
I'll take a stab at this for you.
 
Attached (xls spread sheet) are my results for discovery and for each of
the expander route tables starting from Initiator C345.
 
I like to build up an ordered table All the PHY's in the topology (see
attachment). 
The table is built in the order of discovery where everything is scanned
by PHY identifier number from 0-n.
Once you have the table it is easy to determine each of the Route Table
entries by looking for
each of the PHY's that have the attribute Table Routing and making each
PHY behind the connected PHY an entry in the table.
 
The actual algorithm you use for determining the tables is up you. I
have verified the recursive one in the back
of the spec and have also created a few others.
 
Since you didn't say I assumed some PHY's are subtractive. The initiator
needs to
get this info about each PHY using the SMP Discover response.
 
I haven't really thought too much about if the PHY's are enabled or not
but,
So someone please correct me if I'm wrong here.
 
I consider all PHY's that are attached to something to have one of the
"enabled" values (0,2,3,8, or 9) in table 154 of the SAS-r03d spec.
 
So, for PHY 0 of the Fanout I get the following Route Table: ( note: all
phy's are enabled but 7,8,9 )
 


0
1000

1
1000

2
1000

3
1000

4
A123

5
4200

6
4200

7
...

8
...

9
...

10
4300

11
4300

12
2100

13
2100

14
6001

15
6002

16
6003

17
2100

18
2100

19
7001

20
7002

21
7003

 
 
If you start from another initiator the order of my "All PHY's Table" is
different but the Route Tables are exactly the same.
 
Hope this helps.



Steve Johnson 
LSI Logic 
719 533 7511 
sjohnson at lsil.com 

-----Original Message-----
From: Dennis Moore [mailto:dmoore at ix.netcom.com]
Sent: Tuesday, February 25, 2003 9:31 AM
To: t10 at t10.org
Subject: SAS: Routing Table Entries


Rob,
I think I reject your reject of my comments on the expander routing
table stuff. I have conducted four SAS Seminars at four different
companies and have yet to get agreement among even one of groups on what
the contents of the routing table should be. I do an exercise during
class where I ask the students to construct the routing table entries
for Phy 0 of the fanout expander in the domain shown in the attached
file. Even after an hour of discussion I have not been able to get a
consensus on what it should look like. So, can you and anyone else that
thinks they know please send me what you think should be the routing
table entries for the attached domain drawing fanout expander Phy 0. I
ask the students for a table that gives the index, the SAS address, and
the Enable/Disable bit, and it looks something like this:
 
Index    Phy 0     Enable/Disable
   0       2100           D
   1       1000           D
   2       1000           D
   3       1000           D
   4       1000           D
   5       A123          E
   6       4200           E
etc.
 
I would very much appreciate anyone's input on what all the entries for
Phy 0 on the fanout expander should be.
Thanks,
dmoore
   
 


------_=_NextPart_001_01C2DDB2.9D24D870
Content-Type: text/html;
	charset="iso-8859-1"

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

Denis,
  
 You are correct about the DISABLE EXPANDER ROUTE ENTRY bit.
 All entries that reference the expander itself and attached expanders shall be disabled.
 I was thinking about if the PHY's actaully were enabled or not. Not the Route Tabled Entry.
 Confusion on my part.
  
 As far as your assumption that 2100 is the first entry in PHY 0 Route Table, I think this is incorrect. 
 
 4.6.11.4 says
  
 The expander route table shall be configured starting from expander route index 0 by level (e.g., all level 1 entries first, then all level 2 entries, then all level 3 entries, etc.) up to the value of the EXPANDER ROUTE INDEXES field reported by the SMP REPORT GENERAL function (see 10.3.1.2).
 "Assuming the attached edge expander devices each have N phys, the first N entries shall be the SAS addresses of the devices attached to the attached edge expander device, ordered from expander phy 0 through expander phy N."
 I read this to be the first entry of the table is the SAS addresses of the device attached to the level 1, PHY 0.
 Not the address of Level 1. 
In your example the Fanout already knows the address of the 2100 since it is directly attached to it. Why have it in the
 table at all? It does need the table to access 2100.
  
 The wording needs to be more clear here and possibly show an example to eliminate the confusion
 since all initiators need to do this exactly the same.
  
 Steve
  
  
  
 -----Original Message-----
From: Dennis Moore [mailto:dmoore at ix.netcom.com]
Sent: Tuesday, February 25, 2003 10:59 PM
To: Johnson, Stephen B.; t10 at t10.org
Subject: Re: Routing Table Entries


 Stephen,
  Thanks for your input. I have a few question about your solution. All comments refer to SAS-r03d.pdf. 
 
 First, I think the first four entries in the table below should be disabled. According to clause 4.6.11.3 paragraph 9 (top of page 65) if the expander detects self-reference, it shall disable the entry. 
"If the application client detects an expander route entry that references the SAS address of the expander device itself (i.e., self-reference), it shall disable the expander route entry by setting the DISABLE EXPANDER ROUTE ENTRY bit to one in the SMP CONFIGURE ROUTE INFORMATION function (see 10.3.1.8)."
 I believe the first four entries are self-reference. 
 
 Second, clause 4.6.11.4 paragraph 2 states:
 "For purposes of configuring the expander route table, the edge expander devices attached to the expander phy are assigned levels: 1) the attached edge expander device is considered level 1; 2) devices attached to it are considered level 2; 3) devices attached to level 2 edge expander devices are considered level 3; and 4) etc." The numbered list entry number 1 above indicates that level 1 is the attached expander which in the example is SAS address 2100. So that should be the first entry in the table. Also, clause 4.6.11.3 paragraph 10 states that the entry should be disabled. "If the application client detects an expander route entry that references the SAS address of an attached edge expander device, it shall disable the expander route entry by setting the DISABLE EXPANDER ROUTE ENTRY bit to one in the SMP CONFIGURE ROUTE INFORMATION function (see 10.3.1.8)." I think the same applies to the entries in your example for indices 12, 13,17, and 18. These should all be disabled.
 Now I must confess that it does not make much sense to have this level 1 entry (2100 disabled) in the table, but that seems to be what the text indicates. It does seem to make sense for the other indices. Numbered entry 2 above indicates that the devices attached to that expander are level 2 devices. I believe that is where your table below begins.
 Please let me know if I'm incorrect and what reference in the standard I need to look at to make the corrections. 
Thanks,
 dmoore
  
 ----- Original Message ----- 
From: Johnson, Stephen B. 
To: Dennis Moore ; t10 at t10.org 
Sent: Tuesday, February 25, 2003 5:38 PM
 Subject: RE: Routing Table Entries
 

Denis,
  
 I'll take a stab at this for you.
  
 Attached (xls spread sheet) are my results for discovery and for each of the expander route tables starting from Initiator C345.
  
 I like to build up an ordered table All the PHY's in the topology (see attachment). 
The table is built in the order of discovery where everything is scanned by PHY identifier number from 0-n.
 Once you have the table it is easy to determine each of the Route Table entries by looking for
 each of the PHY's that have the attribute Table Routing and making each PHY behind the connected PHY an entry in the table.
  
 The actual algorithm you use for determining the tables is up you. I have verified the recursive one in the back
 of the spec and have also created a few others.
  
 Since you didn't say I assumed some PHY's are subtractive. The initiator needs to
 get this info about each PHY using the SMP Discover response.
  
 I haven't really thought too much about if the PHY's are enabled or not but,
 So someone please correct me if I'm wrong here.
  
 I consider all PHY's that are attached to something to have one of the
 "enabled" values (0,2,3,8, or 9) in table 154 of the SAS-r03d spec.
  
 So, for PHY 0 of the Fanout I get the following Route Table: ( note: all phy's are enabled but 7,8,9 )
  
 0
 1000
 1
 1000
 2
 1000
 3
 1000
 4
 A123
 5
 4200
 6
 4200
 7
 ...
 8
 ...
 9
 ...
 10
 4300
 11
 4300
 12
 2100
 13
 2100
 14
 6001
 15
 6002
 16
 6003
 17
 2100
 18
 2100
 19
 7001
 20
 7002
 21
 7003

  
  
 If you start from another initiator the order of my "All PHY's Table" is different but the Route Tables are exactly the same.
  
 Hope this helps.
 
Steve Johnson 
LSI Logic 
719 533 7511 
sjohnson at lsil.com 
-----Original Message-----
From: Dennis Moore [mailto:dmoore at ix.netcom.com]
Sent: Tuesday, February 25, 2003 9:31 AM
To: t10 at t10.org
Subject: SAS: Routing Table Entries


 Rob,
 I think I reject your reject of my comments on the expander routing table stuff. I have conducted four SAS Seminars at four different companies and have yet to get agreement among even one of groups on what the contents of the routing table should be. I do an exercise during class where I ask the students to construct the routing table entries for Phy 0 of the fanout expander in the domain shown in the attached file. Even after an hour of discussion I have not been able to get a consensus on what it should look like. So, can you and anyone else that thinks they know please send me what you think should be the routing table entries for the attached domain drawing fanout expander Phy 0. I ask the students for a table that gives the index, the SAS address, and the Enable/Disable bit, and it looks something like this:
  
 Index    Phy 0     Enable/Disable
    0       2100           D
    1       1000           D
    2       1000           D
    3       1000           D
    4       1000           D
    5       A123          E
    6       4200           E
 etc.
  
 I would very much appreciate anyone's input on what all the entries for Phy 0 on the fanout expander should be.
 Thanks,
 dmoore
  
  


------_=_NextPart_001_01C2DDB2.9D24D870--




More information about the T10 mailing list