{"id":123,"date":"2007-12-16T15:34:13","date_gmt":"2007-12-16T07:34:13","guid":{"rendered":"http:\/\/www.biatch0.net\/?p=123"},"modified":"2007-12-16T15:34:13","modified_gmt":"2007-12-16T07:34:13","slug":"more-nagledelayed-acks","status":"publish","type":"post","link":"https:\/\/biatch0.net\/index.php\/2007\/12\/16\/more-nagledelayed-acks\/","title":{"rendered":"more nagle+delayed acks"},"content":{"rendered":"<p>Been doing some &#8220;work&#8221; on getting around these 2 problems in relation to WoW. My initial intent was to connect to my proxy in Jaring via stunnel\/dante-sockd&#8230; and having iptables reroute the traffic through socat which would disable Nagle&#8217;s and set tcp-nodelay to true. For some strange reason (or maybe I just suck at writing iptables rules), I was unable to get iptables to pick up anything to route to socat. So after more research, I decided to take the <a href=\"http:\/\/ss5.sourceforge.net\/\">SS5 SOCKS Server (or SS5)<\/a> source code any modify it slightly to mangle ALL packets that came through (which should be only WoW traffic unless you are trying to abuse my machine).<\/p>\n<p>Simple workaround:<br \/>\n(1) Grab the SS5 source.<br \/>\n(2) Open SS5Server.c<br \/>\n&#8211; <span>#include &#8220;netinet\/tcp.h&#8221;; (Line 26)<br \/>\n&#8211; <\/span><span>setsockopt(S5SocksSocket, IPPROTO_TCP, TCP_NODELAY, &amp;reuseAddrFlag, sizeof(int)); (Line 197)<br \/>\n(3) .\/configure &amp;&amp; make &amp;&amp; make install<\/span><br \/>\n(4) proxify all WoW traffic to ipaddress:port that you configured.<\/p>\n<p>You now have WoW minus Nagle+delayed ACKs. Congratulations.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Been doing some &#8220;work&#8221; on getting around these 2 problems in relation to WoW. My initial intent was to connect to my proxy in Jaring via stunnel\/dante-sockd&#8230; and having iptables reroute the traffic through socat which would disable Nagle&#8217;s and set tcp-nodelay to true. For some strange reason (or maybe I just suck at writing&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"fifu_image_url":"","fifu_image_alt":"","_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[2,5],"tags":[86,243],"class_list":["post-123","post","type-post","status-publish","format-standard","hentry","category-gentoo","category-world-of-warcraft","tag-gentoo","tag-world-of-warcraft"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/biatch0.net\/index.php\/wp-json\/wp\/v2\/posts\/123","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/biatch0.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/biatch0.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/biatch0.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/biatch0.net\/index.php\/wp-json\/wp\/v2\/comments?post=123"}],"version-history":[{"count":0,"href":"https:\/\/biatch0.net\/index.php\/wp-json\/wp\/v2\/posts\/123\/revisions"}],"wp:attachment":[{"href":"https:\/\/biatch0.net\/index.php\/wp-json\/wp\/v2\/media?parent=123"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/biatch0.net\/index.php\/wp-json\/wp\/v2\/categories?post=123"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/biatch0.net\/index.php\/wp-json\/wp\/v2\/tags?post=123"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}