-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
[DPB] wrong aliases for interfaces #6024
Comments
|
Hi @zhenggen-xu , @praveen-li - Could you please look into this issue. Thanks. |
@zhenggen-xu @samaity : I recall aliases are mentioned in mlnx platform.json as displayed. Do we need to do anything here or platform.json needs the changes. |
@vadymhlushko-mlnx Please include the platform.json of the platform , and also specify your expectations. |
|
I am not sure what is the issue and what is expected from you here ? |
OK, if that was the case, then it was as designed. we will only use the aliases defined in platform.json for breaking out to any mode (include the one port mode in the "unbreak out case"). I guess the question was, where did the original alias eth2 coming from? If we want to support different aliases for different breakout mode, we need change the platform.json format and parsing logic for this new requirement. |
@zhenggen-xu, @liat-grozovik 1 . Before the breakout alias was
|
@vadymhlushko-mlnx As mentioned, I was not sure where you get the etp2 from? was it inherited from old configuration? If so, this is expected and the old configuration was not compatible with platform.json. And In the DPB design, we only use the aliases from the platform.json. And if we expect to have different alias names for different breakout modes for the same interface say: Ethernet4, we would need add this capability in platform.json and the parsing logic. |
@praveen-li, @zhenggen-xu, @samaity As it turned out recently, this issue with aliases naming is not only a cosmetic problem that you can see when you execute the In SONiC we have a flow to generate a
Somewhere in the middle of After that,
In the
|
|
I just checked the code. It is not adding any particular suffix to the alias. We only use the aliases from the platform.json in the logic. |
Something in the flow when using the command of mini graph and creating the config is doing so
I think you should go over the exact flow described in details and look in the dpb logic what causes it as it is causing mismatch and non functional system
Get Outlook for iOS<https://aka.ms/o0ukef>
…________________________________
From: Sangita Maity <[email protected]>
Sent: Tuesday, January 26, 2021 11:41:06 PM
To: Azure/sonic-buildimage <[email protected]>
Cc: Liat Grozovik <[email protected]>; Mention <[email protected]>
Subject: Re: [Azure/sonic-buildimage] [DPB] wrong aliases for interfaces (#6024)
I just checked the code. It is not adding any suffix 'a' to the alias. We only use the aliases from the platform.json in the logic.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub<#6024 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AKTABAZLDRJJ6LZIZMALVPLS34ZHFANCNFSM4UA6ZGUA>.
|
@praveen-li, @samaity, @zhenggen-xu I'm sorry, maybe the previous comment was not clear, let me clarify about the postfix Aliases like For example, if we change the And then will do the |
@vadymhlushko-mlnx Still not sure what the problem is. Do you want Again, if you have |
etp1 is for 100G ethernet0 need to enhance that. |
@vadymhlushko-mlnx If this is the case, for simplicity reasons, I would suggest we introduce one more field in platform.json, like "alias_root", which can specify the alias for the root port when we don't breakout (I,E single port) for that port group. e,g, we use etp1 for Ethernet0. and we can incorporate the changes in the parsing logic to use that alias. Changes need to be made in https://github.com/Azure/sonic-buildimage/blob/master/src/sonic-config-engine/portconfig.py If we even want different aliases for different breakout modes, then it could be more lengthy where we need alias list for each breakout mode. |
Additional field the |
would you implement this? and we will review it. |
After the last DPB subgroup meeting with the example config_db.json. It was noted that some of the tables like PORT_CHANNEL table member has invalid name. After checking the code, it turned out to be in the flow from minigraph to configDB translation. Minigraph takes the alias as input, in this case To really support flexible aliases for different vendors and also for different breakout modes, I raised a PR for the design change: sonic-net/SONiC#749 , with this new format, we need change some logic in portconfig.py. @vadymhlushko-mlnx Let me know if you guys wanted to go ahead implement that logic in portconfig.py. Thanks! |
@samaity Will work on the changes. |
…pport a… (#6831) To fix [DPB| wrong aliases for interfaces](#6024) issue, implimented flexible alias support [design doc](sonic-net/SONiC#749) > [[dpb|config] Fix the validation logic of breakout mode](sonic-net/sonic-utilities#1440) depends on this #### How I did it 1. Removed `"alias_at_lanes"` from port-configuration file(i.e. platfrom.json) 2. Added dictionary to "breakout_modes" values. This defines the breakout modes available on the platform for this parent port, and it maps to the alias list. The alias list presents the alias names for individual ports in order under this breakout mode. ``` { "interfaces": { "Ethernet0": { "index": "1,1,1,1", "lanes": "0,1,2,3", "breakout_modes": { "1x100G[40G]": ["Eth1"], "2x50G": ["Eth1/1", "Eth1/2"], "4x25G[10G]": ["Eth1/1", "Eth1/2", "Eth1/3", "Eth1/4"], "2x25G(2)+1x50G(2)": ["Eth1/1", "Eth1/2", "Eth1/3"], "1x50G(2)+2x25G(2)": ["Eth1/1", "Eth1/2", "Eth1/3"] } } } ``` #### How to verify it `config interface breakout` Signed-off-by: Sangita Maity <[email protected]>
…pport a… (sonic-net#6831) To fix [DPB| wrong aliases for interfaces](sonic-net#6024) issue, implimented flexible alias support [design doc](sonic-net/SONiC#749) > [[dpb|config] Fix the validation logic of breakout mode](sonic-net/sonic-utilities#1440) depends on this 1. Removed `"alias_at_lanes"` from port-configuration file(i.e. platfrom.json) 2. Added dictionary to "breakout_modes" values. This defines the breakout modes available on the platform for this parent port, and it maps to the alias list. The alias list presents the alias names for individual ports in order under this breakout mode. ``` { "interfaces": { "Ethernet0": { "index": "1,1,1,1", "lanes": "0,1,2,3", "breakout_modes": { "1x100G[40G]": ["Eth1"], "2x50G": ["Eth1/1", "Eth1/2"], "4x25G[10G]": ["Eth1/1", "Eth1/2", "Eth1/3", "Eth1/4"], "2x25G(2)+1x50G(2)": ["Eth1/1", "Eth1/2", "Eth1/3"], "1x50G(2)+2x25G(2)": ["Eth1/1", "Eth1/2", "Eth1/3"] } } } ``` `config interface breakout` Signed-off-by: Sangita Maity <[email protected]> device/mellanox/x86_64-mlnx_msn2700-r0/platform.json
…pport a… (sonic-net#6831) To fix [DPB| wrong aliases for interfaces](sonic-net#6024) issue, implimented flexible alias support [design doc](sonic-net/SONiC#749) > [[dpb|config] Fix the validation logic of breakout mode](sonic-net/sonic-utilities#1440) depends on this 1. Removed `"alias_at_lanes"` from port-configuration file(i.e. platfrom.json) 2. Added dictionary to "breakout_modes" values. This defines the breakout modes available on the platform for this parent port, and it maps to the alias list. The alias list presents the alias names for individual ports in order under this breakout mode. ``` { "interfaces": { "Ethernet0": { "index": "1,1,1,1", "lanes": "0,1,2,3", "breakout_modes": { "1x100G[40G]": ["Eth1"], "2x50G": ["Eth1/1", "Eth1/2"], "4x25G[10G]": ["Eth1/1", "Eth1/2", "Eth1/3", "Eth1/4"], "2x25G(2)+1x50G(2)": ["Eth1/1", "Eth1/2", "Eth1/3"], "1x50G(2)+2x25G(2)": ["Eth1/1", "Eth1/2", "Eth1/3"] } } } ``` `config interface breakout` Signed-off-by: Sangita Maity <[email protected]> device/mellanox/x86_64-mlnx_msn2700-r0/platform.json
…pport a… (sonic-net#6831) To fix [DPB| wrong aliases for interfaces](sonic-net#6024) issue, implimented flexible alias support [design doc](sonic-net/SONiC#749) > [[dpb|config] Fix the validation logic of breakout mode](sonic-net/sonic-utilities#1440) depends on this #### How I did it 1. Removed `"alias_at_lanes"` from port-configuration file(i.e. platfrom.json) 2. Added dictionary to "breakout_modes" values. This defines the breakout modes available on the platform for this parent port, and it maps to the alias list. The alias list presents the alias names for individual ports in order under this breakout mode. ``` { "interfaces": { "Ethernet0": { "index": "1,1,1,1", "lanes": "0,1,2,3", "breakout_modes": { "1x100G[40G]": ["Eth1"], "2x50G": ["Eth1/1", "Eth1/2"], "4x25G[10G]": ["Eth1/1", "Eth1/2", "Eth1/3", "Eth1/4"], "2x25G(2)+1x50G(2)": ["Eth1/1", "Eth1/2", "Eth1/3"], "1x50G(2)+2x25G(2)": ["Eth1/1", "Eth1/2", "Eth1/3"] } } } ``` #### How to verify it `config interface breakout` Signed-off-by: Sangita Maity <[email protected]>
Description
Interface has a wrong alias after successful dynamic port breakout command
Steps to reproduce the issue:
show interfaces status
config interface breakout Ethernet4 2x50G
show interfaces status
Describe the results you received:
Describe the results you expected:
Additional information you deem important (e.g. issue happens only occasionally):
The text was updated successfully, but these errors were encountered: