@@ -125,3 +125,93 @@ def test_PortFec(dvs, testlog):
125125 for fv in fvs :
126126 if fv [0 ] == "SAI_PORT_ATTR_FEC_MODE" :
127127 assert fv [1 ] == "SAI_PORT_FEC_MODE_RS"
128+
129+ def test_PortPreemp (dvs , testlog ):
130+
131+ pre_name = 'preemphasis'
132+ pre_val = [0x1234 ,0x2345 ,0x3456 ,0x4567 ]
133+ pre_val_str = str (hex (pre_val [0 ])) + "," + str (hex (pre_val [1 ]))+ "," + \
134+ str (hex (pre_val [2 ]))+ "," + str (hex (pre_val [3 ]))
135+
136+ pre_val_asic = '4:' + str (pre_val [0 ]) + "," + str (pre_val [1 ]) + "," + \
137+ str (pre_val [2 ]) + "," + str (pre_val [3 ])
138+ fvs = swsscommon .FieldValuePairs ([(pre_name , pre_val_str )])
139+ db = swsscommon .DBConnector (0 , dvs .redis_sock , 0 )
140+ adb = swsscommon .DBConnector (1 , dvs .redis_sock , 0 )
141+
142+ tbl = swsscommon .Table (db , "PORT_TABLE" )
143+ ptbl = swsscommon .ProducerStateTable (db , "PORT_TABLE" )
144+ atbl = swsscommon .Table (adb , "ASIC_STATE:SAI_OBJECT_TYPE_PORT" )
145+
146+ ptbl .set ("Ethernet0" , fvs )
147+
148+
149+ time .sleep (1 )
150+
151+ # get fec
152+ (status , fvs ) = atbl .get (dvs .asicdb .portnamemap ["Ethernet0" ])
153+ assert status == True
154+
155+ for fv in fvs :
156+ if fv [0 ] == "SAI_PORT_ATTR_SERDES_PREEMPHASIS" :
157+ assert fv [1 ] == pre_val_asic
158+
159+ def test_PortIdriver (dvs , testlog ):
160+
161+ idrv_name = 'idriver'
162+ idrv_val = [0x1 ,0x1 ,0x2 ,0x2 ]
163+ idrv_val_str = str (hex (idrv_val [0 ])) + "," + str (hex (idrv_val [1 ]))+ "," + \
164+ str (hex (idrv_val [2 ]))+ "," + str (hex (idrv_val [3 ]))
165+
166+ idrv_val_asic = '4:' + str (idrv_val [0 ]) + "," + str (idrv_val [1 ]) + "," + \
167+ str (idrv_val [2 ]) + "," + str (idrv_val [3 ])
168+ fvs = swsscommon .FieldValuePairs ([(idrv_name , idrv_val_str )])
169+ db = swsscommon .DBConnector (0 , dvs .redis_sock , 0 )
170+ adb = swsscommon .DBConnector (1 , dvs .redis_sock , 0 )
171+
172+ tbl = swsscommon .Table (db , "PORT_TABLE" )
173+ ptbl = swsscommon .ProducerStateTable (db , "PORT_TABLE" )
174+ atbl = swsscommon .Table (adb , "ASIC_STATE:SAI_OBJECT_TYPE_PORT" )
175+
176+ ptbl .set ("Ethernet0" , fvs )
177+
178+
179+ time .sleep (1 )
180+
181+ # get fec
182+ (status , fvs ) = atbl .get (dvs .asicdb .portnamemap ["Ethernet0" ])
183+ assert status == True
184+
185+ for fv in fvs :
186+ if fv [0 ] == "SAI_PORT_ATTR_SERDES_IDRIVER" :
187+ assert fv [1 ] == idrv_val_asic
188+
189+ def test_PortIpredriver (dvs , testlog ):
190+
191+ ipre_name = 'ipredriver'
192+ ipre_val = [0x2 ,0x3 ,0x4 ,0x5 ]
193+ ipre_val_str = str (hex (ipre_val [0 ])) + "," + str (hex (ipre_val [1 ]))+ "," + \
194+ str (hex (ipre_val [2 ]))+ "," + str (hex (ipre_val [3 ]))
195+
196+ ipre_val_asic = '4:' + str (ipre_val [0 ]) + "," + str (ipre_val [1 ]) + "," + \
197+ str (ipre_val [2 ]) + "," + str (ipre_val [3 ])
198+ fvs = swsscommon .FieldValuePairs ([(ipre_name , ipre_val_str )])
199+ db = swsscommon .DBConnector (0 , dvs .redis_sock , 0 )
200+ adb = swsscommon .DBConnector (1 , dvs .redis_sock , 0 )
201+
202+ tbl = swsscommon .Table (db , "PORT_TABLE" )
203+ ptbl = swsscommon .ProducerStateTable (db , "PORT_TABLE" )
204+ atbl = swsscommon .Table (adb , "ASIC_STATE:SAI_OBJECT_TYPE_PORT" )
205+
206+ ptbl .set ("Ethernet0" , fvs )
207+
208+
209+ time .sleep (1 )
210+
211+ # get fec
212+ (status , fvs ) = atbl .get (dvs .asicdb .portnamemap ["Ethernet0" ])
213+ assert status == True
214+
215+ for fv in fvs :
216+ if fv [0 ] == "SAI_PORT_ATTR_SERDES_IPREDRIVER" :
217+ assert fv [1 ] == ipre_val_asic
0 commit comments