Ricardo Nabinger Sanchez wrote:
On Fri, 12 Jan 2007 12:03:17 -0500
"Hug Me" <[EMAIL PROTECTED]> wrote:

We believe FreeBSD is not allowing a UDP source port of 0 and the kernel is
dropping the packet before it ever reaches the tftp server but are unable to
verify this hypothesis. I was hoping someone here could help shed some light
on the problem.

But port 0 has special meaning to the kernel (ie, "give me some random
port").  Also, it is a reserved one.  Please check IANA:

        http://www.iana.org/assignments/port-numbers

I'm afraid you'll have to select another port number.
Nope. A source port of 0 is perfectly legal for UDP.

I did an experiment with rpcbind whereby I performed a UDP based rpcinfo query from one FreeBSD machine to another, captured the traffic, and used tcpreplay to inject it from source port 0.

At first I thought the INPCB hash lookup was doing the wrong thing, then I ktrace'd rpcbind and it was apparent that it was in fact being delivered to rpcbind from udp_input().

rpcbind tries to reply to destination port 0. This was verified with kdump and rpcbind -d. This quite rightly fails, and, indeed, we reject this from the socket code.

So, FreeBSD appears to handle a UDP source port of 0 ok based on these tests.

The most likely explanation for the failure in this case, without looking further, is that inetd or the tftpd implementations can't handle source port 0.

BMS




_______________________________________________
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to