Skip to content

Commit 2bdb431

Browse files
Merge branch 'sonic-net:master' into aggVoq
2 parents 2b47d1b + c591d7f commit 2bdb431

File tree

123 files changed

+9642
-1110
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

123 files changed

+9642
-1110
lines changed

MoM.html

+130
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,136 @@ <h2>SONiC community meeting minutes </h2>
104104
<th style=" text-align: center; ">Links To Meeting Agenda</th>
105105
<th style=" text-align: center; ">Links To Minutes Of The meeting</th>
106106
</tr>
107+
<tr>
108+
<td style="">&nbsp;&nbsp;Oct 29 2024 &nbsp;&nbsp;</td>
109+
<td style="text-align: left; "><a href="https://lists.sonicfoundation.dev/g/sonic-dev/message/839">No Meeting</a></td>
110+
<td style=""><a href="https://lists.sonicfoundation.dev/g/sonic-dev/message/841">MoM</a></td>
111+
</tr>
112+
<tr>
113+
<td style="">&nbsp;&nbsp;Oct 22 2024 &nbsp;&nbsp;</td>
114+
<td style="text-align: left; "><a href="https://github.com/sonic-net/SONiC/issues/1529">SSD Cleanup HLD</a></td>
115+
<td style=""><a href="https://lists.sonicfoundation.dev/g/sonic-dev/message/827">MoM</a></td>
116+
</tr>
117+
<tr>
118+
<td style="">&nbsp;&nbsp;Oct 15 2024 &nbsp;&nbsp;</td>
119+
<td style="text-align: left; "><a href="https://lists.sonicfoundation.dev/g/sonic-dev/message/826">No Meeting</a></td>
120+
<td style=""><a href="https://lists.sonicfoundation.dev/g/sonic-dev/message/826">MoM</a></td>
121+
</tr>
122+
<tr>
123+
<td style="">&nbsp;&nbsp;Oct 08 2024 &nbsp;&nbsp;</td>
124+
<td style="text-align: left; "><a href="https://lists.sonicfoundation.dev/g/sonic-dev/message/815">SONiC-Disk-Reduce-IO HLD</a></td>
125+
<td style=""><a href="https://lists.sonicfoundation.dev/g/sonic-dev/message/816">MoM</a></td>
126+
</tr>
127+
<tr>
128+
<td style="">&nbsp;&nbsp;Oct 01 2024 &nbsp;&nbsp;</td>
129+
<td style="text-align: left; "><a href="https://lists.sonicfoundation.dev/g/sonic-dev/message/810">No Meeting</a></td>
130+
<td style=""><a href="https://lists.sonicfoundation.dev/g/sonic-dev/message/810">MoM</a></td>
131+
</tr>
132+
<tr>
133+
<td style="">&nbsp;&nbsp;Sep 24 2024 &nbsp;&nbsp;</td>
134+
<td style="text-align: left; "><a href="https://github.com/sonic-net/SONiC/pull/1587">VOQ Aggregate Counters HLD</a></td>
135+
<td style=""><a href="https://lists.sonicfoundation.dev/g/sonic-dev/message/808">MoM</a></td>
136+
</tr>
137+
<tr>
138+
<td style="">&nbsp;&nbsp;Sep 17 2024 &nbsp;&nbsp;</td>
139+
<td style="text-align: left; "><a href="https://github.com/sonic-net/SONiC/pull/1808">IPMC Data plane HLD</a></td>
140+
<td style=""><a href="https://lists.sonicfoundation.dev/g/sonic-dev/message/803">MoM</a></td>
141+
</tr>
142+
<tr>
143+
<td style="">&nbsp;&nbsp;Sep 10 2024 &nbsp;&nbsp;</td>
144+
<td style="text-align: left; "><a href="https://github.com/sonic-net/SONiC/pull/1771">Enhacements for Overlay-Ecmp HLD</a></td>
145+
<td style=""><a href="https://lists.sonicfoundation.dev/g/sonic-dev/message/795">MoM</a></td>
146+
</tr>
147+
<tr>
148+
<td style="">&nbsp;&nbsp;Sep 03 2024 &nbsp;&nbsp;</td>
149+
<td style="text-align: left; "><a href="https://github.com/sonic-net/SONiC/pull/1743">Egress ACL Outer DSCP Change HLD</a></td>
150+
<td style=""><a href="https://lists.sonicfoundation.dev/g/sonic-dev/message/792">MoM</a></td>
151+
</tr>
152+
<tr>
153+
<td style="">&nbsp;&nbsp;Aug 27 2024 &nbsp;&nbsp;</td>
154+
<td style="text-align: left; "><a href="https://github.com/sonic-net/SONiC/pull/1761">MSTP HLD</a></td>
155+
<td style=""><a href="https://lists.sonicfoundation.dev/g/sonic-dev/message/789">MoM</a></td>
156+
</tr>
157+
<tr>
158+
<td style="">&nbsp;&nbsp;Aug 20 2024 &nbsp;&nbsp;</td>
159+
<td style="text-align: left; "><a href="https://github.com/sonic-net/SONiC/pull/1760">SONiC Memory statistics HLD</a></td>
160+
<td style=""><a href="https://lists.sonicfoundation.dev/g/sonic-dev/message/786">MoM</a></td>
161+
</tr>
162+
<tr>
163+
<td style="">&nbsp;&nbsp;Aug 13 2024 &nbsp;&nbsp;</td>
164+
<td style="text-align: left; "><a href="https://github.com/sonic-net/SONiC/pull/1713">SONiC Audit enhancements HLD</a></td>
165+
<td style=""><a href="https://lists.sonicfoundation.dev/g/sonic-dev/message/785">MoM</a></td>
166+
</tr>
167+
<tr>
168+
<td style="">&nbsp;&nbsp;Aug 06 2024 &nbsp;&nbsp;</td>
169+
<td style="text-align: left; "><a href="https://github.com/sonic-net/SONiC/pull/1767">SONiC Optical Transport Network HLD</a></td>
170+
<td style=""><a href="https://lists.sonicfoundation.dev/g/sonic-dev/message/784">MoM</a></td>
171+
</tr>
172+
<tr>
173+
<td style="">&nbsp;&nbsp;Jul 30 2024 &nbsp;&nbsp;</td>
174+
<td style="text-align: left; "><a href="https://github.com/sonic-net/SONiC/pull/1702">EVPN VxLAN Multi Homing HLD</a></td>
175+
<td style=""><a href="https://lists.sonicfoundation.dev/g/sonic-dev/message/783">MoM</a></td>
176+
</tr>
177+
<tr>
178+
<td style="">&nbsp;&nbsp;Jul 23 2024 &nbsp;&nbsp;</td>
179+
<td style="text-align: left; "><a href="https://github.com/sonic-net/SONiC/pull/1521">BGP Loading Optimization HLD</a></td>
180+
<td style=""><a href="https://lists.sonicfoundation.dev/g/sonic-dev/message/762">MoM</a></td>
181+
</tr>
182+
<tr>
183+
<td style="">&nbsp;&nbsp;Jul 16 2024 &nbsp;&nbsp;</td>
184+
<td style="text-align: left; "><a href="https://github.com/sonic-net/SONiC/pull/1698">Add HLD for Orchagent error handling improvements</a></td>
185+
<td style=""><a href="https://lists.sonicfoundation.dev/g/sonic-dev/message/763">MoM</a></td>
186+
</tr>
187+
<tr>
188+
<td style="">&nbsp;&nbsp;Jul 09 2024 &nbsp;&nbsp;</td>
189+
<td style="text-align: left; "><a href="https://github.com/sonic-net/SONiC/pull/1714">KDUMP Remote SSH Enhancement</a></td>
190+
<td style=""><a href="https://lists.sonicfoundation.dev/g/sonic-dev/message/764">MoM</a></td>
191+
</tr>
192+
<tr>
193+
<td style="">&nbsp;&nbsp;Jul 02 2024 &nbsp;&nbsp;</td>
194+
<td style="text-align: left; "><a href="https://lists.sonicfoundation.dev/g/sonic-dev/message/752">No Meeting</a></td>
195+
<td style=""><a href="https://lists.sonicfoundation.dev/g/sonic-dev/message/752">MoM</a></td>
196+
</tr>
197+
<tr>
198+
<td style="">&nbsp;&nbsp;Jun 25 2024 &nbsp;&nbsp;</td>
199+
<td style="text-align: left; "><a href="https://lists.sonicfoundation.dev/g/sonic-dev/message/765">No Meeting</a></td>
200+
<td style=""><a href="https://lists.sonicfoundation.dev/g/sonic-dev/message/765">MoM</a></td>
201+
</tr>
202+
<tr>
203+
<td style="">&nbsp;&nbsp;Jun 18 2024 &nbsp;&nbsp;</td>
204+
<td style="text-align: left; "><a href="https://lists.sonicfoundation.dev/g/sonic-dev/message/765">No Meeting</a></td>
205+
<td style=""><a href="https://lists.sonicfoundation.dev/g/sonic-dev/message/765">MoM</a></td>
206+
</tr>
207+
<tr>
208+
<td style="">&nbsp;&nbsp;Jun 11 2024 &nbsp;&nbsp;</td>
209+
<td style="text-align: left; "><a href="https://github.com/sonic-net/SONiC/pull/1700">Scheduled Configuration HLD</a></td>
210+
<td style=""><a href="https://lists.sonicfoundation.dev/g/sonic-dev/message/747">MoM</a></td>
211+
</tr>
212+
<tr>
213+
<td style="">&nbsp;&nbsp;Jun 04 2024 &nbsp;&nbsp;</td>
214+
<td style="text-align: left; "><a href="https://lists.sonicfoundation.dev/g/sonic-dev/message/729">No Meeting</a></td>
215+
<td style=""><a href="https://lists.sonicfoundation.dev/g/sonic-dev/message/746">MoM</a></td>
216+
</tr>
217+
<tr>
218+
<td style="">&nbsp;&nbsp;May 28 2024 &nbsp;&nbsp;</td>
219+
<td style="text-align: left; "><a href="https://lists.sonicfoundation.dev/g/sonic-dev/message/744">No Meeting</a></td>
220+
<td style=""><a href="https://lists.sonicfoundation.dev/g/sonic-dev/message/744">MoM</a></td>
221+
</tr>
222+
<tr>
223+
<td style="">&nbsp;&nbsp;May 21 2024 &nbsp;&nbsp;</td>
224+
<td style="text-align: left; "><a href="https://lists.sonicfoundation.dev/g/sonic-dev/message/724">No Meeting</a></td>
225+
<td style=""><a href="https://lists.sonicfoundation.dev/g/sonic-dev/message/743">MoM</a></td>
226+
</tr>
227+
<tr>
228+
<td style="">&nbsp;&nbsp;May 14 2024 &nbsp;&nbsp;</td>
229+
<td style="text-align: left; "><a href="https://github.com/sonic-net/SONiC/blob/5ff7810e3e6743467abd5d5ad89327d97b147e46/doc/logrotate/logrotate_hld.md">Log rotate Feature HLD</a></td>
230+
<td style=""><a href="https://lists.sonicfoundation.dev/g/sonic-dev/message/720">MoM</a></td>
231+
</tr>
232+
<tr>
233+
<td style="">&nbsp;&nbsp;May 07 2024 &nbsp;&nbsp;</td>
234+
<td style="text-align: left; "><a href="https://lists.sonicfoundation.dev/g/sonic-dev/message/708">No Meeting</a></td>
235+
<td style=""><a href="https://lists.sonicfoundation.dev/g/sonic-dev/message/712">MoM</a></td>
236+
</tr>
107237
<tr>
108238
<td style="">&nbsp;&nbsp;Apr 30 2024 &nbsp;&nbsp;</td>
109239
<td style="text-align: left; "><a href="https://lists.sonicfoundation.dev/g/sonic-dev/message/697">No Meeting</a></td>

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@ This repository contains documentation, Wiki, master project management, and web
44

