diff --git a/gso/services/netbox_client.py b/gso/services/netbox_client.py
index a94da723333ef6804dea2605e255d6ccd9760cb5..5de76f908e6f74c76ff84705916085c350d41934 100644
--- a/gso/services/netbox_client.py
+++ b/gso/services/netbox_client.py
@@ -106,6 +106,15 @@ class NetboxClient:
         device_manufacturer = Manufacturer(**{"name": name, "slug": slug})
         return self.netbox.dcim.manufacturers.create(dict(device_manufacturer))
 
+    @staticmethod
+    def calculate_interface_speed(interface: Interfaces) -> int | None:
+        """Calculate the interface speed in bits per second."""
+
+        type_parts = interface.type.value.split("-")
+        if "gbase" in type_parts[0]:
+            return int("".join(filter(str.isdigit, type_parts[0]))) * 1000000
+        return None
+
     def create_device(self, router_name: str, site_tier: str) -> Devices:
         """Create a new device in netbox."""
 
@@ -137,12 +146,7 @@ class NetboxClient:
             )
 
         for interface in self.netbox.dcim.interfaces.filter(device_id=device.id):
-            speed = None
-            type_parts = interface.type.value.split("-")
-            if "gbase" in type_parts[0]:
-                # Extract the numeric part and convert to bits per second
-                speed = int("".join(filter(str.isdigit, type_parts[0]))) * 1000000
-            interface.speed = speed
+            interface.speed = self.calculate_interface_speed(interface)
             interface.enabled = False
             interface.save()
 
@@ -237,9 +241,20 @@ class NetboxClient:
         # Return available lags not assigned to the device
         return [lag for lag in all_feasible_lags if lag not in lag_interface_names]
 
+    @staticmethod
+    def calculate_speed_bits_per_sec(speed: str) -> int:
+        """Extract the numeric part from the speed."""
+
+        numeric_part = int("".join(filter(str.isdigit, speed)))
+        # Convert to bits per second
+        return numeric_part * 1000000
+
     def get_available_interfaces(self, router_id: UUID, speed: str) -> Interfaces:
+        """Return all available interfaces of a device filtered by speed."""
+
         router = Router.from_subscription(router_id).router.router_fqdn
         device = self.get_device_by_name(router)
+        speed_bps = self.calculate_speed_bits_per_sec(speed)
         return self.netbox.dcim.interfaces.filter(
-            device=device.name, enabled=False, mark_connected=False, speed=int(speed.split("G")[0]) * 1000000
+            device=device.name, enabled=False, mark_connected=False, speed=speed_bps
         )