diff options
author | Michael Brown | 2013-09-01 21:55:18 +0200 |
---|---|---|
committer | Michael Brown | 2013-09-03 03:02:58 +0200 |
commit | 6bf36f57a0f7a22ffa85ae4995933077df62e309 (patch) | |
tree | 46822c3bbedc5fea9c395daf313fd83803131f81 /src/net/udp.c | |
parent | [linux] Apply MAC address prior to registering network device (diff) | |
download | ipxe-6bf36f57a0f7a22ffa85ae4995933077df62e309.tar.gz ipxe-6bf36f57a0f7a22ffa85ae4995933077df62e309.tar.xz ipxe-6bf36f57a0f7a22ffa85ae4995933077df62e309.zip |
[tcpip] Pass through network device to transport layer protocols
NDP requires knowledge of the network device on which a packet was
received.
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/net/udp.c')
-rw-r--r-- | src/net/udp.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/net/udp.c b/src/net/udp.c index edc7488a..596f242a 100644 --- a/src/net/udp.c +++ b/src/net/udp.c @@ -247,12 +247,15 @@ static struct udp_connection * udp_demux ( struct sockaddr_tcpip *local ) { * Process a received packet * * @v iobuf I/O buffer + * @v netdev Network device * @v st_src Partially-filled source address * @v st_dest Partially-filled destination address * @v pshdr_csum Pseudo-header checksum * @ret rc Return status code */ -static int udp_rx ( struct io_buffer *iobuf, struct sockaddr_tcpip *st_src, +static int udp_rx ( struct io_buffer *iobuf, + struct net_device *netdev __unused, + struct sockaddr_tcpip *st_src, struct sockaddr_tcpip *st_dest, uint16_t pshdr_csum ) { struct udp_header *udphdr = iobuf->data; struct udp_connection *udp; |