diff options
| author | Michael Brown | 2007-01-13 18:36:17 +0100 |
|---|---|---|
| committer | Michael Brown | 2007-01-13 18:36:17 +0100 |
| commit | 526d314266f1648ae79d8cdd380edb371fb69e4b (patch) | |
| tree | 5284562a3282e8bd7b2652b33563c764fa48cb10 /src/include | |
| parent | I prefer IMAGE_XXX to XXX_IMAGE. (diff) | |
| download | ipxe-526d314266f1648ae79d8cdd380edb371fb69e4b.tar.gz ipxe-526d314266f1648ae79d8cdd380edb371fb69e4b.tar.xz ipxe-526d314266f1648ae79d8cdd380edb371fb69e4b.zip | |
Advertise a larger MSS to improve TCP performance.
Diffstat (limited to 'src/include')
| -rw-r--r-- | src/include/gpxe/tcp.h | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/src/include/gpxe/tcp.h b/src/include/gpxe/tcp.h index f9cd41390..c8988cf52 100644 --- a/src/include/gpxe/tcp.h +++ b/src/include/gpxe/tcp.h @@ -27,6 +27,18 @@ struct tcp_header { uint16_t urg; /* Urgent pointer */ }; +/** + * TCP MSS option + */ +struct tcp_mss_option { + uint8_t kind; + uint8_t length; + uint16_t mss; +}; + +/** Code for the TCP MSS option */ +#define TCP_OPTION_MSS 2 + /* * TCP flags */ @@ -212,7 +224,17 @@ struct tcp_header { * guess an arbitrary number that is empirically as large as possible * while avoiding retransmissions due to dropped packets. */ -#define TCP_WINDOW_SIZE 2048 +#define TCP_WINDOW_SIZE 4096 + +/** + * Advertised TCP MSS + * + * We currently hardcode this to a reasonable value and hope that the + * sender uses path MTU discovery. The alternative is breaking the + * abstraction layer so that we can find out the MTU from the IP layer + * (which would have to find out from the net device layer). + */ +#define TCP_MSS 1460 /** TCP maximum segment lifetime * |
