@@ -92,6 +92,8 @@ sai_status_t RedisRemoteSaiInterface::initialize(
92
92
std::bind (&RedisRemoteSaiInterface::handleNotification, this , _1, _2, _3));
93
93
}
94
94
95
+ m_responseTimeoutMs = m_communicationChannel->getResponseTimeout ();
96
+
95
97
m_db = std::make_shared<swss::DBConnector>(m_contextConfig->m_dbAsic , 0 );
96
98
97
99
m_redisVidIndexGenerator = std::make_shared<RedisVidIndexGenerator>(m_db, REDIS_KEY_VIDCOUNTER);
@@ -355,6 +357,16 @@ sai_status_t RedisRemoteSaiInterface::setRedisExtensionAttribute(
355
357
356
358
return SAI_STATUS_SUCCESS;
357
359
360
+ case SAI_REDIS_SWITCH_ATTR_SYNC_OPERATION_RESPONSE_TIMEOUT:
361
+
362
+ m_responseTimeoutMs = attr->value .u64 ;
363
+
364
+ m_communicationChannel->setResponseTimeout (m_responseTimeoutMs);
365
+
366
+ SWSS_LOG_NOTICE (" set response timeout to %lu ms" , m_responseTimeoutMs);
367
+
368
+ return SAI_STATUS_SUCCESS;
369
+
358
370
case SAI_REDIS_SWITCH_ATTR_SYNC_MODE:
359
371
360
372
SWSS_LOG_WARN (" sync mode is depreacated, use communication mode" );
@@ -402,6 +414,8 @@ sai_status_t RedisRemoteSaiInterface::setRedisExtensionAttribute(
402
414
m_contextConfig->m_dbAsic ,
403
415
std::bind (&RedisRemoteSaiInterface::handleNotification, this , _1, _2, _3));
404
416
417
+ m_communicationChannel->setResponseTimeout (m_responseTimeoutMs);
418
+
405
419
m_communicationChannel->setBuffered (true );
406
420
407
421
return SAI_STATUS_SUCCESS;
@@ -416,6 +430,8 @@ sai_status_t RedisRemoteSaiInterface::setRedisExtensionAttribute(
416
430
m_contextConfig->m_dbAsic ,
417
431
std::bind (&RedisRemoteSaiInterface::handleNotification, this , _1, _2, _3));
418
432
433
+ m_communicationChannel->setResponseTimeout (m_responseTimeoutMs);
434
+
419
435
m_communicationChannel->setBuffered (false );
420
436
421
437
return SAI_STATUS_SUCCESS;
@@ -432,6 +448,8 @@ sai_status_t RedisRemoteSaiInterface::setRedisExtensionAttribute(
432
448
m_contextConfig->m_zmqNtfEndpoint ,
433
449
std::bind (&RedisRemoteSaiInterface::handleNotification, this , _1, _2, _3));
434
450
451
+ m_communicationChannel->setResponseTimeout (m_responseTimeoutMs);
452
+
435
453
SWSS_LOG_NOTICE (" zmq enabled, forcing sync mode" );
436
454
437
455
m_syncMode = true ;
0 commit comments