-
Notifications
You must be signed in to change notification settings - Fork 1k
[ansible][minigraph] add support for adding autonegotiation in minigraph templates and fanout EOS #13990
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
[ansible][minigraph] add support for adding autonegotiation in minigraph templates and fanout EOS #13990
Changes from all commits
6b1de4c
5f38d56
f631fac
8515737
68e4662
7fcd219
20af214
461180a
a9ead6d
c359d2c
e0b9105
ae22bea
7cc9a7d
3779707
99e8e5b
7ac510c
dc6fa54
b78563c
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -36,14 +36,20 @@ interface defaults | |
| {% for intf in device_port_vlans[inventory_hostname] %} | ||
| interface {{ intf }} | ||
| description {{ device_conn[inventory_hostname][intf]['peerdevice'] }}-{{ device_conn[inventory_hostname][intf]['peerport'] }} | ||
| # TODO: Add an additional var/check in fanout devices if autoneg is enabled with the below check | ||
| {% if device_conn[inventory_hostname][intf]['autoneg']|lower == "on" %} | ||
| speed auto {{ device_conn[inventory_hostname][intf]['speed'] }}full | ||
| {% else %} | ||
| speed force {{ device_conn[inventory_hostname][intf]['speed'] }}full | ||
| {% endif %} | ||
| {% if device_port_vlans[inventory_hostname][intf]['mode'] == 'Trunk' %} | ||
| switchport mode trunk | ||
| switchport trunk allowed vlan {{ device_port_vlans[inventory_hostname][intf]['vlanids'] }} | ||
| {% else %} | ||
| switchport mode dot1q-tunnel | ||
| switchport access vlan {{ device_port_vlans[inventory_hostname][intf]['vlanids'] }} | ||
| {% if device_conn[inventory_hostname][intf]['speed'] == "100000" %} | ||
| # TODO: Add an additional var/check in fanout devices if autoneg is enabled with the below check | ||
| {% if device_conn[inventory_hostname][intf]['speed'] == "100000" and device_conn[inventory_hostname][intf]['autoneg']|lower == "off" %} | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @vdahiya12 Why are we restricting to 100G only?
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. there is no restriction here, only if speed is 100000 and autoneg is off, then we keep fec as reed-solomon
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. add the peer device check
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @vdahiya12 prevent configuration of RS FEC if msft_an_lt is enabled? |
||
| error-correction encoding reed-solomon | ||
| {% else %} | ||
| no error-correction encoding | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -52,3 +52,30 @@ | |
| </Link> | ||
| </LinkMetadataDeclaration> | ||
| {% endif %} | ||
|
|
||
| {% if msft_an_enabled is defined %} | ||
| <LinkMetadataDeclaration> | ||
| <Link xmlns:a="http://schemas.datacontract.org/2004/07/Microsoft.Search.Autopilot.Evolution"> | ||
| {% for if_index in vm_topo_config['autoneg_interfaces']['intfs'] %} | ||
| {% set autoneg_intf = "Ethernet" ~ if_index ~ "/1" %} | ||
vdahiya12 marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| {% if device_conn[inventory_hostname][port_alias_map[autoneg_intf]]['autoneg']|lower == "on" %} | ||
vdahiya12 marked this conversation as resolved.
Show resolved
Hide resolved
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @vdahiya12 please add a comment this is for peer/link |
||
| <a:LinkMetadata> | ||
| <a:Name i:nil="true"/> | ||
| <a:Properties> | ||
| <a:DeviceProperty> | ||
| <a:Name>AutoNegotiation</a:Name> | ||
| <a:Value>True</a:Value> | ||
| </a:DeviceProperty> | ||
| <a:DeviceProperty> | ||
| <a:Name>FECDisabled</a:Name> | ||
| <a:Reference i:nil="true"/> | ||
| <a:Value>True</a:Value> | ||
|
Comment on lines
+70
to
+72
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @vdahiya12 disabling FEC when AN is enabled, I would suggest to use
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. fixed |
||
| </a:DeviceProperty> | ||
| </a:Properties> | ||
| <a:Key>{{ device_conn[inventory_hostname][port_alias_map[autoneg_intf]]['peerdevice'] }}:{{ device_conn[inventory_hostname][port_alias_map[autoneg_intf]]['peerport'] }};{{ inventory_hostname }}:{{ autoneg_intf }}</a:Key> | ||
| </a:LinkMetadata> | ||
| {% endif %} | ||
| {% endfor %} | ||
| </Link> | ||
| </LinkMetadataDeclaration> | ||
| {% endif %} | ||
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.
@vdahiya12 In future each SKU needs to be updated to parse the device connection if onboarded for AN testbed?
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, every template will need to be enhanced