Skip to content

Commit

Permalink
Bug 2074 - DCE Linux memory defaults too low to allow Linux TCP to ha…
Browse files Browse the repository at this point in the history
…ve >32767 byte window

The default behavior of TCP in DCE Linux is to allow a maximum window
size of around 32kB.

This is because requests by the Linux sockets/TCP code to allocate
additional buffer memory fail.

In kernel code file ./net/core/sock.c (sk_init), the value of
totalram_pages is zero, so the sysctl wmem and rmem values (default &
max) are set to 32767. totalram_pages is set to zero in kernel code file
./arch/sim/glue.c.

Since one of the main reasons for using DCE Linux is to have realistic
network code behavior, it is disappointing for the default behavior to
be crippled in this way.

I would recommend changing it so that the default behavior is more
realistic. This can be achieved in many ways, but I would request that
it not require extra code on the part of the NS3 user (e.g. running
sysctl commands or calling other functions to set the memory available).
My reason for this request is that this would be an extra step that a
user should not have to take.

Reported-by: Chip Webb
Signed-off-by: Hajime Tazaki <tazaki@sfc.wide.ad.jp>
  • Loading branch information
thehajime committed May 25, 2015
1 parent 83be3a0 commit 840e3c6
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion arch/sim/glue.c
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ struct uts_namespace init_uts_ns = {

// XXX: used in network stack !
unsigned long num_physpages = 0;
unsigned long totalram_pages = 0;
unsigned long totalram_pages = 8192;

// XXX figure out initial value
unsigned int interrupt_pending = 0;
Expand Down

0 comments on commit 840e3c6

Please sign in to comment.