<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openslx-ng/ipxe.git/src/net/tcpip.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/tcpip.c?h=v0.9.7</id>
<link rel='self' href='https://git.openslx.org/openslx-ng/ipxe.git/atom/src/net/tcpip.c?h=v0.9.7'/>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/'/>
<updated>2009-01-21T03:40:39+00:00</updated>
<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>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>When a network device is specified to tcpip_tx() or it's children, treat</title>
<updated>2007-01-16T04:09:13+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2007-01-16T04:09:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=f11da20f25ce4535f2731e403071b03f7118d40f'/>
<id>urn:sha1:f11da20f25ce4535f2731e403071b03f7118d40f</id>
<content type='text'>
it as a fallback network device rather than an explicitly forced network
device.

Clear routing table entries before re-attempting DHCP.
</content>
</entry>
<entry>
<title>Add "name" field to struct device to allow human-readable hardware device</title>
<updated>2007-01-10T04:22:09+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2007-01-10T04:22:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=dad52745227fd06090e73ea535e0b0fe0f667c60'/>
<id>urn:sha1:dad52745227fd06090e73ea535e0b0fe0f667c60</id>
<content type='text'>
names.

Add "dev" pointer in struct net_device to tie network interfaces back to a
hardware device.

Force natural alignment of data types in __table() macros.  This seems to
prevent gcc from taking the unilateral decision to occasionally increase
their alignment (which screws up the table packing).
</content>
</entry>
<entry>
<title>Allow an explicit network device to be specified for IP-layer</title>
<updated>2007-01-10T02:25:11+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2007-01-10T02:25:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=f008b77ba2b7d921a9d765c9931694e9c7d13ee9'/>
<id>urn:sha1:f008b77ba2b7d921a9d765c9931694e9c7d13ee9</id>
<content type='text'>
transmissions.
</content>
</entry>
<entry>
<title>Verify checksums on the RX datapath.</title>
<updated>2007-01-03T20:48:52+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2007-01-03T20:48:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=a0525a4ed36a28260d6dee4723bd6a1eb29020be'/>
<id>urn:sha1:a0525a4ed36a28260d6dee4723bd6a1eb29020be</id>
<content type='text'>
Simplify checksum generation on the TX datapath.
</content>
</entry>
<entry>
<title>We don't actually have a stdio.h header file.  Our printf() functions are</title>
<updated>2006-09-27T10:58:14+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2006-09-27T10:58:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=88e38fa1483891f273f063f92ef71a5c33fe5406'/>
<id>urn:sha1:88e38fa1483891f273f063f92ef71a5c33fe5406</id>
<content type='text'>
defined in vsprintf.h.  (This may change, since vsprintf.h is a
non-standard name, but for now it's the one to use.)

There should be no need to include vsprintf.h just for DBG() statements,
since include/compiler.h forces it in for a debug build anyway.
</content>
</entry>
<entry>
<title>added stdio.h to includes for DBG compilation</title>
<updated>2006-09-27T05:57:06+00:00</updated>
<author>
<name>Marty Connor</name>
</author>
<published>2006-09-27T05:57:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=6ac78f6aff85b2a41d1c98011c41f622d569076a'/>
<id>urn:sha1:6ac78f6aff85b2a41d1c98011c41f622d569076a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Clarified packet ownership transfer between a few functions.</title>
<updated>2006-08-09T01:24:32+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2006-08-09T01:24:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=a3d508b648906fb742e5205bcd4b97fbf88ea653'/>
<id>urn:sha1:a3d508b648906fb742e5205bcd4b97fbf88ea653</id>
<content type='text'>
Added a large number of missing calls to free_pkb().  In the case of UDP,
no received packets were ever freed, which lead to memory exhaustion
remarkably quickly once pxelinux started up.

In general, any function with _rx() in its name which accepts a pk_buff
*must* either call free_pkb() or pass the pkb to another _rx() function
(e.g. the next layer up the stack).  Since the UDP (and TCP) layers don't
pass packet buffers up to the higher-layer protocols (the
"applications"), they must free the packet buffer after calling the
application's newdata() method.
</content>
</entry>
<entry>
<title>Added features that will be required for PXE UDP support.</title>
<updated>2006-08-02T00:02:21+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2006-08-02T00:02:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=467e9627ccf0a46c7f077795f0aecff14858718e'/>
<id>urn:sha1:467e9627ccf0a46c7f077795f0aecff14858718e</id>
<content type='text'>
Introduced struct sockaddr_tcpip, to simplify code that deals with
both IPv4 and IPv6 addresses.

Reorganised parts of tcpip.c and udp.c.
</content>
</entry>
</feed>
