<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openslx-ng/ipxe.git/src/net/tcp.c, branch v0.9.7</title>
<subtitle>Fork of ipxe; additional commands and features</subtitle>
<id>https://git.openslx.org/openslx-ng/ipxe.git/atom/src/net/tcp.c?h=v0.9.7</id>
<link rel='self' href='https://git.openslx.org/openslx-ng/ipxe.git/atom/src/net/tcp.c?h=v0.9.7'/>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/'/>
<updated>2009-02-15T08:44:22+00:00</updated>
<entry>
<title>[xfer] Make consistent assumptions that xfer metadata can never be NULL</title>
<updated>2009-02-15T08:44:22+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2009-02-15T08:41:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=8ae1cac0502c2a4d946f7bafa15a944bb1ef48a2'/>
<id>urn:sha1:8ae1cac0502c2a4d946f7bafa15a944bb1ef48a2</id>
<content type='text'>
The documentation in xfer.h and xfer.c does not say that the metadata
parameter is optional in calls such as xfer_deliver_iob_meta() and the
deliver_iob() method.  However, some code in net/ is prepared to
accept a NULL pointer, and xfer_deliver_as_iob() passes a NULL pointer
directly to the deliver_iob() method.

Fix this mess of conflicting assumptions by making everything assume
that the metadata parameter is mandatory, and fixing
xfer_deliver_as_iob() to pass in a dummy metadata structure (as is
already done in xfer_deliver_iob()).
</content>
</entry>
<entry>
<title>[tcp] Always set PUSH flag on TCP transmissions</title>
<updated>2009-01-21T04:22:34+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2009-01-21T04:22:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=cf539989010741c4e0fb796fc796829b21265193'/>
<id>urn:sha1:cf539989010741c4e0fb796fc796829b21265193</id>
<content type='text'>
Apparently this can cause a major speedup on some iSCSI targets, which
will otherwise wait for a timer to expire before responding.  It
doesn't seem to hurt other simple TCP test cases (e.g. HTTP
downloads).

Problem and solution identified by Shiva Shankar &lt;802.11e@gmail.com&gt;
</content>
</entry>
<entry>
<title>[tcpip] Allow for transmission to multicast IPv4 addresses</title>
<updated>2009-01-21T03:40:39+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2009-01-21T03:40:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=d230b53df2f44da477742094e5bbcc1b1520347c'/>
<id>urn:sha1:d230b53df2f44da477742094e5bbcc1b1520347c</id>
<content type='text'>
When sending to a multicast address, it may be necessary to specify
the source address explicitly, since the multicast destination address
does not provide enough information to deduce the source address via
the miniroute table.

Allow the source address specified via the data-xfer metadata to be
passed down through the TCP/IP stack to the IPv4 layer, which can use
it as a default source address.
</content>
</entry>
<entry>
<title>[x86_64] Fix assorted 64-bit compilation errors and warnings</title>
<updated>2008-11-19T19:33:05+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2008-11-19T19:33:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=0ebbbb95fa03622423154a3e56251dd58832654d'/>
<id>urn:sha1:0ebbbb95fa03622423154a3e56251dd58832654d</id>
<content type='text'>
Remove various 32-bit assumptions scattered throughout the codebase.
The code is still not necessarily 64-bit clean, but will at least
compile.
</content>
</entry>
<entry>
<title>[i386] Change [u]int32_t to [unsigned] int, rather than [unsigned] long</title>
<updated>2008-11-19T19:15:44+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2008-11-19T02:22:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=b59e0cc56eb6d5f3b6f934722931f6919309ffd2'/>
<id>urn:sha1:b59e0cc56eb6d5f3b6f934722931f6919309ffd2</id>
<content type='text'>
This brings us in to line with Linux definitions, and also simplifies
adding x86_64 support since both platforms have 2-byte shorts, 4-byte
ints and 8-byte long longs.
</content>
</entry>
<entry>
<title>[TCP] Avoid shrinking TCP window</title>
<updated>2008-06-04T23:28:17+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2008-06-04T23:28:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=1a68d3fef3e48b67448404df11a6dacbb34e6053'/>
<id>urn:sha1:1a68d3fef3e48b67448404df11a6dacbb34e6053</id>
<content type='text'>
Maintain state for the advertised window length, and only ever increase
it (instead of calculating it afresh on each transmit).  This avoids
triggering "treason uncloaked" messages on Linux peers.

Respond to zero-length TCP keepalives (i.e. empty data packets
transmitted outside the window).  Even if the peer wouldn't otherwise
expect an ACK (because its packet consumed no sequence space), force an
ACK if it was outside the window.

We don't yet generate TCP keepalives.  It could be done, but it's unclear
what benefit this would have.  (Linux, for example, doesn't start sending
keepalives until the connection has been idle for two hours.)
</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>Make seek information part of the xfer metadata, rather than an entirely</title>
<updated>2008-01-08T16:46:55+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2008-01-08T16:46:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=f6a8158eed215954dafb7f622f6fd345b5b473d2'/>
<id>urn:sha1:f6a8158eed215954dafb7f622f6fd345b5b473d2</id>
<content type='text'>
separate xfer method.

Add missing .alloc_iob entries to several xfer_interface_operations
structures.
</content>
</entry>
<entry>
<title>Various warnings fixups for OpenBSD with gcc-3.3.5.</title>
<updated>2007-12-07T00:11:43+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2007-12-07T00:11:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=df868476e7872c3ebd8c6e2a21f8365858907dc7'/>
<id>urn:sha1:df868476e7872c3ebd8c6e2a21f8365858907dc7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use start_timer_nodelay() in protocols which rely on the retry timer</title>
<updated>2007-08-13T18:03:33+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2007-08-13T18:03:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=2ff1b1245bf95a718ab6f7404cf504b06a37b30b'/>
<id>urn:sha1:2ff1b1245bf95a718ab6f7404cf504b06a37b30b</id>
<content type='text'>
to generate the initial transmission; this cuts off around 0.3s per
instantiated connection.
</content>
</entry>
</feed>
