
{"id":1559,"date":"2010-05-26T23:13:08","date_gmt":"2010-05-26T17:43:08","guid":{"rendered":"http:\/\/www.jeffrin.in\/?p=1559"},"modified":"2010-05-26T23:13:08","modified_gmt":"2010-05-26T17:43:08","slug":"enable-fack-congestion-avoidance","status":"publish","type":"post","link":"https:\/\/www.trueangle.org\/index.php\/2010\/05\/26\/enable-fack-congestion-avoidance\/","title":{"rendered":"Enable FACK congestion avoidance"},"content":{"rendered":"<pre>\n$cat \/proc\/sys\/net\/ipv4\/tcp_fack\n1\n$\n<\/pre>\n<pre>\ntcp_fack\nEnable FACK congestion avoidance and fast retransmission.\nThe value is not used, if tcp_sack is not enabled.\n<\/pre>\n<p><a href=\"http:\/\/www.psc.edu\/networking\/ftp\/papers\/Fack.9608.ps\">http:\/\/www.psc.edu\/networking\/ftp\/papers\/Fack.9608.ps<\/a><\/p>\n<pre>\ngrepping through the linux kernel source 2.6.32\n\nproc.c:210:     SNMP_MIB_ITEM(\"TCPFACKReorder\", LINUX_MIB_TCPFACKREORDER),\nsysctl_net_ipv4.c:475:          .procname       = \"tcp_fack\",\ntcp_input.c:847: * Packet counting of FACK is based on in-order assumptions, therefore TCP\ntcp_input.c:1029: *        A''. Its FACK modfication, head until snd.fack is lost.\ntcp_minisocks.c:412:            newtp-&gt;fackets_out = 0;\ntcp_vegas.c:16: *     using fine-grained timers, NewReno, and FACK.\ntcp_output.c:762:\/* When a modification to fackets out becomes necessary, we need to check\ntcp_output.c:763: * skb is counted to fackets_out or not.\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>$cat \/proc\/sys\/net\/ipv4\/tcp_fack 1 $ tcp_fack Enable FACK congestion avoidance and fast retransmission. The value is not used, if tcp_sack is not enabled. http:\/\/www.psc.edu\/networking\/ftp\/papers\/Fack.9608.ps grepping through the linux kernel source 2.6.32 proc.c:210: SNMP_MIB_ITEM(&#8220;TCPFACKReorder&#8221;, LINUX_MIB_TCPFACKREORDER), sysctl_net_ipv4.c:475: .procname = &#8220;tcp_fack&#8221;, tcp_input.c:847: * Packet counting of FACK is based on in-order assumptions, therefore TCP tcp_input.c:1029: * A&#8221;. Its FACK &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.trueangle.org\/index.php\/2010\/05\/26\/enable-fack-congestion-avoidance\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Enable FACK congestion avoidance&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[1058],"_links":{"self":[{"href":"https:\/\/www.trueangle.org\/index.php\/wp-json\/wp\/v2\/posts\/1559"}],"collection":[{"href":"https:\/\/www.trueangle.org\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.trueangle.org\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.trueangle.org\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.trueangle.org\/index.php\/wp-json\/wp\/v2\/comments?post=1559"}],"version-history":[{"count":0,"href":"https:\/\/www.trueangle.org\/index.php\/wp-json\/wp\/v2\/posts\/1559\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.trueangle.org\/index.php\/wp-json\/wp\/v2\/media?parent=1559"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.trueangle.org\/index.php\/wp-json\/wp\/v2\/categories?post=1559"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.trueangle.org\/index.php\/wp-json\/wp\/v2\/tags?post=1559"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}