Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[libteam]: Add Warm-reboot startup mode for teamd #2155

Closed
wants to merge 3 commits into from

Conversation

pavel-shirshov
Copy link
Contributor

- What I did
I've added support of Warm-reboot startup mode for teamd. It allows us to keep lacp session from resetting when we start a switch.

- How I did it
Patch consist from 4 parts:

  1. Fix race issue in ifinfo which prevents teamd to set hwaddr_orig
  2. Wait a lacp pdu from the partner before sending its own lacp pdu.
  3. Don't go into DISABLE state on exit. When teamd transitioned into DISABLED state it generates EXPIRED lacp pdu.
  4. Don't go into DEFAULT state when we wait a LACP pdu from the partner. The DEFAULT state will prevent teamd to sync with the partner

- How to verify it
Build teamd and run it in your testbed. Use tcpdump to check lacp pdus in both directions.

- Description for the changelog

- A picture of a cute animal (not mandatory but encouraged)

@@ -6,7 +6,7 @@ function start_app {
rm -f /var/run/teamd/*
if [ "$(ls -A $TEAMD_CONF_PATH)" ]; then
for f in $TEAMD_CONF_PATH/*; do
teamd -f $f -d
teamd -f $f -d -N -o -w
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

does it mean it is already warm reboot? can we do without warm reboot?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

for normal boot, we do not want enable warm reboot option here.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

but when we want to enable warm reboot it would be already late
We need to decide how to enable warm reboot logic after teamd start.

Copy link
Collaborator

@jipanyang jipanyang Oct 15, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jipanyang
Copy link
Collaborator

Are you going to handle teamd graceful shutdown in a separate PR or it has been done somewhere?

Anything to be done for teamsyncd? state reconciliation is needed too to avoid state inconsistency between teamd and appDB?

@stcheng stcheng deleted the pavelsh/teamd_wreboot branch October 24, 2018 21:59
yxieca added a commit to yxieca/sonic-buildimage that referenced this pull request Jun 20, 2022
utilities:
* 789bfea 2022-06-16 | Fix header for the output table following 'show ipv6 interface' command (sonic-net#2219) (HEAD -> 202205, github/202205) [Dror Prital]
* 5443b3c 2022-05-25 | [GCU] Handling type1 lists (sonic-net#2171) [Mohamed Ghoneim]

swss:
* 3fb23a1 2022-06-16 | [aclorch] Fix and simplify DTel watchlist tables and entries (sonic-net#2155) [Mickey Spiegel]
* 9ace643 2022-06-16 | [intfmgr]: Set proxy_arp kernel param (sonic-net#2334) [Lawrence Lee]
* 013609a 2022-06-14 | [crmorch] Prevent exceededLogCounter from resetting when low and high values are equal (sonic-net#2327) [Alexander Allen]
* 83a1306 2022-06-13 | Fix key generation in removeDecapTunnel (sonic-net#2322) [Myron Sosyak]
* 3d018ad 2022-06-15 | Apply `DSCP_TO_TC_MAP` from `PORT_QOS_MAP|global` to switch level (sonic-net#2314) [bingwang-ms]

Signed-off-by: Ying Xie <ying.xie@microsoft.com>
yxieca added a commit to yxieca/sonic-buildimage that referenced this pull request Jun 21, 2022
swss:
* a3bfd96 2022-06-18 | Enhance mock test for dynamic buffer manager for port removing and qos reload flows (sonic-net#2262) (HEAD -> 202205, github/202205) [Stephen Sun]
* b17d6c0 2022-05-28 | Support mock_test infra for dynamic buffer manager and fix issues found during mock test (sonic-net#2234) [Stephen Sun]
* 3fb23a1 2022-06-16 | [aclorch] Fix and simplify DTel watchlist tables and entries (sonic-net#2155) [Mickey Spiegel]
* 9ace643 2022-06-16 | [intfmgr]: Set proxy_arp kernel param (sonic-net#2334) [Lawrence Lee]
* 013609a 2022-06-14 | [crmorch] Prevent exceededLogCounter from resetting when low and high values are equal (sonic-net#2327) [Alexander Allen]
* 83a1306 2022-06-13 | Fix key generation in removeDecapTunnel (sonic-net#2322) [Myron Sosyak]
* 3d018ad 2022-06-15 | Apply `DSCP_TO_TC_MAP` from `PORT_QOS_MAP|global` to switch level (sonic-net#2314) [bingwang-ms]

Signed-off-by: Ying Xie <ying.xie@microsoft.com>
yxieca added a commit that referenced this pull request Jun 21, 2022
swss:
* a3bfd96 2022-06-18 | Enhance mock test for dynamic buffer manager for port removing and qos reload flows (#2262) (HEAD -> 202205, github/202205) [Stephen Sun]
* b17d6c0 2022-05-28 | Support mock_test infra for dynamic buffer manager and fix issues found during mock test (#2234) [Stephen Sun]
* 3fb23a1 2022-06-16 | [aclorch] Fix and simplify DTel watchlist tables and entries (#2155) [Mickey Spiegel]
* 9ace643 2022-06-16 | [intfmgr]: Set proxy_arp kernel param (#2334) [Lawrence Lee]
* 013609a 2022-06-14 | [crmorch] Prevent exceededLogCounter from resetting when low and high values are equal (#2327) [Alexander Allen]
* 83a1306 2022-06-13 | Fix key generation in removeDecapTunnel (#2322) [Myron Sosyak]
* 3d018ad 2022-06-15 | Apply `DSCP_TO_TC_MAP` from `PORT_QOS_MAP|global` to switch level (#2314) [bingwang-ms]

Signed-off-by: Ying Xie <ying.xie@microsoft.com>
vivekrnv added a commit to vivekrnv/sonic-buildimage that referenced this pull request Jun 24, 2022
93af69c [PFC_WD] Avoid applying ZeroBuffer Profiles to ingress PG when a PFC storm is detected (sonic-net#2304)
37349cf [swssconfig] Optimize performance of swssconfig (sonic-net#2336)
84e9b07 [fdborch] fix heap-use-after-free in clearFdbEntry() (sonic-net#2353)
1b8bd94 Create ACL table fails due to incorrect check for supported ACL actions sonic-net#11235 (sonic-net#2351)
1ed0b4b [macsec] Refactor the logic of macsec name map (sonic-net#2348)
f88f992 [mock_tests] Add Sflow Orch UTs (sonic-net#2295)
ec57bf1 [macsec] Update macsec flex counter (sonic-net#2338)
6e0fc85 [ACL] Support stage particular match fields (sonic-net#2341)
efb4530 [orchagent, DTel]: report session support to set user vrf (sonic-net#2326)
d82874d Fix for "orchagent crashed when trying to delete fdb static entry with swssconfig sonic-net#11046" (sonic-net#2332)
0c789e6 Fix qos map test in vs test (sonic-net#2343)
1bb5070 Enhance mock test for dynamic buffer manager for port removing and qos reload flows (sonic-net#2262)
700492f [aclorch] Fix and simplify DTel watchlist tables and entries (sonic-net#2155)

Signed-off-by: Vivek Reddy Karri <vkarri@nvidia.com>
prsunny pushed a commit that referenced this pull request Jun 28, 2022
Swss commits:

93af69c [PFC_WD] Avoid applying ZeroBuffer Profiles to ingress PG when a PFC storm is detected (#2304)
37349cf [swssconfig] Optimize performance of swssconfig (#2336)
84e9b07 [fdborch] fix heap-use-after-free in clearFdbEntry() (#2353)
1b8bd94 Create ACL table fails due to incorrect check for supported ACL actions #11235 (#2351)
1ed0b4b [macsec] Refactor the logic of macsec name map (#2348)
f88f992 [mock_tests] Add Sflow Orch UTs (#2295)
ec57bf1 [macsec] Update macsec flex counter (#2338)
6e0fc85 [ACL] Support stage particular match fields (#2341)
efb4530 [orchagent, DTel]: report session support to set user vrf (#2326)
d82874d Fix for "orchagent crashed when trying to delete fdb static entry with swssconfig #11046" (#2332)
0c789e6 Fix qos map test in vs test (#2343)
1bb5070 Enhance mock test for dynamic buffer manager for port removing and qos reload flows (#2262)
700492f [aclorch] Fix and simplify DTel watchlist tables and entries (#2155)

Signed-off-by: Vivek Reddy Karri <vkarri@nvidia.com>
liat-grozovik pushed a commit that referenced this pull request Jul 3, 2022
afceda4 [201911] [Flex Counters] add CLI for PG drop packets counters (counterpoll, show/clear counters) (#2155)

Signed-off-by: Andriy Yurkiv <ayurkiv@nvidia.com>
vivekrnv pushed a commit to vivekrnv/sonic-buildimage that referenced this pull request Aug 26, 2022
…et#2155)

* Fix DTel acl rule creation

The significant rewrite of aclorch when adding ACL_TABLE_TYPE
configuration caused a bug that prevents configuration of any
DTel rules. This is due to use of an incorrect set of enum
mappings while determining which type of AclRule to create.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants