<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openslx-ng/ipxe.git/src/net/ethernet.c, branch v0.9.6</title>
<subtitle>Fork of ipxe; additional commands and features</subtitle>
<id>https://git.openslx.org/openslx-ng/ipxe.git/atom/src/net/ethernet.c?h=v0.9.6</id>
<link rel='self' href='https://git.openslx.org/openslx-ng/ipxe.git/atom/src/net/ethernet.c?h=v0.9.6'/>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/'/>
<updated>2008-10-16T04:13:40+00:00</updated>
<entry>
<title>[netdevice] Change link-layer push() and pull() methods to take raw types</title>
<updated>2008-10-16T04:13:40+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2008-10-15T03:17:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=3a505dfc350cc9c720c170660f0c779ec32a4bfd'/>
<id>urn:sha1:3a505dfc350cc9c720c170660f0c779ec32a4bfd</id>
<content type='text'>
EFI requires us to be able to specify the source address for
individual transmitted packets, and to be able to extract the
destination address on received packets.

Take advantage of this to rationalise the push() and pull() methods so
that push() takes a (dest,source,proto) tuple and pull() returns a
(dest,source,proto) tuple.
</content>
</entry>
<entry>
<title>[netdevice] Split multicast hashing out into an mc_hash method</title>
<updated>2008-10-16T04:12:56+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2008-10-15T01:00:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=6b9cc2555688e716387c02ecfe4569d2a73a7208'/>
<id>urn:sha1:6b9cc2555688e716387c02ecfe4569d2a73a7208</id>
<content type='text'>
Multicast hashing is an ugly overlap between network and link layers.
EFI requires us to provide access to this functionality, so move it
out of ipv4.c and expose it as a method of the link layer.
</content>
</entry>
<entry>
<title>[undi] Fill in ProtType correctly in PXENV_UNDI_ISR</title>
<updated>2008-08-20T02:21:37+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2008-08-20T02:21:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=30fb3b3810409a4971adf9abf00e0842f88d87d8'/>
<id>urn:sha1:30fb3b3810409a4971adf9abf00e0842f88d87d8</id>
<content type='text'>
Determine the network-layer packet type and fill it in for UNDI
clients.  This is required by some NBPs such as emBoot's winBoot/i.

This change requires refactoring the link-layer portions of the
gPXE netdevice API, so that it becomes possible to strip the
link-layer header without passing the packet up the network stack.
</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>Add untested support for UNDI transmit and receive.</title>
<updated>2007-07-02T19:05:58+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2007-07-02T19:05:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=332614a382c5e435e61509d130872e143670df56'/>
<id>urn:sha1:332614a382c5e435e61509d130872e143670df56</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>Use stdio.h instead of vsprintf.h</title>
<updated>2007-01-19T01:13:12+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2007-01-19T01:13:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=73b09ecba6dad0070e106a74eeed4bc388d60e02'/>
<id>urn:sha1:73b09ecba6dad0070e106a74eeed4bc388d60e02</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Made eth_ntoa() public for use in legacy drivers' DBG() statements.</title>
<updated>2006-09-15T12:34:34+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2006-09-15T12:34:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=0dca1dc8ced3f3ac3e12fc923e75f1ce77629b69'/>
<id>urn:sha1:0dca1dc8ced3f3ac3e12fc923e75f1ce77629b69</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove _PROTOCOL macros for gcc 3.2 compatibility</title>
<updated>2006-08-09T04:42:14+00:00</updated>
<author>
<name>Marty Connor</name>
</author>
<published>2006-08-09T04:42:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=ee9ae8130a7acfbc6a96dd86cf6cf62569e68169'/>
<id>urn:sha1:ee9ae8130a7acfbc6a96dd86cf6cf62569e68169</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>
</feed>
