-
Notifications
You must be signed in to change notification settings - Fork 24
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
Alias Feature HLD #73
Conversation
|
||
Same as CLI show test, but using gNMI GET request, verify the JSON response. | ||
|
||
#### Configuration via REST |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you please mention the PUT & PATCH for alias enable cli ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please check the review comments
doc/mgmt/SONiC_AliasFeature_HLD.md
Outdated
|
||
# Scope | ||
|
||
Covers general design for supporting alias feature. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it's important to note that the scope of this is limited to the SONiC Mgmt Framework (I think!). SONiC Click is unaffected I believe (at least it's not mentioned at all). Also config_db.json - what's the story here? The scoping needs stating.
doc/mgmt/SONiC_AliasFeature_HLD.md
Outdated
|
||
- By default system will boot in native mode. Native mode is where interfaces are displayed as Ethernet 1, Ethernet 4, Ethernet 8 etc. This also ensures that backwards compatibility is maintained. | ||
- Once alias is enabled, all subsequent CLI, REST & gNMI interfaces will use the alternative name for ethernet interface configuration & retrieval. | ||
- Existing SSH sessions : TBD. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please address the TBD
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it OK to kill all existing session when naming mode is changed?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it OK to kill all existing session when naming mode is changed?
It's not ideal. What's the reason for needing to do this? It may be acceptable if there is no practical alternative, but it would be better to solve.
doc/mgmt/SONiC_AliasFeature_HLD.md
Outdated
|
||
## 3.1 Overview | ||
|
||
- When alias mode is enabled, ethernet interfaces will be represented as Eth[slot/port/breakout-port], where slot will start from 1 and port/breakout-port numbers will start from 1. This name format is fixed and will not have references to interface speed. For e.g Eth1/1 (in non breakout mode), Eth1/1/1 (in breakout mode). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please define what you mean by "slot" in the SONiC world.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Being futuristic (for chassis case) and also allows the user to easily identify the mode from the name of the interface.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes I understand that, but I'm asking to explain this in the doc. That is, explain that slot will likely always be 1 in a fixed pizza-box format, but may take different values in other formats (e.g. chassis).
doc/mgmt/SONiC_AliasFeature_HLD.md
Outdated
## 3.1 Overview | ||
|
||
- When alias mode is enabled, ethernet interfaces will be represented as Eth[slot/port/breakout-port], where slot will start from 1 and port/breakout-port numbers will start from 1. This name format is fixed and will not have references to interface speed. For e.g Eth1/1 (in non breakout mode), Eth1/1/1 (in breakout mode). | ||
- The alias name {e.g Eth1/1) is picked from platform.json file. All platforms to be updated with this format for port name. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are you referring to the "alias_at_lanes" defined here - https://github.com/Azure/SONiC/blob/439944c120d59edf7f62ed28a902b1a3c07a35f8/doc/dynamic-port-breakout/sonic-dynamic-port-breakout-HLD.md? Please say so. As I say above, I'm not convinced we should be overloading this with a fixed format.
|
||
#### 3.6.2.3 Debug Commands | ||
|
||
#### 3.6.2.4 IS-CLI Compliance |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please state that Cisco has no equivalent command - port naming is always fixed.
|
||
- `/sonic-device-metadata:sonic-device-metadata/DEVICE_METADATA/DEVICE_METADATA_LIST={name}/aliasMode` | ||
|
||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we also see examples of RESTCONF port reference in SONiC and standard mode? How is this changed when referring to ports (broken out and not).
- `/sonic-device-metadata:sonic-device-metadata/DEVICE_METADATA/DEVICE_METADATA_LIST={name}/aliasMode` | ||
|
||
|
||
# 4 Flow Diagrams |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No gNMI section?
# 4 Flow Diagrams | ||
|
||
# 5 Error Handling | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What happens if the user (CLI/script, REST, gNMI) refers to the wrong naming mode? Pls show the error message returned.
#### Get configuration via REST | ||
|
||
Same as CLI configuration test, but using REST request | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
gNMI?
doc/mgmt/SONiC_AliasFeature_HLD.md
Outdated
|
||
## 3.1 Overview | ||
|
||
- When alias mode is enabled, ethernet interfaces will be represented as Eth[slot/port/breakout-port], where slot will start from 1 and port/breakout-port numbers will start from 1. This name format is fixed and will not have references to interface speed. For e.g Eth1/1 (in non breakout mode), Eth1/1/1 (in breakout mode). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Any specific reason for starting from slot1 . Usually all Pizza boxes have their interfaces starting from 0 .
Will be soon supporting Subinterfaces . So how is it going to be ?
doc/mgmt/SONiC_AliasFeature_HLD.md
Outdated
sonic(config)# alias enable | ||
sonic(config)# no alias enable | ||
``` | ||
#### Config commands when alias mode is enabled |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please do mention no reload is needed
doc/mgmt/SONiC_AliasFeature_HLD.md
Outdated
sonic(config)# no alias enable | ||
``` | ||
#### Config commands when alias mode is enabled | ||
`Eth 1/2`, `Eth1/2`, and `e1/2` options are supported to get into alias interface config mode. The parser converts all to `Eth1/2`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What if native mode is used to config in alias mode ?
|
||
- For dynamically using the right string for ethernet interfaces (i.e Ethernet 4 in native mode & Eth 1/4 in standard mode), XML file has to be modified to use the correct PTYPE. `PHY_INTERFACE` has to be used as PTYPE for Ethernet Interface. | ||
- When interface-naming is set to standard, ethernet interfaces will be represented as Eth[slot/port/breakout-port], where slot will start from 1 and port/breakout-port numbers will start from 1. Slot will always likely to be 1 in fixed pizza-box format, but may take different values in chassis format. This name format is fixed and will not have references to interface speed. For e.g Eth1/1 (in non breakout mode), Eth1/1/1 (in breakout mode). | ||
- The standard interface name {e.g Eth1/1) is picked from platform.json file. All platforms need to be updated with this format for port name. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please confirm alias is picked up from CONFIG_DB not from platform.json, the back end application populate DB entries from platform.json based on break-out mode.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Need updated platform.json with the new format for ports. Interface-naming API's use data from CONFIG_DB.
No description provided.