[U-Boot] [PATCH 1/3] net: defragment IP packets
Alessandro Rubini
rubini-list at gnudd.com
Fri Jul 31 16:02:14 CEST 2009
>> Is the target replying to all pings?
>
> Yes. And I can see the same in wireshark.
Ah. I see. Strange...
>> > What is missing in the reassembly code (that is described in RFC815)
>> > is the timer. (quote from the RFC):
>> > --------------
>> > The final part of the algorithm is some sort of timer based
>> > mechanism which decrements the time to live field of each partially
>> > reassembled datagram, so that incomplete datagrams which have outlived
>> > their usefulness can be detected and deleted.
>> > --------------
>>
>> But I reassemble one packet only, so I don't need to timeout
>> partly-filled packets to recover memory.
>
> But it is for the state that you described - the user cntr-C a current
> transfer, and the reassembly algorithm doesn't know to throw away a partially
> accepted packet, when things are cancelled...
No, it's not like that. The old instance of the TFTP server resends
the last packet of the aborted xfer, while the new server sends the new
packet. Both packets are new, they just come as intermixed fragments.
And none survives as there is only one reassembly buffer. Or something
like that, but both are fresh fragmented packets, no timeout would solve
this sporadic problem.
It seems to me that if we want a secure defagment system (one that can
be use to net-boot production systems in hostile networks), it's
going to be too complex. It could work well, however, as a faster
tool for the interactive developer.
/alessandro
More information about the U-Boot
mailing list