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

Re: [802.3_SPMD] Comment 323



Hi George,

You are correct that my comment intended to add a momentary pause in NEXT_TX_OPPORTUNITY to eliminate the race condition with the D-PLCA Aging State Diagram. You are also correct about adding dplca_txop_table_upd and dplca_aging to the subclause 148.4.4.2 'PLCA Control variables' list with descriptions, 'See 148.4.7.2'.

You have a very interesting point about when D-PLCA is not present, and the associated variables having no value. While I agree with the addition of dplca_en as you suggest, I wondered if there was a similar problem with the definition of dplca_en.

The definition of dplca_en in subclause 148.4.4.2 'PLCA Control variables' says, 'The dplca_en signal controls the optional D-PLCA function. This signal maps to TRUE when aDPLCAAdminState is enabled and to FALSE when aDPLCAAdminState is disabled.'. Perhaps this should be updated to address the value of dplca_en when the optional D-PLCA function isn't present. Some suggested text below.

As an aside, the changes to subclause 30.2.5 'Capabilities' seem to add the optional D-PLCA function-related attributes (aDPLCASoftAgingCycles through acDPLCAAdminControl) to the existing PLCA capability (optional) package. This seems to mean that these attributes must be provided when the PLCA capability package is provided, regardless of whether the optional D-PLCA function is supported or not. Perhaps these attributes should be in a new D-PLCA capability (optional) package.

Best regards,
  David

-----

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.

-----

From: George Zimmerman <george@xxxxxxxxxxxxxxxxxxxx> 
Sent: 08 January 2025 15:43
To: STDS-802-3-SPMD@xxxxxxxxxxxxxxxxx
Subject: [802.3_SPMD] Comment 323

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
mailto:george@xxxxxxxxxxxxxxxxxxxx
310-920-3860

________________________________________
To unsubscribe from the STDS-802-3-SPMD list, click the following link: https://urldefense.com/v3/__https://listserv.ieee.org/cgi-bin/wa?SUBED1=STDS-802-3-SPMD&A=1__;!!NpxR!mdjz4q5E7IoOkVwMu9vZ-gAuOXUdESibIoq8TomR0YQHQHrQVmJHIuDzdQlTxd5IlgYb7urD8h5HEW-sfw$ 

________________________________________________________________________
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