> Isn't the server complaining because port 7012 is unreachable? Not the
> other way around? It really doesn't matter to the server what the value
> of the source port is from the client.
>
> Looking at your network packet dump from a previous email,
>
> Source Destination Protocal SPort DPort Description
> 10.0.0.100 10.0.0.1 tftp 1479 69 Read Request:File
/syslinux/ldlinux.e32, Transfer type: octet,
tsize\000=0\000,blksize\000=1408\000
> 10.0.0.1 10.0.0.100 tftp 7018 1479 Option
Acknoledgment, tsize\000=117160\000, blksize\000=1408\000
> 10.0.0.100 10.0.0.1 udp 1480 7018 Source port:1480
Destination port: 7018
>
>
> The client is trying to connect to port 7018 on the server, but the
> server responds with...
>
>
> 10.0.0.1 10.0.0.100 icmp Destination
unreachable (Port unreachable)
>
>
> because a connection cannot be made to port 7018 on 10.0.0.1. No?
>
> --
> Matt Fleming, Intel Open Source Technology Center
>
Hi Matt,
the server is listening on the port. I reviewed the RFC for TFTP and it say that
the server would response with an error if the source TID is not correct:
1. Host A sends a "RRQ" or "WRQ" to host B with
source= A's TID,
destination= 69.
2. Host B sends a "ACK" (with block number= 0) to host A with
source= B's TID, destination= A's TID.
At this point the connection has been established and the first data
packet can be sent by Host A with a sequence number of 1. In the
next step, and in all succeeding steps, the hosts should make sure
that the source TID matches the value that was agreed on in steps 1
and 2. If a source TID does not match, the packet should be
discarded as erroneously sent from somewhere else. An error packet
should be sent to the source of the incorrect packet, while not
disturbing the transfer.
I also review how you do this for BIOS mode, but there you use a other methode
(re_connect with different source port)
Regards
Michael