diff --git a/roles/network_plugin/calico/tasks/repos.yml b/roles/network_plugin/calico/tasks/repos.yml
index 41cbf7d0b76d0c0871858cb14442466af35368b3..dd29f45207247cdc2e76bb7897eb563223d5cba1 100644
--- a/roles/network_plugin/calico/tasks/repos.yml
+++ b/roles/network_plugin/calico/tasks/repos.yml
@@ -18,3 +18,4 @@
       when:
         - ansible_os_family in ['RedHat']
         - ansible_distribution not in ['Fedora']
+        - ansible_facts['distribution_major_version'] | int < 9
diff --git a/roles/network_plugin/calico/vars/centos-9.yml b/roles/network_plugin/calico/vars/centos-9.yml
new file mode 100644
index 0000000000000000000000000000000000000000..43df5457a39d83e530c8373acbd6c969e159a70f
--- /dev/null
+++ b/roles/network_plugin/calico/vars/centos-9.yml
@@ -0,0 +1,3 @@
+---
+calico_wireguard_packages:
+  - wireguard-tools
diff --git a/roles/network_plugin/calico/vars/redhat-9.yml b/roles/network_plugin/calico/vars/redhat-9.yml
new file mode 100644
index 0000000000000000000000000000000000000000..43df5457a39d83e530c8373acbd6c969e159a70f
--- /dev/null
+++ b/roles/network_plugin/calico/vars/redhat-9.yml
@@ -0,0 +1,3 @@
+---
+calico_wireguard_packages:
+  - wireguard-tools