2019-01-01 19:55:51 -05:00
|
|
|
/* SPDX-License-Identifier: MIT
|
2018-05-03 09:04:00 -04:00
|
|
|
*
|
2022-09-20 11:21:32 -04:00
|
|
|
* Copyright (C) 2017-2023 WireGuard LLC. All Rights Reserved.
|
2018-05-03 09:04:00 -04:00
|
|
|
*/
|
|
|
|
|
2019-03-02 22:04:41 -05:00
|
|
|
package device
|
2017-06-27 11:33:06 -04:00
|
|
|
|
|
|
|
import (
|
|
|
|
"time"
|
|
|
|
)
|
|
|
|
|
2017-07-11 16:48:58 -04:00
|
|
|
/* Specification constants */
|
|
|
|
|
2017-06-27 11:33:06 -04:00
|
|
|
const (
|
2019-10-30 09:29:32 -04:00
|
|
|
RekeyAfterMessages = (1 << 60)
|
2020-05-19 19:46:29 -04:00
|
|
|
RejectAfterMessages = (1 << 64) - (1 << 13) - 1
|
2018-05-07 16:27:03 -04:00
|
|
|
RekeyAfterTime = time.Second * 120
|
|
|
|
RekeyAttemptTime = time.Second * 90
|
|
|
|
RekeyTimeout = time.Second * 5
|
|
|
|
MaxTimerHandshakes = 90 / 5 /* RekeyAttemptTime / RekeyTimeout */
|
|
|
|
RekeyTimeoutJitterMaxMs = 334
|
|
|
|
RejectAfterTime = time.Second * 180
|
|
|
|
KeepaliveTimeout = time.Second * 10
|
|
|
|
CookieRefreshTime = time.Second * 120
|
2019-05-24 20:07:18 -04:00
|
|
|
HandshakeInitationRate = time.Second / 50
|
2018-05-07 16:27:03 -04:00
|
|
|
PaddingMultiple = 16
|
2017-07-08 17:51:26 -04:00
|
|
|
)
|
|
|
|
|
2017-06-28 17:45:45 -04:00
|
|
|
const (
|
2018-09-24 20:31:02 -04:00
|
|
|
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 10:18:20 -04:00
|
|
|
)
|
|
|
|
|
2018-09-24 20:31:02 -04:00
|
|
|
/* Implementation constants */
|
|
|
|
|
2017-08-11 10:18:20 -04:00
|
|
|
const (
|
|
|
|
UnderLoadAfterTime = time.Second // how long does the device remain under load after detected
|
2017-08-25 08:53:23 -04:00
|
|
|
MaxPeers = 1 << 16 // maximum number of configured peers
|
2017-06-27 11:33:06 -04:00
|
|
|
)
|