@@ -311,6 +311,48 @@ def test_PortAutoNegRemoteAdvSpeeds(self, dvs, testlog):
311
311
assert status == True
312
312
assert "rmt_adv_speeds" in [fv [0 ] for fv in fvs ]
313
313
314
+ def test_PortAdvWithoutAutoneg (self , dvs , testlog ):
315
+
316
+ db = swsscommon .DBConnector (0 , dvs .redis_sock , 0 )
317
+ cdb = swsscommon .DBConnector (4 , dvs .redis_sock , 0 )
318
+ sdb = swsscommon .DBConnector (6 , dvs .redis_sock , 0 )
319
+
320
+ tbl = swsscommon .ProducerStateTable (db , "PORT_TABLE" )
321
+ ctbl = swsscommon .Table (cdb , "PORT" )
322
+ stbl = swsscommon .Table (sdb , "PORT_TABLE" )
323
+
324
+ # set autoneg = off
325
+ fvs = swsscommon .FieldValuePairs ([("autoneg" , "off" )])
326
+ ctbl .set ("Ethernet0" , fvs )
327
+
328
+ time .sleep (1 )
329
+ fvs = swsscommon .FieldValuePairs ([("adv_speeds" , "100,1000" ),
330
+ ("adv_interface_types" , "CR2,CR4" )])
331
+ ctbl .set ("Ethernet0" , fvs )
332
+
333
+ time .sleep (1 )
334
+
335
+ adb = swsscommon .DBConnector (1 , dvs .redis_sock , 0 )
336
+
337
+ atbl = swsscommon .Table (adb , "ASIC_STATE:SAI_OBJECT_TYPE_PORT" )
338
+ (status , fvs ) = atbl .get (dvs .asicdb .portnamemap ["Ethernet0" ])
339
+ assert status == True
340
+
341
+ assert "SAI_PORT_ATTR_AUTO_NEG_MODE" in [fv [0 ] for fv in fvs ]
342
+ assert "SAI_PORT_ATTR_ADVERTISED_SPEED" in [fv [0 ] for fv in fvs ]
343
+ assert "SAI_PORT_ATTR_ADVERTISED_INTERFACE_TYPE" in [fv [0 ] for fv in fvs ]
344
+ for fv in fvs :
345
+ if fv [0 ] == "SAI_PORT_ATTR_AUTO_NEG_MODE" :
346
+ assert fv [1 ] == "false"
347
+ elif fv [0 ] == "SAI_PORT_ATTR_ADVERTISED_SPEED" :
348
+ assert fv [1 ] == "2:100,1000"
349
+ elif fv [0 ] == "SAI_PORT_ATTR_ADVERTISED_INTERFACE_TYPE" :
350
+ assert fv [1 ] == "2:SAI_PORT_INTERFACE_TYPE_CR2,SAI_PORT_INTERFACE_TYPE_CR4"
351
+
352
+ # set admin up
353
+ cfvs = swsscommon .FieldValuePairs ([("admin_status" , "up" )])
354
+ ctbl .set ("Ethernet0" , cfvs )
355
+
314
356
# Add Dummy always-pass test at end as workaroud
315
357
# for issue when Flaky fail on final test it invokes module tear-down before retrying
316
358
def test_nonflaky_dummy ():
0 commit comments