Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Edited (edits are in italics):

In my configuration I have an Apache 2.2 Http Server configured as a reverse proxy *with mod_proky_jk*, that exposes http service from an Apache Tomcat 6 application server. The two are different MS Windows 2008 R2 boxes.

My problem is that communication between a remote mobile device connected via GPRS or GSM sometimes fails.

I found this message and it seems to fit my situation.

Dumping TCP messages, I noticed that Apache requests packets with the DF bit set to "don't fragment". The Ethernet frame size is actually 1514 and MTU is 1500.

Is there a way to tell Apache to not use DF bit? Maybe binding the service to the machine IP instead of all interfaces?

The new quetion is:

If the problem is caused by PPPoE added bytes, setting a lower MTU on the two Windows boxes may correct this problem?

Further update

I noticed that some mobile device failed the communication, other didn't fail. I analyzed the differences between two of these devices and noticed in the WWAN settings in Tools > Data configuration the the non working one had "Enable automatic configuration" not checked. I checked it and warm rebooted and the connection succeded. I unchecked it and the connection still succeded. This device never failed again.

Maybe I caught the problem? What does this setting affect at the communication level?

share|improve this question
    
How do you know communication fails because of fails due to IP checksum offload? Just because you see checksum errors in wireshark, doesn't mean that there is a failure. Are you sure the packet is 1514 bytes, or is the Ethernet Frame which the packet is encapsulated in 1514 bytes? –  Zoredache Feb 27 '12 at 17:13
    
Thanks for the comment. I edited my question to fix some mistakes. –  Andrea Colleoni Feb 28 '12 at 9:16

1 Answer 1

Is there a way to tell Apache to not use DF bit?

No, there is no way to do this, because Apache does not work at this level in the network stack. Apache makes standard system calls to the kernel.

My problem is that communication between the two fails due to IP checksum offload.

How do you know communication fails because of fails due to IP checksum offload? Just because you see checksum errors in wireshark, doesn't mean that there is a failure.

I noticed that Apache requests packets with the DF bit set to "don't fragment", but the packet size actually is 1514, (more than the MTU = 1500),

Are you sure the packet is 1514 bytes, or is the Ethernet Frame which the packet is encapsulated in 1514 bytes?

pinging with "-f -l 1514" switch it tells "Packet needs to be fragmented but DF set.".

As for your ping, if the MTU is 1500, then trying to ping with size of 1514 is not going to work.

share|improve this answer
    
Thanks for the response and be patient for my lacks of knowledge on this issue. Your response was useful and clarified me some things, so I edited my question. –  Andrea Colleoni Feb 28 '12 at 9:16

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.