diff --git a/roles/network_plugin/calico/defaults/main.yml b/roles/network_plugin/calico/defaults/main.yml
index 2f1c42e0b70..67718df2727 100644
--- a/roles/network_plugin/calico/defaults/main.yml
+++ b/roles/network_plugin/calico/defaults/main.yml
@@ -155,3 +155,7 @@ calico_ipam_maxblocksperhost: 0
 
 # Calico apiserver (only with kdd)
 calico_apiserver_enabled: false
+
+# Calico feature detect override, set "ChecksumOffloadBroken=true" to
+# solve the https://github.com/projectcalico/calico/issues/3145
+calico_feature_detect_override: ""
diff --git a/roles/network_plugin/calico/tasks/install.yml b/roles/network_plugin/calico/tasks/install.yml
index 48b4a25bc46..0405199189f 100644
--- a/roles/network_plugin/calico/tasks/install.yml
+++ b/roles/network_plugin/calico/tasks/install.yml
@@ -187,7 +187,8 @@
               "bpfExternalServiceMode": "{{ calico_bpf_service_mode }}",
               "wireguardEnabled": {{ calico_wireguard_enabled | bool }},
               "logSeverityScreen": "{{ calico_felix_log_severity_screen }}",
-              "vxlanEnabled": {{ calico_vxlan_mode != 'Never' }}
+              "vxlanEnabled": {{ calico_vxlan_mode != 'Never' }},
+              "featureDetectOverride": "{{ calico_feature_detect_override }}"
             }
           }