diff --git a/roles/network_plugin/calico/defaults/main.yml b/roles/network_plugin/calico/defaults/main.yml
index 2f1c42e0b7049f2f3d167a82e55c2074ab2b9762..67718df2727a569e80555b3d9a78bb067d3ba770 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 48b4a25bc46c029ba165e52aa5ef1198848d763e..0405199189fa429985880fffad969108f8297770 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 }}"
             }
           }