mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-08-06 23:27:04 +02:00
MINOR: protocol: add the control layer type in the protocol struct
This one will be needed to more accurately select a protocol. It may differ from the socket type for QUIC, which uses dgram at the socket layer and provides stream at the control layer. The upper level requests a control layer only so we need this field.
This commit is contained in:
parent
65ec4e3ff7
commit
a54553f74f
@ -82,6 +82,7 @@ struct proto_fam {
|
||||
struct protocol {
|
||||
char name[PROTO_NAME_LEN]; /* protocol name, zero-terminated */
|
||||
struct proto_fam *fam; /* protocol family */
|
||||
int ctrl_type; /* control layer type (SOCK_STREAM/SOCK_DGRAM) */
|
||||
int sock_domain; /* socket domain, as passed to socket() */
|
||||
int sock_type; /* socket type, as passed to socket() */
|
||||
int sock_prot; /* socket protocol, as passed to socket() */
|
||||
|
@ -61,6 +61,7 @@ struct proto_fam proto_fam_sockpair = {
|
||||
static struct protocol proto_sockpair = {
|
||||
.name = "sockpair",
|
||||
.fam = &proto_fam_sockpair,
|
||||
.ctrl_type = SOCK_STREAM,
|
||||
.sock_domain = AF_CUST_SOCKPAIR,
|
||||
.sock_type = SOCK_STREAM,
|
||||
.sock_prot = 0,
|
||||
|
@ -52,6 +52,7 @@ static void tcpv6_add_listener(struct listener *listener, int port);
|
||||
static struct protocol proto_tcpv4 = {
|
||||
.name = "tcpv4",
|
||||
.fam = &proto_fam_inet4,
|
||||
.ctrl_type = SOCK_STREAM,
|
||||
.sock_domain = AF_INET,
|
||||
.sock_type = SOCK_STREAM,
|
||||
.sock_prot = IPPROTO_TCP,
|
||||
@ -71,6 +72,7 @@ INITCALL1(STG_REGISTER, protocol_register, &proto_tcpv4);
|
||||
static struct protocol proto_tcpv6 = {
|
||||
.name = "tcpv6",
|
||||
.fam = &proto_fam_inet6,
|
||||
.ctrl_type = SOCK_STREAM,
|
||||
.sock_domain = AF_INET6,
|
||||
.sock_type = SOCK_STREAM,
|
||||
.sock_prot = IPPROTO_TCP,
|
||||
|
@ -48,6 +48,7 @@ static void udp6_add_listener(struct listener *listener, int port);
|
||||
static struct protocol proto_udp4 = {
|
||||
.name = "udp4",
|
||||
.fam = &proto_fam_inet4,
|
||||
.ctrl_type = SOCK_DGRAM,
|
||||
.sock_domain = AF_CUST_UDP4,
|
||||
.sock_type = SOCK_DGRAM,
|
||||
.sock_prot = IPPROTO_UDP,
|
||||
@ -67,6 +68,7 @@ INITCALL1(STG_REGISTER, protocol_register, &proto_udp4);
|
||||
static struct protocol proto_udp6 = {
|
||||
.name = "udp6",
|
||||
.fam = &proto_fam_inet6,
|
||||
.ctrl_type = SOCK_DGRAM,
|
||||
.sock_domain = AF_CUST_UDP6,
|
||||
.sock_type = SOCK_DGRAM,
|
||||
.sock_prot = IPPROTO_UDP,
|
||||
|
@ -49,6 +49,7 @@ static int uxst_pause_listener(struct listener *l);
|
||||
static struct protocol proto_unix = {
|
||||
.name = "unix_stream",
|
||||
.fam = &proto_fam_unix,
|
||||
.ctrl_type = SOCK_STREAM,
|
||||
.sock_domain = PF_UNIX,
|
||||
.sock_type = SOCK_STREAM,
|
||||
.sock_prot = 0,
|
||||
|
Loading…
Reference in New Issue
Block a user