2017-06-27 17:33:06 +02:00
|
|
|
package main
|
|
|
|
|
|
|
|
import (
|
|
|
|
"time"
|
|
|
|
)
|
|
|
|
|
2017-07-11 22:48:58 +02:00
|
|
|
/* Specification constants */
|
|
|
|
|
2017-06-27 17:33:06 +02:00
|
|
|
const (
|
2017-08-14 17:09:25 +02:00
|
|
|
RekeyAfterMessages = (1 << 64) - (1 << 16) - 1
|
|
|
|
RejectAfterMessages = (1 << 64) - (1 << 4) - 1
|
|
|
|
RekeyAfterTime = time.Second * 120
|
|
|
|
RekeyAttemptTime = time.Second * 90
|
|
|
|
RekeyTimeout = time.Second * 5
|
|
|
|
RejectAfterTime = time.Second * 180
|
|
|
|
KeepaliveTimeout = time.Second * 10
|
|
|
|
CookieRefreshTime = time.Second * 120
|
|
|
|
HandshakeInitationRate = time.Second / 20
|
|
|
|
PaddingMultiple = 16
|
2017-06-28 23:45:45 +02:00
|
|
|
)
|
|
|
|
|
2017-07-08 23:51:26 +02:00
|
|
|
const (
|
2018-02-18 20:58:43 +01:00
|
|
|
RekeyAfterTimeReceiving = RejectAfterTime - KeepaliveTimeout - RekeyTimeout
|
2017-07-27 23:45:37 +02:00
|
|
|
NewHandshakeTime = KeepaliveTimeout + RekeyTimeout // upon failure to acknowledge transport message
|
2017-07-08 23:51:26 +02:00
|
|
|
)
|
|
|
|
|
2017-07-11 22:48:58 +02:00
|
|
|
/* Implementation specific constants */
|
|
|
|
|
2017-06-28 23:45:45 +02:00
|
|
|
const (
|
2017-08-11 16:18:20 +02:00
|
|
|
QueueOutboundSize = 1024
|
|
|
|
QueueInboundSize = 1024
|
|
|
|
QueueHandshakeSize = 1024
|
2017-08-25 14:53:23 +02:00
|
|
|
MaxSegmentSize = (1 << 16) - 1 // largest possible UDP datagram
|
|
|
|
MinMessageSize = MessageKeepaliveSize // minimum size of transport message (keepalive)
|
|
|
|
MaxMessageSize = MaxSegmentSize // maximum size of transport message
|
|
|
|
MaxContentSize = MaxSegmentSize - MessageTransportSize // maximum size of transport message content
|
2017-08-11 16:18:20 +02:00
|
|
|
)
|
|
|
|
|
|
|
|
const (
|
|
|
|
UnderLoadQueueSize = QueueHandshakeSize / 8
|
|
|
|
UnderLoadAfterTime = time.Second // how long does the device remain under load after detected
|
2017-08-25 14:53:23 +02:00
|
|
|
MaxPeers = 1 << 16 // maximum number of configured peers
|
2017-06-27 17:33:06 +02:00
|
|
|
)
|