summaryrefslogtreecommitdiffstats
path: root/src/net/eapol.c
diff options
context:
space:
mode:
authorMichael Brown2010-10-07 17:03:16 +0200
committerMichael Brown2010-10-07 20:15:04 +0200
commit88dd921e24af0893734d4e197d646cfc7732ed54 (patch)
tree8ecbe7ef1e5d84b2243894769a9ab1251d5c56de /src/net/eapol.c
parent[int13] Fix typo in debug message (diff)
downloadipxe-88dd921e24af0893734d4e197d646cfc7732ed54.tar.gz
ipxe-88dd921e24af0893734d4e197d646cfc7732ed54.tar.xz
ipxe-88dd921e24af0893734d4e197d646cfc7732ed54.zip
[netdevice] Pass both link-layer addresses in net_tx() and net_rx()
FCoE requires the use of fabric-provided MAC addresses, which breaks the assumption that the net device's MAC address is implicitly the source address for net_tx() and the (unicast) destination address for net_rx(). Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/net/eapol.c')
-rw-r--r--src/net/eapol.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/net/eapol.c b/src/net/eapol.c
index 7246c7b8..9e5f2640 100644
--- a/src/net/eapol.c
+++ b/src/net/eapol.c
@@ -36,13 +36,13 @@ FILE_LICENCE ( GPL2_OR_LATER );
*
* @v iob I/O buffer
* @v netdev Network device
+ * @v ll_dest Link-layer destination address
* @v ll_source Link-layer source address
*
* This function takes ownership of the I/O buffer passed to it.
*/
static int eapol_rx ( struct io_buffer *iob, struct net_device *netdev,
- const void *ll_source )
-{
+ const void *ll_dest, const void *ll_source ) {
struct eapol_frame *eapol = iob->data;
struct eapol_handler *handler;
@@ -54,7 +54,7 @@ static int eapol_rx ( struct io_buffer *iob, struct net_device *netdev,
for_each_table_entry ( handler, EAPOL_HANDLERS ) {
if ( handler->type == eapol->type ) {
iob_pull ( iob, EAPOL_HDR_LEN );
- return handler->rx ( iob, netdev, ll_source );
+ return handler->rx ( iob, netdev, ll_dest, ll_source );
}
}