| 123456789101112131415161718192021222324252627282930313233343536373839 |
- package vrrp
- import "time"
- // VRRPInstance represents a Virtual Router Redundancy Protocol configuration
- type VRRPInstance struct {
- ID string `json:"id"`
- Name string `json:"name"` // e.g. "vrrp-lan", "vrrp1"
- Interface string `json:"interface"` // e.g. "bridge1", "eth0", "vlan10"
- VRID int `json:"vrid"` // 1 - 255
- Priority int `json:"priority"` // 1 - 255 (default 100)
- Interval int `json:"interval"` // advertisement interval in seconds (default 1)
- Preempt bool `json:"preempt"` // true = master preemption active
- Version int `json:"version"` // 2 or 3 (default 3)
- VirtualIPs []string `json:"virtual_ips"` // e.g. ["192.168.88.254/24"]
- AuthType string `json:"auth_type"` // "none", "pass"
- AuthPassword string `json:"auth_password,omitempty"`
- Disabled bool `json:"disabled"` // true = disabled
- Comment string `json:"comment,omitempty"`
- // Runtime status
- State string `json:"state"` // "MASTER", "BACKUP", "FAULT", "DISABLED"
- Running bool `json:"running"` // true if Master or Backup (daemon active)
- VirtualMAC string `json:"virtual_mac"` // e.g. "00:00:5E:00:01:0A"
- LastTransition time.Time `json:"last_transition,omitempty"`
- }
- // VRRPSummary provides aggregated status for KPI cards
- type VRRPSummary struct {
- TotalInstances int `json:"total_instances"`
- MasterInstances int `json:"master_instances"`
- BackupInstances int `json:"backup_instances"`
- FaultInstances int `json:"fault_instances"`
- }
- // VRRPConfigStore wraps persistent storage
- type VRRPConfigStore struct {
- Instances []VRRPInstance `json:"instances"`
- }
|