diff --git a/ansible/module_utils/graph_utils.py b/ansible/module_utils/graph_utils.py
index 4d4980372d3..6c2b8693773 100644
--- a/ansible/module_utils/graph_utils.py
+++ b/ansible/module_utils/graph_utils.py
@@ -264,6 +264,7 @@ def csv_to_graph_facts(self):
end_port_mac = link.get("EndPortMac", None)
autoneg_mode = link.get("AutoNeg")
fec_disable = link.get("FECDisable", False)
+ linktraining_mode = link.get("LinkTraining", "")
links.setdefault(start_device, {})
links.setdefault(end_device, {})
@@ -293,6 +294,10 @@ def csv_to_graph_facts(self):
start_port_linked_port.update({"autoneg": autoneg_mode})
end_port_linked_port.update({"autoneg": autoneg_mode})
+ if linktraining_mode:
+ start_port_linked_port.update({"linktraining": linktraining_mode})
+ end_port_linked_port.update({"linktraining": linktraining_mode})
+
if start_port_mac:
start_port_linked_port.update({"mac": start_port_mac})
diff --git a/ansible/roles/fanout/templates/sonic_deploy_202405.j2 b/ansible/roles/fanout/templates/sonic_deploy_202405.j2
index a8657ec3b5d..da550f0a51f 100644
--- a/ansible/roles/fanout/templates/sonic_deploy_202405.j2
+++ b/ansible/roles/fanout/templates/sonic_deploy_202405.j2
@@ -23,6 +23,13 @@
"fec" : "rs",
{% endif %}
{% if port_name in device_conn[inventory_hostname] %}
+ {% if 'linktraining' in device_conn[inventory_hostname][port_name] %}
+ {% if 'on' in device_conn[inventory_hostname][port_name]['linktraining'] %}
+ "link_training": "on",
+ {% elif 'off' in device_conn[inventory_hostname][port_name]['linktraining'] %}
+ "link_training": "off",
+ {% endif %}
+ {% endif %}
{% if 'autoneg' in device_conn[inventory_hostname][port_name] %}
{% if 'on' in device_conn[inventory_hostname][port_name]['autoneg'] %}
"autoneg": "on",
diff --git a/ansible/roles/fanout/templates/sonic_deploy_202505.j2 b/ansible/roles/fanout/templates/sonic_deploy_202505.j2
index e94dc4f2a8d..98fdc321276 100644
--- a/ansible/roles/fanout/templates/sonic_deploy_202505.j2
+++ b/ansible/roles/fanout/templates/sonic_deploy_202505.j2
@@ -26,6 +26,13 @@
"fec" : "rs",
{% endif %}
{% if port_name in device_conn[inventory_hostname] %}
+ {% if 'linktraining' in device_conn[inventory_hostname][port_name] %}
+ {% if 'on' in device_conn[inventory_hostname][port_name]['linktraining'] %}
+ "link_training": "on",
+ {% elif 'off' in device_conn[inventory_hostname][port_name]['linktraining'] %}
+ "link_training": "off",
+ {% endif %}
+ {% endif %}
{% if 'autoneg' in device_conn[inventory_hostname][port_name] %}
{% if 'on' in device_conn[inventory_hostname][port_name]['autoneg'] %}
"autoneg": "on",
diff --git a/ansible/templates/minigraph_link_meta.j2 b/ansible/templates/minigraph_link_meta.j2
index 65fe5753c52..cd716038930 100644
--- a/ansible/templates/minigraph_link_meta.j2
+++ b/ansible/templates/minigraph_link_meta.j2
@@ -85,6 +85,27 @@
{% endif %}
{% endif %}
+{% if iface_name in device_conn[inventory_hostname] and 'linktraining' in device_conn[inventory_hostname][iface_name] %}
+
+
+
+{% if 'on' in device_conn[inventory_hostname][iface_name]['linktraining'] %}
+
+ LinkTraining
+
+ True
+
+{% elif 'off' in device_conn[inventory_hostname][iface_name]['linktraining'] %}
+
+ LinkTraining
+
+ False
+
+{% endif %}
+
+ {{ device_conn[inventory_hostname][iface_name]['peerdevice'] }}:{{ device_conn[inventory_hostname][iface_name]['peerport'] }};{{ inventory_hostname }}:{{ port_name_map[iface_name] }}
+
+{% endif %}
{% if device_conn[inventory_hostname][iface_name]["fec_disable"] %}