@@ -92,6 +92,8 @@ sai_status_t RedisRemoteSaiInterface::initialize(
9292 std::bind (&RedisRemoteSaiInterface::handleNotification, this , _1, _2, _3));
9393 }
9494
95+ m_responseTimeoutMs = m_communicationChannel->getResponseTimeout ();
96+
9597 m_db = std::make_shared<swss::DBConnector>(m_contextConfig->m_dbAsic , 0 );
9698
9799 m_redisVidIndexGenerator = std::make_shared<RedisVidIndexGenerator>(m_db, REDIS_KEY_VIDCOUNTER);
@@ -355,6 +357,16 @@ sai_status_t RedisRemoteSaiInterface::setRedisExtensionAttribute(
355357
356358 return SAI_STATUS_SUCCESS;
357359
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+
358370 case SAI_REDIS_SWITCH_ATTR_SYNC_MODE:
359371
360372 SWSS_LOG_WARN (" sync mode is depreacated, use communication mode" );
@@ -402,6 +414,8 @@ sai_status_t RedisRemoteSaiInterface::setRedisExtensionAttribute(
402414 m_contextConfig->m_dbAsic ,
403415 std::bind (&RedisRemoteSaiInterface::handleNotification, this , _1, _2, _3));
404416
417+ m_communicationChannel->setResponseTimeout (m_responseTimeoutMs);
418+
405419 m_communicationChannel->setBuffered (true );
406420
407421 return SAI_STATUS_SUCCESS;
@@ -416,6 +430,8 @@ sai_status_t RedisRemoteSaiInterface::setRedisExtensionAttribute(
416430 m_contextConfig->m_dbAsic ,
417431 std::bind (&RedisRemoteSaiInterface::handleNotification, this , _1, _2, _3));
418432
433+ m_communicationChannel->setResponseTimeout (m_responseTimeoutMs);
434+
419435 m_communicationChannel->setBuffered (false );
420436
421437 return SAI_STATUS_SUCCESS;
@@ -432,6 +448,8 @@ sai_status_t RedisRemoteSaiInterface::setRedisExtensionAttribute(
432448 m_contextConfig->m_zmqNtfEndpoint ,
433449 std::bind (&RedisRemoteSaiInterface::handleNotification, this , _1, _2, _3));
434450
451+ m_communicationChannel->setResponseTimeout (m_responseTimeoutMs);
452+
435453 SWSS_LOG_NOTICE (" zmq enabled, forcing sync mode" );
436454
437455 m_syncMode = true ;
0 commit comments