![]() |
FD.io VPP
v21.06-3-gbb25fbf28
Vector Packet Processing
|
Include dependency graph for wireguard_cookie.h:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Data Structures | |
| struct | cookie_macs |
| struct | cookie_maker |
| struct | cookie_checker |
Macros | |
| #define | COOKIE_MAC_SIZE 16 |
| #define | COOKIE_KEY_SIZE 32 |
| #define | COOKIE_NONCE_SIZE 24 |
| #define | COOKIE_COOKIE_SIZE 16 |
| #define | COOKIE_SECRET_SIZE 32 |
| #define | COOKIE_INPUT_SIZE 32 |
| #define | COOKIE_ENCRYPTED_SIZE (COOKIE_COOKIE_SIZE + COOKIE_MAC_SIZE) |
| #define | COOKIE_MAC1_KEY_LABEL "mac1----" |
| #define | COOKIE_COOKIE_KEY_LABEL "cookie--" |
| #define | COOKIE_SECRET_MAX_AGE 120 |
| #define | COOKIE_SECRET_LATENCY 5 |
| #define | RATELIMIT_SIZE (1 << 13) |
| #define | RATELIMIT_SIZE_MAX (RATELIMIT_SIZE * 8) |
| #define | NSEC_PER_SEC 1000000000LL |
| #define | INITIATIONS_PER_SECOND 20 |
| #define | INITIATIONS_BURSTABLE 5 |
| #define | INITIATION_COST (NSEC_PER_SEC / INITIATIONS_PER_SECOND) |
| #define | TOKEN_MAX (INITIATION_COST * INITIATIONS_BURSTABLE) |
| #define | ELEMENT_TIMEOUT 1 |
| #define | IPV4_MASK_SIZE 4 /* Use all 4 bytes of IPv4 address */ |
| #define | IPV6_MASK_SIZE 8 /* Use top 8 bytes (/64) of IPv6 address */ |
Typedefs | |
| typedef struct cookie_macs | message_macs_t |
| typedef struct cookie_maker | cookie_maker_t |
| typedef struct cookie_checker | cookie_checker_t |
Enumerations | |
| enum | cookie_mac_state { INVALID_MAC, VALID_MAC_BUT_NO_COOKIE, VALID_MAC_WITH_COOKIE } |
Functions | |
| void | cookie_maker_init (cookie_maker_t *, const uint8_t[COOKIE_INPUT_SIZE]) |
| void | cookie_checker_update (cookie_checker_t *, uint8_t[COOKIE_INPUT_SIZE]) |
| void | cookie_maker_mac (cookie_maker_t *, message_macs_t *, void *, size_t) |
| enum cookie_mac_state | cookie_checker_validate_macs (vlib_main_t *vm, cookie_checker_t *, message_macs_t *, void *, size_t, bool, ip4_address_t ip4, u16 udp_port) |
| #define COOKIE_COOKIE_KEY_LABEL "cookie--" |
Definition at line 40 of file wireguard_cookie.h.
| #define COOKIE_COOKIE_SIZE 16 |
Definition at line 34 of file wireguard_cookie.h.
| #define COOKIE_ENCRYPTED_SIZE (COOKIE_COOKIE_SIZE + COOKIE_MAC_SIZE) |
Definition at line 37 of file wireguard_cookie.h.
| #define COOKIE_INPUT_SIZE 32 |
Definition at line 36 of file wireguard_cookie.h.
| #define COOKIE_KEY_SIZE 32 |
Definition at line 32 of file wireguard_cookie.h.
| #define COOKIE_MAC1_KEY_LABEL "mac1----" |
Definition at line 39 of file wireguard_cookie.h.
| #define COOKIE_MAC_SIZE 16 |
Definition at line 31 of file wireguard_cookie.h.
| #define COOKIE_NONCE_SIZE 24 |
Definition at line 33 of file wireguard_cookie.h.
| #define COOKIE_SECRET_LATENCY 5 |
Definition at line 42 of file wireguard_cookie.h.
| #define COOKIE_SECRET_MAX_AGE 120 |
Definition at line 41 of file wireguard_cookie.h.
| #define COOKIE_SECRET_SIZE 32 |
Definition at line 35 of file wireguard_cookie.h.
| #define ELEMENT_TIMEOUT 1 |
Definition at line 52 of file wireguard_cookie.h.
| #define INITIATION_COST (NSEC_PER_SEC / INITIATIONS_PER_SECOND) |
Definition at line 50 of file wireguard_cookie.h.
| #define INITIATIONS_BURSTABLE 5 |
Definition at line 49 of file wireguard_cookie.h.
| #define INITIATIONS_PER_SECOND 20 |
Definition at line 48 of file wireguard_cookie.h.
| #define IPV4_MASK_SIZE 4 /* Use all 4 bytes of IPv4 address */ |
Definition at line 53 of file wireguard_cookie.h.
| #define IPV6_MASK_SIZE 8 /* Use top 8 bytes (/64) of IPv6 address */ |
Definition at line 54 of file wireguard_cookie.h.
| #define NSEC_PER_SEC 1000000000LL |
Definition at line 47 of file wireguard_cookie.h.
| #define RATELIMIT_SIZE (1 << 13) |
Definition at line 45 of file wireguard_cookie.h.
| #define RATELIMIT_SIZE_MAX (RATELIMIT_SIZE * 8) |
Definition at line 46 of file wireguard_cookie.h.
| #define TOKEN_MAX (INITIATION_COST * INITIATIONS_BURSTABLE) |
Definition at line 51 of file wireguard_cookie.h.
| typedef struct cookie_checker cookie_checker_t |
| typedef struct cookie_maker cookie_maker_t |
| typedef struct cookie_macs message_macs_t |
| enum cookie_mac_state |
| Enumerator | |
|---|---|
| INVALID_MAC | |
| VALID_MAC_BUT_NO_COOKIE | |
| VALID_MAC_WITH_COOKIE | |
Definition at line 24 of file wireguard_cookie.h.
| void cookie_checker_update | ( | cookie_checker_t * | , |
| uint8_t | [COOKIE_INPUT_SIZE] | ||
| ) |
Definition at line 46 of file wireguard_cookie.c.
Here is the call graph for this function:
Here is the caller graph for this function:| enum cookie_mac_state cookie_checker_validate_macs | ( | vlib_main_t * | vm, |
| cookie_checker_t * | , | ||
| message_macs_t * | , | ||
| void * | , | ||
| size_t | , | ||
| bool | , | ||
| ip4_address_t | ip4, | ||
| u16 | udp_port | ||
| ) |
Definition at line 79 of file wireguard_cookie.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void cookie_maker_init | ( | cookie_maker_t * | , |
| const uint8_t | [COOKIE_INPUT_SIZE] | ||
| ) |
Definition at line 38 of file wireguard_cookie.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void cookie_maker_mac | ( | cookie_maker_t * | , |
| message_macs_t * | , | ||
| void * | , | ||
| size_t | |||
| ) |
Definition at line 61 of file wireguard_cookie.c.
Here is the call graph for this function:
Here is the caller graph for this function: