Skip to content
Closed
Show file tree
Hide file tree
Changes from 9 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions src/sonic-config-engine/minigraph.py
Original file line number Diff line number Diff line change
Expand Up @@ -1880,6 +1880,13 @@ def parse_xml(filename, platform=None, port_config_file=None, asic_name=None, hw
for port in ports.values():
port['mtu'] = '9100'
port['tpid'] = '0x8100'
# mode check for vlan membership in PORT table default mode is routed and for vlan membership it is trunk
Copy link
Copy Markdown
Collaborator

@qiluo-msft qiluo-msft Mar 21, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

mode check for vlan membership in PORT table default mode is routed and for vlan membership it is trunk

Since you can implement a conditional default value in relevant consuming component, no need to add explicit attribute during load_minigraph. We try to prevent any minigraph.py behavior change now. #Closed

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here in minigraph .py, we implemented conditional default value in relevant consuming component.
Do we need to remove all this conditional change as well from minigraph.py

for port_name, port in ports.items():
if 'mode' not in port:
if port_name in [key[1] for key in vlan_members.keys()]:
port['mode'] = 'trunk'
else:
port['mode'] = 'routed'

# asymmetric PFC is disabled by default
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you do not need remove empty line.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Noted

for port in ports.values():
Expand Down Expand Up @@ -1951,6 +1958,13 @@ def parse_xml(filename, platform=None, port_config_file=None, asic_name=None, hw
pc['mtu'] = '9100'
pc['tpid'] = '0x8100'
pc['admin_status'] = 'up'
# mode check for vlan membership in portchannel and default mode is routed and mode is trunk when port channel has vlan membership
for pc_name, pc in pcs.items():
if 'mode' not in pc:
if pc_name in [key[1] for key in vlan_members.keys()]:
pc['mode'] = 'trunk'
else:
pc['mode'] = 'routed'

results['PORTCHANNEL'] = pcs
results['PORTCHANNEL_MEMBER'] = pc_members
Expand Down
111 changes: 74 additions & 37 deletions src/sonic-config-engine/tests/sample_hwsku.json
Original file line number Diff line number Diff line change
@@ -1,115 +1,152 @@
{
"interfaces": {
"Ethernet0": {
"default_brkout_mode": "1x100G[40G]"
"default_brkout_mode": "1x100G[40G]",
"mode" : "routed"
},
"Ethernet4": {
"default_brkout_mode": "2x50G"
"default_brkout_mode": "2x50G",
"mode" : "routed"
},
"Ethernet8": {
"default_brkout_mode": "4x25G[10G]"
"default_brkout_mode": "4x25G[10G]",
"mode" : "routed"
},
"Ethernet12": {
"default_brkout_mode": "2x25G(2)+1x50G(2)"
"default_brkout_mode": "2x25G(2)+1x50G(2)",
"mode" : "routed"
},
"Ethernet16": {
"default_brkout_mode": "1x50G(2)+2x25G(2)"
"default_brkout_mode": "1x50G(2)+2x25G(2)",
"mode" : "routed"
},
"Ethernet20": {
"default_brkout_mode": "1x100G[40G]"
"default_brkout_mode": "1x100G[40G]",
"mode" : "routed"
},
"Ethernet24": {
"default_brkout_mode": "2x50G"
"default_brkout_mode": "2x50G",
"mode" : "routed"
},
"Ethernet28": {
"default_brkout_mode": "4x25G[10G]"
"default_brkout_mode": "4x25G[10G]",
"mode" : "routed"
},
"Ethernet32": {
"default_brkout_mode": "2x25G(2)+1x50G(2)"
"default_brkout_mode": "2x25G(2)+1x50G(2)",
"mode" : "routed"
},
"Ethernet36": {
"default_brkout_mode": "1x50G(2)+2x25G(2)"
"default_brkout_mode": "1x50G(2)+2x25G(2)",
"mode" : "routed"
},
"Ethernet40": {
"default_brkout_mode": "1x100G[50G,40G,25G,10G,1G]"
"default_brkout_mode": "1x100G[50G,40G,25G,10G,1G]",
"mode" : "routed"
},
"Ethernet44": {
"default_brkout_mode": "2x50G[40G,25G,10G,1G]"
"default_brkout_mode": "2x50G[40G,25G,10G,1G]",
"mode" : "routed"
},
"Ethernet48": {
"default_brkout_mode": "4x25G[10G]"
"default_brkout_mode": "4x25G[10G]",
"mode" : "routed"
},
"Ethernet52": {
"default_brkout_mode": "2x25G(2)+1x50G(2)"
"default_brkout_mode": "2x25G(2)+1x50G(2)",
"mode" : "routed"
},
"Ethernet56": {
"default_brkout_mode": "1x50G(2)+2x25G(2)"
"default_brkout_mode": "1x50G(2)+2x25G(2)",
"mode" : "routed"
},
"Ethernet60": {
"default_brkout_mode": "1x100G[40G]"
"default_brkout_mode": "1x100G[40G]",
"mode" : "routed"
},
"Ethernet64": {
"default_brkout_mode": "2x50G"
"default_brkout_mode": "2x50G",
"mode" : "routed"
},
"Ethernet68": {
"default_brkout_mode": "4x25G[10G]"
"default_brkout_mode": "4x25G[10G]",
"mode" : "routed"
},
"Ethernet72": {
"default_brkout_mode": "2x25G(2)+1x50G(2)"
"default_brkout_mode": "2x25G(2)+1x50G(2)",
"mode" : "routed"
},
"Ethernet76": {
"default_brkout_mode": "1x50G(2)+2x25G(2)"
"default_brkout_mode": "1x50G(2)+2x25G(2)",
"mode" : "routed"
},
"Ethernet80": {
"default_brkout_mode": "1x100G[40G]"
"default_brkout_mode": "1x100G[40G]",
"mode" : "routed"
},
"Ethernet84": {
"default_brkout_mode": "2x50G"
"default_brkout_mode": "2x50G",
"mode" : "routed"
},
"Ethernet88": {
"default_brkout_mode": "4x25G[10G]"
"default_brkout_mode": "4x25G[10G]",
"mode" : "routed"
},
"Ethernet92": {
"default_brkout_mode": "2x25G(2)+1x50G(2)"
"default_brkout_mode": "2x25G(2)+1x50G(2)",
"mode" : "routed"
},
"Ethernet96": {
"default_brkout_mode": "1x50G(2)+2x25G(2)"
"default_brkout_mode": "1x50G(2)+2x25G(2)",
"mode" : "routed"
},
"Ethernet100": {
"default_brkout_mode": "1x100G[40G]"
"default_brkout_mode": "1x100G[40G]",
"mode" : "routed"
},
"Ethernet104": {
"default_brkout_mode": "2x50G"
"default_brkout_mode": "2x50G",
"mode" : "routed"
},
"Ethernet108": {
"default_brkout_mode": "4x25G[10G]"
"default_brkout_mode": "4x25G[10G]",
"mode" : "routed"
},
"Ethernet112": {
"default_brkout_mode": "2x25G(2)+1x50G(2)"
"default_brkout_mode": "2x25G(2)+1x50G(2)",
"mode" : "routed"
},
"Ethernet116": {
"default_brkout_mode": "1x50G(2)+2x25G(2)"
"default_brkout_mode": "1x50G(2)+2x25G(2)",
"mode" : "routed"
},
"Ethernet120": {
"default_brkout_mode": "1x100G[40G]"
"default_brkout_mode": "1x100G[40G]",
"mode" : "routed"
},
"Ethernet124": {
"default_brkout_mode": "2x50G"
"default_brkout_mode": "2x50G",
"mode" : "routed"
},
"Ethernet128": {
"default_brkout_mode": "1x40G[100G]"
"default_brkout_mode": "1x40G[100G]",
"mode" : "routed"
},
"Ethernet132": {
"default_brkout_mode": "1x25G[100G,50G,40G,10G]"
"default_brkout_mode": "1x25G[100G,50G,40G,10G]",
"mode" : "routed"
},
"Ethernet136": {
"default_brkout_mode": "4x10G[25G]"
"default_brkout_mode": "4x10G[25G]",
"mode" : "routed"
},
"Ethernet140": {
"default_brkout_mode": "2x25G(2)+1x50000(2)"
"default_brkout_mode": "2x25G(2)+1x50000(2)",
"mode" : "routed"
},
"Ethernet144": {
"default_brkout_mode": "1x100000[50G,40000,25G,10000]"
"default_brkout_mode": "1x100000[50G,40000,25G,10000]",
"mode" : "routed"
}
}
}
Loading