Skip to content

Commit 29a57f9

Browse files
committed
Address review comments 03-26-2024
- add SWSS cahnges - include LLDP interaction - add example PoE config - mention about warm reboot requirements Signed-off-by: Volodymyr Mytnyk <[email protected]>
1 parent 02a534d commit 29a57f9

File tree

4 files changed

+63
-7
lines changed

4 files changed

+63
-7
lines changed

doc/poe/images/poe_interaction.png

3.98 KB
Loading

doc/poe/images/poe_swss_poesyncd.png

10.8 KB
Loading
2.37 KB
Loading

doc/poe/poe_hld.md

Lines changed: 63 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,11 @@
88
- [Overview](#overview)
99
- [Requirements](#requirements)
1010
- [Architecture Design](#architecture-design)
11+
- [PoE interaction](#poe-interaction)
12+
- [SWSS changes](#swss-changes)
1113
- [PoE SYNCD](#poe-syncd)
1214
- [PoE Manager](#poe-manager)
15+
- [LLDP Manager](#lldp-manager-modified)
1316
- [High-Level Design](#high-level-design)
1417
- [PoE flows](#poe-flows)
1518
- [PoE data collection](#poe-data-collection)
@@ -28,7 +31,8 @@
2831

2932
| Rev | Date | Author | Change Description |
3033
|:---:|:----:|:--------------:|--------------------|
31-
| 0.1 | | Volodymyr Mytnyk | Initial version |
34+
| 0.1 | 03-26-2024 | Volodymyr Mytnyk | Initial version |
35+
| 0.2 | 04-01-2024 | Volodymyr Mytnyk | Add SWSS cahnges, include LLDP interaction, add example PoE config, mention about warm reboot requirements |
3236

3337
### Scope
3438

@@ -50,7 +54,8 @@ Ethernet switch (e.g. campus specific platforms) today often comes with Power ov
5054
- PoE feature can be enabled via compile option (disabled by default);
5155
- PoE config persistence during SONiC reboot;
5256
- Support CLI configurations as mentioned in [config section](#config-commands) and [show section](#show-commands);
53-
- Warm boot (future);
57+
- LLDP support (PoE power reporting only, future releases);
58+
- Warm boot;
5459

5560
### Architecture Design
5661

@@ -70,6 +75,13 @@ This section describes the detail interaction of PoE componnents, DB and PoE har
7075

7176
![poe-interaction](images/poe_interaction.png)
7277

78+
#### SWSS changes
79+
80+
In case to support external and separate PoE SAI, and following SONiC architecture design, SWSS container needs to be extended
81+
with PoE orch deamon that will handle all PoE ASIC DB requests and does PoE initialization.
82+
83+
![swss-changes](images/poe_swss_poesyncd.png)
84+
7385
#### PoE SYNCD
7486

7587
New PoE SYNCD container componnents:
@@ -95,6 +107,46 @@ PoE manager consists of a daemon that implements the following functionality:
95107
- apply PoE controller configuration;
96108
- track changes in config, appl DB;
97109

110+
##### Configuration
111+
112+
Below is a example of PoE configuration used by PoE manager on start up. The mapping between PoE port and ASIC port is done via front panel id.
113+
```
114+
{
115+
"hw_info": "integrated_mcu",
116+
"pse_list": [
117+
{
118+
"pse_index": 0
119+
},
120+
{
121+
"pse_index": 1
122+
},
123+
...
124+
],
125+
"port_mapping_list": [
126+
{
127+
"Ethernet0":
128+
{
129+
"front_panel_index": 1
130+
},
131+
...
132+
"Ethernet47":
133+
{
134+
"front_panel_index": 48
135+
}
136+
}
137+
]
138+
}
139+
```
140+
141+
#### LLDP manager (modified)
142+
143+
To exchange the PoE information with peer about power supply capability, the LLDP protocol is used. In case to support
144+
that, LLDP manager is required to be modified as following:
145+
146+
- LLDP manager gets PoE information (from application PoE database).
147+
- LLDP manager adds LLDP TLV with PoE information into LLDP packet.
148+
- LLDP negotiation (future versions).
149+
98150
### High-Level Design
99151

100152
This section covers the high level design of the built-in SONiC PoE feature.
@@ -192,7 +244,7 @@ The PoE Manager uses a new SAI PoE library that implements the PoE Abstraction I
192244
#### Manifest (if the feature is an Application Extension)
193245
Feature is not an Application Extension
194246

195-
#### CLI/YANG model Enhancements
247+
#### CLI
196248

197249
##### Show commands
198250
- show poe status
@@ -235,6 +287,10 @@ $ config poe interface power_limit Ethernet0 20.4
235287

236288
**TODO**: update CLI reference https://github.com/sonic-net/sonic-utilities/blob/master/doc/Command-Reference.md
237289

290+
#### YANG model Enhancements
291+
292+
TBD
293+
238294
#### Config DB Enhancements
239295

240296
New table has been added to the config database to store related PoE configuration parameters:
@@ -287,7 +343,8 @@ In SONiC all the peripheral devices data (information relared to PoE) will be st
287343

288344

289345
### Warmboot and Fastboot Design Impact
290-
Future
346+
347+
In scope of current desgin, the PoE functionality should continue to work across warm boot. The PoE configuration is present in the ASIC database and therefore should be compatible with existing SYNCD and its warm boot capabilities.
291348

292349
### Memory Consumption
293350
This sub-section covers the memory consumption analysis for the new feature: no memory consumption is expected when the feature is disabled via compilation and no growing memory consumption while feature is disabled by configuration.
@@ -308,7 +365,6 @@ System testing can be done only on systems with PoE hardware support.
308365

309366
TBD
310367

311-
### Open/Action items - if any
312-
None
368+
### Open/Action items
313369

314-
NOTE: All the sections and sub-sections given above are mandatory in the design document. Users can add additional sections/sub-sections if required.
370+
- SONiC Yang models needs to be provided as a part of this design.

0 commit comments

Comments
 (0)