[Supermicro]: Add a new supported device and platform, SSE-T7132S. (#15368)

* * platform/innoviunm: Add a new supported device and platform, SSE-T7132S

* Switch Vendor: Supermicro
* Switch SKU:  Supermicro_sse_t7132s
* ASIC Vendor: innovium
* Swich ASIC: TL7
* Port Configuration: 32x400G
* SONiC Image: SONiC-ONIE-Innoviunm

Signed-off-by: wilsonw <wilsonw@supermicro.com.tw>
This commit is contained in:
wilson-smci 2023-07-21 01:24:56 +08:00 committed by GitHub
parent 2de5abdaf4
commit 2d0bad0523
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
68 changed files with 8637 additions and 0 deletions

View File

@ -0,0 +1,263 @@
VERSION,CABLE TYPE,VENDOR,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
1.2,DAC_1M,GENERIC,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,SPEED,ENCODING,,,,,,,,,SPEED,ENCODING,,,,,,,,,,,,,SPEED,ENCODING,,,,,,,SPEED,ENCODING,,,,,,,SPEED,ENCODING,,,,,,,,,,
,,,50G/400G,PAM4,,,,,,,,,25G/100G,NRZ,,,,,,,,,,,,,10G/40G,NRZ,,,,,,,LT 50G/400G ,PAM4,,,,,,,ANLT 25G/100G ,NRZ,,,,,,,,,,
index,Front Port,lane,TX_EQ_ATTN,TX_EQ_PRE1,TX_EQ_PRE2,TX_EQ_PRE3,TX_EQ_POST,RX_EQ_COARSE_TUNE_EFFORT_50G,RX_EQ_FINE_TUNE_EFFORT_50G,RX_GAINSHAPE1,RX_GAINSHAPE2,LINK_TRAINING,TX_EQ_ATTN,TX_EQ_PRE1,TX_EQ_PRE2,TX_EQ_PRE3,TX_EQ_POST,RX_GAINSHAPE1,RX_GAINSHAPE2,RX_AGC_TARGET,RX_EYE_DISQUALIFY_THRESHOLD_25G,RX_EQ_COARSE_TUNE_EFFORT_25G,RX_EQ_FINE_TUNE_EFFORT_25G,SD_RESET_THRESHOLD,SD_RESET_25G,LINK_TRAINING,TX_EQ_ATTN,TX_EQ_PRE1,TX_EQ_PRE2,TX_EQ_PRE3,TX_EQ_POST,RX_GAINSHAPE1,RX_GAINSHAPE2,LINK_TRAINING,RX_GAINSHAPE1,RX_GAINSHAPE2,RX_EQ_COARSE_TUNE_EFFORT_50G,RX_EQ_FINE_TUNE_EFFORT_50G,RX_CTLE_LF,RX_CTLE_HF,RX_CTLE_BW,LINK_TRAINING,RX_GAINSHAPE1,RX_GAINSHAPE2,RX_AGC_TARGET,RX_EYE_DISQUALIFY_THRESHOLD_25G,RX_EQ_COARSE_TUNE_EFFORT_25G,RX_EQ_FINE_TUNE_EFFORT_25G,SD_RESET_25G,SD_RESET_THRESHOLD_25G,LINK_TRAINING,AN,AN_ABILITY,FEC
0,0,0,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
1,0,1,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
2,0,2,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
3,0,3,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
4,0,4,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
5,0,5,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
6,0,6,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
7,0,7,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
8,1,0,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
9,1,1,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
10,1,2,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
11,1,3,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
12,1,4,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
13,1,5,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
14,1,6,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
15,1,7,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
16,2,0,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
17,2,1,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
18,2,2,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
19,2,3,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
20,2,4,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
21,2,5,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
22,2,6,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
23,2,7,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
24,3,0,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
25,3,1,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
26,3,2,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
27,3,3,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
28,3,4,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
29,3,5,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
30,3,6,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
31,3,7,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
32,4,0,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
33,4,1,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
34,4,2,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
35,4,3,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
36,4,4,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
37,4,5,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
38,4,6,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
39,4,7,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
40,5,0,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
41,5,1,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
42,5,2,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
43,5,3,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
44,5,4,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
45,5,5,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
46,5,6,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
47,5,7,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
48,6,0,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
49,6,1,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
50,6,2,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
51,6,3,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
52,6,4,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
53,6,5,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
54,6,6,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
55,6,7,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
56,7,0,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
57,7,1,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
58,7,2,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
59,7,3,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
60,7,4,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
61,7,5,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
62,7,6,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
63,7,7,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
64,8,0,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
65,8,1,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
66,8,2,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
67,8,3,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
68,8,4,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
69,8,5,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
70,8,6,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
71,8,7,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
72,9,0,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
73,9,1,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
74,9,2,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
75,9,3,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
76,9,4,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
77,9,5,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
78,9,6,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
79,9,7,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
80,10,0,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
81,10,1,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
82,10,2,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
83,10,3,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
84,10,4,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
85,10,5,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
86,10,6,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
87,10,7,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
88,11,0,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
89,11,1,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
90,11,2,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
91,11,3,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
92,11,4,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
93,11,5,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
94,11,6,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
95,11,7,0,2,0,0,2,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
96,12,0,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
97,12,1,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
98,12,2,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
99,12,3,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
100,12,4,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
101,12,5,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
102,12,6,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
103,12,7,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
104,13,0,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
105,13,1,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
106,13,2,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
107,13,3,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
108,13,4,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
109,13,5,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
110,13,6,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
111,13,7,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
112,14,0,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
113,14,1,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
114,14,2,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
115,14,3,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
116,14,4,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
117,14,5,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
118,14,6,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
119,14,7,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
120,15,0,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
121,15,1,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
122,15,2,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
123,15,3,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
124,15,4,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
125,15,5,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
126,15,6,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
127,15,7,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
128,16,0,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
129,16,1,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
130,16,2,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
131,16,3,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
132,16,4,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
133,16,5,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
134,16,6,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
135,16,7,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
136,17,0,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
137,17,1,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
138,17,2,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
139,17,3,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
140,17,4,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
141,17,5,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
142,17,6,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
143,17,7,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
144,18,0,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
145,18,1,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
146,18,2,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
147,18,3,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
148,18,4,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
149,18,5,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
150,18,6,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
151,18,7,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
152,19,0,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
153,19,1,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
154,19,2,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
155,19,3,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
156,19,4,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
157,19,5,0,4,0,0,4,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
158,19,6,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
159,19,7,0,2,0,0,2,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
160,20,0,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
161,20,1,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
162,20,2,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
163,20,3,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
164,20,4,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
165,20,5,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
166,20,6,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
167,20,7,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
168,21,0,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
169,21,1,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
170,21,2,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
171,21,3,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
172,21,4,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
173,21,5,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
174,21,6,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
175,21,7,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
176,22,0,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
177,22,1,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
178,22,2,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
179,22,3,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
180,22,4,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
181,22,5,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
182,22,6,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
183,22,7,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
184,23,0,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
185,23,1,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
186,23,2,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
187,23,3,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
188,23,4,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
189,23,5,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
190,23,6,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
191,23,7,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
192,24,0,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
193,24,1,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
194,24,2,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
195,24,3,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
196,24,4,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
197,24,5,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
198,24,6,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
199,24,7,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
200,25,0,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
201,25,1,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
202,25,2,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
203,25,3,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
204,25,4,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
205,25,5,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
206,25,6,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
207,25,7,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
208,26,0,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
209,26,1,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
210,26,2,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
211,26,3,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
212,26,4,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
213,26,5,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
214,26,6,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
215,26,7,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
216,27,0,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
217,27,1,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
218,27,2,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
219,27,3,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
220,27,4,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
221,27,5,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
222,27,6,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
223,27,7,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
224,28,0,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
225,28,1,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
226,28,2,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
227,28,3,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
228,28,4,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
229,28,5,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
230,28,6,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
231,28,7,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
232,29,0,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
233,29,1,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
234,29,2,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
235,29,3,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
236,29,4,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
237,29,5,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
238,29,6,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
239,29,7,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
240,30,0,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
241,30,1,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
242,30,2,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
243,30,3,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
244,30,4,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
245,30,5,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
246,30,6,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
247,30,7,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
248,31,0,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
249,31,1,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
250,31,2,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
251,31,3,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
252,31,4,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
253,31,5,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
254,31,6,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
255,31,7,0,8,0,0,8,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
256,32,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,10GBASE-CR4,NONE
257,32,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,10GBASE-CR4,NONE
1 VERSION CABLE TYPE VENDOR
2 1.2 DAC_1M GENERIC
3 SPEED ENCODING SPEED ENCODING SPEED ENCODING SPEED ENCODING SPEED ENCODING
4 50G/400G PAM4 25G/100G NRZ 10G/40G NRZ LT 50G/400G PAM4 ANLT 25G/100G NRZ
5 index Front Port lane TX_EQ_ATTN TX_EQ_PRE1 TX_EQ_PRE2 TX_EQ_PRE3 TX_EQ_POST RX_EQ_COARSE_TUNE_EFFORT_50G RX_EQ_FINE_TUNE_EFFORT_50G RX_GAINSHAPE1 RX_GAINSHAPE2 LINK_TRAINING TX_EQ_ATTN TX_EQ_PRE1 TX_EQ_PRE2 TX_EQ_PRE3 TX_EQ_POST RX_GAINSHAPE1 RX_GAINSHAPE2 RX_AGC_TARGET RX_EYE_DISQUALIFY_THRESHOLD_25G RX_EQ_COARSE_TUNE_EFFORT_25G RX_EQ_FINE_TUNE_EFFORT_25G SD_RESET_THRESHOLD SD_RESET_25G LINK_TRAINING TX_EQ_ATTN TX_EQ_PRE1 TX_EQ_PRE2 TX_EQ_PRE3 TX_EQ_POST RX_GAINSHAPE1 RX_GAINSHAPE2 LINK_TRAINING RX_GAINSHAPE1 RX_GAINSHAPE2 RX_EQ_COARSE_TUNE_EFFORT_50G RX_EQ_FINE_TUNE_EFFORT_50G RX_CTLE_LF RX_CTLE_HF RX_CTLE_BW LINK_TRAINING RX_GAINSHAPE1 RX_GAINSHAPE2 RX_AGC_TARGET RX_EYE_DISQUALIFY_THRESHOLD_25G RX_EQ_COARSE_TUNE_EFFORT_25G RX_EQ_FINE_TUNE_EFFORT_25G SD_RESET_25G SD_RESET_THRESHOLD_25G LINK_TRAINING AN AN_ABILITY FEC
6 0 0 0 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
7 1 0 1 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
8 2 0 2 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
9 3 0 3 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
10 4 0 4 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
11 5 0 5 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
12 6 0 6 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
13 7 0 7 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
14 8 1 0 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
15 9 1 1 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
16 10 1 2 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
17 11 1 3 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
18 12 1 4 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
19 13 1 5 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
20 14 1 6 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
21 15 1 7 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
22 16 2 0 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
23 17 2 1 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
24 18 2 2 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
25 19 2 3 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
26 20 2 4 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
27 21 2 5 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
28 22 2 6 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
29 23 2 7 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
30 24 3 0 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
31 25 3 1 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
32 26 3 2 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
33 27 3 3 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
34 28 3 4 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
35 29 3 5 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
36 30 3 6 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
37 31 3 7 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
38 32 4 0 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
39 33 4 1 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
40 34 4 2 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
41 35 4 3 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
42 36 4 4 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
43 37 4 5 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
44 38 4 6 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
45 39 4 7 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
46 40 5 0 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
47 41 5 1 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
48 42 5 2 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
49 43 5 3 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
50 44 5 4 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
51 45 5 5 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
52 46 5 6 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
53 47 5 7 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
54 48 6 0 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
55 49 6 1 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
56 50 6 2 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
57 51 6 3 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
58 52 6 4 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
59 53 6 5 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
60 54 6 6 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
61 55 6 7 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
62 56 7 0 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
63 57 7 1 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
64 58 7 2 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
65 59 7 3 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
66 60 7 4 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
67 61 7 5 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
68 62 7 6 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
69 63 7 7 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
70 64 8 0 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
71 65 8 1 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
72 66 8 2 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
73 67 8 3 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
74 68 8 4 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
75 69 8 5 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
76 70 8 6 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
77 71 8 7 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
78 72 9 0 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
79 73 9 1 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
80 74 9 2 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
81 75 9 3 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
82 76 9 4 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
83 77 9 5 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
84 78 9 6 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
85 79 9 7 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
86 80 10 0 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
87 81 10 1 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
88 82 10 2 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
89 83 10 3 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
90 84 10 4 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
91 85 10 5 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
92 86 10 6 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
93 87 10 7 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
94 88 11 0 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
95 89 11 1 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
96 90 11 2 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
97 91 11 3 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
98 92 11 4 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
99 93 11 5 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
100 94 11 6 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
101 95 11 7 0 2 0 0 2 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
102 96 12 0 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
103 97 12 1 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
104 98 12 2 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
105 99 12 3 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
106 100 12 4 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
107 101 12 5 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
108 102 12 6 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
109 103 12 7 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
110 104 13 0 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
111 105 13 1 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
112 106 13 2 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
113 107 13 3 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
114 108 13 4 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
115 109 13 5 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
116 110 13 6 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
117 111 13 7 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
118 112 14 0 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
119 113 14 1 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
120 114 14 2 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
121 115 14 3 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
122 116 14 4 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
123 117 14 5 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
124 118 14 6 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
125 119 14 7 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
126 120 15 0 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
127 121 15 1 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
128 122 15 2 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
129 123 15 3 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
130 124 15 4 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
131 125 15 5 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
132 126 15 6 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
133 127 15 7 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
134 128 16 0 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
135 129 16 1 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
136 130 16 2 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
137 131 16 3 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
138 132 16 4 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
139 133 16 5 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
140 134 16 6 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
141 135 16 7 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
142 136 17 0 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
143 137 17 1 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
144 138 17 2 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
145 139 17 3 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
146 140 17 4 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
147 141 17 5 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
148 142 17 6 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
149 143 17 7 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
150 144 18 0 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
151 145 18 1 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
152 146 18 2 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
153 147 18 3 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
154 148 18 4 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
155 149 18 5 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
156 150 18 6 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
157 151 18 7 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
158 152 19 0 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
159 153 19 1 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
160 154 19 2 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
161 155 19 3 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
162 156 19 4 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
163 157 19 5 0 4 0 0 4 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
164 158 19 6 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
165 159 19 7 0 2 0 0 2 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
166 160 20 0 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
167 161 20 1 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
168 162 20 2 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
169 163 20 3 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
170 164 20 4 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
171 165 20 5 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
172 166 20 6 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
173 167 20 7 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
174 168 21 0 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
175 169 21 1 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
176 170 21 2 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
177 171 21 3 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
178 172 21 4 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
179 173 21 5 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
180 174 21 6 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
181 175 21 7 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
182 176 22 0 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
183 177 22 1 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
184 178 22 2 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
185 179 22 3 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
186 180 22 4 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
187 181 22 5 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
188 182 22 6 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
189 183 22 7 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
190 184 23 0 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
191 185 23 1 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
192 186 23 2 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
193 187 23 3 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
194 188 23 4 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
195 189 23 5 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
196 190 23 6 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
197 191 23 7 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
198 192 24 0 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
199 193 24 1 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
200 194 24 2 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
201 195 24 3 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
202 196 24 4 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
203 197 24 5 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
204 198 24 6 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
205 199 24 7 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
206 200 25 0 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
207 201 25 1 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
208 202 25 2 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
209 203 25 3 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
210 204 25 4 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
211 205 25 5 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
212 206 25 6 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
213 207 25 7 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
214 208 26 0 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
215 209 26 1 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
216 210 26 2 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
217 211 26 3 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
218 212 26 4 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
219 213 26 5 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
220 214 26 6 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
221 215 26 7 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
222 216 27 0 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
223 217 27 1 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
224 218 27 2 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
225 219 27 3 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
226 220 27 4 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
227 221 27 5 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
228 222 27 6 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
229 223 27 7 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
230 224 28 0 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
231 225 28 1 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
232 226 28 2 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
233 227 28 3 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
234 228 28 4 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
235 229 28 5 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
236 230 28 6 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
237 231 28 7 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
238 232 29 0 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
239 233 29 1 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
240 234 29 2 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
241 235 29 3 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
242 236 29 4 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
243 237 29 5 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
244 238 29 6 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
245 239 29 7 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
246 240 30 0 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
247 241 30 1 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
248 242 30 2 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
249 243 30 3 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
250 244 30 4 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
251 245 30 5 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
252 246 30 6 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
253 247 30 7 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
254 248 31 0 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
255 249 31 1 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
256 250 31 2 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
257 251 31 3 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
258 252 31 4 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
259 253 31 5 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
260 254 31 6 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
261 255 31 7 0 8 0 0 8 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
262 256 32 0 0 0 0 0 0 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 10GBASE-CR4 NONE
263 257 32 1 0 0 0 0 0 Medium HIGH 0 2 0 0 0 0 0 0 0 1 130 100 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 10GBASE-CR4 NONE

View File

@ -0,0 +1,263 @@
VERSION,CABLE TYPE,VENDOR,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
1.2,DAC_3M,GENERIC,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,SPEED,ENCODING,,,,,,,,,SPEED,ENCODING,,,,,,,,,,,,,SPEED,ENCODING,,,,,,,SPEED,ENCODING,,,,,,,SPEED,ENCODING,,,,,,,,,,
,,,50G/400G,PAM4,,,,,,,,,25G/100G,NRZ,,,,,,,,,,,,,10G/40G,NRZ,,,,,,,LT 50G/400G,PAM4,,,,,,,ANLT 25G/100G,NRZ,,,,,,,,,,
index,Front Port,lane,TX_EQ_ATTN,TX_EQ_PRE1,TX_EQ_PRE2,TX_EQ_PRE3,TX_EQ_POST,RX_EQ_COARSE_TUNE_EFFORT_50G,RX_EQ_FINE_TUNE_EFFORT_50G,RX_GAINSHAPE1,RX_GAINSHAPE2,LINK_TRAINING,TX_EQ_ATTN,TX_EQ_PRE1,TX_EQ_PRE2,TX_EQ_PRE3,TX_EQ_POST,RX_GAINSHAPE1,RX_GAINSHAPE2,RX_AGC_TARGET,RX_EYE_DISQUALIFY_THRESHOLD_25G,RX_EQ_COARSE_TUNE_EFFORT_25G,RX_EQ_FINE_TUNE_EFFORT_25G,SD_RESET_THRESHOLD,SD_RESET_25G,LINK_TRAINING,TX_EQ_ATTN,TX_EQ_PRE1,TX_EQ_PRE2,TX_EQ_PRE3,TX_EQ_POST,RX_GAINSHAPE1,RX_GAINSHAPE2,LINK_TRAINING,RX_GAINSHAPE1,RX_GAINSHAPE2,RX_EQ_COARSE_TUNE_EFFORT_50G,RX_EQ_FINE_TUNE_EFFORT_50G,RX_CTLE_LF,RX_CTLE_HF,RX_CTLE_BW,LINK_TRAINING,RX_GAINSHAPE1,RX_GAINSHAPE2,RX_AGC_TARGET,RX_EYE_DISQUALIFY_THRESHOLD_25G,RX_EQ_COARSE_TUNE_EFFORT_25G,RX_EQ_FINE_TUNE_EFFORT_25G,SD_RESET_25G,SD_RESET_THRESHOLD_25G,LINK_TRAINING,AN,AN_ABILITY,FEC
0,0,0,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
1,0,1,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
2,0,2,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
3,0,3,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
4,0,4,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
5,0,5,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
6,0,6,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
7,0,7,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
8,1,0,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
9,1,1,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
10,1,2,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
11,1,3,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
12,1,4,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
13,1,5,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
14,1,6,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
15,1,7,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
16,2,0,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
17,2,1,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
18,2,2,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
19,2,3,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
20,2,4,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
21,2,5,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
22,2,6,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
23,2,7,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
24,3,0,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
25,3,1,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
26,3,2,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
27,3,3,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
28,3,4,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
29,3,5,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
30,3,6,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
31,3,7,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
32,4,0,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
33,4,1,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
34,4,2,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
35,4,3,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
36,4,4,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
37,4,5,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
38,4,6,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
39,4,7,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
40,5,0,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
41,5,1,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
42,5,2,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
43,5,3,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
44,5,4,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
45,5,5,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
46,5,6,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
47,5,7,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
48,6,0,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
49,6,1,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
50,6,2,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
51,6,3,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
52,6,4,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
53,6,5,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
54,6,6,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
55,6,7,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
56,7,0,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
57,7,1,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
58,7,2,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
59,7,3,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
60,7,4,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
61,7,5,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
62,7,6,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
63,7,7,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
64,8,0,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
65,8,1,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
66,8,2,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
67,8,3,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
68,8,4,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
69,8,5,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
70,8,6,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
71,8,7,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
72,9,0,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
73,9,1,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
74,9,2,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
75,9,3,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
76,9,4,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
77,9,5,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
78,9,6,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
79,9,7,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
80,10,0,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
81,10,1,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
82,10,2,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
83,10,3,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
84,10,4,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
85,10,5,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
86,10,6,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
87,10,7,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
88,11,0,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
89,11,1,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
90,11,2,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
91,11,3,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
92,11,4,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
93,11,5,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
94,11,6,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
95,11,7,0,2,0,0,2,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
96,12,0,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
97,12,1,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
98,12,2,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
99,12,3,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
100,12,4,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
101,12,5,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
102,12,6,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
103,12,7,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
104,13,0,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
105,13,1,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
106,13,2,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
107,13,3,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
108,13,4,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
109,13,5,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
110,13,6,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
111,13,7,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
112,14,0,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
113,14,1,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
114,14,2,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
115,14,3,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
116,14,4,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
117,14,5,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
118,14,6,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
119,14,7,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
120,15,0,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
121,15,1,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
122,15,2,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
123,15,3,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
124,15,4,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
125,15,5,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
126,15,6,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
127,15,7,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
128,16,0,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
129,16,1,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
130,16,2,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
131,16,3,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
132,16,4,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
133,16,5,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
134,16,6,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
135,16,7,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
136,17,0,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
137,17,1,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
138,17,2,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
139,17,3,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
140,17,4,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
141,17,5,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
142,17,6,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
143,17,7,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
144,18,0,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
145,18,1,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
146,18,2,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
147,18,3,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
148,18,4,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
149,18,5,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
150,18,6,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
151,18,7,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
152,19,0,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
153,19,1,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
154,19,2,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
155,19,3,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
156,19,4,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
157,19,5,0,4,0,0,4,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
158,19,6,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
159,19,7,0,2,0,0,2,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
160,20,0,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
161,20,1,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
162,20,2,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
163,20,3,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
164,20,4,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
165,20,5,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
166,20,6,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
167,20,7,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
168,21,0,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
169,21,1,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
170,21,2,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
171,21,3,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
172,21,4,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
173,21,5,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
174,21,6,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
175,21,7,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
176,22,0,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
177,22,1,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
178,22,2,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
179,22,3,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
180,22,4,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
181,22,5,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
182,22,6,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
183,22,7,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
184,23,0,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
185,23,1,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
186,23,2,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
187,23,3,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
188,23,4,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
189,23,5,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
190,23,6,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
191,23,7,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
192,24,0,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
193,24,1,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
194,24,2,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
195,24,3,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
196,24,4,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
197,24,5,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
198,24,6,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
199,24,7,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
200,25,0,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
201,25,1,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
202,25,2,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
203,25,3,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
204,25,4,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
205,25,5,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
206,25,6,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
207,25,7,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
208,26,0,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
209,26,1,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
210,26,2,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
211,26,3,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
212,26,4,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
213,26,5,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
214,26,6,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
215,26,7,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
216,27,0,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
217,27,1,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
218,27,2,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
219,27,3,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
220,27,4,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
221,27,5,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
222,27,6,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
223,27,7,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
224,28,0,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
225,28,1,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
226,28,2,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
227,28,3,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
228,28,4,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
229,28,5,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
230,28,6,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
231,28,7,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
232,29,0,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
233,29,1,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
234,29,2,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
235,29,3,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
236,29,4,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
237,29,5,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
238,29,6,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
239,29,7,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
240,30,0,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
241,30,1,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
242,30,2,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
243,30,3,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
244,30,4,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
245,30,5,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
246,30,6,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
247,30,7,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
248,31,0,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
249,31,1,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
250,31,2,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
251,31,3,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
252,31,4,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
253,31,5,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
254,31,6,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
255,31,7,0,6,0,0,6,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
256,32,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,2,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,10GBASE-CR4,NONE
257,32,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,2,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,10GBASE-CR4,NONE
1 VERSION CABLE TYPE VENDOR
2 1.2 DAC_3M GENERIC
3 SPEED ENCODING SPEED ENCODING SPEED ENCODING SPEED ENCODING SPEED ENCODING
4 50G/400G PAM4 25G/100G NRZ 10G/40G NRZ LT 50G/400G PAM4 ANLT 25G/100G NRZ
5 index Front Port lane TX_EQ_ATTN TX_EQ_PRE1 TX_EQ_PRE2 TX_EQ_PRE3 TX_EQ_POST RX_EQ_COARSE_TUNE_EFFORT_50G RX_EQ_FINE_TUNE_EFFORT_50G RX_GAINSHAPE1 RX_GAINSHAPE2 LINK_TRAINING TX_EQ_ATTN TX_EQ_PRE1 TX_EQ_PRE2 TX_EQ_PRE3 TX_EQ_POST RX_GAINSHAPE1 RX_GAINSHAPE2 RX_AGC_TARGET RX_EYE_DISQUALIFY_THRESHOLD_25G RX_EQ_COARSE_TUNE_EFFORT_25G RX_EQ_FINE_TUNE_EFFORT_25G SD_RESET_THRESHOLD SD_RESET_25G LINK_TRAINING TX_EQ_ATTN TX_EQ_PRE1 TX_EQ_PRE2 TX_EQ_PRE3 TX_EQ_POST RX_GAINSHAPE1 RX_GAINSHAPE2 LINK_TRAINING RX_GAINSHAPE1 RX_GAINSHAPE2 RX_EQ_COARSE_TUNE_EFFORT_50G RX_EQ_FINE_TUNE_EFFORT_50G RX_CTLE_LF RX_CTLE_HF RX_CTLE_BW LINK_TRAINING RX_GAINSHAPE1 RX_GAINSHAPE2 RX_AGC_TARGET RX_EYE_DISQUALIFY_THRESHOLD_25G RX_EQ_COARSE_TUNE_EFFORT_25G RX_EQ_FINE_TUNE_EFFORT_25G SD_RESET_25G SD_RESET_THRESHOLD_25G LINK_TRAINING AN AN_ABILITY FEC
6 0 0 0 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
7 1 0 1 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
8 2 0 2 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
9 3 0 3 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
10 4 0 4 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
11 5 0 5 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
12 6 0 6 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
13 7 0 7 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
14 8 1 0 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
15 9 1 1 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
16 10 1 2 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
17 11 1 3 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
18 12 1 4 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
19 13 1 5 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
20 14 1 6 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
21 15 1 7 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
22 16 2 0 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
23 17 2 1 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
24 18 2 2 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
25 19 2 3 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
26 20 2 4 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
27 21 2 5 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
28 22 2 6 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
29 23 2 7 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
30 24 3 0 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
31 25 3 1 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
32 26 3 2 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
33 27 3 3 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
34 28 3 4 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
35 29 3 5 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
36 30 3 6 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
37 31 3 7 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
38 32 4 0 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
39 33 4 1 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
40 34 4 2 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
41 35 4 3 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
42 36 4 4 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
43 37 4 5 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
44 38 4 6 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
45 39 4 7 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
46 40 5 0 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
47 41 5 1 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
48 42 5 2 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
49 43 5 3 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
50 44 5 4 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
51 45 5 5 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
52 46 5 6 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
53 47 5 7 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
54 48 6 0 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
55 49 6 1 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
56 50 6 2 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
57 51 6 3 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
58 52 6 4 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
59 53 6 5 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
60 54 6 6 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
61 55 6 7 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
62 56 7 0 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
63 57 7 1 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
64 58 7 2 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
65 59 7 3 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
66 60 7 4 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
67 61 7 5 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
68 62 7 6 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
69 63 7 7 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
70 64 8 0 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
71 65 8 1 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
72 66 8 2 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
73 67 8 3 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
74 68 8 4 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
75 69 8 5 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
76 70 8 6 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
77 71 8 7 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
78 72 9 0 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
79 73 9 1 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
80 74 9 2 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
81 75 9 3 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
82 76 9 4 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
83 77 9 5 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
84 78 9 6 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
85 79 9 7 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
86 80 10 0 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
87 81 10 1 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
88 82 10 2 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
89 83 10 3 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
90 84 10 4 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
91 85 10 5 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
92 86 10 6 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
93 87 10 7 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
94 88 11 0 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
95 89 11 1 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
96 90 11 2 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
97 91 11 3 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
98 92 11 4 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
99 93 11 5 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
100 94 11 6 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
101 95 11 7 0 2 0 0 2 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
102 96 12 0 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
103 97 12 1 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
104 98 12 2 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
105 99 12 3 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
106 100 12 4 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
107 101 12 5 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
108 102 12 6 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
109 103 12 7 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
110 104 13 0 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
111 105 13 1 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
112 106 13 2 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
113 107 13 3 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
114 108 13 4 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
115 109 13 5 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
116 110 13 6 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
117 111 13 7 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
118 112 14 0 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
119 113 14 1 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
120 114 14 2 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
121 115 14 3 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
122 116 14 4 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
123 117 14 5 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
124 118 14 6 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
125 119 14 7 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
126 120 15 0 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
127 121 15 1 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
128 122 15 2 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
129 123 15 3 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
130 124 15 4 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
131 125 15 5 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
132 126 15 6 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
133 127 15 7 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
134 128 16 0 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
135 129 16 1 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
136 130 16 2 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
137 131 16 3 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
138 132 16 4 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
139 133 16 5 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
140 134 16 6 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
141 135 16 7 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
142 136 17 0 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
143 137 17 1 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
144 138 17 2 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
145 139 17 3 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
146 140 17 4 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
147 141 17 5 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
148 142 17 6 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
149 143 17 7 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
150 144 18 0 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
151 145 18 1 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
152 146 18 2 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
153 147 18 3 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
154 148 18 4 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
155 149 18 5 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
156 150 18 6 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
157 151 18 7 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
158 152 19 0 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
159 153 19 1 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
160 154 19 2 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
161 155 19 3 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
162 156 19 4 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
163 157 19 5 0 4 0 0 4 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
164 158 19 6 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
165 159 19 7 0 2 0 0 2 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
166 160 20 0 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
167 161 20 1 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
168 162 20 2 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
169 163 20 3 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
170 164 20 4 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
171 165 20 5 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
172 166 20 6 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
173 167 20 7 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
174 168 21 0 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
175 169 21 1 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
176 170 21 2 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
177 171 21 3 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
178 172 21 4 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
179 173 21 5 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
180 174 21 6 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
181 175 21 7 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
182 176 22 0 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
183 177 22 1 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
184 178 22 2 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
185 179 22 3 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
186 180 22 4 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
187 181 22 5 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
188 182 22 6 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
189 183 22 7 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
190 184 23 0 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
191 185 23 1 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
192 186 23 2 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
193 187 23 3 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
194 188 23 4 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
195 189 23 5 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
196 190 23 6 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
197 191 23 7 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
198 192 24 0 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
199 193 24 1 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
200 194 24 2 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
201 195 24 3 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
202 196 24 4 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
203 197 24 5 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
204 198 24 6 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
205 199 24 7 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
206 200 25 0 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
207 201 25 1 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
208 202 25 2 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
209 203 25 3 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
210 204 25 4 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
211 205 25 5 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
212 206 25 6 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
213 207 25 7 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
214 208 26 0 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
215 209 26 1 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
216 210 26 2 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
217 211 26 3 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
218 212 26 4 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
219 213 26 5 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
220 214 26 6 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
221 215 26 7 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
222 216 27 0 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
223 217 27 1 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
224 218 27 2 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
225 219 27 3 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
226 220 27 4 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
227 221 27 5 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
228 222 27 6 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
229 223 27 7 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
230 224 28 0 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
231 225 28 1 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
232 226 28 2 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
233 227 28 3 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
234 228 28 4 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
235 229 28 5 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
236 230 28 6 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
237 231 28 7 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
238 232 29 0 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
239 233 29 1 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
240 234 29 2 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
241 235 29 3 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
242 236 29 4 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
243 237 29 5 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
244 238 29 6 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
245 239 29 7 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
246 240 30 0 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
247 241 30 1 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
248 242 30 2 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
249 243 30 3 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
250 244 30 4 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
251 245 30 5 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
252 246 30 6 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
253 247 30 7 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
254 248 31 0 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
255 249 31 1 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
256 250 31 2 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
257 251 31 3 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
258 252 31 4 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
259 253 31 5 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
260 254 31 6 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
261 255 31 7 0 6 0 0 6 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 1 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 100GBASE-KR4 NONE
262 256 32 0 0 0 0 0 0 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 2 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 10GBASE-CR4 NONE
263 257 32 1 0 0 0 0 0 Medium HIGH 0 2 0 0 0 0 0 0 2 2 130 150 Low Low 5 TRUE 0 3 2 -2 0 4 0 2 0 0 2 Medium High 0 10 10 1 0 1 130 100 Low Low 0 NA 1 1 10GBASE-CR4 NONE

View File

@ -0,0 +1,263 @@
VERSION,CABLE TYPE,VENDOR,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
1.2,OPTICS,GENERIC,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,SPEED,ENCODING,,,,,,,,,,SPEED,ENCODING,,,,,,,,,,,,,,SPEED,ENCODING,,,,,,
,,,50G/400G,PAM4,,,,,,,,,,25G/100G,NRZ,,,,,,,,,,,,,,10G/40G,NRZ,,,,,,
index,Front Port,lane,TX_EQ_ATTN,TX_EQ_PRE1,TX_EQ_PRE2,TX_EQ_PRE3,TX_EQ_POST,Optical Module CTLE,RX_EQ_COARSE_TUNE_EFFORT_50G,RX_EQ_FINE_TUNE_EFFORT_50G,RX_GAINSHAPE1,RX_GAINSHAPE2,LINK_TRAINING,TX_EQ_ATTN,TX_EQ_PRE1,TX_EQ_PRE2,TX_EQ_PRE3,TX_EQ_POST,Optical Module CTLE,RX_GAINSHAPE1,RX_GAINSHAPE2,RX_AGC_TARGET,RX_EYE_DISQUALIFY_THRESHOLD_25G,RX_EQ_COARSE_TUNE_EFFORT_25G,RX_EQ_FINE_TUNE_EFFORT_25G,SD_RESET_THRESHOLD,SD_RESET_25G,LINK_TRAINING,TX_EQ_ATTN,TX_EQ_PRE1,TX_EQ_PRE2,TX_EQ_PRE3,TX_EQ_POST,RX_GAINSHAPE1,RX_GAINSHAPE2,LINK_TRAINING
0,0,0,0,4,0,0,4,4.5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,High,High,NA,FALSE,0,0,0,0,0,0,0,0,0
1,0,1,0,4,-1,0,2,6,Medium,High,0,0,0,0,4,0,0,4,4,0,0,100,100,High,High,NA,FALSE,0,0,0,0,0,0,0,0,0
2,0,2,0,4,0,0,0,6,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,High,High,NA,FALSE,0,0,0,0,0,0,0,0,0
3,0,3,0,4,0,0,4,4.5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,High,High,NA,FALSE,0,0,0,0,0,0,0,0,0
4,0,4,0,4,0,0,4,5.5,Medium,High,0,0,0,0,4,0,0,4,4,0,0,100,100,High,High,NA,FALSE,0,0,0,0,0,0,0,0,0
5,0,5,0,4,0,0,4,5.5,Medium,High,0,0,0,0,2,0,0,4,4,0,0,100,100,High,High,NA,FALSE,0,0,0,0,0,0,0,0,0
6,0,6,0,4,0,0,4,5.5,Medium,High,0,0,0,0,4,0,0,4,4,0,0,100,100,High,High,NA,FALSE,0,0,0,0,0,0,0,0,0
7,0,7,0,4,0,0,4,5,Medium,High,0,0,0,0,4,0,0,4,4,0,0,100,100,High,High,NA,FALSE,0,0,0,0,0,0,0,0,0
8,1,0,0,4,0,0,2,4.5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
9,1,1,0,4,0,0,2,5.5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
10,1,2,0,4,0,0,0,6,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
11,1,3,0,4,0,0,2,5.5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
12,1,4,0,4,0,0,2,5.5,Medium,High,0,0,0,0,4,-1,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
13,1,5,0,4,0,0,2,5.5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
14,1,6,0,4,0,0,4,5,Medium,High,0,0,0,0,4,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
15,1,7,0,4,0,0,2,5.5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
16,2,0,0,4,0,0,0,6,Medium,High,0,0,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
17,2,1,0,4,0,0,2,5.5,Medium,High,0,0,0,0,2,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
18,2,2,0,4,0,0,0,6,Medium,High,0,0,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
19,2,3,0,4,0,0,0,6,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
20,2,4,0,4,0,0,4,5,Medium,High,0,0,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
21,2,5,0,4,0,0,2,5.5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
22,2,6,0,4,0,0,4,5,Medium,High,0,0,0,0,2,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
23,2,7,0,4,0,0,2,5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
24,3,0,0,4,0,0,2,5.5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
25,3,1,0,4,0,0,2,5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
26,3,2,0,4,0,0,0,5.5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
27,3,3,0,4,0,0,2,5.5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
28,3,4,0,4,-1,0,0,5.5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
29,3,5,0,4,0,0,2,5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
30,3,6,0,2,0,0,4,4.5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
31,3,7,0,4,0,0,2,5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
32,4,0,0,4,0,0,2,4,Medium,High,0,0,0,0,6,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
33,4,1,0,2,0,0,2,5.5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
34,4,2,0,4,0,0,2,4,Medium,High,0,0,0,1,0,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
35,4,3,0,4,0,0,2,4.5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
36,4,4,0,4,0,0,2,5.5,Medium,High,0,0,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
37,4,5,0,4,0,0,2,5,Medium,High,0,0,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
38,4,6,0,4,0,0,2,5.5,Medium,High,0,0,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
39,4,7,0,4,0,0,2,4.5,Medium,High,0,0,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
40,5,0,0,4,0,0,0,5,Medium,High,0,0,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
41,5,1,0,4,0,0,0,5,Medium,High,0,0,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
42,5,2,0,4,0,0,2,5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
43,5,3,0,4,0,0,0,5,Medium,High,0,0,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
44,5,4,0,4,0,0,2,4.5,Medium,High,0,0,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
45,5,5,0,2,0,0,4,4,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
46,5,6,0,4,0,0,2,5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
47,5,7,0,4,0,0,0,5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
48,6,0,0,4,0,0,0,5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
49,6,1,0,4,0,0,2,5.5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
50,6,2,0,4,0,0,2,4,Medium,High,0,0,0,0,4,-1,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
51,6,3,0,4,0,0,0,5.5,Medium,High,0,0,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
52,6,4,0,4,0,0,2,5.5,Medium,High,0,0,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
53,6,5,0,4,0,0,2,5.5,Medium,High,0,0,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
54,6,6,0,2,0,0,2,5.5,Medium,High,0,0,0,0,2,0,1,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
55,6,7,0,4,0,0,2,4.5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
56,7,0,0,4,0,0,0,5.5,Medium,High,0,0,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
57,7,1,0,4,0,0,0,5.5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
58,7,2,0,4,-1,0,0,5.5,Medium,High,0,0,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
59,7,3,0,4,0,0,2,4,Medium,High,0,0,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
60,7,4,0,4,0,0,0,5,Medium,High,0,0,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
61,7,5,0,4,0,0,0,4.5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
62,7,6,0,4,0,0,0,5.5,Medium,High,0,0,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
63,7,7,0,4,0,0,4,4,Medium,High,0,0,0,1,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
64,8,0,0,4,0,0,4,4.5,Medium,High,0,0,0,0,4,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
65,8,1,0,4,0,0,4,5,Medium,High,0,0,0,0,4,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
66,8,2,0,4,0,0,2,6,Medium,High,0,0,0,0,4,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
67,8,3,0,4,0,0,2,5,Medium,High,0,0,0,0,4,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
68,8,4,0,4,0,0,4,6,Medium,High,0,0,0,0,2,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
69,8,5,0,4,0,0,4,5.5,Medium,High,0,0,0,0,4,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
70,8,6,0,2,0,0,4,6,Medium,High,0,0,0,0,4,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
71,8,7,0,4,0,0,4,4.5,Medium,High,0,0,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
72,9,0,0,4,0,0,4,5.5,Medium,High,0,0,0,0,2,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
73,9,1,0,4,0,0,0,6.5,Medium,High,0,0,0,0,4,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
74,9,2,0,4,0,0,4,5.5,Medium,High,0,0,0,0,2,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
75,9,3,0,4,0,0,0,6.5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
76,9,4,0,4,0,0,4,6,Medium,High,0,0,0,0,4,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
77,9,5,0,4,0,0,4,5.5,Medium,High,0,0,0,0,4,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
78,9,6,0,4,0,0,2,6,Medium,High,0,0,0,0,2,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
79,9,7,0,4,0,0,4,5.5,Medium,High,0,0,0,0,4,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
80,10,0,0,4,0,0,4,4,Medium,High,0,0,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
81,10,1,0,4,0,0,4,5.5,Medium,High,0,0,0,0,4,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
82,10,2,0,4,0,0,4,4,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
83,10,3,0,4,0,0,2,6,Medium,High,0,0,0,0,4,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
84,10,4,0,4,-1,0,4,6,Medium,High,0,0,0,0,6,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
85,10,5,0,4,0,0,4,5.5,Medium,High,0,0,0,0,4,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
86,10,6,0,4,0,0,4,5,Medium,High,0,0,0,0,4,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
87,10,7,0,4,0,0,4,4.5,Medium,High,0,0,0,0,4,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
88,11,0,0,4,0,0,0,6.5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
89,11,1,0,4,0,0,2,5.5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
90,11,2,0,4,0,0,0,6,Medium,High,0,0,0,0,4,0,1,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
91,11,3,0,4,0,0,0,5.5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
92,11,4,0,4,0,0,4,5,Medium,High,0,0,0,0,4,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
93,11,5,0,4,0,0,2,7,Medium,High,0,0,0,0,4,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
94,11,6,0,4,0,0,2,5.5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
95,11,7,0,4,0,0,2,5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
96,12,0,0,4,0,0,0,5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
97,12,1,0,4,0,0,2,5.5,Medium,High,0,0,0,0,4,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
98,12,2,0,4,0,0,0,5.5,Medium,High,0,0,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
99,12,3,0,4,0,0,2,5,Medium,High,0,0,0,2,2,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
100,12,4,0,4,0,0,2,6,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
101,12,5,0,4,0,0,2,5.5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
102,12,6,0,4,0,0,4,4.5,Medium,High,0,0,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
103,12,7,0,4,0,0,0,5.5,Medium,High,0,0,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
104,13,0,0,2,0,0,4,4.5,Medium,High,0,0,0,0,4,-1,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
105,13,1,0,4,0,0,0,5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
106,13,2,0,4,0,0,0,5,Medium,High,0,0,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
107,13,3,0,2,0,0,2,4.5,Medium,High,0,0,0,1,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
108,13,4,0,4,0,0,2,6,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
109,13,5,0,4,0,0,4,4,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
110,13,6,0,4,0,0,0,5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
111,13,7,0,4,-1,0,0,5,Medium,High,0,0,0,0,4,-1,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
112,14,0,0,4,0,0,0,5,Medium,High,0,0,0,4,0,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
113,14,1,0,4,0,0,2,4.5,Medium,High,0,0,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
114,14,2,0,4,0,0,0,5,Medium,High,0,0,0,0,4,0,1,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
115,14,3,0,4,0,0,0,5,Medium,High,0,0,0,1,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
116,14,4,0,4,0,0,4,4.5,Medium,High,0,0,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
117,14,5,0,4,0,0,2,5.5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
118,14,6,0,4,0,0,0,5.5,Medium,High,0,0,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
119,14,7,0,4,0,0,0,5,Medium,High,0,0,0,1,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
120,15,0,0,4,0,0,2,5.5,Medium,High,0,0,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
121,15,1,0,4,0,0,0,5.5,Medium,High,0,0,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
122,15,2,0,4,0,0,0,5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
123,15,3,0,4,0,0,0,5.5,Medium,High,0,0,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
124,15,4,0,4,-1,0,0,5,Medium,High,0,0,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
125,15,5,0,4,0,0,0,5,Medium,High,0,0,0,0,4,-1,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
126,15,6,0,4,0,0,0,4.5,Medium,High,0,0,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
127,15,7,0,4,0,0,0,5.5,Medium,High,0,0,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
128,16,0,0,2,0,0,2,4.5,Medium,High,0,0,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
129,16,1,0,4,0,0,0,5,Medium,High,0,0,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
130,16,2,0,4,0,0,0,5.5,Medium,High,0,0,0,0,4,0,1,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
131,16,3,0,4,0,0,2,4.5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
132,16,4,0,4,0,0,0,5.5,Medium,High,0,0,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
133,16,5,0,2,0,0,2,5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
134,16,6,0,4,0,0,0,6.5,Medium,High,0,0,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
135,16,7,0,4,0,0,2,5,Medium,High,0,0,0,0,4,0,1,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
136,17,0,0,4,0,0,0,5.5,Medium,High,0,0,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
137,17,1,0,4,0,0,0,5.5,Medium,High,0,0,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
138,17,2,0,4,0,0,0,5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
139,17,3,0,4,0,0,0,5.5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
140,17,4,1,4,0,0,0,5.5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
141,17,5,0,4,0,0,0,5.5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
142,17,6,0,4,0,0,2,4.5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
143,17,7,0,4,0,0,2,5,Medium,High,0,0,0,1,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
144,18,0,0,4,0,0,2,4.5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
145,18,1,0,4,0,0,2,5,Medium,High,0,0,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
146,18,2,0,4,0,0,0,5.5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
147,18,3,0,4,0,0,2,5,Medium,High,0,0,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
148,18,4,0,2,0,0,0,7,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
149,18,5,0,2,0,0,2,5.5,Medium,High,0,0,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
150,18,6,0,4,0,0,2,5.5,Medium,High,0,0,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
151,18,7,0,4,0,0,4,4,Medium,High,0,0,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
152,19,0,0,2,0,0,0,5.5,Medium,High,0,0,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
153,19,1,0,4,0,0,2,5.5,Medium,High,0,0,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
154,19,2,0,4,0,0,0,5,Medium,High,0,0,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
155,19,3,0,4,0,0,-2,6,Medium,High,0,0,0,0,4,-1,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
156,19,4,0,4,0,0,0,5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
157,19,5,0,4,0,0,0,4.5,Medium,High,0,0,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
158,19,6,0,4,0,0,2,4.5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
159,19,7,0,4,0,0,0,5,Medium,High,0,0,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
160,20,0,0,4,0,0,2,5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
161,20,1,0,2,0,0,2,5,Medium,High,0,0,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
162,20,2,0,4,0,0,4,4.5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
163,20,3,0,4,0,0,0,5.5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
164,20,4,0,2,0,0,2,5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
165,20,5,0,4,0,0,2,5.5,Medium,High,0,0,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
166,20,6,0,4,0,0,4,4.5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
167,20,7,0,4,0,0,2,5.5,Medium,High,0,0,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
168,21,0,0,4,0,0,0,5.5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
169,21,1,0,4,-1,0,0,6,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
170,21,2,0,4,0,0,0,5.5,Medium,High,0,0,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
171,21,3,0,4,0,0,0,5.5,Medium,High,0,0,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
172,21,4,0,4,0,0,2,4.5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
173,21,5,0,4,0,0,2,4.5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
174,21,6,0,2,0,0,2,5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
175,21,7,0,4,0,0,2,4.5,Medium,High,0,0,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
176,22,0,0,4,0,0,4,5,Medium,High,0,0,0,0,2,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
177,22,1,0,4,0,0,2,5.5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
178,22,2,0,4,0,0,2,5.5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
179,22,3,0,4,-1,0,4,5.5,Medium,High,0,0,0,0,2,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
180,22,4,0,4,0,0,4,4.5,Medium,High,0,0,0,0,2,-1,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
181,22,5,0,4,0,0,4,4.5,Medium,High,0,0,0,0,2,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
182,22,6,0,4,0,0,4,5,Medium,High,0,0,0,0,4,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
183,22,7,0,4,0,0,4,5,Medium,High,0,0,0,0,2,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
184,23,0,0,2,0,0,2,6,Medium,High,0,0,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
185,23,1,0,4,0,0,4,4.5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
186,23,2,0,4,0,0,2,6,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
187,23,3,0,4,0,0,0,6,Medium,High,0,0,0,0,4,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
188,23,4,0,4,0,0,2,5,Medium,High,0,0,0,0,2,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
189,23,5,0,4,0,0,2,5,Medium,High,0,0,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
190,23,6,0,4,0,0,2,5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
191,23,7,0,4,0,0,4,5.5,Medium,High,0,0,0,0,6,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
192,24,0,0,4,0,0,2,5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
193,24,1,0,2,0,0,2,5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
194,24,2,0,4,0,0,2,4.5,Medium,High,0,0,0,1,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
195,24,3,0,4,0,0,0,5.5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
196,24,4,0,4,0,0,4,4.5,Medium,High,0,0,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
197,24,5,0,4,0,0,2,5,Medium,High,0,0,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
198,24,6,0,4,0,0,2,4.5,Medium,High,0,0,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
199,24,7,0,4,0,0,2,4,Medium,High,0,0,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
200,25,0,0,4,0,0,0,5.5,Medium,High,0,0,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
201,25,1,0,4,0,0,0,5,Medium,High,0,0,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
202,25,2,0,4,0,0,2,4.5,Medium,High,0,0,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
203,25,3,0,4,0,0,2,5,Medium,High,0,0,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
204,25,4,0,4,0,0,0,5.5,Medium,High,0,0,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
205,25,5,0,4,0,0,0,5,Medium,High,0,0,0,1,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
206,25,6,0,4,0,0,2,5,Medium,High,0,0,0,0,4,-1,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
207,25,7,0,4,0,0,2,5,Medium,High,0,0,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
208,26,0,0,4,0,0,2,5.5,Medium,High,0,0,0,0,4,0,-1,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
209,26,1,0,4,0,0,2,5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
210,26,2,0,4,0,0,0,5,Medium,High,0,0,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
211,26,3,0,4,0,0,2,4.5,Medium,High,0,0,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
212,26,4,0,2,0,0,2,5,Medium,High,0,0,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
213,26,5,0,4,0,0,0,5.5,Medium,High,0,0,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
214,26,6,0,4,0,0,4,3.5,Medium,High,0,0,0,0,2,-1,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
215,26,7,0,4,0,0,0,5,Medium,High,0,0,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
216,27,0,0,4,0,0,2,5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
217,27,1,0,4,0,0,2,6,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
218,27,2,0,4,0,0,2,5,Medium,High,0,0,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
219,27,3,0,4,0,0,4,5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
220,27,4,0,4,0,0,2,5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
221,27,5,0,4,0,0,4,4.5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
222,27,6,0,2,0,0,0,6,Medium,High,0,0,0,0,4,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
223,27,7,0,4,0,0,2,5.5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
224,28,0,0,4,0,0,0,5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
225,28,1,0,4,0,0,2,4.5,Medium,High,0,0,0,2,2,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
226,28,2,0,4,0,0,0,4.5,Medium,High,0,0,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
227,28,3,0,4,0,0,2,5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
228,28,4,0,4,0,0,2,4.5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
229,28,5,0,2,0,0,2,5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
230,28,6,0,2,0,0,2,4.5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
231,28,7,0,4,0,0,2,5,Medium,High,0,0,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
232,29,0,0,4,0,0,4,4,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
233,29,1,0,4,0,0,4,5.5,Medium,High,0,0,0,0,4,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
234,29,2,0,4,0,0,2,5,Medium,High,0,0,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
235,29,3,0,4,0,0,2,5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
236,29,4,0,4,0,0,2,5,Medium,High,0,0,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
237,29,5,0,4,0,0,4,5.5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
238,29,6,0,4,0,0,2,5,Medium,High,0,0,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
239,29,7,0,4,0,0,2,5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
240,30,0,0,4,0,0,2,4.5,Medium,High,0,0,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
241,30,1,0,4,0,0,2,5.5,Medium,High,0,0,0,0,2,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
242,30,2,0,4,0,0,2,5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
243,30,3,0,2,0,0,2,6,Medium,High,0,0,0,0,2,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
244,30,4,0,4,0,0,2,5,Medium,High,0,0,0,0,4,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
245,30,5,0,4,0,0,4,5,Medium,High,0,0,0,0,4,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
246,30,6,0,4,0,0,4,4.5,Medium,High,0,0,0,0,4,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
247,30,7,0,4,0,0,4,5,Medium,High,0,0,0,0,2,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
248,31,0,0,4,0,0,4,4.5,Medium,High,0,0,0,0,4,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
249,31,1,0,4,0,-1,2,5.5,Medium,High,0,0,0,0,4,0,1,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
250,31,2,0,4,0,0,2,4.5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
251,31,3,0,4,0,0,4,4.5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
252,31,4,0,4,-1,0,4,5.5,Medium,High,0,0,0,0,4,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
253,31,5,0,4,0,0,4,6,Medium,High,0,0,0,0,4,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
254,31,6,0,4,0,0,2,5,Medium,High,0,0,0,0,4,-1,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
255,31,7,0,4,0,0,2,5.5,Medium,High,0,0,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
256,32,0,0,4,0,0,4,4.5,Medium,High,0,0,0,0,4,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
257,32,1,0,4,0,0,2,5.5,Medium,High,0,0,0,0,4,0,1,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
1 VERSION CABLE TYPE VENDOR
2 1.2 OPTICS GENERIC
3 SPEED ENCODING SPEED ENCODING SPEED ENCODING
4 50G/400G PAM4 25G/100G NRZ 10G/40G NRZ
5 index Front Port lane TX_EQ_ATTN TX_EQ_PRE1 TX_EQ_PRE2 TX_EQ_PRE3 TX_EQ_POST Optical Module CTLE RX_EQ_COARSE_TUNE_EFFORT_50G RX_EQ_FINE_TUNE_EFFORT_50G RX_GAINSHAPE1 RX_GAINSHAPE2 LINK_TRAINING TX_EQ_ATTN TX_EQ_PRE1 TX_EQ_PRE2 TX_EQ_PRE3 TX_EQ_POST Optical Module CTLE RX_GAINSHAPE1 RX_GAINSHAPE2 RX_AGC_TARGET RX_EYE_DISQUALIFY_THRESHOLD_25G RX_EQ_COARSE_TUNE_EFFORT_25G RX_EQ_FINE_TUNE_EFFORT_25G SD_RESET_THRESHOLD SD_RESET_25G LINK_TRAINING TX_EQ_ATTN TX_EQ_PRE1 TX_EQ_PRE2 TX_EQ_PRE3 TX_EQ_POST RX_GAINSHAPE1 RX_GAINSHAPE2 LINK_TRAINING
6 0 0 0 0 4 0 0 4 4.5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 High High NA FALSE 0 0 0 0 0 0 0 0 0
7 1 0 1 0 4 -1 0 2 6 Medium High 0 0 0 0 4 0 0 4 4 0 0 100 100 High High NA FALSE 0 0 0 0 0 0 0 0 0
8 2 0 2 0 4 0 0 0 6 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 High High NA FALSE 0 0 0 0 0 0 0 0 0
9 3 0 3 0 4 0 0 4 4.5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 High High NA FALSE 0 0 0 0 0 0 0 0 0
10 4 0 4 0 4 0 0 4 5.5 Medium High 0 0 0 0 4 0 0 4 4 0 0 100 100 High High NA FALSE 0 0 0 0 0 0 0 0 0
11 5 0 5 0 4 0 0 4 5.5 Medium High 0 0 0 0 2 0 0 4 4 0 0 100 100 High High NA FALSE 0 0 0 0 0 0 0 0 0
12 6 0 6 0 4 0 0 4 5.5 Medium High 0 0 0 0 4 0 0 4 4 0 0 100 100 High High NA FALSE 0 0 0 0 0 0 0 0 0
13 7 0 7 0 4 0 0 4 5 Medium High 0 0 0 0 4 0 0 4 4 0 0 100 100 High High NA FALSE 0 0 0 0 0 0 0 0 0
14 8 1 0 0 4 0 0 2 4.5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
15 9 1 1 0 4 0 0 2 5.5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
16 10 1 2 0 4 0 0 0 6 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
17 11 1 3 0 4 0 0 2 5.5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
18 12 1 4 0 4 0 0 2 5.5 Medium High 0 0 0 0 4 -1 0 4 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
19 13 1 5 0 4 0 0 2 5.5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
20 14 1 6 0 4 0 0 4 5 Medium High 0 0 0 0 4 0 0 4 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
21 15 1 7 0 4 0 0 2 5.5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
22 16 2 0 0 4 0 0 0 6 Medium High 0 0 0 0 2 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
23 17 2 1 0 4 0 0 2 5.5 Medium High 0 0 0 0 2 0 0 4 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
24 18 2 2 0 4 0 0 0 6 Medium High 0 0 0 0 2 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
25 19 2 3 0 4 0 0 0 6 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
26 20 2 4 0 4 0 0 4 5 Medium High 0 0 0 0 2 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
27 21 2 5 0 4 0 0 2 5.5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
28 22 2 6 0 4 0 0 4 5 Medium High 0 0 0 0 2 0 0 4 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
29 23 2 7 0 4 0 0 2 5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
30 24 3 0 0 4 0 0 2 5.5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
31 25 3 1 0 4 0 0 2 5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
32 26 3 2 0 4 0 0 0 5.5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
33 27 3 3 0 4 0 0 2 5.5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
34 28 3 4 0 4 -1 0 0 5.5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
35 29 3 5 0 4 0 0 2 5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
36 30 3 6 0 2 0 0 4 4.5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
37 31 3 7 0 4 0 0 2 5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
38 32 4 0 0 4 0 0 2 4 Medium High 0 0 0 0 6 0 0 0 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
39 33 4 1 0 2 0 0 2 5.5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
40 34 4 2 0 4 0 0 2 4 Medium High 0 0 0 1 0 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
41 35 4 3 0 4 0 0 2 4.5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
42 36 4 4 0 4 0 0 2 5.5 Medium High 0 0 0 0 2 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
43 37 4 5 0 4 0 0 2 5 Medium High 0 0 0 0 2 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
44 38 4 6 0 4 0 0 2 5.5 Medium High 0 0 0 0 2 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
45 39 4 7 0 4 0 0 2 4.5 Medium High 0 0 0 0 4 0 0 0 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
46 40 5 0 0 4 0 0 0 5 Medium High 0 0 0 0 4 0 0 0 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
47 41 5 1 0 4 0 0 0 5 Medium High 0 0 0 0 4 0 0 0 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
48 42 5 2 0 4 0 0 2 5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
49 43 5 3 0 4 0 0 0 5 Medium High 0 0 0 0 4 0 0 0 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
50 44 5 4 0 4 0 0 2 4.5 Medium High 0 0 0 0 4 0 0 0 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
51 45 5 5 0 2 0 0 4 4 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
52 46 5 6 0 4 0 0 2 5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
53 47 5 7 0 4 0 0 0 5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
54 48 6 0 0 4 0 0 0 5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
55 49 6 1 0 4 0 0 2 5.5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
56 50 6 2 0 4 0 0 2 4 Medium High 0 0 0 0 4 -1 0 0 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
57 51 6 3 0 4 0 0 0 5.5 Medium High 0 0 0 0 2 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
58 52 6 4 0 4 0 0 2 5.5 Medium High 0 0 0 0 2 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
59 53 6 5 0 4 0 0 2 5.5 Medium High 0 0 0 0 2 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
60 54 6 6 0 2 0 0 2 5.5 Medium High 0 0 0 0 2 0 1 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
61 55 6 7 0 4 0 0 2 4.5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
62 56 7 0 0 4 0 0 0 5.5 Medium High 0 0 0 0 4 0 0 0 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
63 57 7 1 0 4 0 0 0 5.5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
64 58 7 2 0 4 -1 0 0 5.5 Medium High 0 0 0 0 4 0 0 0 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
65 59 7 3 0 4 0 0 2 4 Medium High 0 0 0 0 4 0 0 0 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
66 60 7 4 0 4 0 0 0 5 Medium High 0 0 0 0 4 0 0 0 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
67 61 7 5 0 4 0 0 0 4.5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
68 62 7 6 0 4 0 0 0 5.5 Medium High 0 0 0 0 4 0 0 0 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
69 63 7 7 0 4 0 0 4 4 Medium High 0 0 0 1 4 0 0 0 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
70 64 8 0 0 4 0 0 4 4.5 Medium High 0 0 0 0 4 0 0 4 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
71 65 8 1 0 4 0 0 4 5 Medium High 0 0 0 0 4 0 0 4 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
72 66 8 2 0 4 0 0 2 6 Medium High 0 0 0 0 4 0 0 4 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
73 67 8 3 0 4 0 0 2 5 Medium High 0 0 0 0 4 0 0 4 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
74 68 8 4 0 4 0 0 4 6 Medium High 0 0 0 0 2 0 0 4 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
75 69 8 5 0 4 0 0 4 5.5 Medium High 0 0 0 0 4 0 0 4 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
76 70 8 6 0 2 0 0 4 6 Medium High 0 0 0 0 4 0 0 4 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
77 71 8 7 0 4 0 0 4 4.5 Medium High 0 0 0 0 2 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
78 72 9 0 0 4 0 0 4 5.5 Medium High 0 0 0 0 2 0 0 4 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
79 73 9 1 0 4 0 0 0 6.5 Medium High 0 0 0 0 4 0 0 4 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
80 74 9 2 0 4 0 0 4 5.5 Medium High 0 0 0 0 2 0 0 4 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
81 75 9 3 0 4 0 0 0 6.5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
82 76 9 4 0 4 0 0 4 6 Medium High 0 0 0 0 4 0 0 4 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
83 77 9 5 0 4 0 0 4 5.5 Medium High 0 0 0 0 4 0 0 4 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
84 78 9 6 0 4 0 0 2 6 Medium High 0 0 0 0 2 0 0 4 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
85 79 9 7 0 4 0 0 4 5.5 Medium High 0 0 0 0 4 0 0 4 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
86 80 10 0 0 4 0 0 4 4 Medium High 0 0 0 0 2 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
87 81 10 1 0 4 0 0 4 5.5 Medium High 0 0 0 0 4 0 0 4 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
88 82 10 2 0 4 0 0 4 4 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
89 83 10 3 0 4 0 0 2 6 Medium High 0 0 0 0 4 0 0 4 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
90 84 10 4 0 4 -1 0 4 6 Medium High 0 0 0 0 6 0 0 4 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
91 85 10 5 0 4 0 0 4 5.5 Medium High 0 0 0 0 4 0 0 4 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
92 86 10 6 0 4 0 0 4 5 Medium High 0 0 0 0 4 0 0 4 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
93 87 10 7 0 4 0 0 4 4.5 Medium High 0 0 0 0 4 0 0 4 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
94 88 11 0 0 4 0 0 0 6.5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
95 89 11 1 0 4 0 0 2 5.5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
96 90 11 2 0 4 0 0 0 6 Medium High 0 0 0 0 4 0 1 0 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
97 91 11 3 0 4 0 0 0 5.5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
98 92 11 4 0 4 0 0 4 5 Medium High 0 0 0 0 4 0 0 4 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
99 93 11 5 0 4 0 0 2 7 Medium High 0 0 0 0 4 0 0 4 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
100 94 11 6 0 4 0 0 2 5.5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
101 95 11 7 0 4 0 0 2 5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
102 96 12 0 0 4 0 0 0 5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
103 97 12 1 0 4 0 0 2 5.5 Medium High 0 0 0 0 4 0 0 4 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
104 98 12 2 0 4 0 0 0 5.5 Medium High 0 0 0 0 4 0 0 0 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
105 99 12 3 0 4 0 0 2 5 Medium High 0 0 0 2 2 0 0 0 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
106 100 12 4 0 4 0 0 2 6 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
107 101 12 5 0 4 0 0 2 5.5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
108 102 12 6 0 4 0 0 4 4.5 Medium High 0 0 0 0 2 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
109 103 12 7 0 4 0 0 0 5.5 Medium High 0 0 0 0 2 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
110 104 13 0 0 2 0 0 4 4.5 Medium High 0 0 0 0 4 -1 0 0 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
111 105 13 1 0 4 0 0 0 5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
112 106 13 2 0 4 0 0 0 5 Medium High 0 0 0 0 4 0 0 0 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
113 107 13 3 0 2 0 0 2 4.5 Medium High 0 0 0 1 4 0 0 0 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
114 108 13 4 0 4 0 0 2 6 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
115 109 13 5 0 4 0 0 4 4 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
116 110 13 6 0 4 0 0 0 5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
117 111 13 7 0 4 -1 0 0 5 Medium High 0 0 0 0 4 -1 0 0 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
118 112 14 0 0 4 0 0 0 5 Medium High 0 0 0 4 0 0 0 0 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
119 113 14 1 0 4 0 0 2 4.5 Medium High 0 0 0 0 2 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
120 114 14 2 0 4 0 0 0 5 Medium High 0 0 0 0 4 0 1 0 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
121 115 14 3 0 4 0 0 0 5 Medium High 0 0 0 1 4 0 0 0 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
122 116 14 4 0 4 0 0 4 4.5 Medium High 0 0 0 0 2 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
123 117 14 5 0 4 0 0 2 5.5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
124 118 14 6 0 4 0 0 0 5.5 Medium High 0 0 0 0 4 0 0 0 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
125 119 14 7 0 4 0 0 0 5 Medium High 0 0 0 1 4 0 0 0 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
126 120 15 0 0 4 0 0 2 5.5 Medium High 0 0 0 0 4 0 0 0 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
127 121 15 1 0 4 0 0 0 5.5 Medium High 0 0 0 0 4 0 0 0 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
128 122 15 2 0 4 0 0 0 5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
129 123 15 3 0 4 0 0 0 5.5 Medium High 0 0 0 0 4 0 0 0 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
130 124 15 4 0 4 -1 0 0 5 Medium High 0 0 0 0 4 0 0 0 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
131 125 15 5 0 4 0 0 0 5 Medium High 0 0 0 0 4 -1 0 0 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
132 126 15 6 0 4 0 0 0 4.5 Medium High 0 0 0 0 4 0 0 0 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
133 127 15 7 0 4 0 0 0 5.5 Medium High 0 0 0 0 2 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
134 128 16 0 0 2 0 0 2 4.5 Medium High 0 0 0 0 2 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
135 129 16 1 0 4 0 0 0 5 Medium High 0 0 0 0 4 0 0 0 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
136 130 16 2 0 4 0 0 0 5.5 Medium High 0 0 0 0 4 0 1 0 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
137 131 16 3 0 4 0 0 2 4.5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
138 132 16 4 0 4 0 0 0 5.5 Medium High 0 0 0 0 2 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
139 133 16 5 0 2 0 0 2 5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
140 134 16 6 0 4 0 0 0 6.5 Medium High 0 0 0 0 2 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
141 135 16 7 0 4 0 0 2 5 Medium High 0 0 0 0 4 0 1 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
142 136 17 0 0 4 0 0 0 5.5 Medium High 0 0 0 0 4 0 0 0 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
143 137 17 1 0 4 0 0 0 5.5 Medium High 0 0 0 0 4 0 0 0 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
144 138 17 2 0 4 0 0 0 5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
145 139 17 3 0 4 0 0 0 5.5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
146 140 17 4 1 4 0 0 0 5.5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
147 141 17 5 0 4 0 0 0 5.5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
148 142 17 6 0 4 0 0 2 4.5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
149 143 17 7 0 4 0 0 2 5 Medium High 0 0 0 1 4 0 0 0 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
150 144 18 0 0 4 0 0 2 4.5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
151 145 18 1 0 4 0 0 2 5 Medium High 0 0 0 0 2 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
152 146 18 2 0 4 0 0 0 5.5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
153 147 18 3 0 4 0 0 2 5 Medium High 0 0 0 0 2 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
154 148 18 4 0 2 0 0 0 7 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
155 149 18 5 0 2 0 0 2 5.5 Medium High 0 0 0 0 2 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
156 150 18 6 0 4 0 0 2 5.5 Medium High 0 0 0 0 2 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
157 151 18 7 0 4 0 0 4 4 Medium High 0 0 0 0 2 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
158 152 19 0 0 2 0 0 0 5.5 Medium High 0 0 0 0 4 0 0 0 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
159 153 19 1 0 4 0 0 2 5.5 Medium High 0 0 0 0 2 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
160 154 19 2 0 4 0 0 0 5 Medium High 0 0 0 0 4 0 0 0 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
161 155 19 3 0 4 0 0 -2 6 Medium High 0 0 0 0 4 -1 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
162 156 19 4 0 4 0 0 0 5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
163 157 19 5 0 4 0 0 0 4.5 Medium High 0 0 0 0 2 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
164 158 19 6 0 4 0 0 2 4.5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
165 159 19 7 0 4 0 0 0 5 Medium High 0 0 0 0 4 0 0 0 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
166 160 20 0 0 4 0 0 2 5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
167 161 20 1 0 2 0 0 2 5 Medium High 0 0 0 0 2 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
168 162 20 2 0 4 0 0 4 4.5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
169 163 20 3 0 4 0 0 0 5.5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
170 164 20 4 0 2 0 0 2 5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
171 165 20 5 0 4 0 0 2 5.5 Medium High 0 0 0 0 2 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
172 166 20 6 0 4 0 0 4 4.5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
173 167 20 7 0 4 0 0 2 5.5 Medium High 0 0 0 0 2 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
174 168 21 0 0 4 0 0 0 5.5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
175 169 21 1 0 4 -1 0 0 6 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
176 170 21 2 0 4 0 0 0 5.5 Medium High 0 0 0 0 4 0 0 0 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
177 171 21 3 0 4 0 0 0 5.5 Medium High 0 0 0 0 2 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
178 172 21 4 0 4 0 0 2 4.5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
179 173 21 5 0 4 0 0 2 4.5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
180 174 21 6 0 2 0 0 2 5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
181 175 21 7 0 4 0 0 2 4.5 Medium High 0 0 0 0 2 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
182 176 22 0 0 4 0 0 4 5 Medium High 0 0 0 0 2 0 0 4 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
183 177 22 1 0 4 0 0 2 5.5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
184 178 22 2 0 4 0 0 2 5.5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
185 179 22 3 0 4 -1 0 4 5.5 Medium High 0 0 0 0 2 0 0 4 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
186 180 22 4 0 4 0 0 4 4.5 Medium High 0 0 0 0 2 -1 0 4 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
187 181 22 5 0 4 0 0 4 4.5 Medium High 0 0 0 0 2 0 0 4 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
188 182 22 6 0 4 0 0 4 5 Medium High 0 0 0 0 4 0 0 4 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
189 183 22 7 0 4 0 0 4 5 Medium High 0 0 0 0 2 0 0 4 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
190 184 23 0 0 2 0 0 2 6 Medium High 0 0 0 0 2 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
191 185 23 1 0 4 0 0 4 4.5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
192 186 23 2 0 4 0 0 2 6 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
193 187 23 3 0 4 0 0 0 6 Medium High 0 0 0 0 4 0 0 4 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
194 188 23 4 0 4 0 0 2 5 Medium High 0 0 0 0 2 0 0 4 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
195 189 23 5 0 4 0 0 2 5 Medium High 0 0 0 0 2 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
196 190 23 6 0 4 0 0 2 5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
197 191 23 7 0 4 0 0 4 5.5 Medium High 0 0 0 0 6 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
198 192 24 0 0 4 0 0 2 5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
199 193 24 1 0 2 0 0 2 5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
200 194 24 2 0 4 0 0 2 4.5 Medium High 0 0 0 1 2 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
201 195 24 3 0 4 0 0 0 5.5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
202 196 24 4 0 4 0 0 4 4.5 Medium High 0 0 0 0 2 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
203 197 24 5 0 4 0 0 2 5 Medium High 0 0 0 0 2 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
204 198 24 6 0 4 0 0 2 4.5 Medium High 0 0 0 0 4 0 0 0 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
205 199 24 7 0 4 0 0 2 4 Medium High 0 0 0 0 4 0 0 0 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
206 200 25 0 0 4 0 0 0 5.5 Medium High 0 0 0 0 4 0 0 0 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
207 201 25 1 0 4 0 0 0 5 Medium High 0 0 0 0 4 0 0 0 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
208 202 25 2 0 4 0 0 2 4.5 Medium High 0 0 0 0 4 0 0 0 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
209 203 25 3 0 4 0 0 2 5 Medium High 0 0 0 0 4 0 0 0 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
210 204 25 4 0 4 0 0 0 5.5 Medium High 0 0 0 0 2 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
211 205 25 5 0 4 0 0 0 5 Medium High 0 0 0 1 4 0 0 0 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
212 206 25 6 0 4 0 0 2 5 Medium High 0 0 0 0 4 -1 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
213 207 25 7 0 4 0 0 2 5 Medium High 0 0 0 0 2 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
214 208 26 0 0 4 0 0 2 5.5 Medium High 0 0 0 0 4 0 -1 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
215 209 26 1 0 4 0 0 2 5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
216 210 26 2 0 4 0 0 0 5 Medium High 0 0 0 0 4 0 0 0 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
217 211 26 3 0 4 0 0 2 4.5 Medium High 0 0 0 0 2 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
218 212 26 4 0 2 0 0 2 5 Medium High 0 0 0 0 2 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
219 213 26 5 0 4 0 0 0 5.5 Medium High 0 0 0 0 2 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
220 214 26 6 0 4 0 0 4 3.5 Medium High 0 0 0 0 2 -1 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
221 215 26 7 0 4 0 0 0 5 Medium High 0 0 0 0 4 0 0 0 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
222 216 27 0 0 4 0 0 2 5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
223 217 27 1 0 4 0 0 2 6 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
224 218 27 2 0 4 0 0 2 5 Medium High 0 0 0 0 4 0 0 0 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
225 219 27 3 0 4 0 0 4 5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
226 220 27 4 0 4 0 0 2 5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
227 221 27 5 0 4 0 0 4 4.5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
228 222 27 6 0 2 0 0 0 6 Medium High 0 0 0 0 4 0 0 4 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
229 223 27 7 0 4 0 0 2 5.5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
230 224 28 0 0 4 0 0 0 5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
231 225 28 1 0 4 0 0 2 4.5 Medium High 0 0 0 2 2 0 0 0 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
232 226 28 2 0 4 0 0 0 4.5 Medium High 0 0 0 0 4 0 0 0 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
233 227 28 3 0 4 0 0 2 5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
234 228 28 4 0 4 0 0 2 4.5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
235 229 28 5 0 2 0 0 2 5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
236 230 28 6 0 2 0 0 2 4.5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
237 231 28 7 0 4 0 0 2 5 Medium High 0 0 0 0 4 0 0 0 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
238 232 29 0 0 4 0 0 4 4 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
239 233 29 1 0 4 0 0 4 5.5 Medium High 0 0 0 0 4 0 0 4 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
240 234 29 2 0 4 0 0 2 5 Medium High 0 0 0 0 2 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
241 235 29 3 0 4 0 0 2 5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
242 236 29 4 0 4 0 0 2 5 Medium High 0 0 0 0 2 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
243 237 29 5 0 4 0 0 4 5.5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
244 238 29 6 0 4 0 0 2 5 Medium High 0 0 0 0 2 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
245 239 29 7 0 4 0 0 2 5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
246 240 30 0 0 4 0 0 2 4.5 Medium High 0 0 0 0 2 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
247 241 30 1 0 4 0 0 2 5.5 Medium High 0 0 0 0 2 0 0 4 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
248 242 30 2 0 4 0 0 2 5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
249 243 30 3 0 2 0 0 2 6 Medium High 0 0 0 0 2 0 0 4 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
250 244 30 4 0 4 0 0 2 5 Medium High 0 0 0 0 4 0 0 4 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
251 245 30 5 0 4 0 0 4 5 Medium High 0 0 0 0 4 0 0 4 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
252 246 30 6 0 4 0 0 4 4.5 Medium High 0 0 0 0 4 0 0 4 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
253 247 30 7 0 4 0 0 4 5 Medium High 0 0 0 0 2 0 0 4 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
254 248 31 0 0 4 0 0 4 4.5 Medium High 0 0 0 0 4 0 0 4 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
255 249 31 1 0 4 0 -1 2 5.5 Medium High 0 0 0 0 4 0 1 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
256 250 31 2 0 4 0 0 2 4.5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
257 251 31 3 0 4 0 0 4 4.5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
258 252 31 4 0 4 -1 0 4 5.5 Medium High 0 0 0 0 4 0 0 4 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
259 253 31 5 0 4 0 0 4 6 Medium High 0 0 0 0 4 0 0 4 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
260 254 31 6 0 4 0 0 2 5 Medium High 0 0 0 0 4 -1 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
261 255 31 7 0 4 0 0 2 5.5 Medium High 0 0 0 0 4 0 0 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
262 256 32 0 0 4 0 0 4 4.5 Medium High 0 0 0 0 4 0 0 4 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
263 257 32 1 0 4 0 0 2 5.5 Medium High 0 0 0 0 4 0 1 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0

View File

@ -0,0 +1,7 @@
VERSION,CABLE TYPE,VENDOR,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
1.2,RJ45,GENERIC,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,SPEED,ENCODING,,,,,,,,,,SPEED,ENCODING,,,,,,,,,,,,,,SPEED,ENCODING,,,,,,
,,,50G/400G,PAM4,,,,,,,,,,25G/100G,NRZ,,,,,,,,,,,,,,10G/40G,NRZ,,,,,,
index,Front Port,lane,TX_EQ_ATTN,TX_EQ_PRE1,TX_EQ_PRE2,TX_EQ_PRE3,TX_EQ_POST,Optical Module CTLE,RX_EQ_COARSE_TUNE_EFFORT_50G,RX_EQ_FINE_TUNE_EFFORT_50G,RX_GAINSHAPE1,RX_GAINSHAPE2,LINK_TRAINING,TX_EQ_ATTN,TX_EQ_PRE1,TX_EQ_PRE2,TX_EQ_PRE3,TX_EQ_POST,Optical Module CTLE,RX_GAINSHAPE1,RX_GAINSHAPE2,RX_AGC_TARGET,RX_EYE_DISQUALIFY_THRESHOLD_25G,RX_EQ_COARSE_TUNE_EFFORT_25G,RX_EQ_FINE_TUNE_EFFORT_25G,SD_RESET_THRESHOLD,SD_RESET_25G,LINK_TRAINING,TX_EQ_ATTN,TX_EQ_PRE1,TX_EQ_PRE2,TX_EQ_PRE3,TX_EQ_POST,RX_GAINSHAPE1,RX_GAINSHAPE2,LINK_TRAINING
256,32,0,0,4,0,0,4,4.5,Medium,High,0,2,0,0,4,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
257,32,1,0,4,0,0,2,5.5,Medium,High,0,2,0,0,4,0,1,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
1 VERSION CABLE TYPE VENDOR
2 1.2 RJ45 GENERIC
3 SPEED ENCODING SPEED ENCODING SPEED ENCODING
4 50G/400G PAM4 25G/100G NRZ 10G/40G NRZ
5 index Front Port lane TX_EQ_ATTN TX_EQ_PRE1 TX_EQ_PRE2 TX_EQ_PRE3 TX_EQ_POST Optical Module CTLE RX_EQ_COARSE_TUNE_EFFORT_50G RX_EQ_FINE_TUNE_EFFORT_50G RX_GAINSHAPE1 RX_GAINSHAPE2 LINK_TRAINING TX_EQ_ATTN TX_EQ_PRE1 TX_EQ_PRE2 TX_EQ_PRE3 TX_EQ_POST Optical Module CTLE RX_GAINSHAPE1 RX_GAINSHAPE2 RX_AGC_TARGET RX_EYE_DISQUALIFY_THRESHOLD_25G RX_EQ_COARSE_TUNE_EFFORT_25G RX_EQ_FINE_TUNE_EFFORT_25G SD_RESET_THRESHOLD SD_RESET_25G LINK_TRAINING TX_EQ_ATTN TX_EQ_PRE1 TX_EQ_PRE2 TX_EQ_PRE3 TX_EQ_POST RX_GAINSHAPE1 RX_GAINSHAPE2 LINK_TRAINING
6 256 32 0 0 4 0 0 4 4.5 Medium High 0 2 0 0 4 0 0 4 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0
7 257 32 1 0 4 0 0 2 5.5 Medium High 0 2 0 0 4 0 1 2 4 0 0 100 100 LOW LOW NA FALSE 0 0 0 0 0 0 0 0 0

View File

@ -0,0 +1,167 @@
{# Default values which will be used if no actual configura available #}
{% set default_cable = '40m' %}
{% set mgmt_port_name = ['Ethernet256','Ethernet257'] %}
{# Port configuration to cable length look-up table #}
{# Each record describes mapping of DUT (DUT port) role and neighbor role to cable length #}
{# Roles described in the minigraph #}
{% set ports2cable = {
'torrouter_server' : '5m',
'leafrouter_torrouter' : '40m',
'spinerouter_leafrouter' : '300m'
}
%}
{%- macro cable_length(port_name) %}
{%- set cable_len = [] %}
{%- for local_port in DEVICE_NEIGHBOR %}
{%- if local_port == port_name %}
{%- if DEVICE_NEIGHBOR_METADATA is defined and DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %}
{%- set neighbor = DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %}
{%- set neighbor_role = neighbor.type %}
{%- set roles1 = switch_role + '_' + neighbor_role %}
{%- set roles2 = neighbor_role + '_' + switch_role %}
{%- set roles1 = roles1 | lower %}
{%- set roles2 = roles2 | lower %}
{%- if roles1 in ports2cable %}
{%- if cable_len.append(ports2cable[roles1]) %}{% endif %}
{%- elif roles2 in ports2cable %}
{%- if cable_len.append(ports2cable[roles2]) %}{% endif %}
{%- endif %}
{%- endif %}
{%- endif %}
{%- endfor %}
{%- if cable_len -%}
{{ cable_len.0 }}
{%- else %}
{%- if switch_role.lower() == 'torrouter' %}
{%- for local_port in VLAN_MEMBER %}
{%- if local_port[1] == port_name %}
{%- set roles3 = switch_role + '_' + 'server' %}
{%- set roles3 = roles3 | lower %}
{%- if roles3 in ports2cable %}
{%- if cable_len.append(ports2cable[roles3]) %}{% endif %}
{%- endif %}
{%- endif %}
{%- endfor %}
{%- if cable_len -%}
{{ cable_len.0 }}
{%- else -%}
{{ default_cable }}
{%- endif %}
{%- else -%}
{{ default_cable }}
{%- endif %}
{%- endif %}
{%- endmacro %}
{%- if DEVICE_METADATA is defined %}
{%- set switch_role = DEVICE_METADATA['localhost']['type'] %}
{%- endif -%}
{% set port_names_list = [] %}
{% for port in PORT %}
{% if port not in mgmt_port_name %}
{%- if port_names_list.append(port) %}{% endif %}
{% endif %}
{% endfor %}
{% set port_names = port_names_list | join(',') -%}
{
"CABLE_LENGTH": {
"AZURE": {
{% for port in PORT %}
{% if port not in mgmt_port_name %}
{% set cable = cable_length(port) -%}
"{{ port }}": "{{ cable }}"{%- if not loop.last -%},{% endif %}
{% endif %}
{% endfor %}
}
},
"BUFFER_POOL": {
"ingress_lossless_pool": {
"size": "51691264",
"type": "ingress",
"mode": "dynamic",
"xoff": "17708800"
},
"lossy_pool": {
"size": "18874368",
"type": "egress",
"mode": "dynamic",
"xoff": "0"
},
"egress_lossless_pool": {
"size": "70565632",
"type": "egress",
"mode": "static"
}
},
"BUFFER_PROFILE": {
"ingress_lossless_profile": {
"pool":"ingress_lossless_pool",
"xoff":"38816",
"size":"1518",
"dynamic_th":"1",
"xon_offset":"9408"
},
"egress_lossless_profile": {
"pool":"ingress_lossless_pool",
"size":"0",
"static_th":"10243072"
},
"ingress_lossy_profile": {
"pool":"lossy_pool",
"size":"0",
"static_th":"10243072"
},
"egress_lossy_profile": {
"pool":"lossy_pool",
"size":"1518",
"dynamic_th":"2"
}
},
"BUFFER_PG": {
{% for port in port_names_list %}
"{{ port }}|3-4": {
{% set cable = cable_length(port) -%}
"profile" : "pg_lossless_400000_{{ cable }}_profile"
},
{% endfor %}
{% for port in port_names_list %}
"{{ port }}|0": {
"profile" : "ingress_lossy_profile"
},
{% endfor %}
{% for port in port_names_list %}
"{{ port }}|1-2": {
"profile" : "ingress_lossy_profile"
},
{% endfor %}
{% for port in port_names_list %}
"{{ port }}|5-7": {
"profile" : "ingress_lossy_profile"
}{% if not loop.last %},{% endif %}
{% endfor %}
},
"BUFFER_QUEUE": {
{% for port in port_names_list %}
"{{ port }}|3-4": {
"profile" : "egress_lossless_profile"
},
{% endfor %}
{% for port in port_names_list %}
"{{ port }}|0-2": {
"profile" : "egress_lossy_profile"
},
{% endfor %}
{% for port in port_names_list %}
"{{ port }}|5-7": {
"profile" : "egress_lossy_profile"
}{% if not loop.last %},{% endif %}
{% endfor %}
}
}

View File

@ -0,0 +1,45 @@
{% set mgmt_port_name = ['Ethernet256','Ethernet257'] %}
{% set port_names_list = [] %}
{% for port in PORT %}
{% if port not in mgmt_port_name %}
{%- if port_names_list.append(port) %}{% endif %}
{% endif %}
{% endfor %}
{% set port_names = port_names_list | join(',') -%}
{
"BUFFER_POOL": {
"lossy_pool": {
"size": "61458432",
"type": "egress",
"mode": "dynamic",
"xoff": "0"
}
},
"BUFFER_PROFILE": {
"ingress_lossy_profile": {
"pool":"lossy_pool",
"size":"0",
"static_th":"10243072"
},
"egress_lossy_profile": {
"pool":"lossy_pool",
"size":"1518",
"dynamic_th":"2"
}
},
"BUFFER_PG": {
{% for port in port_names_list %}
"{{ port }}|0-7": {
"profile" : "ingress_lossy_profile"
}{% if not loop.last %},{% endif %}
{% endfor %}
},
"BUFFER_QUEUE": {
{% for port in port_names_list %}
"{{ port }}|0-7": {
"profile" : "egress_lossy_profile"
}{% if not loop.last %},{% endif %}
{% endfor %}
}
}

View File

@ -0,0 +1,167 @@
{# Default values which will be used if no actual configura available #}
{% set default_cable = '40m' %}
{% set mgmt_port_name = ['Ethernet256','Ethernet257'] %}
{# Port configuration to cable length look-up table #}
{# Each record describes mapping of DUT (DUT port) role and neighbor role to cable length #}
{# Roles described in the minigraph #}
{% set ports2cable = {
'torrouter_server' : '5m',
'leafrouter_torrouter' : '40m',
'spinerouter_leafrouter' : '300m'
}
%}
{%- macro cable_length(port_name) %}
{%- set cable_len = [] %}
{%- for local_port in DEVICE_NEIGHBOR %}
{%- if local_port == port_name %}
{%- if DEVICE_NEIGHBOR_METADATA is defined and DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %}
{%- set neighbor = DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %}
{%- set neighbor_role = neighbor.type %}
{%- set roles1 = switch_role + '_' + neighbor_role %}
{%- set roles2 = neighbor_role + '_' + switch_role %}
{%- set roles1 = roles1 | lower %}
{%- set roles2 = roles2 | lower %}
{%- if roles1 in ports2cable %}
{%- if cable_len.append(ports2cable[roles1]) %}{% endif %}
{%- elif roles2 in ports2cable %}
{%- if cable_len.append(ports2cable[roles2]) %}{% endif %}
{%- endif %}
{%- endif %}
{%- endif %}
{%- endfor %}
{%- if cable_len -%}
{{ cable_len.0 }}
{%- else %}
{%- if switch_role.lower() == 'torrouter' %}
{%- for local_port in VLAN_MEMBER %}
{%- if local_port[1] == port_name %}
{%- set roles3 = switch_role + '_' + 'server' %}
{%- set roles3 = roles3 | lower %}
{%- if roles3 in ports2cable %}
{%- if cable_len.append(ports2cable[roles3]) %}{% endif %}
{%- endif %}
{%- endif %}
{%- endfor %}
{%- if cable_len -%}
{{ cable_len.0 }}
{%- else -%}
{{ default_cable }}
{%- endif %}
{%- else -%}
{{ default_cable }}
{%- endif %}
{%- endif %}
{%- endmacro %}
{%- if DEVICE_METADATA is defined %}
{%- set switch_role = DEVICE_METADATA['localhost']['type'] %}
{%- endif -%}
{% set port_names_list = [] %}
{% for port in PORT %}
{% if port not in mgmt_port_name %}
{%- if port_names_list.append(port) %}{% endif %}
{% endif %}
{% endfor %}
{% set port_names = port_names_list | join(',') -%}
{
"CABLE_LENGTH": {
"AZURE": {
{% for port in PORT %}
{% if port not in mgmt_port_name %}
{% set cable = cable_length(port) -%}
"{{ port }}": "{{ cable }}"{%- if not loop.last -%},{% endif %}
{% endif %}
{% endfor %}
}
},
"BUFFER_POOL": {
"ingress_lossless_pool": {
"size": "51691264",
"type": "ingress",
"mode": "dynamic",
"xoff": "17708800"
},
"lossy_pool": {
"size": "18874368",
"type": "egress",
"mode": "dynamic",
"xoff": "0"
},
"egress_lossless_pool": {
"size": "70565632",
"type": "egress",
"mode": "static"
}
},
"BUFFER_PROFILE": {
"ingress_lossless_profile": {
"pool":"ingress_lossless_pool",
"xoff":"38816",
"size":"1518",
"dynamic_th":"1",
"xon_offset":"9408"
},
"egress_lossless_profile": {
"pool":"ingress_lossless_pool",
"size":"0",
"static_th":"10243072"
},
"ingress_lossy_profile": {
"pool":"lossy_pool",
"size":"0",
"static_th":"10243072"
},
"egress_lossy_profile": {
"pool":"lossy_pool",
"size":"1518",
"dynamic_th":"2"
}
},
"BUFFER_PG": {
{% for port in port_names_list %}
"{{ port }}|3-4": {
{% set cable = cable_length(port) -%}
"profile" : "pg_lossless_400000_{{ cable }}_profile"
},
{% endfor %}
{% for port in port_names_list %}
"{{ port }}|0": {
"profile" : "ingress_lossy_profile"
},
{% endfor %}
{% for port in port_names_list %}
"{{ port }}|1-2": {
"profile" : "ingress_lossy_profile"
},
{% endfor %}
{% for port in port_names_list %}
"{{ port }}|5-7": {
"profile" : "ingress_lossy_profile"
}{% if not loop.last %},{% endif %}
{% endfor %}
},
"BUFFER_QUEUE": {
{% for port in port_names_list %}
"{{ port }}|3-4": {
"profile" : "egress_lossless_profile"
},
{% endfor %}
{% for port in port_names_list %}
"{{ port }}|0-2": {
"profile" : "egress_lossy_profile"
},
{% endfor %}
{% for port in port_names_list %}
"{{ port }}|5-7": {
"profile" : "egress_lossy_profile"
}{% if not loop.last %},{% endif %}
{% endfor %}
}
}

View File

@ -0,0 +1,440 @@
ifcs:
options:
log_level: "info"
nodes:
- node_id: "0"
options:
sd_low_power_mode_global_default: "true"
sku: "configs/sku/innovium.77700_A"
netdev:
- auto_create: "no"
multi_interface: "yes"
pcie_attn: "10, 0, 0, 0"
pcie_post: "10, 0, 0, 0"
pcie_pre1: "0, 0, 0, 0"
buffer_management_mode: "api_driven"
wred_cr_ip_proto_list: "17"
cr_assignment_mode: "1"
max_lossless_tc: "2"
ilpm_enable: "1"
ecn_stats_enable: "1"
forward_profile: "IFCS_FORWARD_PROFILE_ID_PROFILE_E"
led_cfg_sck_rate: "0x5"
led_refresh_precliff_timer: "0x18eec2"
led_refresh_cliff_timer: "0x15e"
led_cfg_pic_stream_mode: "1"
led_refresh_tmr_ctl_enable: "1"
txring:
- txring_id: "0"
desc_count: "1024"
prio: "1"
netdev: "true"
- txring_id: "1"
desc_count: "1024"
prio: "1"
netdev: "true"
- txring_id: "2"
desc_count: "1024"
prio: "1"
netdev: "true"
- txring_id: "3"
desc_count: "1024"
prio: "1"
netdev: "true"
rxring:
- rxring_id: "0"
desc_count: "1024"
prio: "1"
netdev: "true"
queues: "0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39"
- rxring_id: "1"
desc_count: "1024"
prio: "1"
netdev: "true"
queues: "1, 4, 7, 10, 13, 16, 19, 22, 25, 28, 31, 34, 37, 40"
- rxring_id: "2"
desc_count: "1024"
prio: "1"
netdev: "true"
queues: "2, 5, 8, 11, 14, 17, 20, 23, 26, 29, 32, 35, 38, 41, 47"
- rxring_id: "3"
desc_count: "1024"
prio: "1"
queues: "42, 43, 44, 45, 46"
sys_clk: "1720"
ifc_clk: "1200"
mac_clk: "1340"
devports:
- id: "0"
sysport: "1000"
type: "cpu"
- fec: "KPFEC"
id: "241"
lanes: "0:8"
serdes_group: "30"
speed: "400G"
sysport: "241"
type: "eth"
- fec: "KPFEC"
id: "249"
lanes: "0:8"
serdes_group: "31"
speed: "400G"
sysport: "249"
type: "eth"
- fec: "KPFEC"
id: "225"
lanes: "0:8"
serdes_group: "28"
speed: "400G"
sysport: "225"
type: "eth"
- fec: "KPFEC"
id: "233"
lanes: "0:8"
serdes_group: "29"
speed: "400G"
sysport: "233"
type: "eth"
- fec: "KPFEC"
id: "217"
lanes: "0:8"
serdes_group: "27"
speed: "400G"
sysport: "217"
type: "eth"
- fec: "KPFEC"
id: "209"
lanes: "0:8"
serdes_group: "26"
speed: "400G"
sysport: "209"
type: "eth"
- fec: "KPFEC"
id: "201"
lanes: "0:8"
serdes_group: "25"
speed: "400G"
sysport: "201"
type: "eth"
- fec: "KPFEC"
id: "193"
lanes: "0:8"
serdes_group: "24"
speed: "400G"
sysport: "193"
type: "eth"
- fec: "KPFEC"
id: "185"
lanes: "0:8"
serdes_group: "23"
speed: "400G"
sysport: "185"
type: "eth"
- fec: "KPFEC"
id: "177"
lanes: "0:8"
serdes_group: "22"
speed: "400G"
sysport: "177"
type: "eth"
- fec: "KPFEC"
id: "169"
lanes: "0:8"
serdes_group: "21"
speed: "400G"
sysport: "169"
type: "eth"
- fec: "KPFEC"
id: "161"
lanes: "0:8"
serdes_group: "20"
speed: "400G"
sysport: "161"
type: "eth"
- fec: "KPFEC"
id: "153"
lanes: "0:8"
serdes_group: "19"
speed: "400G"
sysport: "153"
type: "eth"
- fec: "KPFEC"
id: "145"
lanes: "0:8"
serdes_group: "18"
speed: "400G"
sysport: "145"
type: "eth"
- fec: "KPFEC"
id: "137"
lanes: "0:8"
serdes_group: "17"
speed: "400G"
sysport: "137"
type: "eth"
- fec: "KPFEC"
id: "129"
lanes: "0:8"
serdes_group: "16"
speed: "400G"
sysport: "129"
type: "eth"
- fec: "KPFEC"
id: "121"
lanes: "0:8"
serdes_group: "15"
speed: "400G"
sysport: "121"
type: "eth"
- fec: "KPFEC"
id: "113"
lanes: "0:8"
serdes_group: "14"
speed: "400G"
sysport: "113"
type: "eth"
- fec: "KPFEC"
id: "105"
lanes: "0:8"
serdes_group: "13"
speed: "400G"
sysport: "105"
type: "eth"
- fec: "KPFEC"
id: "97"
lanes: "0:8"
serdes_group: "12"
speed: "400G"
sysport: "97"
type: "eth"
- fec: "KPFEC"
id: "89"
lanes: "0:8"
serdes_group: "11"
speed: "400G"
sysport: "89"
type: "eth"
- fec: "KPFEC"
id: "81"
lanes: "0:8"
serdes_group: "10"
speed: "400G"
sysport: "81"
type: "eth"
- fec: "KPFEC"
id: "73"
lanes: "0:8"
serdes_group: "9"
speed: "400G"
sysport: "73"
type: "eth"
- fec: "KPFEC"
id: "65"
lanes: "0:8"
serdes_group: "8"
speed: "400G"
sysport: "65"
type: "eth"
- fec: "KPFEC"
id: "57"
lanes: "0:8"
serdes_group: "7"
speed: "400G"
sysport: "57"
type: "eth"
- fec: "KPFEC"
id: "49"
lanes: "0:8"
serdes_group: "6"
speed: "400G"
sysport: "49"
type: "eth"
- fec: "KPFEC"
id: "41"
lanes: "0:8"
serdes_group: "5"
speed: "400G"
sysport: "41"
type: "eth"
- fec: "KPFEC"
id: "33"
lanes: "0:8"
serdes_group: "4"
speed: "400G"
sysport: "33"
type: "eth"
- fec: "KPFEC"
id: "25"
lanes: "0:8"
serdes_group: "3"
speed: "400G"
sysport: "25"
type: "eth"
- fec: "KPFEC"
id: "17"
lanes: "0:8"
serdes_group: "2"
speed: "400G"
sysport: "17"
type: "eth"
- fec: "KPFEC"
id: "9"
lanes: "0:8"
serdes_group: "1"
speed: "400G"
sysport: "9"
type: "eth"
- fec: "KPFEC"
id: "1"
lanes: "0:8"
serdes_group: "0"
speed: "400G"
sysport: "1"
type: "eth"
- fec: "NONE"
id: "257"
lanes: "0:1"
serdes_group: "32"
sysport: "257"
type: "mgmt 0"
- fec: "NONE"
id: "258"
lanes: "1:1"
serdes_group: "32"
sysport: "258"
type: "mgmt 1"
isg:
- id: "0"
tx_polarity: "10100000"
rx_polarity: "11111011"
lane_swap: "37250416"
- id: "1"
tx_polarity: "01010011"
rx_polarity: "00000100"
lane_swap: "52407613"
- id: "2"
tx_polarity: "11010001"
rx_polarity: "01111100"
lane_swap: "06153427"
- id: "3"
tx_polarity: "00100000"
rx_polarity: "10001001"
lane_swap: "74501263"
- id: "4"
tx_polarity: "10100000"
rx_polarity: "11101000"
lane_swap: "05471632"
- id: "5"
tx_polarity: "00010100"
rx_polarity: "00111100"
lane_swap: "72604351"
- id: "6"
tx_polarity: "11011001"
rx_polarity: "00011001"
lane_swap: "16340725"
- id: "7"
tx_polarity: "11010000"
rx_polarity: "11000010"
lane_swap: "70615324"
- id: "8"
tx_polarity: "00111101"
rx_polarity: "11011000"
lane_swap: "25074613"
- id: "9"
tx_polarity: "00001010"
rx_polarity: "01000011"
lane_swap: "32706451"
- id: "10"
tx_polarity: "00100010"
rx_polarity: "01001011"
lane_swap: "07162543"
- id: "11"
tx_polarity: "01101001"
rx_polarity: "11110001"
lane_swap: "41706253"
- id: "12"
tx_polarity: "11001000"
rx_polarity: "11000011"
lane_swap: "07136524"
- id: "13"
tx_polarity: "01100001"
rx_polarity: "10010000"
lane_swap: "73506412"
- id: "14"
tx_polarity: "01010001"
rx_polarity: "10110110"
lane_swap: "26143705"
- id: "15"
tx_polarity: "00001000"
rx_polarity: "11101100"
lane_swap: "51602437"
- id: "16"
tx_polarity: "00010000"
rx_polarity: "11101011"
lane_swap: "45076312"
- id: "17"
tx_polarity: "01011000"
rx_polarity: "00000000"
lane_swap: "50642371"
- id: "18"
tx_polarity: "01010100"
rx_polarity: "00011001"
lane_swap: "07436125"
- id: "19"
tx_polarity: "00011010"
rx_polarity: "01001011"
lane_swap: "61734250"
- id: "20"
tx_polarity: "00111110"
rx_polarity: "10011100"
lane_swap: "04275631"
- id: "21"
tx_polarity: "10110100"
rx_polarity: "01110110"
lane_swap: "41620573"
- id: "22"
tx_polarity: "01100110"
rx_polarity: "10010000"
lane_swap: "17240635"
- id: "23"
tx_polarity: "01010000"
rx_polarity: "11110101"
lane_swap: "52704631"
- id: "24"
tx_polarity: "00010001"
rx_polarity: "10100100"
lane_swap: "16253704"
- id: "25"
tx_polarity: "01000101"
rx_polarity: "00010000"
lane_swap: "53607241"
- id: "26"
tx_polarity: "00110101"
rx_polarity: "11101110"
lane_swap: "16074325"
- id: "27"
tx_polarity: "10000111"
rx_polarity: "01011110"
lane_swap: "75604231"
- id: "28"
tx_polarity: "01010100"
rx_polarity: "01010101"
lane_swap: "70614235"
- id: "29"
tx_polarity: "01010001"
rx_polarity: "01000001"
lane_swap: "24610537"
- id: "30"
tx_polarity: "01101011"
rx_polarity: "01010011"
lane_swap: "70614352"
- id: "31"
tx_polarity: "01101001"
rx_polarity: "10100000"
lane_swap: "34250716"
- id: "32"
tx_polarity: "00000000"
rx_polarity: "00000000"
lane_swap: "01234567"

View File

@ -0,0 +1,60 @@
sku: innovium.77700_A
device_id: 0x1b58
# Hardware constraint information
hardware:
num_ibs: 6
ib_active: 0,1,2,3,4,5
ports_per_ib: 32, 32, 32, 32, 20, 20
recirc_port_num: 32, 32, 32, 32, 32, 32
cpu_port_num: 33
cpu_port_ib: 0
mgmt_port_num: 33
mgmt_port_ibs: 1,2
pics_per_ib: 6, 7, 6, 5, 5, 5
pic_ports_per_pic: 8
max_serdes_speed: 50
num_shared_pics: 2
isg [0-4]:
ib: 0
pic_id: [0-4]
isg [5-9]:
ib: 5
pic_id: [0-4]
isg [10-14]:
ib: 1
pic_id: [0-4]
isg [16-20]:
ib: 3
pic_id: [0-4]
isg [21-25]:
ib: 4
pic_id: [0-4]
isg [26-30]:
ib: 2
pic_id: [0-4]
isg 15:
mode: 8:0
ib: 1
pic_id: 5
isg 31:
mode: 8:0
ib: 0
pic_id: 5
isg 32:
mode: 1:1
ib: 1, 2
pic_id: 6

View File

@ -0,0 +1,60 @@
sku: innovium.77700_B
device_id: 0x1b58
# Hardware constraint information
hardware:
num_ibs: 6
ib_active: 0,1,2,3,4,5
ports_per_ib: 32, 32, 32, 32, 20, 20
recirc_port_num: 32, 32, 32, 32, 32, 32
cpu_port_num: 33
cpu_port_ib: 0
mgmt_port_num: 33
mgmt_port_ibs: 1,2
pics_per_ib: 6, 7, 7, 6, 5, 5
pic_ports_per_pic: 8
max_serdes_speed: 50
num_shared_pics: 2
isg [0-4]:
ib: 0
pic_id: [0-4]
isg [5-9]:
ib: 5
pic_id: [0-4]
isg [10-14]:
ib: 1
pic_id: [0-4]
isg [16-20]:
ib: 3
pic_id: [0-4]
isg [21-25]:
ib: 4
pic_id: [0-4]
isg [26-30]:
ib: 2
pic_id: [0-4]
isg 15:
mode: 4:4
ib: 1, 3
pic_id: 5
isg 31:
mode: 4:4
ib: 0, 2
pic_id: 5
isg 32:
mode: 1:1
ib: 1, 2
pic_id: 6

View File

@ -0,0 +1,10 @@
IFCS_INIT_FILE : "/usr/share/sonic/hwsku/config_32x400G_sse_t7132s.yaml"
IFCS_SKU_FILE : "/usr/share/sonic/hwsku/innovium.77700_A"
IFCS_INNO_CLI_PORT : "9999"
IFCS_TARGET : "device"
ULIMIT : "65536"
INNOVIUM_DIR : "/innovium"
PYTHONPATH : "$INNOVIUM_DIR:$INNOVIUM_DIR/cmds:$INNOVIUM_DIR/scripts:$INNOVIUM_DIR/test/:$INNOVIUM_DIR/test/utils:$INNOVIUM_DIR/utils:$INNOVIUM_DIR/pyctypes:$INNOVIUM_DIR/ifcs_cmds:$INNOVIUM_DIR/testutil:$INNOVIUM_DIR/isai_cmds"
PLATFORM_LIBRARY: "/usr/share/sonic/platform/lib_ivm_serdes_pltfm.so"
IVM_SAI_DATAPATH_CONFIG_FILE: "/usr/share/sonic/hwsku/ivm.sai.datapath.config.yaml"
IVM_SAI_PARAM_A0008: "32"

View File

@ -0,0 +1,9 @@
ISAI_PARAM_P0_0_LS : "4608 4608 4608 4608 2880 2880"
ISAI_PARAM_P0_1_LS : "2226 1946 1946 1890 1218 1218"
ISAI_PARAM_P0_1_ALS : "434 154 154 98 98 98"
ISAI_PARAM_P1_0_LS : "1536 1536 1536 1536 960 960"
ISAI_PARAM_P1_0_LL : "3072 3072 3072 3072 1920 1920"
ISAI_PARAM_P1_1_LS : "1778 1498 1498 1442 938 938"
ISAI_PARAM_P1_1_LL : "2478 2478 2478 2478 2478 2478"
ISAI_PARAM_P1_1_ALS : "434 154 154 98 98 98"
ISAI_PARAM_P1_1_ALL : "126 126 126 126 126 126"

View File

@ -0,0 +1,22 @@
# PG lossless profiles.
# speed cable size xon xoff threshold xon_offset
25000 5m 1518 0 15680 1 9408
50000 5m 1518 0 21248 1 9408
100000 5m 1518 0 34624 1 9408
200000 5m 1518 0 62368 1 9408
400000 5m 1518 0 117536 1 9408
25000 40m 1518 0 16928 1 9408
50000 40m 1518 0 23392 1 9408
100000 40m 1518 0 38816 1 9408
200000 40m 1518 0 71904 1 9408
400000 40m 1518 0 135520 1 9408
25000 100m 1518 0 18848 1 9408
50000 100m 1518 0 27264 1 9408
100000 100m 1518 0 46496 1 9408
200000 100m 1518 0 87168 1 9408
400000 100m 1518 0 166688 1 9408
25000 300m 1518 0 25184 1 9408
50000 300m 1518 0 40128 1 9408
100000 300m 1518 0 72384 1 9408
200000 300m 1518 0 138112 1 9408
400000 300m 1518 0 268640 1 9408

View File

@ -0,0 +1,35 @@
# name lanes alias speed index mtu fec
Ethernet0 241,242,243,244,245,246,247,248 Eth1 400000 1 9126 rs
Ethernet8 249,250,251,252,253,254,255,256 Eth2 400000 2 9126 rs
Ethernet16 225,226,227,228,229,230,231,232 Eth3 400000 3 9126 rs
Ethernet24 233,234,235,236,237,238,239,240 Eth4 400000 4 9126 rs
Ethernet32 217,218,219,220,221,222,223,224 Eth5 400000 5 9126 rs
Ethernet40 209,210,211,212,213,214,215,216 Eth6 400000 6 9126 rs
Ethernet48 201,202,203,204,205,206,207,208 Eth7 400000 7 9126 rs
Ethernet56 193,194,195,196,197,198,199,200 Eth8 400000 8 9126 rs
Ethernet64 185,186,187,188,189,190,191,192 Eth9 400000 9 9126 rs
Ethernet72 177,178,179,180,181,182,183,184 Eth10 400000 10 9126 rs
Ethernet80 169,170,171,172,173,174,175,176 Eth11 400000 11 9126 rs
Ethernet88 161,162,163,164,165,166,167,168 Eth12 400000 12 9126 rs
Ethernet96 153,154,155,156,157,158,159,160 Eth13 400000 13 9126 rs
Ethernet104 145,146,147,148,149,150,151,152 Eth14 400000 14 9126 rs
Ethernet112 137,138,139,140,141,142,143,144 Eth15 400000 15 9126 rs
Ethernet120 129,130,131,132,133,134,135,136 Eth16 400000 16 9126 rs
Ethernet128 121,122,123,124,125,126,127,128 Eth17 400000 17 9126 rs
Ethernet136 113,114,115,116,117,118,119,120 Eth18 400000 18 9126 rs
Ethernet144 105,106,107,108,109,110,111,112 Eth19 400000 19 9126 rs
Ethernet152 97,98,99,100,101,102,103,104 Eth20 400000 20 9126 rs
Ethernet160 89,90,91,92,93,94,95,96 Eth21 400000 21 9126 rs
Ethernet168 81,82,83,84,85,86,87,88 Eth22 400000 22 9126 rs
Ethernet176 73,74,75,76,77,78,79,80 Eth23 400000 23 9126 rs
Ethernet184 65,66,67,68,69,70,71,72 Eth24 400000 24 9126 rs
Ethernet192 57,58,59,60,61,62,63,64 Eth25 400000 25 9126 rs
Ethernet200 49,50,51,52,53,54,55,56 Eth26 400000 26 9126 rs
Ethernet208 41,42,43,44,45,46,47,48 Eth27 400000 27 9126 rs
Ethernet216 33,34,35,36,37,38,39,40 Eth28 400000 28 9126 rs
Ethernet224 25,26,27,28,29,30,31,32 Eth29 400000 29 9126 rs
Ethernet232 17,18,19,20,21,22,23,24 Eth30 400000 30 9126 rs
Ethernet240 9,10,11,12,13,14,15,16 Eth31 400000 31 9126 rs
Ethernet248 1,2,3,4,5,6,7,8 Eth32 400000 32 9126 rs
Ethernet256 257 Eth33 10000 33 9126 none
Ethernet257 258 Eth34 10000 34 9126 none

View File

@ -0,0 +1,195 @@
{% set mgmt_port_name = ['Ethernet256','Ethernet257'] %}
{% set port_names_list = [] %}
{% for port in PORT %}
{% if port not in mgmt_port_name %}
{%- if port_names_list.append(port) %}{% endif %}
{% endif %}
{% endfor %}
{% set port_names = port_names_list | join(',') -%}
{
"TC_TO_QUEUE_MAP":{
"AZURE":{
"0":"0",
"1":"1",
"2":"2",
"3":"3",
"4":"4",
"5":"5",
"6":"6",
"7":"7"
}
},
"MAP_PFC_PRIORITY_TO_QUEUE": {
"AZURE": {
"0": "0",
"1": "1",
"2": "2",
"3": "3",
"4": "4",
"5": "5",
"6": "6",
"7": "7"
}
},
"TC_TO_PRIORITY_GROUP_MAP": {
"AZURE": {
"0": "0",
"1": "0",
"2": "0",
"3": "3",
"4": "4",
"5": "0",
"6": "0",
"7": "0"
}
},
"DSCP_TO_TC_MAP": {
"AZURE": {
"0" : "1",
"1" : "1",
"2" : "1",
"3" : "3",
"4" : "4",
"5" : "2",
"6" : "1",
"7" : "1",
"8" : "0",
"9" : "1",
"10": "1",
"11": "1",
"12": "1",
"13": "1",
"14": "1",
"15": "1",
"16": "1",
"17": "1",
"18": "1",
"19": "1",
"20": "1",
"21": "1",
"22": "1",
"23": "1",
"24": "1",
"25": "1",
"26": "1",
"27": "1",
"28": "1",
"29": "1",
"30": "1",
"31": "1",
"32": "1",
"33": "1",
"34": "1",
"35": "1",
"36": "1",
"37": "1",
"38": "1",
"39": "1",
"40": "1",
"41": "1",
"42": "1",
"43": "1",
"44": "1",
"45": "1",
"46": "5",
"47": "1",
"48": "6",
"49": "1",
"50": "1",
"51": "1",
"52": "1",
"53": "1",
"54": "1",
"55": "1",
"56": "1",
"57": "1",
"58": "1",
"59": "1",
"60": "1",
"61": "1",
"62": "1",
"63": "1"
}
},
"SCHEDULER": {
"scheduler.0": {
"type" : "DWRR",
"weight": "1"
},
"scheduler.1": {
"type" : "DWRR",
"weight": "1"
}
},
"QUEUE": {
{% for port in port_names_list %}
"{{ port }}|3": {
"scheduler" : "scheduler.1",
"wred_profile" : "AZURE_LOSSLESS"
},
{% endfor %}
{% for port in port_names_list %}
"{{ port }}|4": {
"scheduler" : "scheduler.1",
"wred_profile" : "AZURE_LOSSLESS"
},
{% endfor %}
{% for port in port_names_list %}
"{{ port }}|0": {
"scheduler": "scheduler.0"
},
{% endfor %}
{% for port in port_names_list %}
"{{ port }}|1": {
"scheduler": "scheduler.0"
},
{% endfor %}
{% for port in port_names_list %}
"{{ port }}|2": {
"scheduler": "scheduler.0"
},
{% endfor %}
{% for port in port_names_list %}
"{{ port }}|5": {
"scheduler": "scheduler.0"
},
{% endfor %}
{% for port in port_names_list %}
"{{ port }}|6": {
"scheduler": "scheduler.0"
}{% if not loop.last %},{% endif %}
{% endfor %}
},
"PORT_QOS_MAP": {
{% for port in port_names_list %}
"{{ port }}": {
"tc_to_pg_map": "AZURE",
"tc_to_queue_map": "AZURE",
"dscp_to_tc_map": "AZURE",
"pfc_to_queue_map": "AZURE",
"pfc_enable": "3,4"
}{% if not loop.last %},{% endif %}
{% endfor %}
},
"WRED_PROFILE": {
"AZURE_LOSSLESS" : {
"wred_green_enable" : "true",
"wred_yellow_enable" : "true",
"wred_red_enable" : "true",
"ecn" : "ecn_all",
"green_max_threshold" : "2097152",
"green_min_threshold" : "1048576",
"yellow_max_threshold" : "2097152",
"yellow_min_threshold" : "1048576",
"red_max_threshold" : "2097152",
"red_min_threshold" : "1048576",
"green_drop_probability" : "5",
"yellow_drop_probability": "5",
"red_drop_probability" : "5"
}
}
}

View File

@ -0,0 +1,124 @@
{% set mgmt_port_name = ['Ethernet256','Ethernet257'] %}
{% set port_names_list = [] %}
{% for port in PORT %}
{% if port not in mgmt_port_name %}
{%- if port_names_list.append(port) %}{% endif %}
{% endif %}
{% endfor %}
{% set port_names = port_names_list | join(',') -%}
{
"TC_TO_QUEUE_MAP":{
"AZURE":{
"0":"0",
"1":"1",
"2":"2",
"3":"3",
"4":"4",
"5":"5",
"6":"6",
"7":"7"
}
},
"TC_TO_PRIORITY_GROUP_MAP": {
"AZURE": {
"0": "0",
"1": "0",
"2": "0",
"3": "1",
"4": "2",
"5": "0",
"6": "0",
"7": "0"
}
},
"DSCP_TO_TC_MAP": {
"AZURE": {
"0":"0",
"1":"0",
"2":"0",
"3":"0",
"4":"0",
"5":"0",
"6":"0",
"7":"0",
"8":"0",
"9":"0",
"10":"0",
"11":"0",
"12":"0",
"13":"0",
"14":"0",
"15":"0",
"16":"0",
"17":"0",
"18":"0",
"19":"0",
"20":"0",
"21":"0",
"22":"0",
"23":"0",
"24":"0",
"25":"0",
"26":"0",
"27":"0",
"28":"0",
"29":"0",
"30":"0",
"31":"0",
"32":"0",
"33":"0",
"34":"0",
"35":"0",
"36":"0",
"37":"0",
"38":"0",
"39":"0",
"40":"0",
"41":"0",
"42":"0",
"43":"0",
"44":"0",
"45":"0",
"46":"0",
"47":"0",
"48":"0",
"49":"0",
"50":"0",
"51":"0",
"52":"0",
"53":"0",
"54":"0",
"55":"0",
"56":"0",
"57":"0",
"58":"0",
"59":"0",
"60":"0",
"61":"0",
"62":"0",
"63":"0"
}
},
"PORT_QOS_MAP": {
{% for port in port_names_list %}
"{{ port }}": {
"tc_to_pg_map": "AZURE",
"tc_to_queue_map": "AZURE",
"dscp_to_tc_map": "AZURE"
}{% if not loop.last %},{% endif %}
{% endfor %}
},
"SCHEDULER": {
"scheduler.7": {
"type": "STRICT"
}
},
"QUEUE": {
"{{ port_names }}|7": {
"scheduler": "[SCHEDULER|scheduler.7]"
}
}
}

View File

@ -0,0 +1,195 @@
{% set mgmt_port_name = ['Ethernet256','Ethernet257'] %}
{% set port_names_list = [] %}
{% for port in PORT %}
{% if port not in mgmt_port_name %}
{%- if port_names_list.append(port) %}{% endif %}
{% endif %}
{% endfor %}
{% set port_names = port_names_list | join(',') -%}
{
"TC_TO_QUEUE_MAP":{
"AZURE":{
"0":"0",
"1":"1",
"2":"2",
"3":"3",
"4":"4",
"5":"5",
"6":"6",
"7":"7"
}
},
"MAP_PFC_PRIORITY_TO_QUEUE": {
"AZURE": {
"0": "0",
"1": "1",
"2": "2",
"3": "3",
"4": "4",
"5": "5",
"6": "6",
"7": "7"
}
},
"TC_TO_PRIORITY_GROUP_MAP": {
"AZURE": {
"0": "0",
"1": "0",
"2": "0",
"3": "3",
"4": "4",
"5": "0",
"6": "0",
"7": "0"
}
},
"DSCP_TO_TC_MAP": {
"AZURE": {
"0" : "1",
"1" : "1",
"2" : "1",
"3" : "3",
"4" : "4",
"5" : "2",
"6" : "1",
"7" : "1",
"8" : "0",
"9" : "1",
"10": "1",
"11": "1",
"12": "1",
"13": "1",
"14": "1",
"15": "1",
"16": "1",
"17": "1",
"18": "1",
"19": "1",
"20": "1",
"21": "1",
"22": "1",
"23": "1",
"24": "1",
"25": "1",
"26": "1",
"27": "1",
"28": "1",
"29": "1",
"30": "1",
"31": "1",
"32": "1",
"33": "1",
"34": "1",
"35": "1",
"36": "1",
"37": "1",
"38": "1",
"39": "1",
"40": "1",
"41": "1",
"42": "1",
"43": "1",
"44": "1",
"45": "1",
"46": "5",
"47": "1",
"48": "6",
"49": "1",
"50": "1",
"51": "1",
"52": "1",
"53": "1",
"54": "1",
"55": "1",
"56": "1",
"57": "1",
"58": "1",
"59": "1",
"60": "1",
"61": "1",
"62": "1",
"63": "1"
}
},
"SCHEDULER": {
"scheduler.0": {
"type" : "DWRR",
"weight": "1"
},
"scheduler.1": {
"type" : "DWRR",
"weight": "1"
}
},
"QUEUE": {
{% for port in port_names_list %}
"{{ port }}|3": {
"scheduler" : "scheduler.1",
"wred_profile" : "AZURE_LOSSLESS"
},
{% endfor %}
{% for port in port_names_list %}
"{{ port }}|4": {
"scheduler" : "scheduler.1",
"wred_profile" : "AZURE_LOSSLESS"
},
{% endfor %}
{% for port in port_names_list %}
"{{ port }}|0": {
"scheduler": "scheduler.0"
},
{% endfor %}
{% for port in port_names_list %}
"{{ port }}|1": {
"scheduler": "scheduler.0"
},
{% endfor %}
{% for port in port_names_list %}
"{{ port }}|2": {
"scheduler": "scheduler.0"
},
{% endfor %}
{% for port in port_names_list %}
"{{ port }}|5": {
"scheduler": "scheduler.0"
},
{% endfor %}
{% for port in port_names_list %}
"{{ port }}|6": {
"scheduler": "scheduler.0"
}{% if not loop.last %},{% endif %}
{% endfor %}
},
"PORT_QOS_MAP": {
{% for port in port_names_list %}
"{{ port }}": {
"tc_to_pg_map": "AZURE",
"tc_to_queue_map": "AZURE",
"dscp_to_tc_map": "AZURE",
"pfc_to_queue_map": "AZURE",
"pfc_enable": "3,4"
}{% if not loop.last %},{% endif %}
{% endfor %}
},
"WRED_PROFILE": {
"AZURE_LOSSLESS" : {
"wred_green_enable" : "true",
"wred_yellow_enable" : "true",
"wred_red_enable" : "true",
"ecn" : "ecn_all",
"green_max_threshold" : "2097152",
"green_min_threshold" : "1048576",
"yellow_max_threshold" : "2097152",
"yellow_min_threshold" : "1048576",
"red_max_threshold" : "2097152",
"red_min_threshold" : "1048576",
"green_drop_probability" : "5",
"yellow_drop_probability": "5",
"red_drop_probability" : "5"
}
}
}

View File

@ -0,0 +1 @@
SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/ivm.sai.config.yaml

View File

@ -0,0 +1 @@
Supermicro_sse_t7132s t1

View File

@ -0,0 +1,2 @@
#!/bin/bash
/usr/local/bin/sysledctl.py reboot

View File

@ -0,0 +1,4 @@
CONSOLE_PORT=0x3f8
CONSOLE_DEV=0
CONSOLE_SPEED=115200
ONIE_PLATFORM_EXTRA_CMDLINE_LINUX="intel_iommu=off pcie_aspm=off usbcore.old_scheme_first=1"

View File

@ -0,0 +1,453 @@
- bus: '00'
dev: '00'
fn: '0'
id: 6f00
name: 'Host bridge: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D DMI2
(rev 03)'
- bus: '00'
dev: '01'
fn: '0'
id: 6f02
name: 'PCI bridge: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D PCI
Express Root Port 1 (rev 03)'
- bus: '00'
dev: '01'
fn: '1'
id: 6f03
name: 'PCI bridge: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D PCI
Express Root Port 1 (rev 03)'
- bus: '00'
dev: '02'
fn: '0'
id: 6f04
name: 'PCI bridge: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D PCI
Express Root Port 2 (rev 03)'
- bus: '00'
dev: '02'
fn: '2'
id: 6f06
name: 'PCI bridge: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D PCI
Express Root Port 2 (rev 03)'
- bus: '00'
dev: '03'
fn: '0'
id: 6f08
name: 'PCI bridge: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D PCI
Express Root Port 3 (rev 03)'
- bus: '00'
dev: '03'
fn: '3'
id: 6f0b
name: 'PCI bridge: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D PCI
Express Root Port 3 (rev 03)'
- bus: '00'
dev: '05'
fn: '0'
id: 6f28
name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
D Map/VTd_Misc/System Management (rev 03)'
- bus: '00'
dev: '05'
fn: '1'
id: 6f29
name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
D IIO Hot Plug (rev 03)'
- bus: '00'
dev: '05'
fn: '2'
id: 6f2a
name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
D IIO RAS/Control Status/Global Errors (rev 03)'
- bus: '00'
dev: '14'
fn: '0'
id: 8c31
name: 'USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB
xHCI (rev 05)'
- bus: '00'
dev: '16'
fn: '0'
id: 8c3a
name: 'Communication controller: Intel Corporation 8 Series/C220 Series Chipset
Family MEI Controller #1 (rev 04)'
- bus: '00'
dev: '16'
fn: '1'
id: 8c3b
name: 'Communication controller: Intel Corporation 8 Series/C220 Series Chipset
Family MEI Controller #2 (rev 04)'
- bus: '00'
dev: 1a
fn: '0'
id: 8c2d
name: 'USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB
EHCI #2 (rev 05)'
- bus: '00'
dev: 1c
fn: '0'
id: 8c10
name: 'PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express
Root Port #1 (rev d5)'
- bus: '00'
dev: 1c
fn: '3'
id: 8c16
name: 'PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express
Root Port #4 (rev d5)'
- bus: '00'
dev: 1d
fn: '0'
id: 8c26
name: 'USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB
EHCI #1 (rev 05)'
- bus: '00'
dev: 1f
fn: '0'
id: 8c54
name: 'ISA bridge: Intel Corporation C224 Series Chipset Family Server Standard
SKU LPC Controller (rev 05)'
- bus: '00'
dev: 1f
fn: '2'
id: 8c02
name: 'SATA controller: Intel Corporation 8 Series/C220 Series Chipset Family 6-port
SATA Controller 1 [AHCI mode] (rev 05)'
- bus: '00'
dev: 1f
fn: '3'
id: 8c22
name: 'SMBus: Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller
(rev 05)'
- bus: '00'
dev: 1f
fn: '6'
id: 8c24
name: 'Signal processing controller: Intel Corporation 8 Series Chipset Family Thermal
Management Controller (rev 05)'
- bus: '03'
dev: '00'
fn: '0'
id: 6f50
name: 'System peripheral: Intel Corporation Xeon Processor D Family QuickData Technology
Register DMA Channel 0'
- bus: '03'
dev: '00'
fn: '1'
id: 6f51
name: 'System peripheral: Intel Corporation Xeon Processor D Family QuickData Technology
Register DMA Channel 1'
- bus: '03'
dev: '00'
fn: '2'
id: 6f52
name: 'System peripheral: Intel Corporation Xeon Processor D Family QuickData Technology
Register DMA Channel 2'
- bus: '03'
dev: '00'
fn: '3'
id: 6f53
name: 'System peripheral: Intel Corporation Xeon Processor D Family QuickData Technology
Register DMA Channel 3'
- bus: '05'
dev: '00'
fn: '0'
id: 1b58
name: 'Ethernet controller: Device 1d98:1b58 (rev 10)'
- bus: '06'
dev: '00'
fn: '0'
id: '9110'
name: 'Bridge: Asix Electronics Corporation Device 9110'
- bus: '07'
dev: '00'
fn: '0'
id: '1533'
name: 'Ethernet controller: Intel Corporation I210 Gigabit Network Connection (rev
03)'
- bus: 08
dev: '00'
fn: '0'
id: '1150'
name: 'PCI bridge: ASPEED Technology, Inc. AST1150 PCI-to-PCI Bridge (rev 06)'
- bus: 09
dev: '00'
fn: '0'
id: '2000'
name: 'VGA compatible controller: ASPEED Technology, Inc. ASPEED Graphics Family
(rev 52)'
- bus: ff
dev: 0b
fn: '0'
id: 6f81
name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
D R3 QPI Link 0/1 (rev 03)'
- bus: ff
dev: 0b
fn: '1'
id: 6f36
name: 'Performance counters: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
D R3 QPI Link 0/1 (rev 03)'
- bus: ff
dev: 0b
fn: '2'
id: 6f37
name: 'Performance counters: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
D R3 QPI Link 0/1 (rev 03)'
- bus: ff
dev: 0b
fn: '3'
id: 6f76
name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
D R3 QPI Link Debug (rev 03)'
- bus: ff
dev: 0c
fn: '0'
id: 6fe0
name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
D Caching Agent (rev 03)'
- bus: ff
dev: 0c
fn: '1'
id: 6fe1
name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
D Caching Agent (rev 03)'
- bus: ff
dev: 0c
fn: '2'
id: 6fe2
name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
D Caching Agent (rev 03)'
- bus: ff
dev: 0c
fn: '3'
id: 6fe3
name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
D Caching Agent (rev 03)'
- bus: ff
dev: 0f
fn: '0'
id: 6ff8
name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
D Caching Agent (rev 03)'
- bus: ff
dev: 0f
fn: '4'
id: 6ffc
name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
D Caching Agent (rev 03)'
- bus: ff
dev: 0f
fn: '5'
id: 6ffd
name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
D Caching Agent (rev 03)'
- bus: ff
dev: 0f
fn: '6'
id: 6ffe
name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
D Caching Agent (rev 03)'
- bus: ff
dev: '10'
fn: '0'
id: 6f1d
name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
D R2PCIe Agent (rev 03)'
- bus: ff
dev: '10'
fn: '1'
id: 6f34
name: 'Performance counters: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
D R2PCIe Agent (rev 03)'
- bus: ff
dev: '10'
fn: '5'
id: 6f1e
name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
D Ubox (rev 03)'
- bus: ff
dev: '10'
fn: '6'
id: 6f7d
name: 'Performance counters: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
D Ubox (rev 03)'
- bus: ff
dev: '10'
fn: '7'
id: 6f1f
name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
D Ubox (rev 03)'
- bus: ff
dev: '12'
fn: '0'
id: 6fa0
name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
D Home Agent 0 (rev 03)'
- bus: ff
dev: '12'
fn: '1'
id: 6f30
name: 'Performance counters: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
D Home Agent 0 (rev 03)'
- bus: ff
dev: '13'
fn: '0'
id: 6fa8
name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
D Memory Controller 0 - Target Address/Thermal/RAS (rev 03)'
- bus: ff
dev: '13'
fn: '1'
id: 6f71
name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
D Memory Controller 0 - Target Address/Thermal/RAS (rev 03)'
- bus: ff
dev: '13'
fn: '2'
id: 6faa
name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
D Memory Controller 0 - Channel Target Address Decoder (rev 03)'
- bus: ff
dev: '13'
fn: '3'
id: 6fab
name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
D Memory Controller 0 - Channel Target Address Decoder (rev 03)'
- bus: ff
dev: '13'
fn: '4'
id: 6fac
name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
D Memory Controller 0 - Channel Target Address Decoder (rev 03)'
- bus: ff
dev: '13'
fn: '5'
id: 6fad
name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
D Memory Controller 0 - Channel Target Address Decoder (rev 03)'
- bus: ff
dev: '13'
fn: '6'
id: 6fae
name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
D DDRIO Channel 0/1 Broadcast (rev 03)'
- bus: ff
dev: '13'
fn: '7'
id: 6faf
name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
D DDRIO Global Broadcast (rev 03)'
- bus: ff
dev: '14'
fn: '0'
id: 6fb0
name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
D Memory Controller 0 - Channel 0 Thermal Control (rev 03)'
- bus: ff
dev: '14'
fn: '1'
id: 6fb1
name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
D Memory Controller 0 - Channel 1 Thermal Control (rev 03)'
- bus: ff
dev: '14'
fn: '2'
id: 6fb2
name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
D Memory Controller 0 - Channel 0 Error (rev 03)'
- bus: ff
dev: '14'
fn: '3'
id: 6fb3
name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
D Memory Controller 0 - Channel 1 Error (rev 03)'
- bus: ff
dev: '14'
fn: '4'
id: 6fbc
name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
D DDRIO Channel 0/1 Interface (rev 03)'
- bus: ff
dev: '14'
fn: '5'
id: 6fbd
name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
D DDRIO Channel 0/1 Interface (rev 03)'
- bus: ff
dev: '14'
fn: '6'
id: 6fbe
name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
D DDRIO Channel 0/1 Interface (rev 03)'
- bus: ff
dev: '14'
fn: '7'
id: 6fbf
name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
D DDRIO Channel 0/1 Interface (rev 03)'
- bus: ff
dev: '15'
fn: '0'
id: 6fb4
name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
D Memory Controller 0 - Channel 2 Thermal Control (rev 03)'
- bus: ff
dev: '15'
fn: '1'
id: 6fb5
name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
D Memory Controller 0 - Channel 3 Thermal Control (rev 03)'
- bus: ff
dev: '15'
fn: '2'
id: 6fb6
name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
D Memory Controller 0 - Channel 2 Error (rev 03)'
- bus: ff
dev: '15'
fn: '3'
id: 6fb7
name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
D Memory Controller 0 - Channel 3 Error (rev 03)'
- bus: ff
dev: 1e
fn: '0'
id: 6f98
name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
D Power Control Unit (rev 03)'
- bus: ff
dev: 1e
fn: '1'
id: 6f99
name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
D Power Control Unit (rev 03)'
- bus: ff
dev: 1e
fn: '2'
id: 6f9a
name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
D Power Control Unit (rev 03)'
- bus: ff
dev: 1e
fn: '3'
id: 6fc0
name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
D Power Control Unit (rev 03)'
- bus: ff
dev: 1e
fn: '4'
id: 6f9c
name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
D Power Control Unit (rev 03)'
- bus: ff
dev: 1f
fn: '0'
id: 6f88
name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
D Power Control Unit (rev 03)'
- bus: ff
dev: 1f
fn: '2'
id: 6f8a
name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
D Power Control Unit (rev 03)'

View File

@ -0,0 +1,238 @@
{
"chassis": {
"name": "Supermicro-SSE-T7132S-R0",
"components": [
{
"name": "CPLD1"
},
{
"name": "CPLD2"
}
],
"fans": [
{
"name": "FAN-1"
},
{
"name": "FAN-2"
},
{
"name": "FAN-3"
},
{
"name": "FAN-4"
},
{
"name": "FAN-5"
},
{
"name": "FAN-6"
}
],
"fan_drawers": [
{
"name": "Drawer1",
"fans": [
{
"name": "FAN-1"
}
]
},
{
"name": "Drawer2",
"fans": [
{
"name": "FAN-2"
}
]
},
{
"name": "Drawer3",
"fans": [
{
"name": "FAN-3"
}
]
},
{
"name": "Drawer4",
"fans": [
{
"name": "FAN-4"
}
]
},
{
"name": "Drawer5",
"fans": [
{
"name": "FAN-5"
}
]
},
{
"name": "Drawer6",
"fans": [
{
"name": "FAN-6"
}
]
}
],
"psus": [
{
"name": "PSU 1",
"fans": [
{
"name": "PSU 1 FAN-1",
"speed": {
"controllable": false
},
"status_led": {
"controllable": false
}
}
]
},
{
"name": "PSU 2",
"fans": [
{
"name": "PSU 2 FAN-1",
"speed": {
"controllable": false
},
"status_led": {
"controllable": false
}
}
]
}
],
"thermals": [
{
"name": "CPU Temp"
},
{
"name": "PCH Temp"
},
{
"name": "Peripheral Temp"
},
{
"name": "Switch Buttom-1"
},
{
"name": "Switch Buttom-2"
},
{
"name": "Switch Top-1"
},
{
"name": "Switch Top-2"
},
{
"name": "System Temp"
}
],
"sfps": [
{
"name": "Ethernet0"
},
{
"name": "Ethernet8"
},
{
"name": "Ethernet16"
},
{
"name": "Ethernet24"
},
{
"name": "Ethernet32"
},
{
"name": "Ethernet40"
},
{
"name": "Ethernet48"
},
{
"name": "Ethernet56"
},
{
"name": "Ethernet64"
},
{
"name": "Ethernet72"
},
{
"name": "Ethernet80"
},
{
"name": "Ethernet88"
},
{
"name": "Ethernet96"
},
{
"name": "Ethernet104"
},
{
"name": "Ethernet112"
},
{
"name": "Ethernet120"
},
{
"name": "Ethernet128"
},
{
"name": "Ethernet136"
},
{
"name": "Ethernet144"
},
{
"name": "Ethernet152"
},
{
"name": "Ethernet160"
},
{
"name": "Ethernet168"
},
{
"name": "Ethernet176"
},
{
"name": "Ethernet184"
},
{
"name": "Ethernet192"
},
{
"name": "Ethernet200"
},
{
"name": "Ethernet208"
},
{
"name": "Ethernet216"
},
{
"name": "Ethernet224"
},
{
"name": "Ethernet232"
},
{
"name": "Ethernet240"
},
{
"name": "Ethernet248"
}
]
},
"interfaces": {}
}

View File

@ -0,0 +1 @@
innovium

View File

@ -0,0 +1,20 @@
#############################################################################
# Celestica Silverstone
#
# Platform and model specific eeprom subclass, inherits from the base class,
# and provides the followings:
# - the eeprom format definition
# - specific encoder/decoder if there is special need
#############################################################################
try:
from sonic_eeprom import eeprom_tlvinfo
except ImportError as e:
raise ImportError(str(e) + "- required module not found")
class board(eeprom_tlvinfo.TlvInfoDecoder):
def __init__(self, name, path, cpld_root, ro):
self.eeprom_path = "/sys/class/i2c-adapter/i2c-0/0-0053/eeprom"
super(board, self).__init__(self.eeprom_path, 0, '', True)

View File

@ -0,0 +1,84 @@
import os.path
import subprocess
import sys
import re
IPMI_PSU1_DATA = "docker exec -it pmon ipmitool sdr list | grep PS1 | awk -F \"|\" '{print $2}'"
IPMI_PSU2_DATA = "docker exec -it pmon ipmitool sdr list | grep PS2 | awk -F \"|\" '{print $2}'"
try:
from sonic_psu.psu_base import PsuBase
except ImportError as e:
raise ImportError(str(e) + "- required module not found")
class PsuUtil(PsuBase):
"""Platform-specific PSUutil class"""
def __init__(self):
PsuBase.__init__(self)
def run_command(self, command):
proc = subprocess.Popen(command, shell=True, universal_newlines=True, stdout=subprocess.PIPE)
(out, err) = proc.communicate()
if proc.returncode != 0:
sys.exit(proc.returncode)
return out
def get_num_psus(self):
"""
Retrieves the number of PSUs available on the device
:return: An integer, the number of PSUs available on the device
"""
return 2
def get_psu_status(self, index):
"""
Retrieves the oprational status of power supply unit (PSU) defined
by 1-based index <index>
:param index: An integer, 1-based index of the PSU of which to query status
:return: Boolean, True if PSU is operating properly, False if PSU is faulty
"""
if index is None:
return False
if index == 1:
res_string = self.run_command(IPMI_PSU1_DATA)
else:
res_string = self.run_command(IPMI_PSU2_DATA)
try:
ret_value = int(res_string, 0)
except ValueError as e:
return False
if ret_value == 0x1:
return True
else:
return False
def get_psu_presence(self, index):
"""
Retrieves the presence status of power supply unit (PSU) defined
by 1-based index <index>
:param index: An integer, 1-based index of the PSU of which to query status
:return: Boolean, True if PSU is plugged, False if not
"""
if index is None:
return False
if index == 1:
res_string = self.run_command(IPMI_PSU1_DATA)
else:
res_string = self.run_command(IPMI_PSU2_DATA)
try:
ret_value = int(res_string, 0)
except ValueError as e:
return False
if ret_value == 0x1 or ret_value == 0xb:
return True
else:
return False

View File

@ -0,0 +1,211 @@
# Platform-specific SFP transceiver interface for SONiC
# This plugin supports QSFP and SFP.
try:
import time
from sonic_sfp.sfputilbase import SfpUtilBase
except ImportError as e:
raise ImportError("%s - required module not found" % str(e))
class SfpUtil(SfpUtilBase):
"""Platform-specific SfpUtil class"""
PORT_START = 0
PORT_END = 34
QSFP_PORT_START = 0
QSFP_PORT_END = 32
SFP_PORT_START = 33
SFP_PORT_END = 34
EEPROM_OFFSET = 11
PORT_INFO_PATH = '/sys/class/t7132s_cpld'
_port_name = ""
_port_to_eeprom_mapping = {}
_port_to_i2cbus_mapping = {}
_port_to_offset = [11, 30, 12, 29, 13, 28, 14, 27, 15, 34,
16, 33, 17, 32, 18, 31, 19, 38, 20, 37,
21, 36, 22, 35, 23, 42, 24, 41, 25, 40,
26, 39,
43, 44]
_global_port_pres_dict = {}
@property
def port_start(self):
return self.PORT_START
@property
def port_end(self):
return self.PORT_END
@property
def qsfp_ports(self):
return []
@property
def qsfp_ports(self):
return list(range(self.QSFP_PORT_START, self.QSFP_PORT_END))
@property
def port_to_eeprom_mapping(self):
return self._port_to_eeprom_mapping
@property
def port_to_i2cbus_mapping(self):
return self._port_to_i2cbus_mapping
def get_port_name(self, port_num):
if port_num in self.qsfp_ports:
self._port_name = "QSFP" + str(port_num + 1)
else:
self._port_name = "SFP" + str(port_num - self.QSFP_PORT_END + 1)
return self._port_name
def get_eeprom_dom_raw(self, port_num):
if port_num in self.qsfp_ports:
# QSFP DOM EEPROM is also at addr 0x50 and thus also stored in eeprom_ifraw
return None
else:
# Read dom eeprom at addr 0x51
return self._read_eeprom_devid(port_num, self.DOM_EEPROM_ADDR, 256)
def __init__(self):
# Override port_to_eeprom_mapping for class initialization
eeprom_path = '/sys/bus/i2c/devices/i2c-{0}/{0}-0050/eeprom'
for x in range(self.PORT_START, self.PORT_END):
self.port_to_i2cbus_mapping[x] = (x + self.EEPROM_OFFSET)
self.port_to_eeprom_mapping[x] = eeprom_path.format(
self._port_to_offset[x])
self.init_global_port_presence()
SfpUtilBase.__init__(self)
def init_global_port_presence(self):
for port_num in range(self.port_start, (self.port_end)):
presence = self.get_presence(port_num)
if(presence):
self._global_port_pres_dict[port_num] = '1'
else:
self._global_port_pres_dict[port_num] = '0'
def get_presence(self, port_num):
# Check for invalid port_num
if port_num not in list(range(self.port_start, self.port_end + 1)):
return False
# Get path for access port presence status
port_name = self.get_port_name(port_num)
sysfs_filename = "qsfp_modprs" if port_num in self.qsfp_ports else "sfp_modabs"
reg_path = "/".join([self.PORT_INFO_PATH, port_name, sysfs_filename])
# Read status
try:
reg_file = open(reg_path)
content = reg_file.readline().rstrip()
reg_value = int(content)
except IOError as e:
print("Error: unable to open file: %s" % str(e))
return False
# Module present is active low
if reg_value == 0:
return True
return False
def get_low_power_mode(self, port_num):
# Check for invalid QSFP port_num
if port_num not in self.qsfp_ports:
return False
try:
port_name = self.get_port_name(port_num)
reg_file = open("/".join([self.PORT_INFO_PATH,
port_name, "qsfp_lpmode"]))
except IOError as e:
print("Error: unable to open file: %s" % str(e))
return False
# Read status
content = reg_file.readline().rstrip()
reg_value = int(content)
# low power mode is active high
if reg_value == 0:
return False
return True
def set_low_power_mode(self, port_num, lpmode):
# Check for invalid QSFP port_num
if port_num not in self.qsfp_ports:
return False
try:
port_name = self.get_port_name(port_num)
reg_file = open("/".join([self.PORT_INFO_PATH,
port_name, "qsfp_lpmode"]), "r+")
except IOError as e:
print("Error: unable to open file: %s" % str(e))
return False
content = hex(lpmode)
reg_file.seek(0)
reg_file.write(content)
reg_file.close()
return True
def reset(self, port_num):
# Check for invalid QSFP port_num
if port_num not in self.qsfp_ports:
return False
try:
port_name = self.get_port_name(port_num)
reg_file = open("/".join([self.PORT_INFO_PATH,
port_name, "qsfp_reset"]), "w")
except IOError as e:
print("Error: unable to open file: %s" % str(e))
return False
# Convert our register value back to a hex string and write back
reg_file.seek(0)
reg_file.write(hex(0))
reg_file.close()
# Sleep 1 second to allow it to settle
time.sleep(1)
# Flip the bit back high and write back to the register to take port out of reset
try:
reg_file = open(
"/".join([self.PORT_INFO_PATH, port_name, "qsfp_reset"]), "w")
except IOError as e:
print("Error: unable to open file: %s" % str(e))
return False
reg_file.seek(0)
reg_file.write(hex(1))
reg_file.close()
return True
def get_transceiver_change_event(self):
port_dict = {}
while True:
for port_num in range(self.port_start, (self.port_end + 1)):
presence = self.get_presence(port_num)
if(presence and self._global_port_pres_dict[port_num] == '0'):
self._global_port_pres_dict[port_num] = '1'
port_dict[port_num] = '1'
elif(not presence and
self._global_port_pres_dict[port_num] == '1'):
self._global_port_pres_dict[port_num] = '0'
port_dict[port_num] = '0'
if(len(port_dict) > 0):
return True, port_dict
time.sleep(0.5)

View File

@ -0,0 +1,8 @@
from sonic_platform_base.sonic_ssd.ssd_generic import SsdUtil as SsdUtilGeneric
class SsdUtil(SsdUtilGeneric):
def parse_innodisk_info(self):
super().parse_innodisk_info()
if self.vendor_ssd_info:
# fix too lazy pattern 'Health:\s*(.+?)%?'
self.health = self._parse_re('Health:\s*(.+?)%', self.vendor_ssd_info)

View File

@ -0,0 +1,6 @@
{
"skip_ledd": true,
"skip_xcvrd": false,
"skip_psud": false,
"skip_thermalctld": false
}

View File

@ -0,0 +1,2 @@
# libsensors configuration file for Celestica Midstone-200i.
# The i2c bus portion is omit because adapter name

View File

@ -0,0 +1,11 @@
{
"services_to_ignore": [],
"devices_to_ignore": ["asic", "psu.temperature"],
"user_defined_checkers": ["python3 /usr/local/bin/health_checker_thermal.py"],
"polling_interval": 60,
"led_color": {
"fault": "red",
"normal": "green",
"booting": "green_blink"
}
}

View File

@ -0,0 +1 @@
t1

View File

@ -0,0 +1,2 @@
#!/bin/bash
/usr/local/bin/sysledctl.py reboot

View File

@ -7,6 +7,7 @@ $(SONIC_ONE_IMAGE)_IMAGE_TYPE = onie
$(SONIC_ONE_IMAGE)_LAZY_INSTALLS += $(CEL_MIDSTONE_200I_PLATFORM_MODULE) $(SONIC_ONE_IMAGE)_LAZY_INSTALLS += $(CEL_MIDSTONE_200I_PLATFORM_MODULE)
$(SONIC_ONE_IMAGE)_LAZY_INSTALLS += $(DELTA_PLATFORM_MODULE) $(SONIC_ONE_IMAGE)_LAZY_INSTALLS += $(DELTA_PLATFORM_MODULE)
$(SONIC_ONE_IMAGE)_LAZY_INSTALLS += $(NETBERG_AURORA_715_PLATFORM_MODULE) $(SONIC_ONE_IMAGE)_LAZY_INSTALLS += $(NETBERG_AURORA_715_PLATFORM_MODULE)
$(SONIC_ONE_IMAGE)_LAZY_INSTALLS += $(SMCI_SSE_T7132S_PLATFORM_MODULE)
$(SONIC_ONE_IMAGE)_LAZY_INSTALLS += $(WISTRON_PLATFORM_MODULE) $(SONIC_ONE_IMAGE)_LAZY_INSTALLS += $(WISTRON_PLATFORM_MODULE)
$(SONIC_ONE_IMAGE)_INSTALLS += $(INVM_DRV) $(SONIC_ONE_IMAGE)_INSTALLS += $(INVM_DRV)
$(SONIC_ONE_IMAGE)_DOCKERS += $(SONIC_INSTALL_DOCKER_IMAGES) $(SONIC_ONE_IMAGE)_DOCKERS += $(SONIC_INSTALL_DOCKER_IMAGES)

View File

@ -0,0 +1,9 @@
SMCI_PLATFORM_MODULE_VERSION = 0.1
export SMCI_PLATFORM_MODULE_VERSION
SMCI_SSE_T7132S_PLATFORM_MODULE = platform-modules-sse-t7132s_$(SMCI_PLATFORM_MODULE_VERSION)_$(CONFIGURED_ARCH).deb
$(SMCI_SSE_T7132S_PLATFORM_MODULE)_SRC_PATH = $(PLATFORM_PATH)/sonic-platform-modules-supermicro
$(SMCI_SSE_T7132S_PLATFORM_MODULE)_DEPENDS += $(LINUX_HEADERS) $(LINUX_HEADERS_COMMON)
$(SMCI_SSE_T7132S_PLATFORM_MODULE)_PLATFORM = x86_64-supermicro_sse_t7132s-r0
SONIC_DPKG_DEBS += $(SMCI_SSE_T7132S_PLATFORM_MODULE)

View File

@ -1,5 +1,6 @@
include $(PLATFORM_PATH)/invm-sai.mk include $(PLATFORM_PATH)/invm-sai.mk
include $(PLATFORM_PATH)/platform-modules-cel.mk include $(PLATFORM_PATH)/platform-modules-cel.mk
include $(PLATFORM_PATH)/platform-modules-supermicro.mk
#include $(PLATFORM_PATH)/platform-modules-delta.mk #include $(PLATFORM_PATH)/platform-modules-delta.mk
include $(PLATFORM_PATH)/platform-modules-wistron.mk include $(PLATFORM_PATH)/platform-modules-wistron.mk
#include $(PLATFORM_PATH)/platform-modules-netberg.mk #include $(PLATFORM_PATH)/platform-modules-netberg.mk

View File

@ -0,0 +1,5 @@
sonic-supermicro-platform-modules (0.1) unstable; urgency=low
* Inital release of SSE-T7132S platform module package.
-- SuperMicro Team <support@supermicro.com> Fri, 22 Oct 2021 17:14:00 +0800

View File

@ -0,0 +1,16 @@
Source: sonic-supermicro-platform-modules
Section: main
Priority: extra
Maintainer: SuperMicro Team <support@supermicro.com>
Build-Depends:
dh-python,
debhelper (>= 9.0.0),
python3(>=3.5),
python3-setuptools,
bzip2
Standards-Version: 3.9.3
Package: platform-modules-sse-t7132s
Architecture: amd64
Description: kernel modules for platform devices such as fan, led, sfp

View File

@ -0,0 +1,8 @@
sse-t7132s/scripts/platform.sh /usr/local/bin
sse-t7132s/scripts/health_checker_thermal.py /usr/local/bin
sse-t7132s/scripts/sysledctl.py /usr/local/bin
sse-t7132s/cfg/t7132s-modules.conf etc/modules-load.d
sse-t7132s/cfg/iTCO_wdt.conf /etc/modprobe.d
sse-t7132s/systemd/platform-modules-sse-t7132s.service etc/systemd/system
sse-t7132s/systemd/sysled.service etc/systemd/system
sse-t7132s/modules/sonic_platform-1.0-py3-none-any.whl usr/share/sonic/device/x86_64-supermicro_sse_t7132s-r0

View File

@ -0,0 +1,14 @@
# postinst script for SSE-T7132S
# Enable SuperMicro SSE-T7132S
depmod -a
modprobe -r iTCO_wdt
modprobe -r t7132s
modprobe t7132s
systemctl enable platform-modules-sse-t7132s.service
systemctl start platform-modules-sse-t7132s.service
systemctl enable sysled.service
#DEBHELPER#

View File

@ -0,0 +1,39 @@
#!/usr/bin/make -f
export INSTALL_MOD_DIR:=extra
KVERSION ?= $(shell uname -r)
KERNEL_SRC := /lib/modules/$(KVERSION)
MOD_SRC_DIR:= $(shell pwd)
MODULE_DIRS:= sse-t7132s
%:
dh $@
override_dh_auto_build:
(for mod in $(MODULE_DIRS); do \
make -C $(KERNEL_SRC)/build M=$(MOD_SRC_DIR)/$${mod}/modules; \
cd $(MOD_SRC_DIR)/$${mod}; \
python3 setup.py bdist_wheel -d $(MOD_SRC_DIR)/$${mod}/modules; \
cd $(MOD_SRC_DIR); \
done)
override_dh_auto_install:
(for mod in $(MODULE_DIRS); do \
dh_installdirs -pplatform-modules-$${mod} \
$(KERNEL_SRC)/$(INSTALL_MOD_DIR); \
cp $(MOD_SRC_DIR)/$${mod}/modules/*.ko \
debian/platform-modules-$${mod}/$(KERNEL_SRC)/$(INSTALL_MOD_DIR); \
done)
override_dh_usrlocal:
override_dh_clean:
dh_clean
(for mod in $(MODULE_DIRS); do \
make -C $(KERNEL_SRC)/build M=$(MOD_SRC_DIR)/$${mod}/modules clean; \
rm -f $(MOD_SRC_DIR)/$${mod}/modules/*.whl; \
rm -rf $(MOD_SRC_DIR)/$${mod}/build; \
rm -rf $(MOD_SRC_DIR)/$${mod}/*.egg-info; \
done)

View File

@ -0,0 +1 @@
blacklist iTCO_wdt

View File

@ -0,0 +1,16 @@
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
i2c-i801
i2c-isch
i2c-ismt
i2c-dev
i2c-mux
i2c-smbus
i2c-mux-gpio
i2c-mux-pca954x
ipmi-devintf
ast
t7132s

View File

@ -0,0 +1 @@
obj-m := t7132s.o

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,50 @@
#!/usr/bin/python3
'''
This script is for healthd user_defined_checkers.
'''
from swsscommon.swsscommon import SonicV2Connector
from natsort import natsorted
TEMPER_TABLE_NAME = 'TEMPERATURE_INFO'
TEMPER_FIELD_NAME = 'temperature'
TIMESTAMP_FIELD_NAME = 'timestamp'
HIGH_THRESH_FIELD_NAME = 'high_threshold'
LOW_THRESH_FIELD_NAME = 'low_threshold'
CRIT_HIGH_THRESH_FIELD_NAME = 'critical_high_threshold'
CRIT_LOW_THRESH_FIELD_NAME = 'critical_low_threshold'
WARNING_STATUS_FIELD_NAME = 'warning_status'
class TemperCheck(object):
def __init__(self):
self.db = SonicV2Connector(host="127.0.0.1")
self.db.connect(self.db.STATE_DB)
def show(self):
keys = self.db.keys(self.db.STATE_DB, TEMPER_TABLE_NAME + '*')
if not keys:
#print('Thermal Not detected\n')
return
print("Thermal")
for key in natsorted(keys):
key_list = key.split('|')
if len(key_list) != 2: # error data in DB, log it and ignore
#print('Warn: Invalid key in table {}: {}'.format(TEMPER_TABLE_NAME, key))
continue
name = key_list[1]
data_dict = self.db.get_all(self.db.STATE_DB, key)
if data_dict[WARNING_STATUS_FIELD_NAME] == 'False':
print("{}:OK".format(name))
else:
temperature = data_dict[TEMPER_FIELD_NAME]
high_threshold = data_dict[HIGH_THRESH_FIELD_NAME]
low_threshold = data_dict[LOW_THRESH_FIELD_NAME]
print("{}:{} status is warning about temperature {} (threshold high {} low {})".
format(name, name, temperature, high_threshold, low_threshold))
if __name__ == "__main__":
temperCheck = TemperCheck()
temperCheck.show()

View File

@ -0,0 +1,102 @@
#!/bin/bash
i2c_config() {
local count=0
local MAX_BUS_RETRY=20
local MAX_I2C_OP_RETRY=10
i2c_bus_op=`echo "$@" | cut -d'>' -f 2`
i2c_bus=$(dirname $i2c_bus_op)
# check if bus exists
while [[ "$count" -lt "$MAX_BUS_RETRY" ]]; do
[[ -e $i2c_bus ]] && break || sleep .1
count=$((count+1))
done
if [[ "$count" -eq "$MAX_BUS_RETRY" ]]; then
echo "dell_i2c_utils : ERROR: $@ : i2c bus not created"
return
fi
# perform the add/delete
count=0
while [[ "$count" -lt "$MAX_I2C_OP_RETRY" ]]; do
eval "$@" > /dev/null 2>&1
[[ $? == 0 ]] && break || sleep .2
count=$((count+1))
done
if [[ "$count" -eq "$MAX_I2C_OP_RETRY" ]]; then
echo "dell_i2c_utils : ERROR: $@ : i2c operation failed"
return
fi
}
# Attach/Detach syseeprom on CPU board
sys_eeprom() {
case $1 in
"new_device") i2c_config "echo 24c02 0x53 > /sys/bus/i2c/devices/i2c-0/$1"
;;
"delete_device") i2c_config "echo 0x53 > /sys/bus/i2c/devices/i2c-0/$1"
;;
*) echo "platform: sys_eeprom : invalid command !"
;;
esac
}
install_python_api_package() {
device="/usr/share/sonic/device"
platform=$(/usr/local/bin/sonic-cfggen -H -v DEVICE_METADATA.localhost.platform)
rv=$(pip3 install $device/$platform/sonic_platform-1.0-py3-none-any.whl)
}
remove_python_api_package() {
rv=$(pip3 show sonic-platform > /dev/null 2>/dev/null)
if [ $? -eq 0 ]; then
rv=$(pip3 uninstall -y sonic-platform > /dev/null 2>/dev/null)
fi
}
update_share_password() {
echo "Update shared password !!!"
SONIC_VERSION=$(cat /etc/sonic/sonic_version.yml | grep "build_version" | sed -e "s/build_version: //g;s/'//g")
image_dir=$(cat /proc/cmdline | sed -e 's/.*loop=\(\S*\)\/.*/\1/')
if [ -f /host/reboot-cause/platform/last_boot_image ]; then
last_image_ver=$(cat /host/reboot-cause/platform/last_boot_image)
else
last_image_ver=""
fi
echo "last_image_ver=${last_image_ver}"
find /host -name "*image-*" | sed -e 's/\/host\/image-//' | while read var ; do
#echo "var=${var} image_dir=${image_dir}"
if [ "image-${var}" != "$image_dir" ] && [ "$last_image_ver" != "${SONIC_VERSION}" ]; then
cp /host/image-${var}/rw/etc/shadow /host/${image_dir}/rw/etc/shadow
cp /host/image-${var}/rw/etc/passwd /host/${image_dir}/rw/etc/passwd
cp /host/image-${var}/rw/etc/gshadow /host/${image_dir}/rw/etc/gshadow
cp /host/image-${var}/rw/etc/group /host/${image_dir}/rw/etc/group
fi
done
if [ -d /host/reboot-cause/platform ]; then
echo "${SONIC_VERSION}" | sudo tee /host/reboot-cause/platform/last_boot_image > /dev/null
fi
}
if [ "$1" == "init" ]; then
echo "Initializing hardware components ..."
depmod -a
sys_eeprom "new_device"
modprobe t7132s
install_python_api_package
update_share_password
elif [ "$1" == "deinit" ]; then
echo "De-initializing hardware components ..."
modprobe -r t7132s
sys_eeprom "delete_device"
remove_python_api_package
else
echo "Invalid options !"
fi

View File

@ -0,0 +1,53 @@
#!/usr/bin/python3
import sys
import subprocess
import re
import sonic_platform.platform
def systemctl():
log_path = sys.argv[0] + ".log"
with open(log_path, 'w') as f:
out = subprocess.run(['systemctl', 'list-jobs'], capture_output=True, text=True).stdout
f.write(out)
chassis = sonic_platform.platform.Platform().get_chassis()
x = re.search("reboot.target[ ]+start", out)
if x:
f.write("starting reboot\n")
chassis.set_status_led('green_blink')
x = re.search("kexec.target[ ]+start", out)
if x:
f.write("starting kexec\n")
chassis.set_status_led('green_blink')
x = re.search("halt.target[ ]+start", out)
if x:
f.write("starting halt\n")
chassis.set_status_led('red')
x = re.search("poweroff.target[ ]+start", out)
if x:
f.write("starting poweroff\n")
chassis.set_status_led('off')
chassis.set_cpld2_s3(1)
f.write("done\n")
def reboot():
log_path = sys.argv[0] + ".log"
with open(log_path, 'w') as f:
f.write("fast/warm reboot\n")
chassis = sonic_platform.platform.Platform().get_chassis()
chassis.set_status_led('green_blink')
f.write("done\n")
def main():
if len(sys.argv)>=2 and sys.argv[1]=='start':
systemctl()
if len(sys.argv)>=2 and sys.argv[1]=='reboot':
reboot()
if __name__ == '__main__':
main()

View File

@ -0,0 +1,209 @@
import pytest
CPLD_INFO_PATH='/sys/devices/platform/switchboard/CPLD{}'
@pytest.mark.parametrize(
"cpld, offset, default, valid_mask, writeable_mask, test_mask",
[
pytest.param( 1, 0x00, 0x00, 0x00, 0x00, 0x00, id="CPLD1 0x00 Reserved"),
pytest.param( 1, 0x01, 0x00, 0x1f, 0x00, 0x00, id="CPLD1 0x01 Switch model ID"),
pytest.param( 1, 0x02, 0x10, 0xff, 0x00, 0x00, id="CPLD1 0x02 HW/CPLD version"),
pytest.param( 1, 0x03, 0xff, 0xff, 0x00, 0x00, id="CPLD1 0x03 Power sequence module status"),
pytest.param( 1, 0x04, 0x00, 0xff, 0x00, 0x00, id="CPLD1 0x04 Voltage Regulator Module ALERT/ Thermal"),
pytest.param( 1, 0x05, 0x7f, 0xff, 0x98, 0x18, id="CPLD1 0x05 Enable/ Reset misc. devices"),
pytest.param( 1, 0x06, 0xfe, 0xff, 0xff, 0x01, id="CPLD1 0x06 Enable/ Reset misc. devices"),
pytest.param( 1, 0x07, 0x0a, 0x0f, 0x0a, 0x0a, id="CPLD1 0x07 FACTORY_BTN event log and clear"),
pytest.param( 1, 0x09, 0xe0, 0xe0, 0xe0, 0xe0, id="CPLD1 0x09 System reset records"),
pytest.param( 1, 0x0B, 0xff, 0xff, 0x3f, 0x00, id="CPLD1 0x0B PCA9548 I2C bus switch RSTn"),
pytest.param( 1, 0x0C, 0x07, 0x07, 0x07, 0x07, id="CPLD1 0x0C Transceiver Power Enable"),
pytest.param( 1, 0x0D, 0xff, 0xff, 0xff, 0xff, id="CPLD1 0x0D Transceiver Power Enable"),
pytest.param( 1, 0x0E, 0x07, 0x07, 0x00, 0x00, id="CPLD1 0x0E Transceiver Power Good"),
pytest.param( 1, 0x0F, 0xff, 0xff, 0x00, 0x00, id="CPLD1 0x0F Transceiver Power Good"),
pytest.param( 1, 0x10, 0xff, 0xff, 0xff, 0xff, id="CPLD1 0x10 QSFP-DD Reset signals for Port QT16 to QT9"),
pytest.param( 1, 0x11, 0xff, 0xff, 0xff, 0xff, id="CPLD1 0x11 QSFP-DD Reset signals for Port QT8 to QT1"),
pytest.param( 1, 0x12, 0x00, 0xff, 0xff, 0xff, id="CPLD1 0x12 QSFP-DD LPMODE signals for Port QT16 to QT9"),
pytest.param( 1, 0x13, 0x00, 0xff, 0xff, 0xff, id="CPLD1 0x13 QSFP-DD LPMODE signals for Port QT8 to QT1"),
pytest.param( 1, 0x14, 0x00, 0x00, 0x00, 0x00, id="CPLD1 0x14 QSFP-DD INT signals from Port QT16 to QT9"),
pytest.param( 1, 0x15, 0x00, 0x00, 0x00, 0x00, id="CPLD1 0x15 QSFP-DD INT signals from Port QT8 to QT1"),
pytest.param( 1, 0x16, 0x00, 0x00, 0x00, 0x00, id="CPLD1 0x16 QSFP-DD MODPRS signals from Port QT16 to QT9"),
pytest.param( 1, 0x17, 0x00, 0x00, 0x00, 0x00, id="CPLD1 0x17 QSFP-DD MODPRS signals from Port QT8 to QT1"),
pytest.param( 1, 0x18, 0xff, 0xff, 0xff, 0xff, id="CPLD1 0x18 QSFP-DD Reset signals for Port QB16 to QB9"),
pytest.param( 1, 0x19, 0xff, 0xff, 0xff, 0xff, id="CPLD1 0x19 QSFP-DD Reset signals for Port QB8 to QB1"),
pytest.param( 1, 0x1A, 0x00, 0x00, 0xff, 0xff, id="CPLD1 0x1A QSFP-DD LPMODE signals for Port QB16 to QB9"),
pytest.param( 1, 0x1B, 0x00, 0x00, 0xff, 0xff, id="CPLD1 0x1B QSFP-DD LPMODE signals for Port QB8 to QB1"),
pytest.param( 1, 0x1C, 0x00, 0x00, 0x00, 0x00, id="CPLD1 0x1C QSFP-DD INT signals from Port QB16 to QB9"),
pytest.param( 1, 0x1D, 0x00, 0x00, 0x00, 0x00, id="CPLD1 0x1D QSFP-DD INT signals from Port QB8 to QB1"),
pytest.param( 1, 0x1E, 0x00, 0x00, 0x00, 0x00, id="CPLD1 0x1E QSFP-DD MODPRS signals from Port QB16 to QB9"),
pytest.param( 1, 0x1F, 0x00, 0x00, 0x00, 0x00, id="CPLD1 0x1F QSFP-DD MODPRS signals from Port QB8 to QB1"),
pytest.param( 1, 0x20, 0x06, 0x00, 0x07, 0x07, id="CPLD1 0x20 Top side SFPP"),
pytest.param( 1, 0x21, 0x06, 0x00, 0x07, 0x07, id="CPLD1 0x21 Bottom side SFPP"),
pytest.param( 1, 0x22, 0x00, 0x00, 0xff, 0xff, id="CPLD1 0x22 Watch Dog Maximum count setting, Least significant 8 bits"),
pytest.param( 1, 0x23, 0x00, 0x00, 0xff, 0xff, id="CPLD1 0x23 Watch Dog Maximum count setting, Most significant 8 bits"),
pytest.param( 1, 0x24, 0x00, 0x00, 0x00, 0x00, id="CPLD1 0x24 Watch Dog Current count value, Least significant 8 bits"),
pytest.param( 1, 0x25, 0x00, 0x00, 0x00, 0x00, id="CPLD1 0x25 Watch Dog Current count value, Most significant 8 bits"),
pytest.param( 1, 0xF0, 0x00, 0xff, 0x00, 0x00, id="CPLD1 0xF0 Version as BMC I2C Registers #0"),
pytest.param( 1, 0xF1, 0x48, 0xff, 0x00, 0x00, id="CPLD1 0xF1 Version as BMC I2C Registers #1"),
pytest.param( 1, 0xF2, 0x00, 0xff, 0x00, 0x00, id="CPLD1 0xF2 Version as BMC I2C Registers #2"),
pytest.param( 1, 0xF3, 0x02, 0xff, 0x00, 0x00, id="CPLD1 0xF3 Version as BMC I2C Registers #3"),
pytest.param( 1, 0xFE, 0x10, 0xff, 0x00, 0x00, id="CPLD1 0xFE CPLD JED Released Date Month"),
pytest.param( 1, 0xFF, 0x26, 0xff, 0x00, 0x00, id="CPLD1 0xFF CPLD JED Released Date Day"),
pytest.param( 2, 0x00, 0x00, 0x00, 0x00, 0x00, id="CPLD2 0x00 Reserved"),
pytest.param( 2, 0x01, 0x00, 0x00, 0x00, 0x00, id="CPLD2 0x01 Reserved"),
pytest.param( 2, 0x02, 0x00, 0x0f, 0x00, 0x00, id="CPLD2 0x02 CPLD2 FW version"),
pytest.param( 2, 0x03, 0x2c, 0x7f, 0x37, 0x33, id="CPLD2 0x03 System Ready/Reset Status and LED control"),
pytest.param( 2, 0x04, 0x00, 0xff, 0x1f, 0x1f, id="CPLD2 0x04 All transceiver LEDs control"),
pytest.param( 2, 0x05, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x05 SFPP LED manual control TSFPP"),
pytest.param( 2, 0x06, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x06 SFPP LED manual control BSFPP"),
pytest.param( 2, 0x07, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x07 QSFP-DD LED manual control QT1_Pn_G"),
pytest.param( 2, 0x08, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x08 QSFP-DD LED manual control QT1_Pn_Y"),
pytest.param( 2, 0x09, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x09 QSFP-DD LED manual control QB1_P1_G"),
pytest.param( 2, 0x0A, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x0A QSFP-DD LED manual control QB1_P1_Y"),
pytest.param( 2, 0x0B, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x0B QT2 Green 4 LEDs"),
pytest.param( 2, 0x0C, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x0C QT2 Yellow 4 LEDs"),
pytest.param( 2, 0x0D, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x0D QB2 Green 4 LEDs"),
pytest.param( 2, 0x0E, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x0E QB2Yellow 4 LEDs"),
pytest.param( 2, 0x0F, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x0F QT3 Green 4 LEDs"),
pytest.param( 2, 0x10, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x10 QT3 Yellow 4 LEDs"),
pytest.param( 2, 0x11, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x11 QB3 Green 4 LEDs"),
pytest.param( 2, 0x12, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x12 QB3Yellow 4 LEDs"),
pytest.param( 2, 0x13, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x13 QT4 Green 4 LEDs"),
pytest.param( 2, 0x14, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x14 QT4 Yellow 4 LEDs"),
pytest.param( 2, 0x15, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x15 QB4 Green 4 LEDs"),
pytest.param( 2, 0x16, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x16 QB4Yellow 4 LEDs"),
pytest.param( 2, 0x17, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x17 QT5 Green 4 LEDs"),
pytest.param( 2, 0x18, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x18 QT5 Yellow 4 LEDs"),
pytest.param( 2, 0x19, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x19 QB5 Green 4 LEDs"),
pytest.param( 2, 0x1A, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x1A QB5Yellow 4 LEDs"),
pytest.param( 2, 0x1B, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x1B QT6 Green 4 LEDs"),
pytest.param( 2, 0x1C, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x1C QT6 Yellow 4 LEDs"),
pytest.param( 2, 0x1D, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x1D QB6 Green 4 LEDs"),
pytest.param( 2, 0x1E, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x1E QB6 Yellow 4 LEDs"),
pytest.param( 2, 0x1F, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x1F QT7 Green 4 LEDs"),
pytest.param( 2, 0x20, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x20 QT7 Yellow 4 LEDs"),
pytest.param( 2, 0x21, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x21 QB7 Green 4 LEDs"),
pytest.param( 2, 0x22, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x22 QB7 Yellow 4 LEDs"),
pytest.param( 2, 0x23, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x23 QT8 Green 4 LEDs"),
pytest.param( 2, 0x24, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x24 QT8 Yellow 4 LEDs"),
pytest.param( 2, 0x25, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x25 QB8 Green 4 LEDs"),
pytest.param( 2, 0x26, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x26 QB8 Yellow 4 LEDs"),
pytest.param( 2, 0x27, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x27 QT9 Green 4 LEDs"),
pytest.param( 2, 0x28, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x28 QT9 Yellow 4 LEDs"),
pytest.param( 2, 0x29, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x29 QB9 Green 4 LEDs"),
pytest.param( 2, 0x2A, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x2A QB9 Yellow 4 LEDs"),
pytest.param( 2, 0x2B, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x2B QT10 Green 4 LEDs"),
pytest.param( 2, 0x2C, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x2C QT10 Yellow 4 LEDs"),
pytest.param( 2, 0x2D, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x2D QB10 Green 4 LEDs"),
pytest.param( 2, 0x2E, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x2E QB10 Yellow 4 LEDs"),
pytest.param( 2, 0x2F, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x2F QT11 Green 4 LEDs"),
pytest.param( 2, 0x30, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x30 QT11 Yellow 4 LEDs"),
pytest.param( 2, 0x31, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x31 QB11 Green 4 LEDs"),
pytest.param( 2, 0x32, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x32 QB11 Yellow 4 LEDs"),
pytest.param( 2, 0x33, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x33 QT12 Green 4 LEDs"),
pytest.param( 2, 0x34, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x34 QT12 Yellow 4 LEDs"),
pytest.param( 2, 0x35, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x35 QB12 Green 4 LEDs"),
pytest.param( 2, 0x36, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x36 QB12 Yellow 4 LEDs"),
pytest.param( 2, 0x37, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x37 QT13 Green 4 LEDs"),
pytest.param( 2, 0x38, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x38 QT13 Yellow 4 LEDs"),
pytest.param( 2, 0x39, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x39 QB13 Green 4 LEDs"),
pytest.param( 2, 0x3A, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x3A QB13 Yellow 4 LEDs"),
pytest.param( 2, 0x3B, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x3B QT14 Green 4 LEDs"),
pytest.param( 2, 0x3C, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x3C QT14 Yellow 4 LEDs"),
pytest.param( 2, 0x3D, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x3D QB14 Green 4 LEDs"),
pytest.param( 2, 0x3E, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x3E QB14 Yellow 4 LEDs"),
pytest.param( 2, 0x3F, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x3F QT15 Green 4 LEDs"),
pytest.param( 2, 0x40, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x40 QT15 Yellow 4 LEDs"),
pytest.param( 2, 0x41, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x41 QB15 Green 4 LEDs"),
pytest.param( 2, 0x42, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x42 QB15 Yellow 4 LEDs"),
pytest.param( 2, 0x43, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x43 QT16 Green 4 LEDs"),
pytest.param( 2, 0x44, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x44 QT16 Yellow 4 LEDs"),
pytest.param( 2, 0x45, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x45 QB16 Green 4 LEDs"),
pytest.param( 2, 0x46, 0x00, 0xff, 0xff, 0xff, id="CPLD2 0x46 QB16 Yellow 4 LEDs"),
pytest.param( 2, 0xF0, 0x00, 0xff, 0x00, 0x00, id="CPLD2 0xF0 Version as BMC I2C Registers #0"),
pytest.param( 2, 0xF1, 0x48, 0xff, 0x00, 0x00, id="CPLD2 0xF1 Version as BMC I2C Registers #1"),
pytest.param( 2, 0xF2, 0x20, 0xff, 0x00, 0x00, id="CPLD2 0xF2 Version as BMC I2C Registers #2"),
pytest.param( 2, 0xF3, 0x02, 0xff, 0x00, 0x00, id="CPLD2 0xF3 Version as BMC I2C Registers #3"),
pytest.param( 2, 0xFE, 0x10, 0xff, 0x00, 0x00, id="CPLD2 0xFE CPLD JED Released Date Month"),
pytest.param( 2, 0xFF, 0x27, 0xff, 0x00, 0x00, id="CPLD2 0xFF CPLD JED Released Date Day"),
],
)
class TestClass:
def test_cpld_read_default(self, cpld, offset, default, valid_mask, writeable_mask, test_mask):
reg_offset = "/".join([CPLD_INFO_PATH.format(cpld), "testee_offset"])
reg_value = "/".join([CPLD_INFO_PATH.format(cpld), "testee_value"])
# write offset
with open(reg_offset, "r+") as file_offset:
file_offset.write(hex(offset))
for i in range(2):
with open(reg_value, "r+") as file_value:
content = file_value.readline().strip()
content_value = int(content, 16)
assert hex(content_value & valid_mask) == hex(default & valid_mask)
def test_cpld_read_stable(self, cpld, offset, default, valid_mask, writeable_mask, test_mask):
reg_offset = "/".join([CPLD_INFO_PATH.format(cpld), "testee_offset"])
reg_value = "/".join([CPLD_INFO_PATH.format(cpld), "testee_value"])
# write offset
with open(reg_offset, "r+") as file_offset:
file_offset.write(hex(offset))
# read current value
with open(reg_value, "r+") as file_value:
content = file_value.readline().strip()
last_value = int(content, 16)
for i in range(100):
with open(reg_value, "r+") as file_value:
content = file_value.readline().strip()
content_value = int(content, 16)
assert hex(content_value) == hex(last_value)
def test_cpld_write_stable(self, cpld, offset, default, valid_mask, writeable_mask, test_mask):
reg_offset = "/".join([CPLD_INFO_PATH.format(cpld), "testee_offset"])
reg_value = "/".join([CPLD_INFO_PATH.format(cpld), "testee_value"])
# write offset
with open(reg_offset, "r+") as file_offset:
file_offset.write(hex(offset))
# read and save current value
with open(reg_value, "r+") as file_value:
content = file_value.readline().strip()
last_value = int(content, 16)
for i in range(100):
for j in range(8):
if (1<<j) & test_mask == 0:
continue
# test bit value=0
write_value = last_value & ~(1<<j) & 0xff
# write value
with open(reg_value, "r+") as file_value:
file_value.seek(0)
file_value.write(hex(write_value))
# read value
with open(reg_value, "r+") as file_value:
content = file_value.readline().strip()
read_value = int(content, 16)
assert hex(read_value & valid_mask) == hex(write_value & valid_mask)
# test bit value=1
write_value = last_value | (1<<j)
# write value
with open(reg_value, "r+") as file_value:
file_value.seek(0)
file_value.write(hex(write_value))
# read value
with open(reg_value, "r+") as file_value:
content = file_value.readline().strip()
read_value = int(content, 16)
assert hex(read_value & valid_mask) == hex(write_value & valid_mask)
# resotre save current value
with open(reg_value, "r+") as file_value:
file_value.seek(0)
file_value.write(hex(last_value))

View File

@ -0,0 +1,30 @@
from setuptools import setup
setup(
name='sonic-platform',
version='1.0',
description='SONiC platform API implementation on Supermicro SSE-T7132S',
license='Apache 2.0',
author='SuperMicro Team',
author_email='support@supermicro.com',
url='https://github.com/Azure/sonic-buildimage',
maintainer='SuperMicro',
maintainer_email='support@supermicro.com',
packages=[
'sonic_platform',
],
classifiers=[
'Development Status :: 3 - Alpha',
'Environment :: Plugins',
'Intended Audience :: Developers',
'Intended Audience :: Information Technology',
'Intended Audience :: System Administrators',
'License :: OSI Approved :: Apache Software License',
'Natural Language :: English',
'Operating System :: POSIX :: Linux',
'Programming Language :: Python :: 3.7',
'Topic :: Utilities',
],
keywords='sonic SONiC platform PLATFORM',
)

View File

@ -0,0 +1,2 @@
__all__ = ["platform", "chassis"]
from . import platform

View File

@ -0,0 +1,566 @@
#############################################################################
# SuperMicro SSE-T7132S
#
# Module contains an implementation of SONiC Platform Base API and
# provides the Chassis information which are available in the platform
#
#############################################################################
import sys
import time
try:
from sonic_platform_base.chassis_base import ChassisBase
from sonic_platform.component import Component
from sonic_platform.eeprom import Tlv
from sonic_platform.fan_drawer import FanDrawer
from sonic_platform.psu import Psu
from sonic_platform.thermal import Thermal
from sonic_platform.watchdog import Watchdog
from .helper import APIHelper
except ImportError as e:
raise ImportError(str(e) + "- required module not found")
NUM_FAN_TRAY = 6
NUM_FAN = 1
NUM_PSU = 2
NUM_THERMAL = 9
NUM_SFP = 34
NUM_COMPONENT = 4
NUM_BMC_REBOOT_CAUSE = 7
IPMI_OEM_NETFN = "0x30"
IPMI_GET_REBOOT_CAUSE = "0x89 0x06 0x00"
IPMI_CLEAR_REBOOT_CAUSE = "0x89 0x06 0x01"
CPLD1_INFO_PATH='/sys/devices/platform/switchboard/CPLD1'
CPLD2_INFO_PATH='/sys/devices/platform/switchboard/CPLD2'
class Chassis(ChassisBase):
"""Platform-specific Chassis class"""
_global_port_pres_dict = {}
status_led_reg_to_color = {
0b11: 'off', 0b10: 'red', 0b01: 'green', 0b00: 'green_blink'
}
color_to_status_led_reg = {
'off': 0b11, 'red': 0b10, 'green': 0b01, 'green_blink': 0b00
}
def __init__(self):
self.config_data = {}
self.supported_led_color = ['off', 'red', 'green', 'green_blink']
ChassisBase.__init__(self)
self._eeprom = Tlv()
self._api_helper = APIHelper()
self.sfp_module_initialized = False
for fant_index in range(NUM_FAN_TRAY):
fandrawer = FanDrawer(fant_index)
self._fan_drawer_list.append(fandrawer)
self._fan_list.extend(fandrawer._fan_list)
for index in range(0, NUM_PSU):
psu = Psu(index)
self._psu_list.append(psu)
for index in range(0, NUM_COMPONENT):
component = Component(index)
self._component_list.append(component)
for index in range(0, NUM_THERMAL):
thermal = Thermal(index)
self._thermal_list.append(thermal)
def __initialize_sfp(self):
if self.sfp_module_initialized:
return
self.sfp_module_initialized = True
self.num_sfp = NUM_SFP
from sonic_platform.sfp import Sfp
for index in range(1, self.num_sfp+1): # start from 1
sfp = Sfp(index)
self._sfp_list.append(sfp)
for port_num in range(1, self.num_sfp+1): # start from 1
# sfp get uses front port index start from 1
presence = self.get_sfp(port_num).get_presence()
self._global_port_pres_dict[port_num] = '1' if presence else '0'
if presence == True and self.get_sfp(port_num).get_reset_status() == True:
self.get_sfp(port_num).no_reset()
def get_base_mac(self):
"""
Retrieves the base MAC address for the chassis
Returns:
A string containing the MAC address in the format
'XX:XX:XX:XX:XX:XX'
"""
return self._eeprom.get_mac()
def get_model(self):
"""
Retrieves the model number (or part number) of the chassis
Returns:
string: Model/part number of chassis
"""
return self._eeprom.get_partnumber()
def get_serial(self):
"""
Retrieves the hardware serial number for the chassis
Returns:
A string containing the hardware serial number for this chassis.
"""
return self._eeprom.get_serial()
def get_name(self):
"""
Retrieves the product name for the chassis
Returns:
A string containing the product name for this chassis.
"""
return self._eeprom.get_productname()
def get_revision(self):
"""
Retrieves the hardware revision of the device
Returns:
string: Revision value of device
"""
return self.get_cpld1_board_rev()
def get_system_eeprom_info(self):
"""
Retrieves the full content of system EEPROM information for the chassis
Returns:
A dictionary where keys are the type code defined in
OCP ONIE TlvInfo EEPROM format and values are their corresponding
values.
"""
return self._eeprom.get_eeprom()
def get_reboot_cause(self):
"""
Retrieves the cause of the previous reboot
Returns:
A tuple (string, string) where the first element is a string
containing the cause of the previous reboot. This string must be
one of the predefined strings in this class. If the first string
is "REBOOT_CAUSE_HARDWARE_OTHER", the second string can be used
to pass a description of the reboot cause.
"""
hx_cause = 0
if self.get_cpld1_wdt_rst() == 1:
reboot_cause = self.REBOOT_CAUSE_WATCHDOG
description = "CPLD Watchdog Reset"
self.set_cpld1_wdt_rst(0) # Clear watchdog reset status
self.set_cpld1_wdt_rst(1) # Enable to record watchdog reset status
else:
status, hx_cause = self.get_bmc_reboot_cause()
if status:
reboot_cause = {
0: self.REBOOT_CAUSE_POWER_LOSS,
1: self.REBOOT_CAUSE_HARDWARE_OTHER,
2: self.REBOOT_CAUSE_HARDWARE_OTHER,
3: self.REBOOT_CAUSE_HARDWARE_OTHER,
4: self.REBOOT_CAUSE_WATCHDOG,
5: self.REBOOT_CAUSE_WATCHDOG,
6: self.REBOOT_CAUSE_WATCHDOG
}.get(hx_cause, self.REBOOT_CAUSE_HARDWARE_OTHER)
description = {
0: "BMC Power Down Immediate",
1: "BMC Graceful Shutdown",
2: "BMC Power Cycle",
3: "BMC Power Reset",
4: "BMC CPU Watchdog Reset (System Reset)",
5: "BMC CPU Watchdog Reset (System Power Off)",
6: "BMC CPU Watchdog Reset (System Power Cycle)"
}.get(hx_cause, "Unknown reason")
elif self.get_cpld2_s5() == 1:
reboot_cause = self.REBOOT_CAUSE_POWER_LOSS
description = "Power Button Power Down Immediate"
self.set_cpld2_s5(0) #Clear S5 status
self.set_cpld2_s5(1) #Enable to record S5 status
elif self.get_cpld2_s3() == 1:
reboot_cause = self.REBOOT_CAUSE_HARDWARE_OTHER
description = "Power Button Graceful Shutdown"
self.set_cpld2_s3(0) #Clear S3 status
else:
reboot_cause = self.REBOOT_CAUSE_NON_HARDWARE
description = ""
return (reboot_cause, description)
def get_change_event(self, timeout=0):
"""
Returns a nested dictionary containing all devices which have
experienced a change at chassis level
"""
start_ms = time.time() * 1000
port_dict = {}
change_dict = {}
change_dict['sfp'] = port_dict
while True:
time.sleep(0.5)
for port_num in range(1, self.num_sfp+1):
# get_presence() no wait for MgmtInit duration
presence = self.get_sfp(port_num).get_presence()
if(presence and self._global_port_pres_dict[port_num] == '0'):
self._global_port_pres_dict[port_num] = '1'
port_dict[port_num] = '1'
if self.get_sfp(port_num).get_reset_status() == True:
self.get_sfp(port_num).no_reset()
elif(not presence and
self._global_port_pres_dict[port_num] == '1'):
self._global_port_pres_dict[port_num] = '0'
port_dict[port_num] = '0'
if(len(port_dict) > 0):
return True, change_dict
if timeout:
now_ms = time.time() * 1000
if (now_ms - start_ms >= timeout):
return True, change_dict
##############################################################
######################## SFP methods #########################
##############################################################
def get_num_sfps(self):
"""
Retrieves the number of sfps available on this chassis
Returns:
An integer, the number of sfps available on this chassis
"""
if not self.sfp_module_initialized:
self.__initialize_sfp()
return len(self._sfp_list)
def get_all_sfps(self):
"""
Retrieves all sfps available on this chassis
Returns:
A list of objects derived from SfpBase representing all sfps
available on this chassis
"""
if not self.sfp_module_initialized:
self.__initialize_sfp()
return self._sfp_list
def get_sfp(self, index):
"""
Retrieves sfp represented by (0-based) index <index>
Args:
index: An integer, the index (0-based) of the sfp to retrieve.
The index should be the sequence of a physical port in a chassis,
starting from 0.
For example, 0 for Ethernet0, 1 for Ethernet4 and so on.
Returns:
An object dervied from SfpBase representing the specified sfp
"""
sfp = None
if not self.sfp_module_initialized:
self.__initialize_sfp()
try:
# The index will start from 0
sfp = self._sfp_list[index-1]
except IndexError:
sys.stderr.write("SFP index {} out of range (1-{})\n".format(
index, len(self._sfp_list)))
return sfp
##############################################
# System LED methods
##############################################
def set_status_led(self, color):
"""
Sets the state of the system LED
Args:
color: A string representing the color with which to set the
system LED
Returns:
bool: True if system LED state is set successfully, False if not
"""
if color not in self.supported_led_color:
return False
reg_path = "/".join([CPLD2_INFO_PATH, "sysrdy_rst_state"])
# Read current status
try:
with open(reg_path, "r+") as reg_file:
content_str = reg_file.readline().rstrip()
reg_value = int(content_str, 16)
color_value = self.color_to_status_led_reg[color]
new_reg_value = reg_value & 0b11111100 | color_value
reg_file.seek(0)
reg_file.write(hex(new_reg_value))
except IOError as e:
print("Error: unable to open file: %s" % str(e))
return False
# clear S3 and S5 if status led set 'green_blink' for booting
if color == 'green_blink':
if self.get_cpld2_s5() == 1:
self.set_cpld2_s5(0) #Clear S5 status
self.set_cpld2_s5(1) #Enable to record S5 status
if self.get_cpld2_s3() == 1:
self.set_cpld2_s3(0) #Clear S3 status
return True
def get_status_led(self):
"""
Gets the state of the system LED
Returns:
A string, one of the valid LED color strings which could be vendor
specified.
"""
reg_path = "/".join([CPLD2_INFO_PATH, "sysrdy_rst_state"])
# Read status
try:
with open(reg_path) as reg_file:
content = reg_file.readline().rstrip()
except IOError as e:
print("Error: unable to open file: %s" % str(e))
return False
content_value = int(content, 16)
sysled_color_reg = content_value & 0b11
return self.status_led_reg_to_color.get(sysled_color_reg, "Unknown " + content)
def get_watchdog(self):
"""
Retreives hardware watchdog device on this chassis
Returns:
An object derived from WatchdogBase representing the hardware
watchdog device
"""
if self._watchdog is None:
# Initialize watchdog
try:
self._watchdog = Watchdog()
except Exception as e:
self._watchdog = None
return self._watchdog
def set_cpld2_s3(self, s3):
"""
Sets the bit S3 in CPLD2 sysrdy_rst_state (offset 0x03)
Args:
s3: integer 1 or 0
Returns:
bool: True if the bit is set successfully, False if not
"""
reg_path = "/".join([CPLD2_INFO_PATH, "sysrdy_rst_state"])
# Read current status
try:
with open(reg_path, "r+") as reg_file:
content_str = reg_file.readline().rstrip()
reg_value = int(content_str, 16)
bit_value = 0b10000 if s3!=0 else 0
new_reg_value = reg_value & 0b11101111 | bit_value
reg_file.seek(0)
reg_file.write(hex(new_reg_value))
except IOError as e:
print("Error: unable to open file: %s" % str(e))
return False
return True
def get_cpld2_s3(self):
"""
Gets the bit S3 in CPLD2 sysrdy_rst_state (offset 0x03)
Returns:
integer 1 or 0.
"""
reg_path = "/".join([CPLD2_INFO_PATH, "sysrdy_rst_state"])
# Read status
try:
with open(reg_path) as reg_file:
content = reg_file.readline().rstrip()
except IOError as e:
print("Error: unable to open file: %s" % str(e))
return False
content_value = int(content, 16)
bit_value = 1 if (content_value & 0b10000) != 0 else 0
return bit_value
def initizalize_system_led(self):
"""
called by system_health.py. do nothing here.
"""
return True
def get_cpld2_s5(self):
"""
Gets the bit S5 in CPLD2 sysrdy_rst_state (offset 0x03)
Returns:
integer 1 or 0.
"""
reg_path = "/".join([CPLD2_INFO_PATH, "sysrdy_rst_state"])
# Read status
try:
with open(reg_path) as reg_file:
content = reg_file.readline().rstrip()
except IOError as e:
print("Error: unable to open file: %s" % str(e))
return False
content_value = int(content, 16)
bit_value = 1 if (content_value & 0b1000000) != 0 else 0
return bit_value
def set_cpld2_s5(self, s5):
"""
Sets the bit S5 in CPLD2 sysrdy_rst_state (offset 0x03)
Args:
s5: integer 1 or 0
Returns:
bool: True if the bit is set successfully, False if not
"""
reg_path = "/".join([CPLD2_INFO_PATH, "sysrdy_rst_state"])
# Read current status
try:
with open(reg_path, "r+") as reg_file:
content_str = reg_file.readline().rstrip()
reg_value = int(content_str, 16)
bit_value = 0b100000 if s5!=0 else 0
new_reg_value = reg_value & 0b11011111 | bit_value
reg_file.seek(0)
reg_file.write(hex(new_reg_value))
except IOError as e:
print("Error: unable to open file: %s" % str(e))
return False
return True
def get_bmc_reboot_cause(self):
"""
Gets the reboot cause from BMC
"""
reboot_cause = -1
status, raw_cause = self._api_helper.ipmi_raw(
IPMI_OEM_NETFN, IPMI_GET_REBOOT_CAUSE)
if status:
hx_cause_list = []
if raw_cause == '':
return False
else:
hx_cause = int(raw_cause.split()[0], 16)
if hx_cause > 0:
self._api_helper.ipmi_raw(IPMI_OEM_NETFN, IPMI_CLEAR_REBOOT_CAUSE) #Clear BMC reboot cause
for i in range(0, NUM_BMC_REBOOT_CAUSE):
if ((hx_cause >> i) & 1):
hx_cause_list.append(i)
#Invalid case if multiple BMC reboot causes
if len(hx_cause_list) > 1:
sys.stderr.write("{} BMC reboot causes: {}\n".format(
len(hx_cause_list), f'0b{hx_cause:08b}'))
else:
reboot_cause = hx_cause_list[0]
else:
status = False
return status, reboot_cause
def set_cpld1_wdt_rst(self, enable):
"""
Set bit 7 in CPLD1 sysrst_rec (offset 0x09) to clean bit 4.
Args:
enable: 1: enable record
0: clear
Returns:
bool: True if the bit is set successfully, False if not
"""
reg_path = "/".join([CPLD1_INFO_PATH, "sysrst_rec"])
# Read current status
try:
with open(reg_path, "r+") as reg_file:
content_str = reg_file.readline().rstrip()
reg_value = int(content_str, 16)
bit_value = 0x80 if enable else 0
new_reg_value = reg_value & 0x7f | bit_value
reg_file.seek(0)
reg_file.write(hex(new_reg_value))
except IOError as e:
print("Error: unable to open file: %s" % str(e))
return False
return True
def get_cpld1_wdt_rst(self):
"""
Get the bit 4 in CPLD1 sysrst_rec (offset 0x09).
Returns:
integer 1 or 0.
"""
reg_path = "/".join([CPLD1_INFO_PATH, "sysrst_rec"])
# Read status
try:
with open(reg_path) as reg_file:
content = reg_file.readline().rstrip()
except IOError as e:
print("Error: unable to open file: %s" % str(e))
return False
content_value = int(content, 16)
bit_value = 1 if (content_value & 0x10) != 0 else 0
return bit_value
def get_cpld1_board_rev(self):
"""
Get the bit [5:3] from CPLD1 ver_bmc_i2c (offset 0xF0:0xF3).
Returns:
String of board version.
"""
reg_path = "/".join([CPLD1_INFO_PATH, "ver_bmc_i2c"])
# Read status
try:
with open(reg_path) as reg_file:
content = reg_file.readline().rstrip()
except IOError as e:
print("Error: unable to open file: %s" % str(e))
return 'N/A'
content_value = int(content, 16)
# bit [5:3] offset 0xF1
board_ver = (content_value >> 19) & 0x07
str_dir = {0b000:'1.00', 0b001:'1.01', 0b010:'1.02'}
rev_str = str_dir.get(board_ver, 'Unknown({:#05b})'.format(board_ver))
return rev_str

View File

@ -0,0 +1,106 @@
#############################################################################
# SuperMicro SSE-T7132S
#
# Component contains an implementation of SONiC Platform Base API and
# provides the components firmware management function
#
#############################################################################
try:
from sonic_platform_base.component_base import ComponentBase
from .helper import APIHelper
except ImportError as e:
raise ImportError(str(e) + "- required module not found")
COMPONENT_LIST = [
("BIOS", "Basic Input/Output System"),
("BMC", "Baseboard Management Controller"),
("SWITCH_CPLD1", "Switch board CPLD1"),
("SWITCH_CPLD2", "Switch board CPLD2")
]
SW_CPLD1_VER_PATH = "/sys/devices/platform/switchboard/CPLD1/ver_bmc_i2c"
SW_CPLD2_VER_PATH = "/sys/devices/platform/switchboard/CPLD2/ver_bmc_i2c"
CPLD_UPGRADE_OPT = 4
BIOS_VER_PATH = "/sys/class/dmi/id/bios_version"
BIOS__UPGRADE_OPT = 2
BMC_VER_CMD = "ipmitool mc info | grep 'Firmware Revision'"
IPMI_BMC_VER_NETFN = "0x6"
IPMI_BMC_VER_CMD = "0x1"
BMC_VER_MAJOR_OFFSET = 2
BMC_VER_MINOR_OFFSET = 3
BMC_VER_AUX_OFFSET = 11
BMC_UPGRADE_OPT = 1
CFUFLASH_FW_UPGRADE_CMD = "CFUFLASH -cd -d {} -mse 3 {}"
MEM_PCI_RESOURCE = "/sys/bus/pci/devices/0000:09:00.0/resource0"
FPGA_VER_MEM_OFFSET = 0
class Component(ComponentBase):
"""Platform-specific Component class"""
DEVICE_TYPE = "component"
def __init__(self, component_index):
ComponentBase.__init__(self)
self.index = component_index
self.name = self.get_name()
self._api_helper = APIHelper()
def __get_bmc_ver(self):
bmc_ver = "Unknown"
status, raw_bmc_data = self._api_helper.ipmi_raw(
IPMI_BMC_VER_NETFN, IPMI_BMC_VER_CMD)
if status:
bmc_ver_data_list = raw_bmc_data.split()
bmc_ver = '{}.{}.{}'.format(bmc_ver_data_list[BMC_VER_MAJOR_OFFSET],
bmc_ver_data_list[BMC_VER_MINOR_OFFSET],
bmc_ver_data_list[BMC_VER_AUX_OFFSET])
return bmc_ver
def __get_cpld_ver(self,path):
cpld_data = self._api_helper.read_txt_file(path)
cpld_ver = cpld_data[-2:]
return cpld_ver
def get_name(self):
"""
Retrieves the name of the component
Returns:
A string containing the name of the component
"""
return COMPONENT_LIST[self.index][0]
def get_description(self):
"""
Retrieves the description of the component
Returns:
A string containing the description of the component
"""
return COMPONENT_LIST[self.index][1]
def get_firmware_version(self):
"""
Retrieves the firmware version of module
Returns:
string: The firmware versions of the module
"""
fw_version = {
"BIOS": self._api_helper.read_txt_file(BIOS_VER_PATH),
"BMC": self.__get_bmc_ver(),
"SWITCH_CPLD1": self.__get_cpld_ver(SW_CPLD1_VER_PATH),
"SWITCH_CPLD2": self.__get_cpld_ver(SW_CPLD2_VER_PATH),
}.get(self.name, "Unknown")
return fw_version
def install_firmware(self, image_path):
"""
Install firmware to module
Args:
image_path: A string, path to firmware image
Returns:
A boolean, True if install successfully, False if not
"""
"""Not Implement"""
return False

View File

@ -0,0 +1,122 @@
#############################################################################
# SuperMicro SSE-T7132S
#
# Platform and model specific eeprom subclass, inherits from the base class,
# and provides the followings:
# - the eeprom format definition
# - specific encoder/decoder if there is special need
#############################################################################
try:
import os
import sys
import re
if sys.version_info.major == 3:
from io import StringIO
else:
from cStringIO import StringIO
from sonic_platform_base.sonic_eeprom import eeprom_dts
from sonic_platform_base.sonic_eeprom import eeprom_tlvinfo
except ImportError as e:
raise ImportError(str(e) + "- required module not found")
CACHE_ROOT = '/var/cache/sonic/decode-syseeprom'
CACHE_FILE = 'syseeprom_cache'
TLV_EEPROM_I2C_BUS = 0
TLV_EEPROM_I2C_ADDR = 53
class Tlv(eeprom_tlvinfo.TlvInfoDecoder):
EEPROM_DECODE_HEADLINES = 6
def __init__(self):
self._eeprom_path = "/sys/class/i2c-adapter/i2c-{0}/{0}-00{1}/eeprom".format(
TLV_EEPROM_I2C_BUS, TLV_EEPROM_I2C_ADDR)
super(Tlv, self).__init__(self._eeprom_path, 0, '', True)
self._eeprom = self._load_eeprom()
def __parse_output(self, decode_output):
decode_output.replace('\0', '')
lines = decode_output.split('\n')
lines = lines[self.EEPROM_DECODE_HEADLINES:]
_eeprom_info_dict = dict()
for line in lines:
try:
match = re.search(
'(0x[0-9a-fA-F]{2})([\s]+[\S]+[\s]+)([\S]+)', line)
if match is not None:
idx = match.group(1)
value = match.group(3).rstrip('\0')
_eeprom_info_dict[idx] = value
except Exception:
pass
return _eeprom_info_dict
def _load_eeprom(self):
original_stdout = sys.stdout
sys.stdout = StringIO()
try:
self.read_eeprom_db()
except Exception as e:
decode_output = sys.stdout.getvalue()
sys.stdout = original_stdout
return self.__parse_output(decode_output)
status = self.check_status()
if 'ok' not in status:
return False
if not os.path.exists(CACHE_ROOT):
try:
os.makedirs(CACHE_ROOT)
except Exception:
pass
#
# only the eeprom classes that inherit from eeprom_base
# support caching. Others will work normally
#
try:
self.set_cache_name(os.path.join(CACHE_ROOT, CACHE_FILE))
except Exception:
pass
e = self.read_eeprom()
if e is None:
return 0
try:
self.update_cache(e)
except Exception:
pass
self.decode_eeprom(e)
decode_output = sys.stdout.getvalue()
sys.stdout = original_stdout
(is_valid, valid_crc) = self.is_checksum_valid(e)
if not is_valid:
return False
return self.__parse_output(decode_output)
def get_eeprom(self):
return self._eeprom
def get_serial(self):
return self._eeprom.get('0x23', "Undefined.")
def get_mac(self):
return self._eeprom.get('0x24', "Undefined.")
def get_productname(self):
return self._eeprom.get('0x21', "Undefined.")
def get_partnumber(self):
return self._eeprom.get('0x22', "Undefined.")

View File

@ -0,0 +1,353 @@
#############################################################################
# SuperMicro SSE-T7132S
#
# Module contains an implementation of SONiC Platform Base API and
# provides the fan status which are available in the platform
#
#############################################################################
import subprocess
try:
from sonic_platform_base.fan_base import FanBase
from .helper import APIHelper
from swsscommon.swsscommon import SonicV2Connector
except ImportError as e:
raise ImportError(str(e) + "- required module not found")
FAN_NAME_LIST = ["FAN-1", "FAN-2", "FAN-3", "FAN-4", "FAN-5", "FAN-6"]
IPMI_SENSOR_NETFN = "0x04"
IPMI_SS_READ_CMD = "0x2D {}"
IPMI_OEM_NETFN = "0x30"
IPMI_GET_FAN_SPEED_CMD = "0x70 0x66 0x00 {}"
IPMI_SET_FAN_SPEED_CMD = "0x70 0x66 0x01 {} {}"
IPMI_GET_FAN_LED_CMD = "0x89 0x03 0x00 {}"
IPMI_SET_FAN_LED_CMD = "0x89 0x03 0x01 {} {}"
IPMI_FAN_LED_OFF = 0x00
IPMI_FAN_LED_GREEN = 0x01
IPMI_FAN_LED_AMBER = 0x02
IPMI_FAN_LED_AMBER_BLINK = 0x03
IPMI_GET_PSU_FAN_SPEED_CMD = "0x89 0x04 0x{:02x} {}"
MAX_OUTLET = 29500
MAX_INLET = 25500
#MAX_PSU_FAN_OUTLET = 11200 # not a fixed value
#MAX_PSU_FAN_INLET = 11200 # not a fixed value
SPEED_TOLERANCE = 20 # based on the speed graph the slowest is about 20%
FAN_LIST = [
#name sensor_id led_num
('FAN1', '0x41', '0x04'),
('FAN2', '0x42', '0x05'),
('FAN3', '0x43', '0x06'),
('FAN4', '0x44', '0x07'),
('FAN5', '0x45', '0x08'),
('FAN6', '0x46', '0x09'),
]
SYSLOG_IDENTIFIER = "fan.py"
NOT_AVAILABLE = 'N/A'
class Fan(FanBase):
"""Platform-specific Fan class"""
def __init__(self, fan_pwn_number=0, fan_index=0, is_psu_fan=False, psu=None):
FanBase.__init__(self)
#self.logger = logger.Logger(SYSLOG_IDENTIFIER)
#self.logger.set_min_log_priority_debug()
#self.logger.log_debug('init fan_pwn_number={} fan_index={}'.format(fan_pwn_number, fan_index))
self.fan_pwn_number = fan_pwn_number
self.is_psu_fan = is_psu_fan
if self.is_psu_fan:
self.psu = psu
self.psu_index = self.psu.index
self._api_helper = APIHelper()
self.index = fan_index
self.sensor_reading_addr = FAN_LIST[self.index][1]
self.led_number = FAN_LIST[self.index][2]
self.led_set = self.STATUS_LED_COLOR_OFF
self.speed_set = None
def get_direction(self):
"""
Retrieves the direction of fan
Returns:
A string, either FAN_DIRECTION_INTAKE or FAN_DIRECTION_EXHAUST
depending on fan direction
"""
# read part number from eeprom
# psu fan follows the same rule
db = SonicV2Connector()
db.connect(db.STATE_DB)
eeprom_table = db.get_all(db.STATE_DB, 'EEPROM_INFO|0x22')
if "Name" in eeprom_table and eeprom_table["Name"] == "Part Number" and "Value" in eeprom_table:
part_number = eeprom_table["Value"]
else:
part_number_cmd = "sudo decode-syseeprom | grep 'Part Number' | grep -oE '[^ ]+$'"
part_number = subprocess.Popen(part_number_cmd, shell=True, text=True, stdout=subprocess.PIPE).stdout.read()
if "T7132SR" in part_number:
# "SSE-T7132SR"
direction = self.FAN_DIRECTION_INTAKE
else:
# "SSE-T7132S"
direction = self.FAN_DIRECTION_EXHAUST
return direction
def get_speed_rpm(self):
"""
Retrieves the speed of fan as RPM.
Returns:
An integer of RPM.
"""
if self.is_psu_fan:
status, raw_ss_read = self._api_helper.ipmi_raw(
IPMI_OEM_NETFN, IPMI_GET_PSU_FAN_SPEED_CMD.format(self.psu_index + 1, "0x08"))
rpm_speed = int("".join(raw_ss_read.split()[::-1]), 16) if status else 0
else:
status, raw_ss_read = self._api_helper.ipmi_raw(
IPMI_SENSOR_NETFN, IPMI_SS_READ_CMD.format(self.sensor_reading_addr))
# factor 140 should read from SDR
rpm_speed = int(raw_ss_read.split()[0], 16) * 140 if status else 0
return rpm_speed
def get_speed(self):
"""
Retrieves the speed of fan as a percentage of full speed
Returns:
An integer, the percentage of full fan speed, in the range 0 (off)
to 100 (full speed)
"""
rpm_speed = self.get_speed_rpm()
if self.is_psu_fan:
# psu fan do not know max speed, so return rpm
speed = rpm_speed
if speed <= 100:
speed = 0 # to prevent be taken as percentage
else:
# when intake, the whole fan module is reversed, so still MAX_OUTLET
max = MAX_OUTLET
speed = int(float(rpm_speed)/max * 100)
return speed
def get_target_speed(self):
"""
Retrieves the target (expected) speed of the fan
Returns:
An integer, the percentage of full fan speed, in the range 0 (off)
to 100 (full speed)
"""
"""
status, raw_ss_read = self._api_helper.ipmi_raw(
IPMI_OEM_NETFN, IPMI_GET_FAN_SPEED_CMD.format(self.fan_pwn_number))
ss_read = raw_ss_read.split()[0]
pwn = int(ss_read, 16)
target = pwn
"""
if self.is_psu_fan:
# not support so return current speed
target = self.get_speed()
else:
# set and get result are not the same with our ipmi oem command
# This is because of the scaling between 100-based and 255-based
# here just return the cached set value for tesstbed
target = self.speed_set
if target is None:
target = self.get_speed()
return target
def get_speed_tolerance(self):
"""
Retrieves the speed tolerance of the fan
Returns:
An integer, the percentage of variance from target speed which is
considered tolerable
"""
return SPEED_TOLERANCE
def set_speed(self, speed):
"""
Sets the fan speed
Args:
speed: An integer, the percentage of full fan speed to set fan to,
in the range 0 (off) to 100 (full speed)
Returns:
A boolean, True if speed is set successfully, False if not
"""
if self.is_psu_fan:
# not support
return False
speed_hex = hex(speed)
status, raw_ss_read = self._api_helper.ipmi_raw(
IPMI_OEM_NETFN, IPMI_SET_FAN_SPEED_CMD.format(self.fan_pwn_number, speed_hex))
set_speed = False if not status else True
if set_speed:
self.speed_set = speed
return set_speed
def set_status_led(self, color):
"""
Sets the state of the fan module status LED
Args:
color: A string representing the color with which to set the
fan module status LED
Returns:
bool: True if status LED state is set successfully, False if not
"""
if self.is_psu_fan:
# Not support
return False
# there are only green and red led on fan
led_color = {
self.STATUS_LED_COLOR_GREEN: IPMI_FAN_LED_GREEN,
self.STATUS_LED_COLOR_AMBER: IPMI_FAN_LED_AMBER,
self.STATUS_LED_COLOR_RED: IPMI_FAN_LED_AMBER,
self.STATUS_LED_COLOR_OFF: IPMI_FAN_LED_OFF
}.get(color)
status, set_led = self._api_helper.ipmi_raw(
IPMI_OEM_NETFN, IPMI_SET_FAN_LED_CMD.format(self.led_number, led_color))
if status:
set_status_led = True
self.led_set = color
else:
set_status_led = False
return set_status_led
def get_status_led(self):
"""
Gets the state of the fan status LED
Returns:
A string, one of the predefined STATUS_LED_COLOR_* strings above
"""
if self.is_psu_fan:
# Not support
return NOT_AVAILABLE
status, hx_color = self._api_helper.ipmi_raw(
IPMI_OEM_NETFN, IPMI_GET_FAN_LED_CMD.format(self.led_number))
# there are only green and red led on fan
status_led = {
"00": self.STATUS_LED_COLOR_OFF,
"01": self.STATUS_LED_COLOR_GREEN,
"02": self.STATUS_LED_COLOR_RED,
}.get(hx_color, self.STATUS_LED_COLOR_OFF)
# if it was set AMBER then return AMBER
if status_led == self.STATUS_LED_COLOR_RED:
if self.led_set == self.STATUS_LED_COLOR_AMBER:
status_led = self.STATUS_LED_COLOR_AMBER
return status_led
def get_name(self):
"""
Retrieves the name of the device
Returns:
string: The name of the device
"""
if self.is_psu_fan:
fan_name = "PSU {} FAN-{}".format(self.psu_index+1, self.index+1)
else:
fan_name = FAN_NAME_LIST[self.index]
return fan_name
def get_presence(self):
"""
Retrieves the presence of the FAN
Returns:
bool: True if FAN is present, False if not
"""
if self.is_psu_fan:
presence = self.psu.get_presence()
return presence
rpm_speed = self.get_speed_rpm()
if rpm_speed == 0:
presence = False
else:
presence = True
return presence
def get_model(self):
"""
Retrieves the model number (or part number) of the device
Returns:
string: Model/part number of device
"""
if self.is_psu_fan:
model = self.psu.get_model()
else:
model = "Unknown"
return model
def get_serial(self):
"""
Retrieves the serial number of the device
Returns:
string: Serial number of device
"""
if self.is_psu_fan:
serial = self.psu.get_serial()
else:
serial = "Unknown"
return serial
def get_status(self):
"""
Retrieves the operational status of the device
Returns:
A boolean value, True if device is operating properly, False if not
"""
if self.is_psu_fan:
# psu status dose not include psu fan status
# follow PWS-1K62A-1R HW P2 11122014.pdf defined slow fan (<1200rpm)
rpm = self.get_speed_rpm()
status = (rpm >= 1200)
return status
else:
return self.get_presence() and self.get_speed() > 0
def get_position_in_parent(self):
"""
Retrieves 1-based relative physical position in parent device. If the agent cannot determine the parent-relative position
for some reason, or if the associated value of entPhysicalContainedIn is '0', then the value '-1' is returned
Returns:
integer: The 1-based relative physical position in parent device or -1 if cannot determine the position
"""
return (self.index + 1)
def is_replaceable(self):
"""
Indicate whether this device is replaceable.
Returns:
bool: True if it is replaceable.
"""
if self.is_psu_fan:
replaceable = self.psu.is_replaceable()
return replaceable
else:
return True

View File

@ -0,0 +1,121 @@
#!/usr/bin/env python
#############################################################################
# Celestica
#
# Module contains an implementation of SONiC Platform Base API and
# provides the the Fan-Drawers' information available in the platform
#
#############################################################################
try:
from sonic_platform_base.fan_drawer_base import FanDrawerBase
except ImportError as e:
raise ImportError(str(e) + "- required module not found")
NUM_FAN = 1
class FanDrawer(FanDrawerBase):
def __init__(self, fantray_index):
FanDrawerBase.__init__(self)
self._index = fantray_index + 1
self._init_fan(fantray_index)
def _init_fan(self, fantray_index):
from sonic_platform.fan import Fan
self.PWN_LIST = [0, 1, 0, 1, 2, 2] # TODO: will change in next HW version
for index in range(NUM_FAN):
pwn = self.PWN_LIST[fantray_index]
fan = Fan(pwn, fantray_index)
self._fan_list.append(fan)
def set_status_led(self, color):
"""
Sets the state of the fan drawer status LED
Args:
color: A string representing the color with which to set the
fan drawer status LED
Returns:
bool: True if status LED state is set successfully, False if not
"""
return self._fan_list[0].set_status_led(color)
def get_status_led(self, color=None):
"""
Gets the state of the fan drawer LED
Returns:
A string, one of the predefined STATUS_LED_COLOR_* strings above
"""
return self._fan_list[0].get_status_led()
def get_maximum_consumed_power(self):
"""
Retrives the maximum power drawn by Fan Drawer
Returns:
A float, with value of the maximum consumable power of the
component.
"""
return 30.24 # by Eddie
##############################################################
###################### Device methods ########################
##############################################################
def get_name(self):
"""
Retrieves the name of the device
Returns:
string: The name of the device
"""
return "Drawer{}".format(self._index)
def get_presence(self):
"""
Retrieves the presence of the device
Returns:
bool: True if device is present, False if not
"""
return self._fan_list[0].get_presence()
def get_model(self):
"""
Retrieves the model number (or part number) of the device
Returns:
string: Model/part number of device
"""
return self._fan_list[0].get_model()
def get_serial(self):
"""
Retrieves the serial number of the device
Returns:
string: Serial number of device
"""
return self._fan_list[0].get_serial()
def get_status(self):
"""
Retrieves the operational status of the device
Returns:
A boolean value, True if device is operating properly, False if not
"""
return self._fan_list[0].get_status()
def get_position_in_parent(self):
"""
Retrieves 1-based relative physical position in parent device. If the agent cannot determine the parent-relative position
for some reason, or if the associated value of entPhysicalContainedIn is '0', then the value '-1' is returned
Returns:
integer: The 1-based relative physical position in parent device or -1 if cannot determine the position
"""
return self._index
def is_replaceable(self):
"""
Indicate whether this device is replaceable.
Returns:
bool: True if it is replaceable.
"""
return True

View File

@ -0,0 +1,108 @@
import os
import struct
import subprocess
from mmap import *
HOST_CHK_CMD = "docker > /dev/null 2>&1"
EMPTY_STRING = ""
class APIHelper():
def __init__(self):
pass
def is_host(self):
return os.system(HOST_CHK_CMD) == 0
def pci_get_value(self, resource, offset):
status = True
result = ""
try:
fd = os.open(resource, os.O_RDWR)
mm = mmap(fd, 0)
mm.seek(int(offset))
read_data_stream = mm.read(4)
result = struct.unpack('I', read_data_stream)
except Exception as e:
status = False
return status, result
def run_command(self, cmd):
status = True
result = ""
try:
p = subprocess.Popen(
cmd, shell=True, universal_newlines=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
raw_data, err = p.communicate()
if err == '':
result = raw_data.strip()
except Exception as e:
status = False
return status, result
def run_interactive_command(self, cmd):
try:
os.system(cmd)
except Exception as e:
return False
return True
def read_txt_file(self, file_path):
try:
with open(file_path, 'r') as fd:
data = fd.read()
return data.strip()
except IOError:
pass
return None
def ipmi_raw(self, netfn, cmd):
status = True
result = ""
try:
cmd = ["ipmitool raw {} {}".format(str(netfn), str(cmd))]
p = subprocess.Popen(
cmd, shell=True, universal_newlines=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
raw_data, err = p.communicate()
if err == '':
result = raw_data.strip()
else:
status = False
except Exception as e:
status = False
return status, result
def ipmi_fru_id(self, id, key=None):
status = True
result = ""
try:
cmd = ["ipmitool fru print {}".format(str(
id))] if not key else ["ipmitool fru print {0} | grep '{1}' ".format(str(id), str(key))]
p = subprocess.Popen(
cmd, shell=True, universal_newlines=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
raw_data, err = p.communicate()
if err == '':
result = raw_data.strip()
else:
status = False
except Exception as e:
status = False
return status, result
def ipmi_set_ss_thres(self, id, threshold_key, value):
status = True
result = ""
try:
cmd = ["ipmitool sensor thresh '{}' {} {}".format(str(id), str(threshold_key), str(value))]
p = subprocess.Popen(
cmd, shell=True, universal_newlines=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
raw_data, err = p.communicate()
if err == '':
result = raw_data.strip()
else:
status = False
except Exception as e:
status = False
return status, result

View File

@ -0,0 +1,18 @@
#############################################################################
# SuperMicro SSE-T7132S
#
# Module contains an implementation of SONiC Platform Base API and
# provides the PCIe information which are available in the platform
#
#############################################################################
try:
from sonic_platform_base.sonic_pcie.pcie_common import PcieUtil
except ImportError as e:
raise ImportError(str(e) + "- required module not found")
class Pcie(PcieUtil):
""" T7132S Platform-specific PCIe class """
""" fallback to pcie_common.PcieUtil to avoid pcieutil warning message """

View File

@ -0,0 +1,21 @@
#############################################################################
# SuperMicro SSE-T7132S
#
# Module contains an implementation of SONiC Platform Base API and
# provides the platform information
#
#############################################################################
try:
from sonic_platform_base.platform_base import PlatformBase
from sonic_platform.chassis import Chassis
except ImportError as e:
raise ImportError(str(e) + "- required module not found")
class Platform(PlatformBase):
"""Platform-specific Platform class"""
def __init__(self):
PlatformBase.__init__(self)
self._chassis = Chassis()

View File

@ -0,0 +1,545 @@
#############################################################################
# SuperMicro SSE-T7132S
#
# Module contains an implementation of SONiC Platform Base API and
# provides the PSUs status which are available in the platform
#
#############################################################################
import re
try:
from sonic_platform_base.psu_base import PsuBase
from .helper import APIHelper
from sonic_platform.fan import Fan
from sonic_platform_base.thermal_base import ThermalBase
except ImportError as e:
raise ImportError(str(e) + "- required module not found")
PSU_NAME_LIST = ["PSU_1", "PSU_2"]
PSU_NUM_FAN = [1, 1]
PSU_NUM_TERMAL = [2, 2]
IPMI_SENSOR_NETFN = "0x04"
IPMI_OEM_NETFN = "0x30"
IPMI_SS_READ_CMD = "0x2D {}"
IPMI_OEM_CMD = "0x89 {}"
IPMI_PSU_TYPE_CMD = "0x1 {}"
IPMI_GET_PSU_LED_MODE_CMD = "0x2 0x1"
IPMI_SET_PSU_LED_MODE_CMD = "0x2 0x2 {}"
IPMI_GET_PSU_LED_PATTERN_CMD = "0x3 0x0 {}"
IPMI_SET_PSU_LED_PATTERN_CMD = "0x3 0x1 {} {}"
IPMI_PSU_INFO_CMD= "0x4 {} {}"
PSU_LED_OFF_CMD = "0x00"
PSU_LED_GREEN_CMD = "0x01"
PSU_LED_AMBER_CMD = "0x02"
PSU_SERIAL_CMD = "0x00"
PSU_MODEL_CMD = "0x01"
PSU_VOUT_CMD = "0x02"
PSU_COUT_CMD = "0x03"
PSU_POUT_CMD = "0x04"
PSU_VIN_CMD = "0x05"
PSU_CIN_CMD = "0x06"
PSU_PIN_CMD = "0x07"
PSU_FAN1_CMD = "0x08"
PSU_FAN2_CMD = "0x09"
PSU_TEMP1_CMD = "0x0A"
PSU_TEMP2_CMD = "0x0B"
PSU_MAX_TEMP1_CMD = "0x0C"
PSU_MAX_TEMP2_CMD = "0x0D"
PSU_MAX_POUT_CMD = "0x0E"
PSU1_STATUS_REG = "0xC4"
PSU2_STATUS_REG = "0xC5"
PSU1_FRU_ID = 3
PSU_OUT_VOLTAGE = 12
SS_READ_OFFSET = 0
OEM_READ_OFFSET = 0
class Psu(PsuBase):
"""Platform-specific Psu class"""
def __init__(self, psu_index):
PsuBase.__init__(self)
self.index = psu_index
for fan_index in range(0, PSU_NUM_FAN[self.index]):
fan = Fan(0, fan_index, is_psu_fan=True, psu=self)
self._fan_list.append(fan)
for thermal_index in range(0, PSU_NUM_TERMAL[self.index]):
self._thermal_list.append(PsuThermal(self, thermal_index))
self._api_helper = APIHelper()
def find_value(self, in_string):
result = re.search("^.+ ([0-9a-f]{2}) .+$", in_string)
return result.group(1) if result else result
def get_voltage(self):
"""
Retrieves current PSU voltage output
Returns:
A float number, the output voltage in volts,
e.g. 12.1
"""
psu_voltage = 0.0
psu_vout_key = IPMI_PSU_INFO_CMD.format(self.index+1, PSU_VOUT_CMD)
status, raw_oem_read = self._api_helper.ipmi_raw(
IPMI_OEM_NETFN, IPMI_OEM_CMD.format(psu_vout_key))
if raw_oem_read:
# Formula: R/10
psu_voltage = int("".join(raw_oem_read.split()[::-1]), 16) / 10
return psu_voltage
def get_voltage_high_threshold(self):
"""
Retrieves the high threshold PSU voltage output
Returns:
A float number, the high threshold output voltage in volts,
e.g. 12.1
"""
# Formula: PSU_OUT_VOLTAGEx11/10
psu_voltage = PSU_OUT_VOLTAGE * 11 / 10
return psu_voltage
def get_voltage_low_threshold(self):
"""
Retrieves the low threshold PSU voltage output
Returns:
A float number, the low threshold output voltage in volts,
e.g. 12.1
"""
# Formula: PSU_OUT_VOLTAGEx9/10
psu_voltage = PSU_OUT_VOLTAGE * 9 / 10
return psu_voltage
def get_current(self):
"""
Retrieves present electric current supplied by PSU
Returns:
A float number, the electric current in amperes, e.g 15.4
"""
psu_current = 0.0
psu_cout_key = IPMI_PSU_INFO_CMD.format(self.index+1, PSU_COUT_CMD)
status, raw_oem_read = self._api_helper.ipmi_raw(
IPMI_OEM_NETFN, IPMI_OEM_CMD.format(psu_cout_key))
if raw_oem_read:
# Formula: R/1000
psu_current = int("".join(raw_oem_read.split()[::-1]), 16) / 1000
return psu_current
def get_power(self):
"""
Retrieves current energy supplied by PSU
Returns:
A float number, the power in watts, e.g. 302.6
"""
psu_power = 0.0
psu_pout_key = IPMI_PSU_INFO_CMD.format(self.index+1, PSU_POUT_CMD)
status, raw_oem_read = self._api_helper.ipmi_raw(
IPMI_OEM_NETFN, IPMI_OEM_CMD.format(psu_pout_key))
if raw_oem_read:
# Formula: R
psu_power = int("".join(raw_oem_read.split()[::-1]), 16)
return psu_power
def get_maximum_supplied_power(self):
"""
Retrieves the maximum supplied power by PSU
Returns:
A float number, the maximum power output in Watts.
e.g. 1200.1
"""
psu_power = 0.0
psu_pout_key = IPMI_PSU_INFO_CMD.format(self.index+1, PSU_MAX_POUT_CMD)
status, raw_oem_read = self._api_helper.ipmi_raw(
IPMI_OEM_NETFN, IPMI_OEM_CMD.format(psu_pout_key))
if raw_oem_read:
# Formula: R
psu_power = int("".join(raw_oem_read.split()[::-1]), 16)
return psu_power
def get_powergood_status(self):
"""
Retrieves the powergood status of PSU
Returns:
A boolean, True if PSU has stablized its output voltages and passed all
its internal self-tests, False if not.
"""
return self.get_status()
def set_status_led(self, color):
"""
Sets the state of the PSU status LED
Args:
color: A string representing the color with which to set the PSU status LED
Note: Only support green and off
Returns:
bool: True if status LED state is set successfully, False if not
Note
"""
led_cmd = {
self.STATUS_LED_COLOR_GREEN: PSU_LED_GREEN_CMD,
"orange": PSU_LED_AMBER_CMD,
self.STATUS_LED_COLOR_OFF: PSU_LED_OFF_CMD
}.get(color)
psu_led_key = IPMI_SET_PSU_LED_PATTERN_CMD.format(self.index+2,led_cmd)
status, set_led = self._api_helper.ipmi_raw(
IPMI_OEM_NETFN, IPMI_OEM_CMD.format(psu_led_key))
set_status_led = False if not status else True
return set_status_led
def get_status_led(self):
"""
Gets the state of the PSU status LED
Returns:
A string, one of the predefined STATUS_LED_COLOR_* strings above
"""
psu_led_key = IPMI_GET_PSU_LED_PATTERN_CMD.format(self.index+2)
status, hx_color = self._api_helper.ipmi_raw(
IPMI_OEM_NETFN, IPMI_OEM_CMD.format(psu_led_key))
status_led = {
"00": self.STATUS_LED_COLOR_OFF,
"01": self.STATUS_LED_COLOR_GREEN,
"02": "orange",
}.get(hx_color, self.STATUS_LED_COLOR_OFF)
return status_led
def get_temperature(self):
"""
Retrieves current temperature reading from PSU
Returns:
A float number of current temperature in Celsius up to nearest thousandth
of one degree Celsius, e.g. 30.125
there are three temp sensors , we choose one of them
"""
# Need implement after BMC function ready
psu_temperature = None
return psu_temperature
def get_temperature_high_threshold(self):
"""
Retrieves the high threshold temperature of PSU
Returns:
A float number, the high threshold temperature of PSU in Celsius
up to nearest thousandth of one degree Celsius, e.g. 30.125
there are three temp sensors , we choose one of them
"""
# Need implement after BMC function ready
psu_temperature = None
return psu_temperature
def get_name(self):
"""
Retrieves the name of the device
Returns:
string: The name of the device
"""
return PSU_NAME_LIST[self.index]
def get_presence(self):
"""
Retrieves the presence of the PSU
Returns:
bool: True if PSU is present, False if not
"""
psu_presence = False
psu_pstatus_key = globals()['PSU{}_STATUS_REG'.format(self.index+1)]
status, raw_status_read = self._api_helper.ipmi_raw(
IPMI_SENSOR_NETFN, IPMI_SS_READ_CMD.format(psu_pstatus_key))
status_byte = self.find_value(raw_status_read)
if status:
presence_int = (int(status_byte, 16) >> 0) & 1
psu_presence = True if presence_int else False
return psu_presence
def get_model(self):
"""
Retrieves the model number (or part number) of the device
Returns:
string: Model/part number of device
"""
model = "Unknown"
psu_model_key = IPMI_PSU_INFO_CMD.format(self.index+1, PSU_MODEL_CMD)
status, raw_model = self._api_helper.ipmi_raw(
IPMI_OEM_NETFN, IPMI_OEM_CMD.format(psu_model_key))
model_raw_list = raw_model.split()
if len(model_raw_list) > 0:
model="".join(map(chr,map(lambda x: int(x, 16), model_raw_list)))
return model
def get_serial(self):
"""
Retrieves the serial number of the device
Returns:
string: Serial number of device
"""
serial = "Unknown"
psu_serial_key = IPMI_PSU_INFO_CMD.format(self.index+1, PSU_SERIAL_CMD)
status, raw_serial = self._api_helper.ipmi_raw(
IPMI_OEM_NETFN, IPMI_OEM_CMD.format(psu_serial_key))
serial_raw_list = raw_serial.split()
if len(serial_raw_list) > 0:
serial="".join(map(chr,map(lambda x: int(x, 16), serial_raw_list)))
return serial
def get_status(self):
"""
Retrieves the operational status of the device
Returns:
A boolean value, True if device is operating properly, False if not
"""
psu_status = False
psu_pstatus_key = globals()['PSU{}_STATUS_REG'.format(self.index+1)]
status, raw_status_read = self._api_helper.ipmi_raw(
IPMI_SENSOR_NETFN, IPMI_SS_READ_CMD.format(psu_pstatus_key))
status_byte = self.find_value(raw_status_read)
if status:
failure_detected = (int(status_byte, 16) >> 1) & 1
input_lost = (int(status_byte, 16) >> 3) & 1
psu_status = False if (input_lost or failure_detected) else True
return psu_status
def get_type(self):
"""
Retrives the Power Type of PSU
Returns :
A string, PSU power type
"""
psu_type = [None, 'AC', 'AC', 'DC']
psu_type_key = IPMI_PSU_TYPE_CMD.format(self.index+1)
status, raw_type_read = self._api_helper.ipmi_raw(
IPMI_OEM_NETFN, IPMI_OEM_CMD.format(psu_type_key))
if status:
raw_type = raw_type_read.split()[OEM_READ_OFFSET]
type_index = int(raw_type, 16)
if type_index < 4:
return psu_type[type_index]
return None
def get_position_in_parent(self):
"""
Retrieves 1-based relative physical position in parent device.
Returns:
integer: The 1-based relative physical position in parent
device or -1 if cannot determine the position
"""
return self.index
def is_replaceable(self):
"""
Indicate whether this PSU is replaceable.
Returns:
bool: True if it is replaceable.
"""
return True
def get_num_thermals(self):
"""
Retrieves the number of thermals available on this PSU
Returns:
An integer, the number of thermals available on this PSU
"""
return len(self._thermal_list)
def get_all_thermals(self):
"""
Retrieves all thermals available on this PSU
Returns:
A list of objects derived from ThermalBase representing all thermals
available on this PSU
"""
return self._thermal_list
def get_thermal(self, index):
"""
Retrieves thermal unit represented by (0-based) index <index>
Args:
index: An integer, the index (0-based) of the thermal to
retrieve
Returns:
An object derived from ThermalBase representing the specified thermal
"""
thermal = None
try:
thermal = self._thermal_list[index]
except IndexError:
sys.stderr.write("THERMAL index {} out of range (0-{})\n".format(
index, len(self._thermal_list)-1))
return thermal
class PsuThermal(ThermalBase):
"""Platform-specific Thermal class for PSU """
def __init__(self, psu, index):
self._api_helper = APIHelper()
self.psu = psu
self.index = index
self.minimum_thermal = 999
self.maximum_thermal = 0
def get_temperature(self):
"""
Retrieves current temperature reading from thermal
Returns:
A float number of current temperature in Celsius up to nearest thousandth
of one degree Celsius, e.g. 30.125
"""
if self.psu.get_presence() != True:
return None
psu_temperature = 0.0
psu_temp_cmd_key = globals()['PSU_TEMP{}_CMD'.format(self.index+1)]
psu_temp_key = IPMI_PSU_INFO_CMD.format(self.psu.index+1, psu_temp_cmd_key)
status, raw_oem_read = self._api_helper.ipmi_raw(
IPMI_OEM_NETFN, IPMI_OEM_CMD.format(psu_temp_key))
if raw_oem_read:
# Formula: R
psu_temperature = int("".join(raw_oem_read.split()[::-1]), 16)
if psu_temperature > self.maximum_thermal:
self.maximum_thermal = psu_temperature
if psu_temperature < self.minimum_thermal:
self.minimum_thermal = psu_temperature
return psu_temperature
def get_high_threshold(self):
"""
Retrieves the high threshold temperature of thermal
Returns:
A float number, the high threshold temperature of thermal in Celsius
up to nearest thousandth of one degree Celsius, e.g. 30.125
"""
# ignore max_temp 1 to aviod false alarm because PSU fan control is not ready
if self.index == 0:
return None
if self.get_presence() != True:
return None
psu_temper_high = 0.0
psu_temp_cmd_key = globals()['PSU_MAX_TEMP{}_CMD'.format(self.index+1)]
psu_temp_key = IPMI_PSU_INFO_CMD.format(self.psu.index+1, psu_temp_cmd_key)
status, raw_oem_read = self._api_helper.ipmi_raw(
IPMI_OEM_NETFN, IPMI_OEM_CMD.format(psu_temp_key))
if raw_oem_read:
# Formula: R
psu_temper_high = int("".join(raw_oem_read.split()[::-1]), 16)
return psu_temper_high
def get_minimum_recorded(self):
"""
Retrieves the minimum recorded temperature of thermal
Returns:
A float number, the minimum recorded temperature of thermal in Celsius
up to nearest thousandth of one degree Celsius, e.g. 30.125
"""
return self.minimum_thermal;
def get_maximum_recorded(self):
"""
Retrieves the maximum recorded temperature of thermal
Returns:
A float number, the maximum recorded temperature of thermal in Celsius
up to nearest thousandth of one degree Celsius, e.g. 30.125
"""
return self.maximum_thermal
def get_name(self):
"""
Retrieves the name of the thermal device
Returns:
string: The name of the thermal device
"""
return '{}_TEMP_{}'.format(self.psu.get_name(), self.index+1)
def get_presence(self):
"""
Retrieves the presence of the device
Returns:
bool: True if device is present, False if not
"""
return self.psu.get_presence()
def get_model(self):
"""
Retrieves the model number (or part number) of the device
Returns:
string: Model/part number of device
"""
return self.psu.get_model()
def get_serial(self):
"""
Retrieves the serial number of the device
Returns:
string: Serial number of device
"""
return self.psu.get_serial()
def get_status(self):
"""
Retrieves the operational status of the device
Returns:
A boolean value, True if device is operating properly, False if not
"""
return self.psu.get_status()
def get_position_in_parent(self):
"""
Retrieves 1-based relative physical position in parent device.
Returns:
integer: The 1-based relative physical position in parent
device or -1 if cannot determine the position
"""
return (self.index + 1)
def is_replaceable(self):
"""
Indicate whether this Thermal is replaceable.
Returns:
bool: True if it is replaceable.
"""
return False

View File

@ -0,0 +1,444 @@
#!/usr/bin/env python
"""
#############################################################################
# SuperMicro SSE-T7132S
#
# Sfp contains an implementation of SONiC Platform Base API and
# provides the sfp status which are available in the platform
#
#############################################################################
"""
try:
import os
import time
from sonic_platform_base.sonic_xcvr.sfp_optoe_base import SfpOptoeBase
except ImportError as err:
raise ImportError(str(err) + "- required module not found")
QSFP_INFO_OFFSET = 128
SFP_INFO_OFFSET = 0
QSFP_DD_PAGE0 = 0
SFP_TYPE_LIST = [
'0x3' # SFP/SFP+/SFP28 and later
]
QSFP_TYPE_LIST = [
'0x0c', # QSFP
'0x0d', # QSFP+ or later
'0x11' # QSFP28 or later
]
QSFP_DD_TYPE_LIST = [
'0x18' #QSFP_DD Type
]
OSFP_TYPE_LIST = [
'0x19' # OSFP 8X Type
]
SFP_TYPE = "SFP"
QSFP_TYPE = "QSFP"
OSFP_TYPE = "OSFP"
QSFP_DD_TYPE = "QSFP_DD"
SFP_NAME = "Ethernet{}"
PORT_START = 0
PORT_END = 34
QSFP_PORT_START = 0
QSFP_PORT_END = 32
I2C_EEPROM_PATH = '/sys/bus/i2c/devices/i2c-{0}/{0}-0050/eeprom'
PORT_INFO_PATH= '/sys/class/t7132s_cpld'
class Sfp(SfpOptoeBase):
"""Platform-specific Sfp class"""
PLATFORM = "x86_64-supermicro_sse_t7132s-r0"
HWSKU = "Supermicro_sse_t7132s"
_port_to_offset = [11, 30, 12, 29, 13, 28, 14, 27, 15, 34,
16, 33, 17, 32, 18, 31, 19, 38, 20, 37,
21, 36, 22, 35, 23, 42, 24, 41, 25, 40,
26, 39,
43, 44]
def __init__(self, sfp_index=0):
SfpOptoeBase.__init__(self)
self.index = sfp_index # for sfputil show error-status --fetch-from-hardware
self._master_port = self.index - 1
self._port_num = self.index
self.sfp_type = QSFP_DD_TYPE
#port_type is the native port type and sfp_type is the transceiver type
#sfp_type will be detected in get_transceiver_info
if self._master_port < QSFP_PORT_END:
self.port_type = QSFP_DD_TYPE
self.NUM_CHANNELS = 8
self.port_name = "QSFP" + str(self._port_num)
self._name = [SFP_NAME.format(str(self._master_port*8))]
else:
self.port_type = SFP_TYPE
self.NUM_CHANNELS = 1
self.port_name = "SFP" + str(self._port_num - QSFP_PORT_END)
self._name = [SFP_NAME.format(str((QSFP_PORT_END*8)+(self._master_port - QSFP_PORT_END)))]
self.sfp_type = self.port_type
self.sfp_eeprom_path = self.get_eeprom_path()
self._initialize_media(delay=False)
def _detect_sfp_type(self):
eeprom_raw = []
eeprom_ready = True
time_begin = time.time()
eeprom_ready = False
while (time.time() - time_begin) < 4:
# read 2 more bytes to check eeprom ready
eeprom_raw = self.read_eeprom(XCVR_TYPE_OFFSET, XCVR_TYPE_WIDTH + 2)
if eeprom_raw:
if eeprom_raw[0] in SFP_TYPE_CODE_LIST:
self.sfp_type = SFP_TYPE
eeprom_ready = True
elif eeprom_raw[0] in QSFP_TYPE_CODE_LIST:
self.sfp_type = QSFP_TYPE
eeprom_ready = True
elif eeprom_raw[0] in QSFP_DD_TYPE_CODE_LIST:
self.sfp_type = QSFP_DD_TYPE
eeprom_ready = True
else:
self.sfp_type = self.port_type
if all([b == '00' for b in eeprom_raw]):
logger.Logger('SFP').log_warning(
"_detect_sfp_type: {} index {} by {} eeprom all 0".
format(self._name, self.index,
inspect.currentframe().f_back.f_code.co_name))
else:
eeprom_ready = True
else:
logger.Logger('SFP').log_warning(
"_detect_sfp_type: {} index {} by {} eeprom none".
format(self._name, self.index,
inspect.currentframe().f_back.f_code.co_name))
self.sfp_type = self.port_type
if not eeprom_ready:
# retry after sleep
time.sleep(1)
else:
break;
if self.sfp_type == QSFP_DD_TYPE:
self.NUM_CHANNELS = 8
elif self.sfp_type == QSFP_TYPE:
self.NUM_CHANNELS = 4
elif self.sfp_type == SFP_TYPE:
self.NUM_CHANNELS = 1
return eeprom_ready
def get_eeprom_path(self):
"""
Returns SFP eeprom path
"""
port_eeprom_path = I2C_EEPROM_PATH.format(self._port_to_offset[self._master_port])
return port_eeprom_path
def get_name(self):
"""
Retrieves the name of the device
Returns:
string: The name of the device
"""
return self._name[0]
def _initialize_media(self, delay=False):
"""
Initialize the media type and eeprom driver for SFP
"""
if delay:
time.sleep(1)
self._xcvr_api = None
self.get_xcvr_api()
self.set_media_type()
self.reinit_sfp_driver()
def get_presence(self):
"""
Retrieves the presence of the SFP
Returns:
bool: True if SFP is present, False if not
"""
sysfs_filename = "sfp_modabs" if self.port_type == SFP_TYPE else "qsfp_modprs"
reg_path = "/".join([PORT_INFO_PATH, self.port_name, sysfs_filename])
# Read status
try:
with open(reg_path) as reg_file:
content = reg_file.readline().rstrip()
reg_value = int(content)
# Module present is active low
if reg_value == 0:
return True
except IOError as e:
print("Error: unable to open file: %s" % str(e))
return False
# not present
return False
def get_reset_status(self):
"""
Retrieves the reset status of SFP
Returns:
A Boolean, True if reset enabled, False if disabled
"""
if self.port_type != QSFP_DD_TYPE:
return False
try:
with open(
"/".join([PORT_INFO_PATH, self.port_name, "qsfp_reset"])) as reg_file:
# Read status
content = reg_file.readline().rstrip()
reg_value = int(content)
# reset is active low
if reg_value == 0:
return True
except IOError as e:
print("Error: unable to open file: %s" % str(e))
return False
return False
def get_lpmode(self):
"""
Retrieves the lpmode (low power mode) status of this SFP
Returns:
A Boolean, True if lpmode is enabled, False if disabled
"""
if self.port_type != QSFP_DD_TYPE:
return False
try:
with open(
"/".join([PORT_INFO_PATH, self.port_name, "qsfp_lpmode"])) as reg_file:
# Read status
content = reg_file.readline().rstrip()
reg_value = int(content)
# low power mode is active high
if reg_value == 0:
return False
except IOError as e:
print("Error: unable to open file: %s" % str(e))
return False
return True
def reset(self):
"""
Reset SFP and return all user module settings to their default srate.
Returns:
A boolean, True if successful, False if not
"""
if self.port_type != QSFP_DD_TYPE:
return False
try:
with open(
"/".join([PORT_INFO_PATH, self.port_name, "qsfp_reset"]), "w") as reg_file:
# Convert our register value back to a hex string and write back
reg_file.seek(0)
reg_file.write(hex(0))
except IOError as e:
print("Error: unable to open file: %s" % str(e))
return False
# Sleep 1 second to allow it to settle
time.sleep(1)
# Flip the bit back high and write back to the register to take port out of reset
try:
with open(
"/".join([PORT_INFO_PATH, self.port_name, "qsfp_reset"]), "w") as reg_file:
reg_file.seek(0)
reg_file.write(hex(1))
except IOError as e:
print("Error: unable to open file: %s" % str(e))
return False
return True
def no_reset(self):
"""
Set CPLD qsfp_reset to 1 for non-reset status.
Returns:
A boolean, True if successful, False if not
"""
if self.port_type != QSFP_DD_TYPE:
return False
try:
with open(
"/".join([PORT_INFO_PATH, self.port_name, "qsfp_reset"]), "w") as reg_file:
reg_file.seek(0)
reg_file.write(hex(1))
except IOError as e:
print("Error: unable to open file: %s" % str(e))
return False
return True
def set_lpmode(self, lpmode):
"""
Sets the lpmode (low power mode) of SFP
Args:
lpmode: A Boolean, True to enable lpmode, False to disable it
Note : lpmode can be overridden by set_power_override
Returns:
A boolean, True if lpmode is set successfully, False if not
"""
if not self._detect_sfp_type():
return False
if self.port_type != QSFP_DD_TYPE:
return False
try:
reg_file = open(
"/".join([PORT_INFO_PATH, self.port_name, "qsfp_lpmode"]), "r+")
except IOError as e:
print("Error: unable to open file: %s" % str(e))
return False
content = hex(lpmode)
reg_file.seek(0)
reg_file.write(content)
reg_file.close()
return True
def set_media_type(self):
"""
Reads optic eeprom byte to determine media type inserted
"""
eeprom_raw = []
eeprom_raw = self._xcvr_api_factory._get_id()
if eeprom_raw is not None:
eeprom_raw = hex(eeprom_raw)
if eeprom_raw in SFP_TYPE_LIST:
self.sfp_type = SFP_TYPE
elif eeprom_raw in QSFP_TYPE_LIST:
self.sfp_type = QSFP_TYPE
elif eeprom_raw in QSFP_DD_TYPE_LIST:
self.sfp_type = QSFP_DD_TYPE
else:
#Set native port type if EEPROM type is not recognized/readable
self.sfp_type = self.port_type
else:
self.sfp_type = self.port_type
return self.sfp_type
def reinit_sfp_driver(self):
"""
Changes the driver based on media type detected
"""
i2c_bus = self.sfp_eeprom_path[25:].split('/')[0]
del_sfp_path = "/sys/bus/i2c/devices/i2c-{0}/delete_device".format(i2c_bus)
new_sfp_path = "/sys/bus/i2c/devices/i2c-{0}/new_device".format(i2c_bus)
driver_path = "/sys/bus/i2c/devices/i2c-{0}/{0}-0050/name".format(i2c_bus)
if not os.path.isfile(driver_path):
print(driver_path, "does not exist")
return False
try:
with os.fdopen(os.open(driver_path, os.O_RDONLY)) as filed:
driver_name = filed.read()
driver_name = driver_name.rstrip('\r\n')
driver_name = driver_name.lstrip(" ")
#Avoid re-initialization of the QSFP/SFP optic on QSFP/SFP port.
if self.sfp_type == SFP_TYPE and driver_name in ['optoe1', 'optoe3']:
with open(del_sfp_path, 'w') as f:
f.write('0x50\n')
time.sleep(0.2)
with open(new_sfp_path, 'w') as f:
f.write('optoe2 0x50\n')
time.sleep(2)
elif self.sfp_type == OSFP_TYPE and driver_name in ['optoe2', 'optoe3']:
with open(del_sfp_path, 'w') as f:
f.write('0x50\n')
time.sleep(0.2)
with open(new_sfp_path, 'w') as f:
f.write('optoe1 0x50\n')
time.sleep(2)
elif self.sfp_type == QSFP_DD_TYPE and driver_name in ['optoe1', 'optoe2']:
with open(del_sfp_path, 'w') as f:
f.write('0x50\n')
time.sleep(0.2)
with open(new_sfp_path, 'w') as f:
f.write('optoe3 0x50\n')
time.sleep(2)
except IOError as err:
print("Error: Unable to open file: %s" %str(err))
return False
return True
def get_position_in_parent(self):
"""
Retrieves 1-based relative physical position in parent device.
Returns:
integer: The 1-based relative physical position in parent
device or -1 if cannot determine the position
"""
return 0
@staticmethod
def is_replaceable():
"""
Indicate whether this device is replaceable.
Returns:
bool: True if it is replaceable.
"""
return True
def get_error_description(self):
"""
Retrives the error descriptions of the SFP module
Returns:
String that represents the current error descriptions of vendor specific errors
In case there are multiple errors, they should be joined by '|',
like: "Bad EEPROM|Unsupported cable"
"""
if not self.get_presence():
return self.SFP_STATUS_UNPLUGGED
else:
if not os.path.isfile(self.sfp_eeprom_path):
return "EEPROM driver is not attached"
if self.sfp_type == SFP_TYPE:
offset = SFP_INFO_OFFSET
elif self.sfp_type == OSFP_TYPE:
offset = QSFP_INFO_OFFSET
elif self.sfp_type == QSFP_TYPE:
offset = QSFP_INFO_OFFSET
elif self.sfp_type == QSFP_DD_TYPE:
offset = QSFP_DD_PAGE0
else:
return "Invalid SFP type {}".format(self.sfp_type)
try:
with open(self.sfp_eeprom_path, mode="rb", buffering=0) as eeprom:
eeprom.seek(offset)
eeprom.read(1)
except OSError as e:
return "EEPROM read failed ({})".format(e.strerror)
return self.SFP_STATUS_OK

View File

@ -0,0 +1,253 @@
#############################################################################
# SuperMicro SSE-T7132S
#
# Thermal contains an implementation of SONiC Platform Base API and
# provides the thermal device status which are available in the platform
#
#############################################################################
try:
from sonic_platform_base.thermal_base import ThermalBase
from .helper import APIHelper
except ImportError as e:
raise ImportError(str(e) + "- required module not found")
IPMI_SENSOR_NETFN = "0x04"
IPMI_SS_READ_CMD = "0x2D {}"
IPMI_SS_THRESHOLD_CMD = "0x27 {}"
HIGH_TRESHOLD_SET_KEY = "ucr"
LOW_TRESHOLD_SET_KEY = "lcr"
HIGH_CRIT_TRESHOLD_SET_KEY = "unr"
LOW_CRIT_TRESHOLD_SET_KEY = "lnr"
class Thermal(ThermalBase):
"""Platform-specific Thermal class"""
def __init__(self, thermal_index):
ThermalBase.__init__(self)
self._api_helper = APIHelper()
self.index = thermal_index
self.THERMAL_LIST = [
('CPU_Temp', 'CPU Temperature Sensor', '0x01'),
('PCH_Temp', 'PCH Temperature Sensor', '0x0a'),
('System_Temp', 'System Temperature Sensor', '0x0b'),
('Peripheral_Temp', 'Peripheral Temperature Sensor', '0x0c'),
('Switch_Top-1', 'Switchboard Left Inlet Temperature Sensor', '0xb4'),
('Switch_Buttom-1', 'Switchboard Left Outlet Temperature Sensor', '0xb5'),
('Switch_Top-2', 'Switchboard Right Inlet Temperature Sensor', '0xb6'),
('Switch_Buttom-2', 'Switchboard Right Outlet Temperature Sensor','0xb7'),
('Switch_Temp', 'Switch Temperature Sensor', '0xb8'),
]
self.sensor_id = self.THERMAL_LIST[self.index][0]
self.sensor_des = self.THERMAL_LIST[self.index][1]
self.sensor_reading_addr = self.THERMAL_LIST[self.index][2]
self.minimum_thermal = self.get_temperature()
self.maximum_thermal = self.get_temperature()
def __set_threshold(self, key, value):
print('{} {}'.format(key, value))
def get_temperature(self):
"""
Retrieves current temperature reading from thermal
Returns:
A float number of current temperature in Celsius up to nearest thousandth
of one degree Celsius, e.g. 30.125
"""
temperature = 0.0
status, raw_ss_read = self._api_helper.ipmi_raw(
IPMI_SENSOR_NETFN, IPMI_SS_READ_CMD.format(self.sensor_reading_addr))
if status and len(raw_ss_read.split()) > 0:
ss_read = raw_ss_read.split()[0]
temperature = float(int(ss_read, 16))
return temperature
def get_high_threshold(self):
"""
Retrieves the high threshold temperature of thermal
Returns:
A float number, the high threshold temperature of thermal in Celsius
up to nearest thousandth of one degree Celsius, e.g. 30.125
"""
high_threshold = 0.0
status, raw_up_thres_read = self._api_helper.ipmi_raw(
IPMI_SENSOR_NETFN, IPMI_SS_THRESHOLD_CMD.format(self.sensor_reading_addr))
if status and len(raw_up_thres_read.split()) > 6:
ss_read = raw_up_thres_read.split()[5]
high_threshold = float(int(ss_read, 16))
return high_threshold
def get_low_threshold(self):
"""
Retrieves the low threshold temperature of thermal
Returns:
A float number, the low threshold temperature of thermal in Celsius
up to nearest thousandth of one degree Celsius, e.g. 30.125
"""
low_threshold = 0.0
status, raw_up_thres_read = self._api_helper.ipmi_raw(
IPMI_SENSOR_NETFN, IPMI_SS_THRESHOLD_CMD.format(self.sensor_reading_addr))
if status and len(raw_up_thres_read.split()) > 6:
ss_read = raw_up_thres_read.split()[2]
low_threshold = float(int(ss_read, 16))
return low_threshold
def set_high_threshold(self, temperature):
"""
Sets the high threshold temperature of thermal
Args :
temperature: A float number up to nearest thousandth of one degree Celsius,
e.g. 30.125
Returns:
A boolean, True if threshold is set successfully, False if not
"""
status, ret_txt = self._api_helper.ipmi_set_ss_thres(self.sensor_id, HIGH_TRESHOLD_SET_KEY, temperature)
return status
def set_low_threshold(self, temperature):
"""
Sets the low threshold temperature of thermal
Args :
temperature: A float number up to nearest thousandth of one degree Celsius,
e.g. 30.125
Returns:
A boolean, True if threshold is set successfully, False if not
"""
status, ret_txt = self._api_helper.ipmi_set_ss_thres(self.sensor_id, LOW_TRESHOLD_SET_KEY, temperature)
return status
def get_high_critical_threshold(self):
"""
Retrieves the high critical threshold temperature of thermal
Returns:
A float number, the high critical threshold temperature of thermal in Celsius
up to nearest thousandth of one degree Celsius, e.g. 30.125
"""
high_critical_threshold = 0.0
status, raw_up_thres_read = self._api_helper.ipmi_raw(
IPMI_SENSOR_NETFN, IPMI_SS_THRESHOLD_CMD.format(self.sensor_reading_addr))
if status and len(raw_up_thres_read.split()) > 6:
ss_read = raw_up_thres_read.split()[6]
high_critical_threshold = float(int(ss_read, 16))
return high_critical_threshold
def get_low_critical_threshold(self):
"""
Retrieves the low critical threshold temperature of thermal
Returns:
A float number, the low critical threshold temperature of thermal in Celsius
up to nearest thousandth of one degree Celsius, e.g. 30.125
"""
critical_low_threshold = 0.0
status, raw_up_thres_read = self._api_helper.ipmi_raw(
IPMI_SENSOR_NETFN, IPMI_SS_THRESHOLD_CMD.format(self.sensor_reading_addr))
if status and len(raw_up_thres_read.split()) > 6:
ss_read = raw_up_thres_read.split()[3]
critical_low_threshold = float(int(ss_read, 16))
return critical_low_threshold
def set_high_critical_threshold(self, temperature):
"""
Sets the critical high threshold temperature of thermal
Args :
temperature: A float number up to nearest thousandth of one degree Celsius,
e.g. 30.125
Returns:
A boolean, True if threshold is set successfully, False if not
"""
status, ret_txt = self._api_helper.ipmi_set_ss_thres(self.sensor_id, HIGH_CRIT_TRESHOLD_SET_KEY, temperature)
return status
def set_low_critical_threshold(self, temperature):
"""
Sets the critical low threshold temperature of thermal
Args :
temperature: A float number up to nearest thousandth of one degree Celsius,
e.g. 30.125
Returns:
A boolean, True if threshold is set successfully, False if not
"""
status, ret_txt = self._api_helper.ipmi_set_ss_thres(self.sensor_id, LOW_CRIT_TRESHOLD_SET_KEY, temperature)
return status
def get_name(self):
"""
Retrieves the name of the thermal device
Returns:
string: The name of the thermal device
"""
return self.THERMAL_LIST[self.index][0]
def get_presence(self):
"""
Retrieves the presence of the device
Returns:
bool: True if device is present, False if not
"""
return True if self.get_temperature() > 0 else False
def get_model(self):
"""
Retrieves the model number (or part number) of the device
Returns:
string: Model/part number of device
"""
return self.sensor_des
def get_serial(self):
"""
Retrieves the serial number of the device
Returns:
string: Serial number of device
"""
return "Unknown"
def get_status(self):
"""
Retrieves the operational status of the device
Returns:
A boolean value, True if device is operating properly, False if not
"""
return self.get_presence()
def get_position_in_parent(self):
"""
Retrieves 1-based relative physical position in parent device.
Returns:
integer: The 1-based relative physical position in parent
device or -1 if cannot determine the position
"""
return (self.index + 1)
def is_replaceable(self):
"""
Indicate whether this Thermal is replaceable.
Returns:
bool: True if it is replaceable.
"""
return False
def get_minimum_recorded(self):
"""
Retrieves the minimum recorded temperature of thermal
Returns:
A float number, the minimum recorded temperature of thermal in Celsius
up to nearest thousandth of one degree Celsius, e.g. 30.125
"""
tmp = self.get_temperature()
if tmp < self.minimum_thermal:
self.minimum_thermal = tmp
return self.minimum_thermal
def get_maximum_recorded(self):
"""
Retrieves the maximum recorded temperature of thermal
Returns:
A float number, the maximum recorded temperature of thermal in Celsius
up to nearest thousandth of one degree Celsius, e.g. 30.125
"""
tmp = self.get_temperature()
if tmp > self.maximum_thermal:
self.maximum_thermal = tmp
return self.maximum_thermal

View File

@ -0,0 +1,317 @@
#!/usr/bin/env python
#############################################################################
#
# Module contains an implementation of SONiC Platform Base API and
# provides the Watchdog information
#
#############################################################################
import os
try:
from sonic_platform_base.watchdog_base import WatchdogBase
except ImportError as e:
raise ImportError(str(e) + "- required module not found")
""" ioctl constants """
IO_WRITE = 0x40000000
IO_READ = 0x80000000
IO_READ_WRITE = 0xC0000000
IO_SIZE_INT = 0x00040000
IO_SIZE_40 = 0x00280000
IO_TYPE_WATCHDOG = ord('W') << 8
WDR_INT = IO_READ | IO_SIZE_INT | IO_TYPE_WATCHDOG
WDR_40 = IO_READ | IO_SIZE_40 | IO_TYPE_WATCHDOG
WDWR_INT = IO_READ_WRITE | IO_SIZE_INT | IO_TYPE_WATCHDOG
""" Watchdog ioctl commands """
WDIOC_GETSUPPORT = 0 | WDR_40
WDIOC_GETSTATUS = 1 | WDR_INT
WDIOC_GETBOOTSTATUS = 2 | WDR_INT
WDIOC_GETTEMP = 3 | WDR_INT
WDIOC_SETOPTIONS = 4 | WDR_INT
WDIOC_KEEPALIVE = 5 | WDR_INT
WDIOC_SETTIMEOUT = 6 | WDWR_INT
WDIOC_GETTIMEOUT = 7 | WDR_INT
WDIOC_SETPRETIMEOUT = 8 | WDWR_INT
WDIOC_GETPRETIMEOUT = 9 | WDR_INT
WDIOC_GETTIMELEFT = 10 | WDR_INT
""" Watchdog status constants """
WDIOS_DISABLECARD = 0x0001
WDIOS_ENABLECARD = 0x0002
WDT_COMMON_ERROR = -1
#WD_MAIN_IDENTITY = "iTCO_wdt"
WD_MAIN_IDENTITY = "t7132s_wdt"
WDT_SYSFS_PATH = "/sys/class/watchdog/"
DEV_STATE_PATH = "/sys/devices/platform/switchboard/CPLD1/dev_state"
WDT_MAX_PATH = "/sys/devices/platform/switchboard/CPLD1/wdt_max"
WDT_COUNT_PATH = "/sys/devices/platform/switchboard/CPLD1/wdt_count"
class Watchdog(WatchdogBase):
def __init__(self):
self.watchdog = None
self.wdt_main_dev_name = None
self.armed = self.is_armed()
self.timeout = self._gettimeout()
def _is_wd_main(self, dev):
"""
Checks watchdog identity
"""
identity = self._read_file(
"{}/{}/identity".format(WDT_SYSFS_PATH, dev))
return identity == WD_MAIN_IDENTITY
def _get_wdt(self):
"""
Retrieves watchdog device
"""
if self.watchdog is not None:
return
wdt_main_dev_list = [dev for dev in os.listdir(
"/dev/") if dev.startswith("watchdog") and self._is_wd_main(dev)]
if not wdt_main_dev_list:
self.wdt_main_dev_name = None
return
self.wdt_main_dev_name = wdt_main_dev_list[0]
watchdog_device_path = "/dev/{}".format(self.wdt_main_dev_name)
try:
self.watchdog = os.open(watchdog_device_path, os.O_RDWR)
except (FileNotFoundError, IOError, OSError):
self.watchdog = None
self.wdt_main_dev_name = None
except SystemExit:
pass
return
def _put_wdt(self):
"""
Release watchdog device
"""
if self.watchdog is not None:
os.close(self.watchdog)
self.watchdog = None
self.wdt_main_dev_name = None
def _read_file(self, file_path):
"""
Read text file
"""
try:
with open(file_path, "r") as fd:
txt = fd.read()
except IOError:
return WDT_COMMON_ERROR
return txt.strip()
def _enable(self):
"""
Turn on the watchdog timer
"""
try:
with open(DEV_STATE_PATH, "r+") as reg_file:
content = reg_file.readline().strip()
reg_value = int(content, 16)
bit_enable = 0x100
reg_value_new = reg_value | bit_enable
reg_file.write(hex(reg_value_new))
except IOError as e:
print("Error: unable to open file: %s" % str(e))
def _disable(self):
"""
Turn off the watchdog timer
"""
try:
with open(DEV_STATE_PATH, "r+") as reg_file:
content = reg_file.readline().strip()
reg_value = int(content, 16)
bit_enable = 0x100
reg_value_new = reg_value & ~bit_enable
reg_file.write(hex(reg_value_new))
except IOError as e:
print("Error: unable to open file: %s" % str(e))
def _keepalive(self):
"""
Keep alive watchdog timer
"""
self._disable()
self._enable()
def _settimeout(self, seconds):
"""
Set watchdog timer timeout
@param seconds - timeout in seconds
@return is the actual set timeout
"""
if seconds > 65535:
seconds = 65535
try:
with open(WDT_MAX_PATH, "r+") as reg_file:
reg_value = seconds
reg_file.write(hex(reg_value))
except IOError as e:
print("Error: unable to open file: %s" % str(e))
return seconds
def _gettimeout(self):
"""
Get watchdog timeout
@return watchdog timeout
"""
seconds = 0
try:
with open(WDT_MAX_PATH, "r+") as reg_file:
content = reg_file.readline().strip()
reg_value = int(content, 16)
seconds = reg_value
except IOError as e:
print("Error: unable to open file: %s" % str(e))
return seconds
def _gettimeleft(self):
"""
Get time left before watchdog timer expires
@return time left in seconds
"""
try:
with open(WDT_MAX_PATH, "r+") as reg_file:
content = reg_file.readline().strip()
reg_value = int(content, 16)
state_seconds = reg_value
except IOError as e:
print("Error: unable to open file: %s" % str(e))
try:
with open(WDT_COUNT_PATH, "r+") as reg_file:
content = reg_file.readline().strip()
reg_value = int(content, 16)
count_seconds = reg_value
except IOError as e:
print("Error: unable to open file: %s" % str(e))
timeleft = state_seconds - count_seconds
if timeleft < 0:
timeleft = 0
print("Error: incorrect counter: state={} count={}".
format(state_seconds, count_seconds))
elif timeleft > 65535:
timeleft = 65535
print("Error: incorrect counter: state={} count={}".
format(state_seconds, count_seconds))
return timeleft
#################################################################
def arm(self, seconds):
"""
Arm the hardware watchdog with a timeout of <seconds> seconds.
If the watchdog is currently armed, calling this function will
simply reset the timer to the provided value. If the underlying
hardware does not support the value provided in <seconds>, this
method should arm the watchdog with the *next greater* available
value.
Returns:
An integer specifying the *actual* number of seconds the watchdog
was armed with. On failure returns -1.
"""
ret = WDT_COMMON_ERROR
if seconds < 0:
return ret
if seconds > 65535:
return ret
try:
self._disable()
if self._gettimeout() != seconds:
self.timeout = self._settimeout(seconds)
self._enable()
self.armed = True
ret = self.timeout
except IOError as e:
pass
return ret
def disarm(self):
"""
Disarm the hardware watchdog
Returns:
A boolean, True if watchdog is disarmed successfully, False if not
"""
disarmed = False
if self.is_armed():
try:
self._disable()
self.armed = False
disarmed = True
except IOError:
pass
return disarmed
def is_armed(self):
"""
Retrieves the armed state of the hardware watchdog.
Returns:
A boolean, True if watchdog is armed, False if not
"""
"""
We always get the HW status because all new instance have
it's own self.armed. And only the instance had called arm()
has self.armed = True if self.armed is a class variable.
"""
# Read status
try:
with open(DEV_STATE_PATH) as reg_file:
content = reg_file.readline().rstrip()
reg_value = int(content, 16)
except IOError as e:
print("Error: unable to open file: %s" % str(e))
return False
bit_enable = 0x100
if reg_value & bit_enable:
return True
return False
def get_remaining_time(self):
"""
If the watchdog is armed, retrieve the number of seconds remaining on
the watchdog timer
Returns:
An integer specifying the number of seconds remaining on thei
watchdog timer. If the watchdog is not armed, returns -1.
"""
timeleft = WDT_COMMON_ERROR
if self.is_armed():
try:
timeleft = self._gettimeleft()
except IOError:
pass
return timeleft
def __del__(self):
"""
Close watchdog
"""
if self.watchdog is not None:
os.close(self.watchdog)

View File

@ -0,0 +1,14 @@
[Unit]
Description=SuperMicro SSE-T7132S Platform modules
Before=pmon.service
DefaultDependencies=no
[Service]
Type=oneshot
ExecStart=/usr/local/bin/platform.sh init
ExecStop=/usr/local/bin/platform.sh deinit
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,15 @@
[Unit]
Description=Set system LED before reboot/poweroff/halt
DefaultDependencies=no
#Conflicts=reboot.target
Before=poweroff.target halt.target reboot.target kexec.target shutdown.target
#Requires=poweroff.target
[Service]
Type=oneshot
ExecStart=/usr/local/bin/sysledctl.py start
#ExecStop=/usr/local/bin/sysledctl.py stop
RemainAfterExit=yes
[Install]
WantedBy=poweroff.target halt.target shutdown.target reboot.target kexec.target