Skip to content

Commit 9fbcb60

Browse files
Add warm-reboot mode for teammgrd (#678)
* Add Warm-reboot mode for teammgrd
1 parent 8c60787 commit 9fbcb60

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

cfgmgr/teammgr.cpp

+10-1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
#include "logger.h"
66
#include "shellcmd.h"
77
#include "tokenize.h"
8+
#include "warm_restart.h"
89

910
#include <algorithm>
1011
#include <sstream>
@@ -380,7 +381,15 @@ bool TeamMgr::addLag(const string &alias, int min_links, bool fallback)
380381
SWSS_LOG_INFO("Port channel %s teamd configuration: %s",
381382
alias.c_str(), conf.str().c_str());
382383

383-
cmd << TEAMD_CMD << " -r -t " << alias << " -c " << conf.str() << " -d";
384+
string warmstart_flag = WarmStart::isWarmStart() ? " -w " : "";
385+
const string dump_path = "/var/warmboot/teamd/";
386+
387+
cmd << TEAMD_CMD
388+
<< warmstart_flag
389+
<< " -r -t " << alias
390+
<< " -c " << conf.str()
391+
<< " -L " << dump_path
392+
<< " -d";
384393
EXEC_WITH_ERROR_THROW(cmd.str(), res);
385394

386395
SWSS_LOG_NOTICE("Start port channel %s with teamd", alias.c_str());

cfgmgr/teammgrd.cpp

+4
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
#include "netdispatcher.h"
55
#include "netlink.h"
66
#include "select.h"
7+
#include "warm_restart.h"
78

89
using namespace std;
910
using namespace swss;
@@ -29,6 +30,9 @@ int main(int argc, char **argv)
2930
DBConnector app_db(APPL_DB, DBConnector::DEFAULT_UNIXSOCKET, 0);
3031
DBConnector state_db(STATE_DB, DBConnector::DEFAULT_UNIXSOCKET, 0);
3132

33+
WarmStart::initialize("teammgrd");
34+
WarmStart::checkWarmStart("teammgrd");
35+
3236
TableConnector conf_lag_table(&conf_db, CFG_LAG_TABLE_NAME);
3337
TableConnector conf_lag_member_table(&conf_db, CFG_LAG_MEMBER_TABLE_NAME);
3438
TableConnector state_port_table(&state_db, STATE_PORT_TABLE_NAME);

0 commit comments

Comments
 (0)