<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openslx-ng/ipxe.git/src/net/netdevice.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/netdevice.c?h=v0.9.6</id>
<link rel='self' href='https://git.openslx.org/openslx-ng/ipxe.git/atom/src/net/netdevice.c?h=v0.9.6'/>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/'/>
<updated>2008-11-21T20:34:02+00:00</updated>
<entry>
<title>[netdevice] Provide function to retrieve the most recently opened net device</title>
<updated>2008-11-21T20:34:02+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2008-11-21T20:31:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=02a021587336a9ada3845025610ba836b173464d'/>
<id>urn:sha1:02a021587336a9ada3845025610ba836b173464d</id>
<content type='text'>
There are currently four places within the codebase that use a
heuristic to guess the "boot network device", with varying degrees of
success.  Add a feature to the net device core to maintain a list of
open network devices, in order of opening, and provide a function
last_opened_netdev() to retrieve the most recently opened net device.
This should do a better job than the current assortment of
guess_boot_netdev() functions.
</content>
</entry>
<entry>
<title>[netdevice] Retain and report detailed error breakdowns</title>
<updated>2008-11-08T05:30:30+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2008-11-08T02:18:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=9a52ba0cfac0fffb39b5a4c148ec7641bcc38381'/>
<id>urn:sha1:9a52ba0cfac0fffb39b5a4c148ec7641bcc38381</id>
<content type='text'>
netdev_rx_err() and netdev_tx_complete_err() get passed the error
code, but currently use it only in debug messages.

Retain error numbers and frequencey counts for up to
NETDEV_MAX_UNIQUE_ERRORS (4) different errors for each of TX and RX.
This allows the "ifstat" command to report the reasons for TX/RX
errors in most cases, even in non-debug builds.
</content>
</entry>
<entry>
<title>[settings] Add the notion of a "tag magic" to numbered settings</title>
<updated>2008-10-30T21:47:14+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2008-10-29T18:17:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=0a6c66a83018c64d961ee4e8601ae8950cbee00b'/>
<id>urn:sha1:0a6c66a83018c64d961ee4e8601ae8950cbee00b</id>
<content type='text'>
Settings can be constructed using a dotted-decimal notation, to allow
for access to unnamed settings.  The default interpretation is as a
DHCP option number (with encapsulated options represented as
"&lt;encapsulating option&gt;.&lt;encapsulated option&gt;".

In several contexts (e.g. SMBIOS, Phantom CLP), it is useful to
interpret the dotted-decimal notation as referring to non-DHCP
options.  In this case, it becomes necessary for these contexts to
ignore standard DHCP options, otherwise we end up trying to, for
example, retrieve the boot filename from SMBIOS.

Allow settings blocks to specify a "tag magic".  When dotted-decimal
notation is used to construct a setting, the tag magic value of the
originating settings block will be ORed in to the tag number.
Store/fetch methods can then check for the magic number before
interpreting arbitrarily-numbered settings.
</content>
</entry>
<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>[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>[Settings] Use a settings applicator to configure IPv4 routes.</title>
<updated>2008-03-21T00:01:27+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2008-03-21T00:01:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=aec9b8a41b6cad1b257c4e3a7f043f35871aafd0'/>
<id>urn:sha1:aec9b8a41b6cad1b257c4e3a7f043f35871aafd0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[Settings] Add per-netdevice settings block</title>
<updated>2008-03-20T21:06:53+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2008-03-20T21:06:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=acfa14423ef2c974e9d8ff3d0aa48fe0ea2fb8c7'/>
<id>urn:sha1:acfa14423ef2c974e9d8ff3d0aa48fe0ea2fb8c7</id>
<content type='text'>
Add a configuration settings block for each net device.  This will
provide the parent scope for settings applicable only to that network
device (e.g. non-volatile options stored on the NIC, options obtained via
DHCP, etc.).

Expose the MAC address as a setting.
</content>
</entry>
<entry>
<title>Force a netdevice poll in net_tx() before attempting to transmit</title>
<updated>2007-10-04T13:57:33+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2007-10-04T13:46:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=9ac0377fbb2223b68c8cdb69ad1b782239532d63'/>
<id>urn:sha1:9ac0377fbb2223b68c8cdb69ad1b782239532d63</id>
<content type='text'>
packet, to work around the problem whereby small TX rings get backed
up because we haven't yet poll()ed for TX completions.
</content>
</entry>
<entry>
<title>Minor debug message improvement.</title>
<updated>2007-09-21T00:17:46+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2007-09-17T17:57:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=1af346b5315987cbc89a789dd5246ccb8c845437'/>
<id>urn:sha1:1af346b5315987cbc89a789dd5246ccb8c845437</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use net_device_operations structure and netdev_nullify() to allow for</title>
<updated>2007-07-07T15:43:39+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2007-07-07T15:43:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=4c418d2100228b1c478908c08f51811a474e0e1e'/>
<id>urn:sha1:4c418d2100228b1c478908c08f51811a474e0e1e</id>
<content type='text'>
safe dropping of the netdev ref by the driver while other refs still
exist.

Add netdev_irq() method.  Net device open()/close() methods should no
longer enable or disable IRQs.

Remove rx_quota; it wasn't used anywhere and added too much complexity
to implementing correct interrupt-masking behaviour in pxe_undi.c.
</content>
</entry>
</feed>
