openconfig/public

Port breakout issue for PMA configuration

proberts2022 opened this issue · 2 comments

I believe the updated model (v0.4.0) for breakout groups on ports should be capable of configuring the PHYSICAL MEDIUM ATTACHMENT (PMA) in use. This would be useful to speed up the communications by defining the host interface with the transceiver.
For most PMA this works. But I encountered a problem with the PMAs of 50GAUI2 and LAUI2.
50GAUI-2 uses 2 lanes at 26.5625 Gbaud with NRZ modulation
LAUI-2 uses 2 lanes at 25.78125 Gbaud with NRZ modulation

They would both use the following breakout group configuration:

              \"groups\": {
                \"group\": [
                  {
                    \"config\": {
                      \"breakout-speed\": \"SPEED_50GB\",
                      \"index\": 0,
                      \"num-breakouts\": 1,
                      \"num-physical-channels\": 2
                    },
                    \"index\": 0
                  }
                ]
              }
            }


Is there some additional attribute that can distinguish between the two PMA?

Hi @proberts2022 today we just have PMD's in OpenConfig. There is no definition for "PMA". Is this needed? Could a given PMD have multiple PMA's? Or is that a 1:1 relationship?

For reference here is where we define the PMD's for transceivers:

/components/component/transceiver/state/ethernet-pmd

Which refers to a list of identities here:

identity ETHERNET_PMD_TYPE {
description
"Ethernet compliance codes (PMD) supported by transceivers";
}
identity ETH_1000BASE_LX10 {
base ETHERNET_PMD_TYPE;
description "Ethernet compliance code: ETH_1000BASE_LX10";
reference "802.3ah-2004(CL59)";
}
identity ETH_10GBASE_LRM {
base ETHERNET_PMD_TYPE;
description "Ethernet compliance code: 10GBASE_LRM";
}
identity ETH_10GBASE_LR {
base ETHERNET_PMD_TYPE;
description "Ethernet compliance code: 10GBASE_LR";
}
identity ETH_10GBASE_ZR {
base ETHERNET_PMD_TYPE;
description "Ethernet compliance code: 10GBASE_ZR";
}
identity ETH_10GBASE_ER {
base ETHERNET_PMD_TYPE;
description "Ethernet compliance code: 10GBASE_ER";
}
identity ETH_10GBASE_SR {
base ETHERNET_PMD_TYPE;
description "Ethernet compliance code: 10GBASE_SR";
}
identity ETH_40GBASE_CR4 {
base ETHERNET_PMD_TYPE;
description "Ethernet compliance code: 40GBASE_CR4.
This PMD is used in Direct Attach Cables (DAC)
and Active Optical Cables (AOC)";
reference "IEEE 802.3ba 40GBASE-CR4";
}
identity ETH_40GBASE_SR4 {
base ETHERNET_PMD_TYPE;
description "Ethernet compliance code: 40GBASE_SR4";
}
identity ETH_40GBASE_LR4 {
base ETHERNET_PMD_TYPE;
description "Ethernet compliance code: 40GBASE_LR4";
}
identity ETH_40GBASE_ER4 {
base ETHERNET_PMD_TYPE;
description "Ethernet compliance code: 40GBASE_ER4";
}
identity ETH_40GBASE_PSM4 {
base ETHERNET_PMD_TYPE;
description "Ethernet compliance code: 40GBASE_PSM4";
}
identity ETH_4X10GBASE_LR {
base ETHERNET_PMD_TYPE;
description "Ethernet compliance code: 4x10GBASE_LR";
}
identity ETH_4X10GBASE_SR {
base ETHERNET_PMD_TYPE;
description "Ethernet compliance code: 4x10GBASE_SR";
}
identity ETH_100G_AOC {
base ETHERNET_PMD_TYPE;
description "Ethernet compliance code: 100G_AOC";
}
identity ETH_100G_ACC {
base ETHERNET_PMD_TYPE;
description "Ethernet compliance code: 100G_ACC";
}
identity ETH_100GBASE_SR10 {
base ETHERNET_PMD_TYPE;
description "Ethernet compliance code: 100GBASE_SR10";
}
identity ETH_100GBASE_SR4 {
base ETHERNET_PMD_TYPE;
description "Ethernet compliance code: 100GBASE_SR4";
}
identity ETH_100GBASE_LR4 {
base ETHERNET_PMD_TYPE;
description "Ethernet compliance code: 100GBASE_LR4";
}
identity ETH_100GBASE_ER4L {
base ETHERNET_PMD_TYPE;
description "Ethernet compliance code: 100GBASE_ER4L";
}
identity ETH_100GBASE_ER4 {
base ETHERNET_PMD_TYPE;
description "Ethernet compliance code: 100GBASE_ER4";
}
identity ETH_100GBASE_CWDM4 {
base ETHERNET_PMD_TYPE;
description "Ethernet compliance code: 100GBASE_CWDM4";
}
identity ETH_100GBASE_CLR4 {
base ETHERNET_PMD_TYPE;
description "Ethernet compliance code: 100GBASE_CLR4";
}
identity ETH_100GBASE_PSM4 {
base ETHERNET_PMD_TYPE;
description "Ethernet compliance code: 100GBASE_PSM4";
}
identity ETH_100GBASE_CR4 {
base ETHERNET_PMD_TYPE;
description "Ethernet compliance code: 100GBASE_CR4.
This PMD is used in Direct Attach Cables (DAC)
and Active Optical Cables (AOC)";
reference "IEEE 802.3bj 100GBASE-CR4";
}
identity ETH_100GBASE_FR {
base ETHERNET_PMD_TYPE;
description "Ethernet compliance code: 100GBASE_FR";
}
identity ETH_100GBASE_DR {
base ETHERNET_PMD_TYPE;
description "Ethernet compliance code: 100GBASE_DR";
}
identity ETH_400GBASE_ZR {
base ETHERNET_PMD_TYPE;
description "Ethernet compliance code: 400GBASE_ZR";
}
identity ETH_400GBASE_LR4 {
base ETHERNET_PMD_TYPE;
description "Ethernet compliance code: 400GBASE_LR4";
}
identity ETH_400GBASE_FR4 {
base ETHERNET_PMD_TYPE;
description "Ethernet compliance code: 400GBASE_FR4";
}
identity ETH_400GBASE_LR8 {
base ETHERNET_PMD_TYPE;
description "Ethernet compliance code: 400GBASE_LR8";
}
identity ETH_400GBASE_DR4 {
base ETHERNET_PMD_TYPE;
description "Ethernet compliance code: 400GBASE_DR4";
}
identity ETH_400GMSA_PSM4 {
base ETHERNET_PMD_TYPE;
description "Ethernet compliance code: 400GMSA_PSM4";
}
identity ETH_UNDEFINED {
base ETHERNET_PMD_TYPE;
description "Ethernet compliance code: undefined";
}

This is covered for breakout connectors and I am not currently facing this issue for non breakout transceivers. So closing this item.