constants.go raw
1 /* SPDX-License-Identifier: MIT
2 *
3 * Copyright (C) 2017-2025 WireGuard LLC. All Rights Reserved.
4 */
5
6 package device
7
8 import (
9 "time"
10 )
11
12 /* Specification constants */
13
14 const (
15 RekeyAfterMessages = (1 << 60)
16 RejectAfterMessages = (1 << 64) - (1 << 13) - 1
17 RekeyAfterTime = time.Second * 120
18 RekeyAttemptTime = time.Second * 90
19 RekeyTimeout = time.Second * 5
20 MaxTimerHandshakes = 90 / 5 /* RekeyAttemptTime / RekeyTimeout */
21 RekeyTimeoutJitterMaxMs = 334
22 RejectAfterTime = time.Second * 180
23 KeepaliveTimeout = time.Second * 10
24 CookieRefreshTime = time.Second * 120
25 HandshakeInitationRate = time.Second / 50
26 PaddingMultiple = 16
27 )
28
29 const (
30 MinMessageSize = MessageKeepaliveSize // minimum size of transport message (keepalive)
31 MaxMessageSize = MaxSegmentSize // maximum size of transport message
32 MaxContentSize = MaxSegmentSize - MessageTransportSize // maximum size of transport message content
33 )
34
35 /* Implementation constants */
36
37 const (
38 UnderLoadAfterTime = time.Second // how long does the device remain under load after detected
39 MaxPeers = 1 << 16 // maximum number of configured peers
40 )
41