title: Why isn't "dont fragment" flag getting disabled?
body: <p>I was trying out the effects of setting different <code>IP_MTU_DISCOVER</code> values using <code>setsockopt()</code> on udp packet fragmentation and found out (from <code>man</code> page of <code>ip(7)</code>) that i need to set it's value to <code>IP_PMTUDISC_WANT</code> or <code>IP_PMTUDISC_DONT</code> to turn off "don't fragment" flag. However, i get <code>socket.error: [Errno 90] Message too long</code> when i try to send the packet.</p>
  
  <pre><code>import IN, socket
  s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
  
  hostname = 'localhost'
  s.connect((hostname, 1060))
  
  s.setsockopt(socket.IPPROTO_IP, IN.IP_MTU_DISCOVER, IN.IP_PMTUDISC_DONT)
  mtu = s.getsockopt(socket.IPPROTO_IP, IN.IP_MTU)
  
  print 'MTU:', mtu
  s.send('.' * (mtu + 1))
  print 'Big packet sent'
  </code></pre>
  
  <p>Thank you</p>