diff options
author | Michael Brown | 2010-10-07 17:03:16 +0200 |
---|---|---|
committer | Michael Brown | 2010-10-07 20:15:04 +0200 |
commit | 88dd921e24af0893734d4e197d646cfc7732ed54 (patch) | |
tree | 8ecbe7ef1e5d84b2243894769a9ab1251d5c56de /src/net/eapol.c | |
parent | [int13] Fix typo in debug message (diff) | |
download | ipxe-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.c | 6 |
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 ); } } |