<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openslx-ng/ipxe.git/src/include/gpxe/tcp.h, branch v0.9.9</title>
<subtitle>Fork of ipxe; additional commands and features</subtitle>
<id>https://git.openslx.org/openslx-ng/ipxe.git/atom/src/include/gpxe/tcp.h?h=v0.9.9</id>
<link rel='self' href='https://git.openslx.org/openslx-ng/ipxe.git/atom/src/include/gpxe/tcp.h?h=v0.9.9'/>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/'/>
<updated>2009-06-23T08:40:26+00:00</updated>
<entry>
<title>[tcp] Improve robustness in the presence of duplicated received packets</title>
<updated>2009-06-23T08:40:26+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2009-06-23T00:29:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=558c1a45fe30ffe3d6c67b2321e0fc973f13e9b7'/>
<id>urn:sha1:558c1a45fe30ffe3d6c67b2321e0fc973f13e9b7</id>
<content type='text'>
gPXE responds to duplicated ACKs with an immediate retransmission,
which can lead to a sorceror's apprentice syndrome.  It also responds
to out-of-range (or old duplicate) ACKs with a RST, which can cause
valid connections to be dropped.

Fix the sorceror's apprentice syndrome by leaving the retransmission
timer running (and so inhibiting the immediate retransmission) when we
receive a potential duplicate ACK.  This seems to match the behaviour
of Linux observed via wireshark traces.

Fix the RST issue by sending RST only on out-of-range ACKs that occur
before the connection is fully established, as per RFC 793.

These problems were exposed during development of the 802.11 wireless
link layer; the 802.11 protocol has a failure mode that can easily
cause duplicated packets.  The fixes were tested in a controlled way
by faking large numbers of duplicated packets in the rtl8139 driver.

Originally-fixed-by: Joshua Oreman &lt;oremanj@rwcr.net&gt;
</content>
</entry>
<entry>
<title>[legal] Add a selection of FILE_LICENCE declarations</title>
<updated>2009-05-18T07:33:25+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2009-05-01T14:41:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=c44a193d0d147ed6f98741124569864e516e9d4b'/>
<id>urn:sha1:c44a193d0d147ed6f98741124569864e516e9d4b</id>
<content type='text'>
Add FILE_LICENCE declarations to almost all files that make up the
various standard builds of gPXE.
</content>
</entry>
<entry>
<title>Modify gPXE core and drivers to work with the new timer subsystem</title>
<updated>2008-03-02T00:41:10+00:00</updated>
<author>
<name>Alexey Zaytsev</name>
</author>
<published>2008-03-02T00:41:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=a1572e0ab0f5fab9a1f0185ded593bec811aa175'/>
<id>urn:sha1:a1572e0ab0f5fab9a1f0185ded593bec811aa175</id>
<content type='text'>
Signed-off-by: Alexey Zaytsev &lt;alexey.zaytsev@gmail.com&gt;
</content>
</entry>
<entry>
<title>IB can't afford many RX buffers, because the MTU is so large.  Reduce</title>
<updated>2007-09-18T06:02:41+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2007-09-18T06:02:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=30717896f5b0c8d42860c928440ccb3eb0a559cc'/>
<id>urn:sha1:30717896f5b0c8d42860c928440ccb3eb0a559cc</id>
<content type='text'>
the TCP window to compensate.
</content>
</entry>
<entry>
<title>Add support for TCP timestamps</title>
<updated>2007-07-13T10:32:53+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2007-07-13T10:32:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=096fa94f0c62f5cd813f35bd229f2c6f003e92c3'/>
<id>urn:sha1:096fa94f0c62f5cd813f35bd229f2c6f003e92c3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove some obsolete stream-API files</title>
<updated>2007-07-09T02:53:06+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2007-07-09T02:53:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=9dc6a1e6789cd8a4cc3c7e88a4da96d95d60ddf6'/>
<id>urn:sha1:9dc6a1e6789cd8a4cc3c7e88a4da96d95d60ddf6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Limit xmit window to one MTU.  (Path MTU discovery not yet</title>
<updated>2007-07-08T13:33:53+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2007-07-08T13:33:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=edded7546e392079d824e62e6843a62f17927ef7'/>
<id>urn:sha1:edded7546e392079d824e62e6843a62f17927ef7</id>
<content type='text'>
implemented; should be done at some point.)
</content>
</entry>
<entry>
<title>Updated tcp.c to provide a standardised data transfer interface.</title>
<updated>2007-05-25T15:58:42+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2007-05-25T15:58:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=1136c19fa4ee37d095ba8c03ed49d104f36e285c'/>
<id>urn:sha1:1136c19fa4ee37d095ba8c03ed49d104f36e285c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>pkbuff-&gt;iobuf changeover</title>
<updated>2007-05-19T18:39:40+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2007-05-19T18:39:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=3e2c6b6736729633c5d6c00cd31458a1c6a49730'/>
<id>urn:sha1:3e2c6b6736729633c5d6c00cd31458a1c6a49730</id>
<content type='text'>
Achieved via Perl using:

perl -pi -e 's/pk_buff/io_buffer/g; s/Packet buffer/I\/O buffer/ig; ' \
	-e 's/pkbuff\.h/iobuf.h/g; s/pkb_/iob_/g; s/_pkb/_iob/g; ' \
	-e 's/pkb/iobuf/g; s/PKB/IOB/g;'
</content>
</entry>
<entry>
<title>Changed to use the generic stream API.</title>
<updated>2007-01-31T02:09:13+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2007-01-31T02:09:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=6d32f0e6e2179afa4e78ab94d3fbfb691a6f99de'/>
<id>urn:sha1:6d32f0e6e2179afa4e78ab94d3fbfb691a6f99de</id>
<content type='text'>
</content>
</entry>
</feed>
