forked from sonic-net/sonic-buildimage
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Increase min-links limit for portchannel from 128 to 1024. (sonic-net…
…#7265) #### Why I did it Restrict the min-links parameter in "config portchannel" to the range 1-1024. Fixes sonic-net#6781 in conjunction with sonic-net#1630. Align YANG model with limits in libteam and sonic-utilties. #### How I did it PR 1630 in sonic-utilities prevents CLI user from entering a value outside the allowed range. This PR does the following: - Increases the maximum value of min-links from 128 to 1024. - Provides validation in libteam, incorporating as a patch the code in https://git.kernel.org/pub/scm/linux/kernel/git/jpirko/libteam.git/commit/?id=69a7494bb77dc10bb27076add07b380dbd778592. - Updates the Yang model upper limit from 128 to 1024 (was inconsistent with libteam value). - Updates the Yang model lower limit from 1 to 0, since 0 is set as default in sonic-utilities which would fail its new range check otherwise. - Added Yang tests for valid and invalid value. #### How to verify it config portchannel add PortChannel0004 --min-links 1024 Command should be accepted. show interfaces portchannel Output should show PortChannel0004, no errors on CLI. config portchannel add PortChannel0005 --min-links 1025 Command should be rejected show interfaces portchannel Output should not show PortChannel0005 , no errors on CLI. #### Which release branch to backport (provide reason below if selected) #### Description for the changelog Updates YANG model to allow up to 1024 min_links for portchannel. Fixes sonic-net#6781 in conjunction with sonic-net#1630.
- Loading branch information
1 parent
53c75e2
commit 30e0320
Showing
5 changed files
with
112 additions
and
2 deletions.
There are no files selected for viewing
34 changes: 34 additions & 0 deletions
34
src/libteam/patch/0012-Increase-min_ports-upper-limit-to-1024.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
diff --git a/man/teamd.conf.5 b/man/teamd.conf.5 | ||
index 350ffc9..dc913cd 100644 | ||
--- a/man/teamd.conf.5 | ||
+++ b/man/teamd.conf.5 | ||
@@ -248,7 +248,7 @@ Default: | ||
.RE | ||
.TP | ||
.BR "runner.min_ports " (int) | ||
-Specifies the minimum number of ports that must be active before asserting carrier in the master interface, value can be 1 \(en 255. | ||
+Specifies the minimum number of ports that must be active before asserting carrier in the master interface, value can be 1 \(en 1024. | ||
.RS 7 | ||
.PP | ||
Default: | ||
diff --git a/teamd/teamd_runner_lacp.c b/teamd/teamd_runner_lacp.c | ||
index 9354ebb..a901398 100644 | ||
--- a/teamd/teamd_runner_lacp.c | ||
+++ b/teamd/teamd_runner_lacp.c | ||
@@ -151,6 +151,7 @@ struct lacp { | ||
#define LACP_CFG_DFLT_FALLBACK false | ||
int min_ports; | ||
#define LACP_CFG_DFLT_MIN_PORTS 1 | ||
+#define LACP_CFG_DFLT_MIN_PORTS_MAX 1024 | ||
enum lacp_agg_select_policy agg_select_policy; | ||
#define LACP_CFG_DFLT_AGG_SELECT_POLICY LACP_AGG_SELECT_LACP_PRIO | ||
} cfg; | ||
@@ -493,7 +494,7 @@ static int lacp_load_config(struct teamd_context *ctx, struct lacp *lacp) | ||
err = teamd_config_int_get(ctx, &tmp, "$.runner.min_ports"); | ||
if (err) { | ||
lacp->cfg.min_ports = LACP_CFG_DFLT_MIN_PORTS; | ||
- } else if (tmp < 1 || tmp > UCHAR_MAX) { | ||
+ } else if (tmp < 1 || tmp > LACP_CFG_DFLT_MIN_PORTS_MAX) { | ||
teamd_log_err("\"min_ports\" value is out of its limits."); | ||
return -EINVAL; | ||
} else { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters