Bug 104002 - When UDP packet size exceeds 1.5 K bytes, the fragmentation at the server end creates issues with clients
When UDP packet size exceeds 1.5 K bytes, the fragmentation at the server end...
Status: CLOSED WONTFIX
Product: Red Hat Enterprise Linux 2.1
Classification: Red Hat
Component: kernel (Show other bugs)
2.1
i586 Linux
high Severity high
: ---
: ---
Assigned To: Don Howard
Brian Brock
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2003-09-08 19:32 EDT by C.S Prakash
Modified: 2007-11-30 17:06 EST (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2005-12-02 15:32:28 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description C.S Prakash 2003-09-08 19:32:24 EDT
Description of problem:

When the udp packet size exceeds 1.5 k bytes in size the fragmentation of the 
packets done at the server end creates problems when the packets are received 
at the client end. The problem happens when the server is run on a linux 
platform and the client on a Windows XP/Win2k platform. I have given a sample 
java code to reproduce this bug

Sample server and clietn codea are given here in:
-------------Server code-------------------
import java.net.*;

public class TestServer {

  public static void main(final String args[]) throws Exception {
        if( (args == null) || (args.length < 1)) {
                System.err.println("Usage: java TestServer <local ip>");
                System.exit(1);
        }
        byte[] data = new byte[10000];
        DatagramSocket sock = new DatagramSocket(9090,InetAddress.getByName
(args
[0]));
        DatagramPacket packet1 = new DatagramPacket(data, data.length);
        sock.receive(packet1);
        System.out.println("Received packet... sending packets");
        data = new byte[10000];
        DatagramPacket packet2 = new DatagramPacket(data, data.length,
                        packet1.getAddress(), 9091);
        sock.send(packet2);
        sock.close();
 }

}
-------------Server code ends -------------------

--------------Client code starts----------------
import java.net.*;

public class TestClient {

public static void main(final String args[]) throws Exception {
        if( (args == null) || (args.length < 2)) {
                System.err.println("Usage: java TestClient <local ip> <remote 
ip
>");
                System.exit(1);
        }
        byte[] data = new byte[8000];
        DatagramSocket sock = new DatagramSocket(9091,InetAddress.getByName
(args
[0]));
        DatagramPacket packet1 = new DatagramPacket(data, data.length,
                                                                        
InetAddr
ess.getByName(args[1]), 9090);
        sock.send(packet1);
        byte[] buff = new byte[10000];
        DatagramPacket packet2 = new DatagramPacket(buff, buff.length);
        sock.setSoTimeout(10000);
        System.out.println("Waiting for reply");
        sock.receive(packet2);
        System.out.println("Received packet:"+ packet2);
        sock.close();
 }
}
----------------client code ends------------------------------------


Version-Release number of selected component (if applicable):
Linux kdc 2.4.9-e.24smp #1 SMP Tue May 27 16:07:39 EDT 2003 i686 unknown


How reproducible:
Always


Steps to Reproduce:

1.run the server on the linux
2.run the client on any windows platform XP or win2k
3.The client hangs when the packet size at the server end is greater thtan 1.5 
K bytes

Actual results:

The client hangs when the packet size at the server end is greater thtan 1.5 K 
bytes

Expected results:

The client should not hang

Additional info:
The problem  based on my understanding is how the fragmentation happens at the 
server end. The same server when run on a solaris or windows platform does not 
produce the problem
Comment 2 Don Howard 2005-12-02 15:32:28 EST
Hello -

This issue is over 6 months old, and will be closed now.  

If the problem can be reproduced on current 2.1 kernels, please re-open the
ticket and, if possible, provide a small testcase that demonstrates the problem.

Note You need to log in before you can comment on or make changes to this bug.