Problem with port 0
Hug Me
hugme at hugme.org
Sat Jan 13 01:37:28 UTC 2007
This is what I thought at first as well. However as I mentioned I used 2
different tftp servers. I tried the yale version with and without inetd. I
will get a full packet capture and attach it to my next e-mail. it's
possible that it has nothing to do with the traffic being source port 0,
that was only the most obvious difference I could find between the normal
and dropped traffic.
On 1/12/07, Bruce M. Simpson <bms at freebsd.org> wrote:
>
> Ricardo Nabinger Sanchez wrote:
> > On Fri, 12 Jan 2007 12:03:17 -0500
> > "Hug Me" <hugme at hugme.org> 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
>
>
>
>
>
--
*******************************************************************
Don't ever forget to
-*HUGME*-
Yield to Temptation ... it may not pass your way again.
-- Lazarus Long, "Time Enough for Love"
More information about the freebsd-net
mailing list