Files
NexaVPN/backend/internal/ipam/service.go
nessi 830491cb0d chore: initial project scaffold with admin web, backend, desktop client, and deployment setup
Add monorepo structure for NexaVPN WireGuard control plane including:
- .gitignore for node_modules, build artifacts, and environment files
- README with project overview, monorepo layout, and quick start guide
- Admin web UI with React, Vite, TypeScript, and nginx reverse proxy
- API client with type definitions for users, devices, policies, gateways, and audit logs
- Admin pages for dashboard, users, devices, policies, g
2026-03-15 16:32:34 +01:00

27 lines
417 B
Go

package ipam
import (
"fmt"
"net/netip"
)
type Service struct{}
func NewService() *Service {
return &Service{}
}
func (s *Service) Allocate(cidr string, offset int) (string, error) {
prefix, err := netip.ParsePrefix(cidr)
if err != nil {
return "", err
}
address := prefix.Addr().Next()
for i := 1; i < offset; i++ {
address = address.Next()
}
return fmt.Sprintf("%s/32", address.String()), nil
}