I've been playing with porting this to FreeBSD 8.0 amd64 kernel. So far
have managed to get libraries and pgmsend & pgmrecv to compile & start.
One thing I noticed was that there is a line in packet.c (~ line 200)
gsize packet_length = g_ntohs(ip->ip_len); /* total packet length */
From what I can tell the ip->ip_len is set from the recvmsg call in recv.c
line 197, and is already in host order. This call then inverts the length.
Should this line actually be:
gsize packet_length = ip->ip_len; /* MJ: this is set by the
recv call, which returns in host order - not sure why it was different! see
recv.c:197*/
(This works on my build, but I'm not anywhere near an expert!)
Original issue reported on code.google.com by 7char...@gmail.com on 28 Mar 2010 at 10:46
Original issue reported on code.google.com by
7char...@gmail.com
on 28 Mar 2010 at 10:46