From e62a73e67dd996052e31d626e1e735f083790020 Mon Sep 17 00:00:00 2001 From: Max Lv Date: Mon, 8 Aug 2016 09:15:29 +0800 Subject: [PATCH] Set QoS flag for UDP forwarding --- src/redir.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/redir.c b/src/redir.c index 05a3671a..b5dbde34 100644 --- a/src/redir.c +++ b/src/redir.c @@ -147,6 +147,10 @@ int create_and_bind(const char *addr, const char *port) LOGI("tcp port reuse enabled"); } + // Set QoS flag + int tos = 46; + setsockopt(remotefd, IPPROTO_IP, IP_TOS, &tos, sizeof(tos)) + s = bind(listen_sock, rp->ai_addr, rp->ai_addrlen); if (s == 0) { /* We managed to bind successfully! */ @@ -643,6 +647,10 @@ static void accept_cb(EV_P_ ev_io *w, int revents) setsockopt(remotefd, SOL_TCP, TCP_KEEPINTVL, (void *)&keepInterval, sizeof(keepInterval)); setsockopt(remotefd, SOL_TCP, TCP_KEEPCNT, (void *)&keepCount, sizeof(keepCount)); + // Set QoS flag + int tos = 46; + setsockopt(remotefd, IPPROTO_IP, IP_TOS, &tos, sizeof(tos)) + // Set non blocking setnonblocking(remotefd);