]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
MINOR: udp: export udp_suspend_receiver() and udp_resume_receiver()
authorWilly Tarreau <w@1wt.eu>
Tue, 8 Dec 2020 17:05:16 +0000 (18:05 +0100)
committerWilly Tarreau <w@1wt.eu>
Tue, 8 Dec 2020 17:10:18 +0000 (18:10 +0100)
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.

include/haproxy/proto_udp.h
src/proto_udp.c

index 7de84130c6cc1bd47169a61652c6494a312c76e4..6b4f365259247cec98f28f35efd62e8b38df6e6a 100644 (file)
@@ -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 */
 
index d0543174e5cfe06a05b6aa6c3a0cf8b4675044e1..56d351823a19a0eaf4f63178633aa27e23f5a9b8 100644 (file)
@@ -41,8 +41,6 @@
 #include <haproxy/task.h>
 
 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 };