From: Willy Tarreau Date: Tue, 8 Dec 2020 17:05:16 +0000 (+0100) Subject: MINOR: udp: export udp_suspend_receiver() and udp_resume_receiver() X-Git-Tag: v2.4-dev3~42 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=29885f030843f85ff20476e5a9fc8f72b2e71e23;p=thirdparty%2Fhaproxy.git MINOR: udp: export udp_suspend_receiver() and udp_resume_receiver() QUIC will rely on UDP at the receiver level, and will need these functions to suspend/resume the receivers. In the future, protocol chaining may simplify this. --- diff --git a/include/haproxy/proto_udp.h b/include/haproxy/proto_udp.h index 7de84130c6..6b4f365259 100644 --- a/include/haproxy/proto_udp.h +++ b/include/haproxy/proto_udp.h @@ -28,6 +28,8 @@ extern struct protocol proto_udp4; extern struct protocol proto_udp6; int udp_bind_socket(int fd, int flags, struct sockaddr_storage *local, struct sockaddr_storage *remote); +int udp_suspend_receiver(struct receiver *rx); +int udp_resume_receiver(struct receiver *rx); #endif /* _PROTO_PROTO_UDP_H */ diff --git a/src/proto_udp.c b/src/proto_udp.c index d0543174e5..56d351823a 100644 --- a/src/proto_udp.c +++ b/src/proto_udp.c @@ -41,8 +41,6 @@ #include static int udp_bind_listener(struct listener *listener, char *errmsg, int errlen); -static int udp_suspend_receiver(struct receiver *rx); -static int udp_resume_receiver(struct receiver *rx); static void udp_enable_listener(struct listener *listener); static void udp_disable_listener(struct listener *listener); @@ -178,7 +176,7 @@ static void udp_disable_listener(struct listener *l) * to do this is to connect to any address that is reachable and will not be * used by regular traffic, and a great one is reconnecting to self. */ -static int udp_suspend_receiver(struct receiver *rx) +int udp_suspend_receiver(struct receiver *rx) { struct sockaddr_storage ss; socklen_t len = sizeof(ss); @@ -209,7 +207,7 @@ static int udp_suspend_receiver(struct receiver *rx) * connecting to AF_UNSPEC. The association breaks and the socket starts to * receive from everywhere again. */ -static int udp_resume_receiver(struct receiver *rx) +int udp_resume_receiver(struct receiver *rx) { const struct sockaddr sa = { .sa_family = AF_UNSPEC };