55
Documentation covers project wide concerns such as the getting started guide, faq, general requirements for
66
contribution, developer's guide, governance, architecture, and so on. It also contains links to download and install SONiC
7-
and links to all the source. See [SONiC Wiki](https://github.com/azure/sonic/wiki) for complete information.
7+
and links to all the source. See [SONiC Wiki](https://github.com/sonic-net/sonic/wiki) for complete information.

Supported-Devices-and-Platforms.html

+24
Original file line numberDiff line numberDiff line change
@@ -995,6 +995,22 @@ <h2><p style="text-align: left; font-family: Verdana, sans-serif; color: #2E86C1
995995
<td></td>
996996
</tr>
997997
<tr>
998+
<td>Micas Networks</td>
999+
<td>M2-W6010-48GT4X</td>
1000+
<td class="asic_vendor">Centec</td>
1001+
<td>TsingMa</td>
1002+
<td>48x1G+4x10G</td>
1003+
<td></td>
1004+
</tr>
1005+
<tr>
1006+
<td>Micas Networks</td>
1007+
<td>M2-W6510-48V8C</td>
1008+
<td class="asic_vendor">Broadcom</td>
1009+
<td>Trident 3</td>
1010+
<td>48x25G+8x100G</td>
1011+
<td></td>
1012+
</tr>
1013+
<tr>
9981014
<td>Mitac</td>
9991015
<td>LY1200-B32H0-C3</td>
10001016
<td class="asic_vendor">Broadcom</td>
@@ -1235,6 +1251,14 @@ <h2><p style="text-align: left; font-family: Verdana, sans-serif; color: #2E86C1
12351251
<td></td>
12361252
</tr>
12371253
<tr>
1254+
<td>SuperMicro</td>
1255+
<td>SSE-T7132S</td>
1256+
<td class="asic_vendor">Marvell</td>
1257+
<td>Teralynx 7</td>
1258+
<td>32x400G</td>
1259+
<td></td>
1260+
</tr>
1261+
<tr>
12381262
<td>Tencent</td>
12391263
<td>TCS8400-24CC8CD</td>
12401264
<td class="asic_vendor">Broadcom</td>

doc/DHCP Mitigation

Whitespace-only changes.

doc/DHCPv4_Gateway/DHCPv4_gateway.md

+159
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,159 @@
1+
# DHCP Relay (v4) - Specify gaaddr as Primary Interface's Gateway explicitly #
2+
3+
## Table of Content
4+
1. [Scope](#Scope)
5+
2. [Definitions](#Definitions/Abbreviations)
6+
3. [Overview](#Overview)
7+
4. [Requirements](#Requirements)
8+
5. [High Level Design](#High-Level-Design)
9+
6. [Test](#Testing-Considerations)
10+
11+
### Revision
12+
13+
### Scope
14+
15+
This document describes the High Level Design of 'secondary' interfaces of vlan and use of primary (non-secondary) interface as gateway for dhcpv4 relay.
16+
17+
### Definitions/Abbreviations
18+
19+
20+
21+
### Overview
22+
23+
A vlan can support multiple subnets/interfaces. Some of these interfaces (ideally all except one) can be marked as 'secondary'.
24+
25+
Secondary addresses do not support DHCP (with dhcp relay). Dhcp relay agent will insert its primary address in dhcp request, and dhcp server should assign addresses from primary range only.
26+
27+
When a dhcpv4 packet is forwarded via (isc) dhcprelayagent, it embeds its interface's gateway address as 'giaddr' for return communication.
28+
In case of multiple (primary) interfaces, dhcprelayagent randomly (mis)configures this giaddr to any of the interfaces.
29+
This design fixes this behaviour by marking some interfaces as secondary, and explicitly specifying the primary interface for dhcp relay agent's gateway.
30+
31+
Secondary interface increases the number of IPs supported by switch without affecting live workloads. Such IPs will be used for virtualized machines on existing baremetals. This also provides finer control for different workloads from network security.
32+
33+
This feature is limited to IPv4-only.
34+
35+
### Requirements
36+
37+
1. Support a new member 'secondary' of VLAN_INTERFACE in config_db.
38+
2. Support parsing and assignment of subnets from minigraph/json/cli to config_db.
39+
3. Support specifying non-secondary interfaces' gateway address to command line arguments to /usr/sbin/dhcrelay as -pg (primary gateway).
40+
4. isc-dhcp/dhcrelay to support '-pg gateway' argument.
41+
42+
### Architecture Design
43+
44+
This HLD doesn't propose any sonic architectural changes. It follows the existing architecture of sonic - open source asc-dhcp is used for its dhcpv4 requirements.
45+
This HLD proposes to enhance the dhcp-relay (v4) capability by avoiding ambiguity in dhcpv4 request packet's giaddr field.
46+
47+
### High-Level Design
48+
49+
This section covers the high level design of the feature/enhancement. This section covers the following points in detail.
50+
51+
- Is it a built-in SONiC feature or a SONiC Application Extension? - Built in feature.
52+
- What are the modules and sub-modules that are modified for this design? - isc-dhcp.
53+
- What are the repositories that would be changed? - sonic-subnet/sonic-buildimage.
54+
- Module/sub-module interfaces and dependencies.
55+
- SWSS and Syncd changes in detail - N/A.
56+
- DB and Schema changes (APP_DB, ASIC_DB, COUNTERS_DB, LOGLEVEL_DB, CONFIG_DB, STATE_DB) - CONFIG_DB sonic-vlan/sonic-vlan/VLAN_INTERFACE.
57+
- Sequence diagram if required. - N/A.
58+
- Linux dependencies and interface - N/A.
59+
- Warm reboot requirements/dependencies - N/A.
60+
- Fastboot requirements/dependencies - N/A.
61+
- Scalability and performance requirements/impact - N/A.
62+
- Memory requirements - N/A.
63+
- Docker dependency - N/A,
64+
- Build dependency if any - N/A.
65+
- Management interfaces - SNMP, CLI, RestAPI, etc.,
66+
- Serviceability and Debug (logging, counters, trace etc) related design
67+
- Is this change specific to any platform? Are there dependencies for platforms to implement anything to make this feature work? If yes, explain in detail and inform community in advance. - N/A.
68+
- SAI API requirements, CLI requirements, ConfigDB requirements. Design is covered in following sections. - ConfigDB requirement is captured below.
69+
70+
### SAI API
71+
72+
No change in SAI API.
73+
74+
### Configuration and management
75+
(This section should have sub-sections for all types of configuration and management related design. Example sub-sections for "CLI" and "Config DB" are given below. Sub-sections related to data models (YANG, REST, gNMI, etc.,) should be added as required.)
76+
77+
#### Minigraph
78+
79+
Redis DB Structure | Json Style
80+
```
81+
{
82+
"VLAN_INTERFACE": {
83+
"Vlan1000": {},
84+
"Vlan1000|20.11.12.13/27": {"secondary": "true"},
85+
"Vlan1000|20.11.10.13/27": {},
86+
}
87+
}
88+
```
89+
90+
#### Manifest (if the feature is an Application Extension)
91+
92+
N/A
93+
94+
95+
#### CLI/YANG model Enhancements
96+
97+
Extend CLI to specify an interface ip as secondary during add:
98+
99+
$ sudo config interface ip add Vlan1000 20.11.12.13/27 20.11.12.254 --secondary
100+
Usage: config interface ip add <interface_name> <ip_addr> <default gateway IP address> <secondary>
101+
102+
Extend yang (sonic-vlan.yang):
103+
```
104+
list VLAN_INTERFACE_IPPREFIX_LIST {
105+
106+
leaf secondary {
107+
description "Optional field to specify if the prefix is secondary subnet";
108+
type boolean;
109+
}
110+
}
111+
```
112+
113+
#### Config DB Enhancements
114+
115+
Support a new optional member 'secondary' of VLAN_INTERFACE in config_db. Type: bool, Default: false.
116+
No upgrade/action required in config_db for existing interfaces during upgrade.
117+
118+
119+
### Warmboot and Fastboot Design Impact
120+
This feature doesnt impact warmboot/fastboot. This feature is limited to dhcpv4 relay agent behaviour, which doesnt affect warmboot/fastboot.
121+
122+
### Memory Consumption
123+
No memory consumption is expected when the feature is disabled via compilation and no growing memory consumption while feature is disabled by configuration.
124+
125+
### Restrictions/Limitations
126+
127+
### Testing Requirements/Design
128+
Explain what kind of unit testing, system testing, regression testing, warmboot/fastboot testing, etc.,
129+
Ensure that the existing warmboot/fastboot requirements are met. For example, if the current warmboot feature expects maximum of 1 second or zero second data disruption, the same should be met even after the new feature/enhancement is implemented. Explain the same here.
130+
Example sub-sections for unit test cases and system test cases are given below.
131+
132+
#### Unit Test cases
133+
134+
Sonic has an extensive set of unit tests to validate dhcpv4 scenarios. Few test cases were modified with additional 'subnets', to validate existing test cases.
135+
136+
```
137+
1. [sonic-buildimage] yang - model validation test case:
138+
src/sonic-config-engine/tests/test_minigraph_case.py::test_minigraph_vlan_interfaces - to check if secondary flag is added.
139+
src/sonic-config-engine/tests/test_minigraph_case.py:::test_minigraph_vlan_interfaces_keys - to check if secondary subnet is added in IPInterfaces.
140+
2. [sonic-utilities] cli validation test cases: all the below cases are covered in tests/ip_config_test.py
141+
validating --secondary flag in the command
142+
validating -s flag in the command
143+
Check if a primary subnet is present and only if it is add the secondary flag - if not fail
144+
3. [sonic-mgmt] dhcp relay test case: Modify the existing two_vlan scenario to extend and have secondary subnet field in the minigraph
145+
ansible/templates/minigraph_dpg.j2 - changes to add SecondarySubnets xml entry
146+
ansible/vars/topo_t0.yml - changes to add secondary_subnet to the vlan
147+
4. [sonic-buildimage] test dhcp-relay j2 file generation:
148+
src/sonic-config-engine/tests/test_j2files.py::test_dhcp_relay - add a test case to read minigraph file with secondary subnet field present and validate it against the expected generated file.
149+
src/sonic-config-engine/tests/t0-sample-graph-secondary-subnets.xml - minigraph with secondary subnets in Vlan1000
150+
docker-dhcp-relay-secondary-subnets.supervisord.conf - expected output file in sample-output folder
151+
```
152+
153+
#### System Test cases
154+
N/A.
155+
156+
### Open/Action items - if any
157+
158+
159+
NOTE: All the sections and sub-sections given above are mandatory in the design document. Users can add additional sections/sub-sections if required.

0 commit comments

Comments
 (0)