You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This document provides details on Port Channel enhancements in SONiC.
@@ -84,7 +85,7 @@ This document describes the high level design of Port Channel enhancements in SO
84
85
- Upon enabling PortChannel graceful shutdown mode, all the portchannels in the system should be operationally down and stop traffic transmission and reception.
85
86
86
87
### 1.1.2 Configuration and Management Requirements
87
-
Provide configuration to enable/disable Port Channel graceful shutdown mode with the KLISH and click CLI.
88
+
Provide configuration to enable/disable Port Channel graceful shutdown mode globally and at portchannel level with the KLISH and click CLI.
88
89
89
90
### 1.1.3 Scalability Requirements
90
91
All the supported portchannels in the device should enable/disable graceful shutdown mode upon user trigger.
@@ -108,13 +109,14 @@ In MCLAG topologies, one of the two MCLAG nodes is put into graceful shutdown mo
108
109
109
110
## 2.2 Functional Description
110
111
In MCLAG topologies, the Port Channel graceful shutdown mode allows users to upgrade the switch software by forwarding the data through the peer MCLAG switch. The goal is to maintain the data connectivity while the software is being upgraded on one of the MCLAG nodes. In order to achieve this, all the portchannels in that MCLAG node are brought down operationally when the device enters the Port Channel graceful shutdown mode.
111
-
In the Port Channel graceful shutdown mode
112
+
In the Port Channel graceful shutdown mode:
112
113
113
114
- any newly created portchannel will be operationally down
114
115
- existing portchannel memberships(of the ports) can be changed by the user
115
116
- existing portchannels can be deleted by the user
116
117
117
-
The Port Channel graceful shutdown mode cannot be enabled/disabled for individual portchannels; it applies to all the portchannels present in the system.
118
+
The Port Channel graceful shutdown mode can be enabled/disabled for individual portchannels; portchannel level configuration is applicable only if Port Channel graceful shutdown is enabled globally.
119
+
Note: User should disable the Port Channel graceful shutdown at the portchannel level before enabling globally, if a given portchannel is desired to be operationally up.
118
120
119
121
# 3 Design
120
122
@@ -126,12 +128,22 @@ On SONiC device, when user wants to upgrade the firmware or resolve any issue on
126
128
- since the LACP state machine for all the member ports is stopped, the portchannels that are operationally up become down
127
129
- LACPDUs received on the member ports of the portchannels are silently discarded
128
130
- If user triggers a config save followed with a reload (config-reload or cold-reboot) - after reload, the device will come up with all the configured portchannels in graceful shutdown mode. The portchannels will be operationally down.
131
+
- the portchannels that have portchannel level graceful shutdown disabled are not altered; they continue to be in the same operational status
129
132
130
133
Upon exiting the Port Channel graceful shutdown mode:
131
134
- LACP state machine is started afresh for all the portchannel member ports that are link up
132
135
- LACPDUs are transmitted and received on the all the portchannel member ports that are link up
133
136
- Portchannels will be operationally up if the LACP convergence succeeds
134
137
138
+
If the graceful-shutdown is enabled globally:
139
+
- If there is no configuration at the portchannel level - all the portchannels in the system are brought DOWN
140
+
- If graceful-shutdown is disabled on a given portchannel(say PortChannel5) - all the portchannels except PortChannel5 are brought DOWN
141
+
- enable graceful-shutdown on the portchannel which had graceful-shutdown disabled - PortChannel5 is brought DOWN
142
+
143
+
If the graceful-shutdown is disabled globally:
144
+
- If graceful-shutdown is enabled at a portchannel level - this is a NO-OP; the portchannel continues to be UP
145
+
- If graceful-shutdown is disabled at a portchannel level - this is a NO-OP; the portchannel continues to be UP
146
+
135
147
### 3.1.1 Teamd configuration
136
148
The user will be able to enable/disable the Port Channel graceful shutdown mode.
137
149
@@ -143,8 +155,12 @@ Team Manager listens to the enable/disable modes of the Port Channel graceful sh
143
155
## 3.2 DB Changes
144
156
### 3.2.1 CONFIG DB
145
157
A new table PORTCHANNEL_GLOBAL is introduced. In the PORTCHANNEL_GLOBAL table:
146
-
- the "graceful_shutdown_mode" field is set to "enable" if user enables the Port Channel graceful shutdown mode
147
-
- the "graceful_shutdown_mode" field is set to "disable" if user disables the Port Channel graceful shutdown mode
158
+
- the "graceful_shutdown_mode" field is set to "enable" if user enables the Port Channel graceful shutdown mode globally
159
+
- the "graceful_shutdown_mode" field is set to "disable" if user disables the Port Channel graceful shutdown mode globally
160
+
161
+
In the PORTCHANNEL table:
162
+
- the "graceful_shutdown_mode" field is set to "enable" if user enables the Port Channel graceful shutdown mode at the portchannel level
163
+
- the "graceful_shutdown_mode" field is set to "disable" if user disables the Port Channel graceful shutdown mode at the portchannel level
148
164
149
165
### 3.2.2 APP DB
150
166
No new tables are needed.
@@ -182,31 +198,48 @@ Not applicable.
182
198
183
199
Click CLI
184
200
185
-
Enable/disable the Port Channel graceful shutdown mode.
201
+
Enable/disable the Port Channel graceful shutdown mode globally:
0 commit comments