Skip to content

Validate user limits when selecting device for connection (unicast vs multicast) #3549

@juan-malbeclabs

Description

@juan-malbeclabs

Description:

When selecting a device to establish a connection, the system should validate the user limits based on the connection type (unicast or multicast).
Currently, this validation is either missing or not correctly enforced, which can lead to errors like the following:

# doublezero connect multicast --publish edge-solana-shreds
DoubleZero Service Provisioning
🔗  Start Provisioning User to mainnet-beta...
    DoubleZero ID: xkN8xAw8kQAvUjcpqnxBM5hYdrXRUJtHotK8WuK649M
🔍  Provisioning User for IP: 64.130.43.211
    Creating separate Multicast user for concurrent tunnels (IBRL user: ChJc8GBnsbJJAU96a7Zk1N5KdLhVC16sY6fFvECbE3Yy)
    The Device has been selected: dz100a-ams2-tsw
Error: Device dz100a-ams2-tsw has reached its multicast publisher limit (48/48)

Problem

The system selects dz100a-ams2-tsw even though it has already reached its multicast publisher limit, causing the provisioning process to fail after selection.

Expected behavior

  • During device selection, the system should:
    • Identify the connection type (unicast or multicast)
    • Check the corresponding device limits (e.g., multicast publishers)
    • Exclude devices that have reached their limit
  • Only devices with available capacity should be considered for selection

Proposed improvement

  • Add capacity validation as part of the device selection logic
  • Ensure limits are checked per connection type (unicast vs multicast)
  • Optionally:
    • Surface capacity information during selection
    • Provide a clearer error if no devices are available

Impact

This will prevent unnecessary provisioning failures and improve user experience by ensuring only valid devices are selected upfront.

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions