From: Adrian Bondrescu Date: Fri, 1 Jun 2012 02:10:11 +0000 (+0300) Subject: Fix cherry-pick X-Git-Url: http://p2p-next.cs.pub.ro/gitweb/?a=commitdiff_plain;h=5d690fef4ebea52e5bfc1560c945e86c0dbbb946;p=swifty.git Fix cherry-pick --- diff --git a/src/kernel/mptp.h b/src/kernel/mptp.h new file mode 100644 index 0000000..b837617 --- /dev/null +++ b/src/kernel/mptp.h @@ -0,0 +1,32 @@ +#ifndef _MPTP_H +#define _MPTP_H + +#define IPPROTO_MPTP 137 + +#define MIN_MPTP_PORT 1 +#define MAX_MPTP_PORT 65536 + +#ifndef __KERNEL__ +#include +#endif + +struct mptp_dest { + uint32_t addr; + uint16_t port; + uint16_t bytes; +}; + +struct sockaddr_mptp { + int count; + struct mptp_dest dests[0]; +}; + +#ifdef __KERNEL__ +struct mptphdr { + uint16_t src; + uint16_t dst; + __be16 len; +}; +#endif + +#endif diff --git a/src/kernel/swift.c b/src/kernel/swift.c index 63004b1..116c04b 100644 --- a/src/kernel/swift.c +++ b/src/kernel/swift.c @@ -383,11 +383,14 @@ static int swift_recvmsg(struct kiocb *iocb, struct socket *sock, struct msghdr log_error("skb_copy_datagram_iovec\n"); goto out_free; } + log_debug("Received %d bytes\n", copied); sock_recv_ts_and_drops(msg, sk, skb); - if (ret_addr) - memcpy(&ret_addr->dests[i], &swift_addr->dests[0], sizeof(ret_addr->dests[i])); + if (ret_addr) { + memcpy(&ret_addr->dests[i], &mptp_addr->dests[0], sizeof(ret_addr->dests[i])); + ret_addr->dests[i].bytes = copied; + } err = copied;