{"id":472,"date":"2013-10-24T10:06:17","date_gmt":"2013-10-24T08:06:17","guid":{"rendered":"http:\/\/valentijn.sessink.nl\/?p=472"},"modified":"2013-10-24T10:08:56","modified_gmt":"2013-10-24T08:08:56","slug":"an-ipv6-bug","status":"publish","type":"post","link":"https:\/\/valentijn.sessink.nl\/?p=472","title":{"rendered":"An IPv6 MTU path discovery bug"},"content":{"rendered":"<p>While installing a new server last week, my (SSH \/ TCP) connection seemed to suffer from some sort of hanging; randomly. I tried to figure out what was going on and it didn&#8217;t take long to find&#8230;<!--more--> that there were several icmp-v6 &#8220;too big&#8221; packets &#8211; but no response on the server side. It kept sending 14..-something large packets, although my SIXXS-tunnel can only handle 1280 bytes (or &#8220;octets&#8221;, I should say). So the tunnel end point kept sending icmp-v6 &#8220;too big&#8221; and the connection got stuck.<\/p>\n<p>Then, after a bit of fiddling with the routing entries, I found out that &#8220;ip -6 route flush cache&#8221; would resolve the issue. Temporarily. After a routing cache flush, suddenly, the same icmp-v6 that were ignored seconds before, now set a new MTU on the connection.<\/p>\n<p>&#8220;That&#8217;s weird&#8221;, I thought. I looked if I could find any bugs related to this &#8211; I couldn&#8217;t, apart from a message on the Netdev-mailinglist by someone named Steinar Gunderson, who seemed to have the same issue &#8211; with a totally different kernel and completely different routing.<\/p>\n<p>It puzzled me &#8211; and although I wasn&#8217;t sure this was a bug, I set out to send a message to the Netdev guys.<\/p>\n<p>The rest is &#8211; almost &#8211; history: <a href=\"http:\/\/www.spinics.net\/lists\/netdev\/msg253959.html\">here<\/a> is my message. As you can see from the message thread, it took Hannes Frederic Sowa just a couple of days to reproduce it &#8211; and to write two patches to fix the issue.<\/p>\n<p>So I&#8217;m hoping to have a working IPv6 setup in a couple of weeks. Until then, your Linux machine may suffer from random TCP cut off&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>While installing a new server last week, my (SSH \/ TCP) connection seemed to suffer from some sort of hanging; randomly. I tried to figure out what was going on and it didn&#8217;t take long to find&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[49],"tags":[88,85,45,89,84,87,86],"class_list":["post-472","post","type-post","status-publish","format-standard","hentry","category-ipv6-2","tag-bug","tag-ip6","tag-ipv6","tag-kernel","tag-mtu","tag-mtu-path-discovery","tag-path-discovery"],"_links":{"self":[{"href":"https:\/\/valentijn.sessink.nl\/index.php?rest_route=\/wp\/v2\/posts\/472","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/valentijn.sessink.nl\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/valentijn.sessink.nl\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/valentijn.sessink.nl\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/valentijn.sessink.nl\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=472"}],"version-history":[{"count":4,"href":"https:\/\/valentijn.sessink.nl\/index.php?rest_route=\/wp\/v2\/posts\/472\/revisions"}],"predecessor-version":[{"id":493,"href":"https:\/\/valentijn.sessink.nl\/index.php?rest_route=\/wp\/v2\/posts\/472\/revisions\/493"}],"wp:attachment":[{"href":"https:\/\/valentijn.sessink.nl\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=472"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/valentijn.sessink.nl\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=472"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/valentijn.sessink.nl\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=472"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}