@@ -210,6 +210,7 @@ void TeamMgr::doLagTask(Consumer &consumer)
210
210
string mtu = DEFAULT_MTU_STR;
211
211
string learn_mode;
212
212
string tpid;
213
+ string lacp_rate;
213
214
214
215
for (auto i : kfvFieldsValues (t))
215
216
{
@@ -247,12 +248,17 @@ void TeamMgr::doLagTask(Consumer &consumer)
247
248
{
248
249
tpid = fvValue (i);
249
250
SWSS_LOG_INFO (" Get TPID %s" , tpid.c_str ());
250
- }
251
+ }
252
+ else if (fvField (i) == " lacp_rate" )
253
+ {
254
+ lacp_rate = fvValue (i);
255
+ SWSS_LOG_INFO (" Get lacp_rate `%s`" , lacp_rate.c_str ());
256
+ }
251
257
}
252
258
253
259
if (m_lagList.find (alias) == m_lagList.end ())
254
260
{
255
- if (addLag (alias, min_links, fallback) == task_need_retry)
261
+ if (addLag (alias, min_links, fallback, lacp_rate ) == task_need_retry)
256
262
{
257
263
it++;
258
264
continue ;
@@ -496,7 +502,7 @@ bool TeamMgr::setLagLearnMode(const string &alias, const string &learn_mode)
496
502
return true ;
497
503
}
498
504
499
- task_process_status TeamMgr::addLag (const string &alias, int min_links, bool fallback)
505
+ task_process_status TeamMgr::addLag (const string &alias, int min_links, bool fallback, const string &lacp_rate )
500
506
{
501
507
SWSS_LOG_ENTER ();
502
508
@@ -541,7 +547,6 @@ task_process_status TeamMgr::addLag(const string &alias, int min_links, bool fal
541
547
<< " \" hwaddr\" :\" " << mac_boot.to_string () << " \" ,"
542
548
<< " \" runner\" :{"
543
549
<< " \" active\" :true,"
544
- << " \" fast_rate\" :true,"
545
550
<< " \" name\" :\" lacp\" " ;
546
551
547
552
if (min_links != 0 )
@@ -554,6 +559,11 @@ task_process_status TeamMgr::addLag(const string &alias, int min_links, bool fal
554
559
conf << " ,\" fallback\" :true" ;
555
560
}
556
561
562
+ if (lacp_rate == " fast" )
563
+ {
564
+ conf << " ,\" fast_rate\" :true" ;
565
+ }
566
+
557
567
conf << " }}'" ;
558
568
559
569
SWSS_LOG_INFO (" Port channel %s teamd configuration: %s" ,
0 commit comments