1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

L2TP issue question (seemingly, an MTU fragmenation issue)

Discussion in 'Tomato Firmware' started by InfX, Jan 8, 2011.

  1. InfX

    InfX Addicted to LI Member

    I am running Tomato 1.28 and just switched to an ISP that requires an L2TP usage. I've configured the L2TP, everything seemed working, but, surprisingly, i've discovered my mobile phone (HTC HD2) won't sync with google "activesync/exchange" anymore. Reconfiguring the phone's MTU setting to a low value helps. Now to the actual tomato issue...

    Reconfiguring the L2TP MTU value, even setting it as low as 1000 bytes, while leaving the phone MTU at default (1500?) did NOT help. Kinda seems like the tomato isn't really trying to fragment the packets.

    I would really like to avoid manually configuring each and every device that joins my network, sometimes the fragmentation as an "automatic" solution is desirable, despite being unoptimal.

    Any ideas ?
  2. TT76

    TT76 Networkin' Nut Member

    I think that you have to configure your phone and other devices cause google doesn't support fragmentation, so you cannot connect google even if tomato have fragmented your bigger packets.
  3. InfX

    InfX Addicted to LI Member

    Sounds unrealistic, how would decreasing the MTU on the phone itself help then ? What this does is fragmenting the packets on the phone itself, as simple as that.
  4. TT76

    TT76 Networkin' Nut Member

    your phone sends original packets according to the decreased MTU ,so those packets don't be fragmented by tomato(cause tomato MTU > your phone MTU) ,and google will accept them. if your original packets are fragmented by tomato, google will throw them away.
  5. InfX

    InfX Addicted to LI Member

    Applications are mostly unaware about the MTU/fragmentation etc. An app just writes to a socket, as much data as it needs to. The underlaying network stack splits the data into the packets according to the MTU. When a packet is too large to go through one of the routers, the router is allowed to split it into multiple packets, unless the DF (do not fragment) flag is set. As far as i understand, the fragmented packet should look exactly the same way for the receiving side as if the original device with lower MTU would send them, except for the less than optimal lower payload usage efficiency, but please do correct me if i am wrong here.
  6. TT76

    TT76 Networkin' Nut Member

    Those fragments's MF flags would be set 1 if they were a fragment and weren't the last one. and they will be reassembled back into that original packet at receiver, so a server or a firewall could determine if a packet has been fragmented. Throwing fragmented packets away is usually out of concern for security or efficiency.
  7. InfX

    InfX Addicted to LI Member

    Sorry, i've just "read the manual" :-(

    I was under impression the MF flag is used to send anything bigger than the max payload, while in fact it is only used for fragmenting packets en-route.

    I guess the only "solution" then, is just what i did (decreasing the client MTU) :-(

    Thanks for responding, anyway.

    PS: i didn't know about possible 'evil' use of the fragmentation either.
  8. TT76

    TT76 Networkin' Nut Member

    your're welcome.
    in fact, that would result in a buffer overflow if a server received a super huge packet,cause those fragments would be stored in buffer until they are reassembled.

Share This Page