From c62232b4b1ddf79ce0694c19503e05b21fd61858 Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Tue, 1 Aug 2017 20:36:33 -0400 Subject: [PATCH] lib: Remove sockopt_cork functionality Linux -> TCP_CORK is enabled by default *BSD -> The equivalent is TCP_NOPUSH As such sockopt_cork is effectively useless especially since the two places it is used do it right before TCP writes then disable it right after the writes are over. Signed-off-by: Donald Sharp --- lib/sockunion.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/lib/sockunion.c b/lib/sockunion.c index af0054d6b2..559ae37ffb 100644 --- a/lib/sockunion.c +++ b/lib/sockunion.c @@ -354,13 +354,19 @@ int sockopt_ttl(int family, int sock, int ttl) return 0; } +/* + * This function called setsockopt(.., TCP_CORK,...) + * Which on linux is a no-op since it is enabled by + * default and on BSD it uses TCP_NOPUSH to do + * the same thing( which it was not configured to + * use). This cleanup of the api occured on 8/1/17 + * I imagine if after more than 1 year of no-one + * complaining, and a major upgrade release we + * can deprecate and remove this function call + */ int sockopt_cork(int sock, int onoff) { -#ifdef TCP_CORK - return setsockopt(sock, IPPROTO_TCP, TCP_CORK, &onoff, sizeof(onoff)); -#else return 0; -#endif } int sockopt_mark_default(int sock, int mark, struct zebra_privs_t *cap) -- 2.39.5