Thread Links Date Links
Thread Prev Thread Next Thread Index Date Prev Date Next Date Index

Re: [802.3_SPMD] Comment 323



Hi George,

 

In response to your proposed change, I derived very similar logic equations, but I think the parenthesis need adjusted a bit:

 

At a minimum we need to change the first condition to:

[1] The transition condition for the transition from the NEXT_TX_OPPORTUNITY state to the RESYNC state in Figure 148–4 'PLCA Control state diagram, part b' is changed to:

((local_nodeID = 0) * (curID >= plca_node_count)) + (curID = 255) * ( (dplca_txop_table_upd + dplca_aging = OFF) + (! dplca_en) )

 

I think the parenthesis need to be adjusted a bit as follows:

( ((local_nodeID = 0) * (curID >= plca_node_count)) + (curID = 255) )   *   ( (dplca_txop_table_upd + ( dplca_aging = OFF) + (! dplca_en) )

 

The second condition is a little trickier.  Because replacing the “ELSE” with a conditional causes the pause that seems to be the intended effect, simply inverting the logic doesn’t work.

I think we should be just adding the ‘no D-PLCA’ case in…:

[2] The transition condition for the transition from the NEXT_TX_OPPORTUNITY state to the WAIT_TO state in Figure 148–4 'PLCA Control state diagram, part b' is changed to:

((local_nodeID != 0) + (curID < plca_node_count)) * (curID != 255) * ( (dplca_txop_table_upd + dplca_aging = OFF) + (!dplca_en) )

 

And adjusting the parenthesis here as follows:

( ((local_nodeID != 0) + (curID < plca_node_count)) * (curID != 255) ) * ( (dplca_txop_table_upd + ( dplca_aging = OFF) + (!dplca_en) )

 

 

I also agree with you about adding variables dplca_txop_table_upd and dplca_aging to the variables list, with descriptions, “See 148.4.7.2”.

 

 

I also support David’s suggestion that dplca_en needs to default to FALSE when D-PLCA is not implemented/supported:

dplca_en

 

The dplca_en variable controls the operation of the optional D-PLCA function when present. When the optional D-PLCA function is not present, the dplca_en variable is set to FALSE. When clause 30 management is present, this variable maps to TRUE when the aDPLCASupported attribute is set to TRUE and the aDPLCAAdminState is set to enabled, and maps to FALSE when the aDPLCASupported attribute is set to FALSE or the aDPLCAAdminState is set to disabled.

 

Values:

TRUE: The D-PLCA function is enabled.

FALSE: The D-PLCA function is disabled or not present.

 

Regards,

Tim

 

From: George Zimmerman <george@xxxxxxxxxxxxxxxxxxxx>
Sent: Wednesday, January 8, 2025 9:43 AM
To: STDS-802-3-SPMD@xxxxxxxxxxxxxxxxx
Subject: [802.3_SPMD] Comment 323

 

EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe

Comment 323 on the PLCA-Control state diagram seems to require some thought.  I am now convinced that the proposed ACCEPT is a mistake, at least for the reason that the dplca variables used (dplca_aging and dplca_txop_table_upd) aren’t in the PLCA Control state diagram and need to be communicated, or defined there.  A secondary concern is that the change, I believe, would create issues when D-PLCA is not present, because the state variables used in the proposed remedy have no values.  We would at least need to allow for the case where dplca_en = FALSE. 

 

 

The commenter points out a state diagram issue in PLCA Control, on the transition out of NEXT_TX_OPPORTUNITY. This looks problematic because the solution appears to replace the ‘ELSE’ branch with a conditional (see original below).

 

 

With the following suggested remedy:

 

Suggest that:

[1] The transition condition for the transition from the NEXT_TX_OPPORTUNITY state to the

RESYNC state in Figure 148–4 'PLCA Control state diagram, part b' is changed to:

((local_nodeID = 0) * (curID >= plca_node_count)) + (curID = 255) * (dplca_txop_table_upd +

dplca_aging = OFF)

[2] The transition condition for the transition from the NEXT_TX_OPPORTUNITY state to the

WAIT_TO state in Figure 148–4 'PLCA Control state diagram, part b' is changed to:

((local_nodeID != 0) + (curID < plca_node_count)) * (curID != 255) * (dplca_txop_table_upd +

dplca_aging = OFF)

 

 

Reading this, this seems to create a condition where the state diagram can get stuck in the NEXT_TX_OPPORTUNITY when dplca_txop_table_upd = FALSE and dplca_aging = ON – but that appears to be what the commenter is trying to achieve – a momentary pause in NEXT_TX_OPPORTUNITY to eliminate the race condition with the D-PLCA Aging State Diagram.

 

At a minimum we need to change the first condition to:

[1] The transition condition for the transition from the NEXT_TX_OPPORTUNITY state to the RESYNC state in Figure 148–4 'PLCA Control state diagram, part b' is changed to:

((local_nodeID = 0) * (curID >= plca_node_count)) + (curID = 255) * ( (dplca_txop_table_upd + dplca_aging = OFF) + (! dplca_en) )

 

 

The second condition is a little trickier.  Because replacing the “ELSE” with a conditional causes the pause that seems to be the intended effect, simply inverting the logic doesn’t work.

I think we should be just adding the ‘no D-PLCA’ case in…:

[2] The transition condition for the transition from the NEXT_TX_OPPORTUNITY state to the WAIT_TO state in Figure 148–4 'PLCA Control state diagram, part b' is changed to:

((local_nodeID != 0) + (curID < plca_node_count)) * (curID != 255) * ( (dplca_txop_table_upd + dplca_aging = OFF) + (!dplca_en) )

 

 

(then, of course, we need to add dplca_txop_table_upd and dplca_aging to the variables list, with descriptions, “See 148.4.7.2”.

Does this look right?

 

George Zimmerman, Ph.D.

President & Principal

CME Consulting, Inc.

Experts in Advanced PHYsical Communications

george@xxxxxxxxxxxxxxxxxxxx

310-920-3860

 


To unsubscribe from the STDS-802-3-SPMD list, click the following link: https://listserv.ieee.org/cgi-bin/wa?SUBED1=STDS-802-3-SPMD&A=1


To unsubscribe from the STDS-802-3-SPMD list, click the following link: https://listserv.ieee.org/cgi-bin/wa?SUBED1=STDS-802-3-SPMD&A=1