summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/sockunion.c10
-rw-r--r--lib/sockunion.h1
2 files changed, 11 insertions, 0 deletions
diff --git a/lib/sockunion.c b/lib/sockunion.c
index 6a40f332..f6c060f5 100644
--- a/lib/sockunion.c
+++ b/lib/sockunion.c
@@ -527,6 +527,16 @@ sockopt_ttl (int family, int sock, int ttl)
return 0;
}
+int
+sockopt_cork (int sock, int onoff)
+{
+#ifdef TCP_CORK
+ return setsockopt (sock, IPPROTO_TCP, TCP_CORK, &onoff, sizeof(onoff));
+#else
+ return 0;
+#endif
+}
+
/* If same family and same prefix return 1. */
int
sockunion_same (union sockunion *su1, union sockunion *su2)
diff --git a/lib/sockunion.h b/lib/sockunion.h
index 96b9a0d4..91bfbc7f 100644
--- a/lib/sockunion.h
+++ b/lib/sockunion.h
@@ -102,6 +102,7 @@ extern int sockopt_reuseport (int);
extern int sockunion_bind (int sock, union sockunion *,
unsigned short, union sockunion *);
extern int sockopt_ttl (int family, int sock, int ttl);
+extern int sockopt_cork (int sock, int onoff);
extern int sockunion_socket (union sockunion *su);
extern const char *inet_sutop (union sockunion *su, char *str);
extern enum connect_result sockunion_connect (int fd, union sockunion *su,