Changeset View
Changeset View
Standalone View
Standalone View
sys/net/if_var.h
Show First 20 Lines • Show All 186 Lines • ▼ Show 20 Lines | |||||
*/ | */ | ||||
struct ktls_session; | struct ktls_session; | ||||
struct m_snd_tag; | struct m_snd_tag; | ||||
#define IF_SND_TAG_TYPE_RATE_LIMIT 0 | #define IF_SND_TAG_TYPE_RATE_LIMIT 0 | ||||
#define IF_SND_TAG_TYPE_UNLIMITED 1 | #define IF_SND_TAG_TYPE_UNLIMITED 1 | ||||
#define IF_SND_TAG_TYPE_TLS 2 | #define IF_SND_TAG_TYPE_TLS 2 | ||||
#define IF_SND_TAG_TYPE_TLS_RATE_LIMIT 3 | #define IF_SND_TAG_TYPE_TLS_RATE_LIMIT 3 | ||||
#define IF_SND_TAG_TYPE_MAX 4 | #define IF_SND_TAG_TYPE_TLS_RX 4 | ||||
#define IF_SND_TAG_TYPE_MAX 5 | |||||
struct if_snd_tag_alloc_header { | struct if_snd_tag_alloc_header { | ||||
uint32_t type; /* send tag type, see IF_SND_TAG_XXX */ | uint32_t type; /* send tag type, see IF_SND_TAG_XXX */ | ||||
uint32_t flowid; /* mbuf hash value */ | uint32_t flowid; /* mbuf hash value */ | ||||
uint32_t flowtype; /* mbuf hash type */ | uint32_t flowtype; /* mbuf hash type */ | ||||
uint8_t numa_domain; /* numa domain of associated inp */ | uint8_t numa_domain; /* numa domain of associated inp */ | ||||
}; | }; | ||||
struct if_snd_tag_alloc_rate_limit { | struct if_snd_tag_alloc_rate_limit { | ||||
struct if_snd_tag_alloc_header hdr; | struct if_snd_tag_alloc_header hdr; | ||||
uint64_t max_rate; /* in bytes/s */ | uint64_t max_rate; /* in bytes/s */ | ||||
uint32_t flags; /* M_NOWAIT or M_WAITOK */ | uint32_t flags; /* M_NOWAIT or M_WAITOK */ | ||||
uint32_t reserved; /* alignment */ | uint32_t reserved; /* alignment */ | ||||
}; | }; | ||||
struct if_snd_tag_alloc_tls { | struct if_snd_tag_alloc_tls { | ||||
struct if_snd_tag_alloc_header hdr; | struct if_snd_tag_alloc_header hdr; | ||||
struct inpcb *inp; | struct inpcb *inp; | ||||
const struct ktls_session *tls; | const struct ktls_session *tls; | ||||
}; | }; | ||||
struct if_snd_tag_alloc_tls_rx { | |||||
struct if_snd_tag_alloc_header hdr; | |||||
struct inpcb *inp; | |||||
const struct ktls_session *tls; | |||||
/* TCP sequence number in host endian format */ | |||||
uint32_t next_tls_hdr_tcp_sn; | |||||
}; | |||||
struct if_snd_tag_alloc_tls_rate_limit { | struct if_snd_tag_alloc_tls_rate_limit { | ||||
struct if_snd_tag_alloc_header hdr; | struct if_snd_tag_alloc_header hdr; | ||||
struct inpcb *inp; | struct inpcb *inp; | ||||
const struct ktls_session *tls; | const struct ktls_session *tls; | ||||
uint64_t max_rate; /* in bytes/s */ | uint64_t max_rate; /* in bytes/s */ | ||||
}; | }; | ||||
struct if_snd_tag_rate_limit_params { | struct if_snd_tag_rate_limit_params { | ||||
uint64_t max_rate; /* in bytes/s */ | uint64_t max_rate; /* in bytes/s */ | ||||
uint32_t queue_level; /* 0 (empty) .. 65535 (full) */ | uint32_t queue_level; /* 0 (empty) .. 65535 (full) */ | ||||
#define IF_SND_QUEUE_LEVEL_MIN 0 | #define IF_SND_QUEUE_LEVEL_MIN 0 | ||||
#define IF_SND_QUEUE_LEVEL_MAX 65535 | #define IF_SND_QUEUE_LEVEL_MAX 65535 | ||||
uint32_t flags; /* M_NOWAIT or M_WAITOK */ | uint32_t flags; /* M_NOWAIT or M_WAITOK */ | ||||
}; | }; | ||||
struct if_snd_tag_modify_tls_rx { | |||||
/* TCP sequence number in host endian format */ | |||||
uint32_t next_tls_hdr_tcp_sn; | |||||
}; | |||||
union if_snd_tag_alloc_params { | union if_snd_tag_alloc_params { | ||||
struct if_snd_tag_alloc_header hdr; | struct if_snd_tag_alloc_header hdr; | ||||
struct if_snd_tag_alloc_rate_limit rate_limit; | struct if_snd_tag_alloc_rate_limit rate_limit; | ||||
struct if_snd_tag_alloc_rate_limit unlimited; | struct if_snd_tag_alloc_rate_limit unlimited; | ||||
struct if_snd_tag_alloc_tls tls; | struct if_snd_tag_alloc_tls tls; | ||||
struct if_snd_tag_alloc_tls_rx tls_rx; | |||||
jhb: This might be more accurately called the TLS sequence number than TLS record number (and… | |||||
struct if_snd_tag_alloc_tls_rate_limit tls_rate_limit; | struct if_snd_tag_alloc_tls_rate_limit tls_rate_limit; | ||||
}; | }; | ||||
union if_snd_tag_modify_params { | union if_snd_tag_modify_params { | ||||
struct if_snd_tag_rate_limit_params rate_limit; | struct if_snd_tag_rate_limit_params rate_limit; | ||||
struct if_snd_tag_rate_limit_params unlimited; | struct if_snd_tag_rate_limit_params unlimited; | ||||
struct if_snd_tag_rate_limit_params tls_rate_limit; | struct if_snd_tag_rate_limit_params tls_rate_limit; | ||||
struct if_snd_tag_modify_tls_rx tls_rx; | |||||
}; | }; | ||||
union if_snd_tag_query_params { | union if_snd_tag_query_params { | ||||
struct if_snd_tag_rate_limit_params rate_limit; | struct if_snd_tag_rate_limit_params rate_limit; | ||||
struct if_snd_tag_rate_limit_params unlimited; | struct if_snd_tag_rate_limit_params unlimited; | ||||
struct if_snd_tag_rate_limit_params tls_rate_limit; | struct if_snd_tag_rate_limit_params tls_rate_limit; | ||||
}; | }; | ||||
▲ Show 20 Lines • Show All 557 Lines • Show Last 20 Lines |
This might be more accurately called the TLS sequence number than TLS record number (and probably name the member tls_seqno or tls_seq_number).