-
Notifications
You must be signed in to change notification settings - Fork 19
Expand file tree
/
Copy pathtest.go
More file actions
39 lines (34 loc) · 725 Bytes
/
Copy pathtest.go
File metadata and controls
39 lines (34 loc) · 725 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
package main
import (
"flag"
"fmt"
"time"
VRRP "vrrp-go/vrrp"
)
var (
VRID int
Priority int
)
func init() {
flag.IntVar(&VRID, "vrid", 233, "virtual router ID")
flag.IntVar(&Priority, "pri", 100, "router priority")
}
func main() {
flag.Parse()
var vr = VRRP.NewVirtualRouter(byte(VRID), "ens3", false, VRRP.IPv4)
vr.SetPriorityAndMasterAdvInterval(byte(Priority), time.Millisecond*800)
vr.Enroll(VRRP.Backup2Master, func() {
fmt.Println("init to master")
})
vr.Enroll(VRRP.Master2Init, func() {
fmt.Println("master to init")
})
vr.Enroll(VRRP.Master2Backup, func() {
fmt.Println("master to backup")
})
go func() {
time.Sleep(time.Minute * 5)
vr.Stop()
}()
vr.StartWithEventSelector()
}