aboutgitcodebugslistschat
diff options
context:
space:
mode:
authorYumei Huang <yuhuang@redhat.com>2025-09-02 10:17:28 +0800
committerStefano Brivio <sbrivio@redhat.com>2025-09-02 09:31:27 +0200
commiteef5bb8035491de0d180a9e20d56b0277e363950 (patch)
tree5b70e0d9aeb03f2ed6522761fdc99131e45a4f63
parentb4fc6cd31a8729b92a305008e443b56310fd30d4 (diff)
downloadpasst-eef5bb8035491de0d180a9e20d56b0277e363950.tar
passt-eef5bb8035491de0d180a9e20d56b0277e363950.tar.gz
passt-eef5bb8035491de0d180a9e20d56b0277e363950.tar.bz2
passt-eef5bb8035491de0d180a9e20d56b0277e363950.tar.lz
passt-eef5bb8035491de0d180a9e20d56b0277e363950.tar.xz
passt-eef5bb8035491de0d180a9e20d56b0277e363950.tar.zst
passt-eef5bb8035491de0d180a9e20d56b0277e363950.zip
build: Fix errors of TCP_REPAIR_* undeclared
Based on an original patch by Dongsheng, fix the following errors on systems with glibc < 2.29: tcp.c: In function ‘tcp_flow_repair_on’: tcp.c:2787:38: error: ‘TCP_REPAIR_ON’ undeclared (first use in this function); did you mean ‘TCP_REPAIR’? if ((rc = repair_set(c, conn->sock, TCP_REPAIR_ON))) ^~~~~~~~~~~~~ TCP_REPAIR tcp.c:2787:38: note: each undeclared identifier is reported only once for each function it appears in tcp.c: In function ‘tcp_flow_repair_off’: tcp.c:2807:38: error: ‘TCP_REPAIR_OFF’ undeclared (first use in this function); did you mean ‘TCP_REPAIR’? if ((rc = repair_set(c, conn->sock, TCP_REPAIR_OFF))) ^~~~~~~~~~~~~~ TCP_REPAIR make: *** [Makefile:94: passt] Error 1 Link: https://bugs.passt.top/show_bug.cgi?id=121 Reported-by: Dongsheng <dongsheng.song@gmail.com> Signed-off-by: Yumei Huang <yuhuang@redhat.com> Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
-rw-r--r--linux_dep.h6
-rw-r--r--passt-repair.c1
2 files changed, 7 insertions, 0 deletions
diff --git a/linux_dep.h b/linux_dep.h
index 240f50a..1d9e166 100644
--- a/linux_dep.h
+++ b/linux_dep.h
@@ -135,6 +135,12 @@ struct tcp_info_linux {
#define CLOSE_RANGE_UNSHARE (1U << 1)
#endif
+#ifndef TCP_REPAIR_ON
+#define TCP_REPAIR_ON 1
+#define TCP_REPAIR_OFF 0
+#define TCP_REPAIR_OFF_NO_WP -1 /* Turn off without window probes */
+#endif
+
__attribute__ ((weak))
/* cppcheck-suppress funcArgNamesDifferent */
int close_range(unsigned int first, unsigned int last, int flags) {
diff --git a/passt-repair.c b/passt-repair.c
index 8c59d7e..c3c140f 100644
--- a/passt-repair.c
+++ b/passt-repair.c
@@ -40,6 +40,7 @@
#include <linux/seccomp.h>
#include "seccomp_repair.h"
+#include "linux_dep.h"
#define SCM_MAX_FD 253 /* From Linux kernel (include/net/scm.h), not in UAPI */
#define REPAIR_EXT ".repair"