fix supernode resetconn not work
This commit is contained in:
parent
86865cd111
commit
1141334e4b
|
@ -354,11 +354,13 @@ func NewDevice(tapDevice tap.Device, id mtypes.Vertex, bind conn.Bind, logger *L
|
|||
device.rate.limiter.Init()
|
||||
device.indexTable.Init()
|
||||
device.PopulatePools()
|
||||
device.Chan_Device_Initialized = make(chan struct{}, 1<<5)
|
||||
if IsSuperNode {
|
||||
device.SuperConfigPath = configpath
|
||||
device.SuperConfig = sconfig
|
||||
device.EdgeConfig = &mtypes.EdgeConfig{}
|
||||
device.EdgeConfig.Interface.MTU = DefaultMTU
|
||||
device.EdgeConfig.DynamicRoute.PeerAliveTimeout = device.SuperConfig.PeerAliveTimeout
|
||||
device.Chan_server_pong = superevents.Event_server_pong
|
||||
device.Chan_server_register = superevents.Event_server_register
|
||||
device.LogLevel = sconfig.LogLevel
|
||||
|
@ -366,10 +368,9 @@ func NewDevice(tapDevice tap.Device, id mtypes.Vertex, bind conn.Bind, logger *L
|
|||
device.EdgeConfigPath = configpath
|
||||
device.EdgeConfig = econfig
|
||||
device.SuperConfig = &mtypes.SuperConfig{}
|
||||
device.DupData = *fixed_time_cache.NewCache(mtypes.S2TD(econfig.DynamicRoute.DupCheckTimeout), false, mtypes.S2TD(60))
|
||||
device.DupData = *fixed_time_cache.NewCache(mtypes.S2TD(econfig.DynamicRoute.DupCheckTimeout), false, mtypes.S2TD(1))
|
||||
device.event_tryendpoint = make(chan struct{}, 1<<6)
|
||||
device.Chan_save_config = make(chan struct{}, 1<<5)
|
||||
device.Chan_Device_Initialized = make(chan struct{}, 1<<5)
|
||||
device.Chan_SendPingStart = make(chan struct{}, 1<<5)
|
||||
device.Chan_SendRegisterStart = make(chan struct{}, 1<<5)
|
||||
device.Chan_HttpPostStart = make(chan struct{}, 1<<5)
|
||||
|
|
|
@ -140,7 +140,7 @@ func (device *Device) CheckNoDup(packet []byte) bool {
|
|||
hasher := crc32.New(crc32.MakeTable(crc32.Castagnoli))
|
||||
hasher.Write(packet)
|
||||
crc32result := hasher.Sum32()
|
||||
_, ok := device.DupData.Get(crc32result)
|
||||
_, ok := device.DupData.Load(crc32result)
|
||||
device.DupData.Set(crc32result, true)
|
||||
return !ok
|
||||
}
|
||||
|
|
|
@ -17,7 +17,7 @@ PostScript: ""
|
|||
DefaultTTL: 200
|
||||
L2FIBTimeout: 3600
|
||||
PrivKey: +KAYwkRgacUbxc52t04z8fTJBgvrkPLsisr0qJOhIUE=
|
||||
ListenPort: 0
|
||||
ListenPort: 3001
|
||||
DisabledAf:
|
||||
IPv4: false
|
||||
IPv6: false
|
||||
|
|
|
@ -17,7 +17,7 @@ PostScript: ""
|
|||
DefaultTTL: 200
|
||||
L2FIBTimeout: 3600
|
||||
PrivKey: jDAolOiiRj/ju1xpVagZTtsxJSJba2rjp7J2XMc3yoM=
|
||||
ListenPort: 0
|
||||
ListenPort: 3002
|
||||
DisabledAf:
|
||||
IPv4: false
|
||||
IPv6: false
|
||||
|
|
|
@ -42,7 +42,7 @@ GraphRecalculateSetting:
|
|||
NextHopTable: {}
|
||||
EdgeTemplate: EgNet_edge001.yaml
|
||||
UsePSKForInterEdge: true
|
||||
ResetEndPointInterval: 600
|
||||
ResetEndPointInterval: 1
|
||||
Peers:
|
||||
- NodeID: 1
|
||||
Name: EgNet001
|
||||
|
@ -50,7 +50,7 @@ Peers:
|
|||
PSKey: yl/4SNFee7+kNekajVCrK0toqXJ4mlT4IN0klyAgyqU=
|
||||
AdditionalCost: 10
|
||||
SkipLocalIP: false
|
||||
EndPoint: ""
|
||||
EndPoint: "127.0.0.1:3001"
|
||||
ExternalIP: ""
|
||||
- NodeID: 2
|
||||
Name: EgNet002
|
||||
|
@ -58,7 +58,7 @@ Peers:
|
|||
PSKey: FJfjc+wRfk0FSuUkHlXl6D8xPzOKYdy3bxeYr5cpevQ=
|
||||
AdditionalCost: 10
|
||||
SkipLocalIP: false
|
||||
EndPoint: ""
|
||||
EndPoint: "127.0.0.1:3002"
|
||||
ExternalIP: ""
|
||||
- NodeID: 100
|
||||
Name: EgNet100
|
||||
|
|
17
go.mod
17
go.mod
|
@ -3,23 +3,22 @@ module github.com/KusakabeSi/EtherGuard-VPN
|
|||
go 1.17
|
||||
|
||||
require (
|
||||
git.fd.io/govpp.git v0.3.6-0.20210927044411-385ccc0d8ba9
|
||||
git.fd.io/govpp.git/extras v0.0.0-20211129071605-0a0c03d45954
|
||||
github.com/KusakabeSi/go-cache v0.0.0-20220122133816-a72bab4fe249
|
||||
git.fd.io/govpp.git v0.4.0
|
||||
git.fd.io/govpp.git/extras v0.0.0-20220117104425-000215c229d6
|
||||
github.com/KusakabeSi/go-cache v0.1.0
|
||||
github.com/beevik/ntp v0.3.0
|
||||
github.com/golang-jwt/jwt v3.2.2+incompatible
|
||||
github.com/google/gopacket v1.1.19
|
||||
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510
|
||||
github.com/sirupsen/logrus v1.6.0
|
||||
golang.org/x/crypto v0.0.0-20211202192323-5770296d904e
|
||||
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1
|
||||
gopkg.in/yaml.v2 v2.2.2
|
||||
github.com/sirupsen/logrus v1.8.1
|
||||
golang.org/x/crypto v0.0.0-20220112180741-5e0467b6c7ce
|
||||
golang.org/x/sys v0.0.0-20220114195835-da31bd327af9
|
||||
gopkg.in/yaml.v2 v2.4.0
|
||||
)
|
||||
|
||||
require (
|
||||
github.com/KusakabeSi/go-ordered-map v0.3.0 // indirect
|
||||
github.com/fsnotify/fsnotify v1.4.7 // indirect
|
||||
github.com/konsorten/go-windows-terminal-sequences v1.0.3 // indirect
|
||||
github.com/lunixbochs/struc v0.0.0-20200521075829-a4cb8d33dbbe // indirect
|
||||
github.com/wk8/go-ordered-map v0.2.0 // indirect
|
||||
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2 // indirect
|
||||
)
|
||||
|
|
31
go.sum
31
go.sum
|
@ -1,9 +1,11 @@
|
|||
git.fd.io/govpp.git v0.3.6-0.20210927044411-385ccc0d8ba9 h1:QFHVGWCWf6e226vMy1zU614eC3glrfJO2CwREUk8D6s=
|
||||
git.fd.io/govpp.git v0.3.6-0.20210927044411-385ccc0d8ba9/go.mod h1:OCVd4W8SH+666KRQoMj6PM+oipLDZAHhqMz9B1TGbgI=
|
||||
git.fd.io/govpp.git/extras v0.0.0-20211129071605-0a0c03d45954 h1:F4tLgA7dY1lY1GQ6D7dMiLie39FV6QXinM7BU9cRENY=
|
||||
git.fd.io/govpp.git/extras v0.0.0-20211129071605-0a0c03d45954/go.mod h1:GhryuN3x7qZ/wYLlEiPUVi6glJvh5S5V6E+XASV4774=
|
||||
github.com/KusakabeSi/go-cache v0.0.0-20220122133816-a72bab4fe249 h1:rhw4RKIxxZ/ixDYRpKBzn93ms6Pw98ZCOqCa4y5DLUc=
|
||||
github.com/KusakabeSi/go-cache v0.0.0-20220122133816-a72bab4fe249/go.mod h1:rjLO266bwTDSNgSF/7rStIWd+gMdX6Amqdoqan7VDoM=
|
||||
git.fd.io/govpp.git v0.4.0 h1:u/hxo5rwTpwmR8ambm5Xtf1WXEeDyoYOrD2m8TKcD34=
|
||||
git.fd.io/govpp.git v0.4.0/go.mod h1:OCVd4W8SH+666KRQoMj6PM+oipLDZAHhqMz9B1TGbgI=
|
||||
git.fd.io/govpp.git/extras v0.0.0-20220117104425-000215c229d6 h1:wVu7ZAT7q+1qNv1jFrz2KdVZ9Ar7TdxQXkIy79bQ4sI=
|
||||
git.fd.io/govpp.git/extras v0.0.0-20220117104425-000215c229d6/go.mod h1:GhryuN3x7qZ/wYLlEiPUVi6glJvh5S5V6E+XASV4774=
|
||||
github.com/KusakabeSi/go-cache v0.1.0 h1:mBvbfa2UTNpabmtRMgrFtGtP1eoDIdIhwvNBHmNkEV8=
|
||||
github.com/KusakabeSi/go-cache v0.1.0/go.mod h1:iBHb2ekH8Sd664wWzg/iRiVfY7YUxtcTJFcyZAmI32w=
|
||||
github.com/KusakabeSi/go-ordered-map v0.3.0 h1:otxXn6Y45XJ9H8hrmmDyyNGpwPiqv498yTjz1Lqt/3s=
|
||||
github.com/KusakabeSi/go-ordered-map v0.3.0/go.mod h1:LzZM9BuKwFnERm0vbakLnh3ycrEoWuwVOSN9/95aV3w=
|
||||
github.com/beevik/ntp v0.3.0 h1:xzVrPrE4ziasFXgBVBZJDP0Wg/KpMwk2KHJ4Ba8GrDw=
|
||||
github.com/beevik/ntp v0.3.0/go.mod h1:hIHWr+l3+/clUnF44zdK+CWW7fO8dR5cIylAQ76NRpg=
|
||||
github.com/bennyscetbun/jsongo v1.1.0/go.mod h1:suxbVmjBV8+A2BBAM5EYVh6Uj8j3rqJhzWf3hv7Ff8U=
|
||||
|
@ -23,7 +25,6 @@ github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaU
|
|||
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ=
|
||||
github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
|
||||
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
|
||||
github.com/konsorten/go-windows-terminal-sequences v1.0.3 h1:CE8S1cTafDpPvMhIxNJKvHsGVBgn1xWYf1NbHQhywc8=
|
||||
github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
|
||||
github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
|
||||
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
|
||||
|
@ -39,20 +40,19 @@ github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6J
|
|||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
|
||||
github.com/sirupsen/logrus v1.6.0 h1:UBcNElsrwanuuMsnGSlYmtmgbb23qDR5dG+6X6Oo89I=
|
||||
github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88=
|
||||
github.com/sirupsen/logrus v1.8.1 h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE=
|
||||
github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
|
||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
|
||||
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
|
||||
github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0=
|
||||
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||
github.com/wk8/go-ordered-map v0.2.0 h1:KlvGyHstD1kkGZkPtHCyCfRYS0cz84uk6rrW/Dnhdtk=
|
||||
github.com/wk8/go-ordered-map v0.2.0/go.mod h1:9ZIbRunKbuvfPKyBP1SIKLcXNlv74YCOZ3t3VTS6gRk=
|
||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20211202192323-5770296d904e h1:MUP6MR3rJ7Gk9LEia0LP2ytiH6MuCfs7qYz+47jGdD8=
|
||||
golang.org/x/crypto v0.0.0-20211202192323-5770296d904e/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
|
||||
golang.org/x/crypto v0.0.0-20220112180741-5e0467b6c7ce h1:Roh6XWxHFKrPgC/EQhVubSAGQ6Ozk6IdxHSzt1mR0EI=
|
||||
golang.org/x/crypto v0.0.0-20220112180741-5e0467b6c7ce/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
|
||||
golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
|
||||
golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
|
||||
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
|
@ -64,11 +64,13 @@ golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5h
|
|||
golang.org/x/sys v0.0.0-20190405154228-4b34438f7a67/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20200610111108-226ff32320da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1 h1:SrN+KX8Art/Sf4HNj6Zcz06G7VEz+7w9tdXTPOZ7+l4=
|
||||
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220114195835-da31bd327af9 h1:XfKQ4OlFl8okEOr5UvAqFRVj8pY/4yfcXrddB8qAbU0=
|
||||
golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||
|
@ -80,7 +82,8 @@ gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33
|
|||
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
|
||||
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
|
||||
gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw=
|
||||
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
|
||||
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
|
||||
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo=
|
||||
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
|
|
|
@ -223,6 +223,9 @@ func Super(configPath string, useUAPI bool, printExample bool, bindmode string)
|
|||
}
|
||||
}
|
||||
|
||||
httpobj.http_device4.Chan_Device_Initialized <- struct{}{}
|
||||
httpobj.http_device6.Chan_Device_Initialized <- struct{}{}
|
||||
|
||||
SdNotify, err := mtypes.SdNotify(false, mtypes.SdNotifyReady)
|
||||
if sconfig.LogLevel.LogInternal {
|
||||
fmt.Printf("Internal: SdNotify:%v err:%v\n", SdNotify, err)
|
||||
|
|
Loading…
Reference in New Issue