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/fcoe.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/fcoe.c')
-rw-r--r-- | src/net/fcoe.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/net/fcoe.c b/src/net/fcoe.c index 87726044..11acfca2 100644 --- a/src/net/fcoe.c +++ b/src/net/fcoe.c @@ -129,7 +129,7 @@ static int fcoe_deliver ( struct fcoe_port *fcoe, /* Transmit packet */ if ( ( rc = net_tx ( iob_disown ( iobuf ), fcoe->netdev, &fcoe_protocol, - fcoe->fcf_ll_addr ) ) != 0 ) { + fcoe->fcf_ll_addr, fcoe->netdev->ll_addr )) != 0){ DBGC ( fcoe, "FCoE %s could not transmit: %s\n", fcoe->netdev->name, strerror ( rc ) ); goto done; @@ -164,12 +164,12 @@ static struct io_buffer * fcoe_alloc_iob ( struct fcoe_port *fcoe __unused, * * @v iobuf I/O buffer * @v netdev Network device + * @v ll_dest Link-layer destination address * @v ll_source Link-layer source address * @ret rc Return status code */ -static int fcoe_rx ( struct io_buffer *iobuf, - struct net_device *netdev, - const void *ll_source ) { +static int fcoe_rx ( struct io_buffer *iobuf, struct net_device *netdev, + const void *ll_dest __unused, const void *ll_source ) { struct fcoe_header *fcoehdr; struct fcoe_footer *fcoeftr; struct fcoe_port *fcoe; |