[U-Boot] [PATCH v2 04/11] net: tftpput: Add support for receiving ICMP packets

Simon Glass sjg at chromium.org
Thu Oct 27 02:17:41 CEST 2011


Hi Wolfgang,

On Wed, Oct 26, 2011 at 1:44 PM, Wolfgang Denk <wd at denx.de> wrote:
> Dear Simon Glass,
>
> In message <1319515208-7810-5-git-send-email-sjg at chromium.org> you wrote:
>> ICMP packets can tell you when there is no server at the other end. It
>> is useful for tftp to figure this out, so that a quick error can be
>> displayed, rather than pointlessly retrying.
>>
>> This adds an ICMP packet handler to the net interface.
>>
>> Signed-off-by: Simon Glass <sjg at chromium.org>
>> ---
>>  include/net.h |   19 +++++++++++++++++++
>>  net/net.c     |   27 ++++++++++++++++++++++++---
>>  2 files changed, 43 insertions(+), 3 deletions(-)
>
> This commit increases the code size and breaks building for a number
> of boards, for example ESTEEM192E, ETX094, IAD210:
>
> /work/wd/tmp-ppc/u-boot.lds:69 cannot move location counter backwards
> (from 4000815c to 40008000)

I did see this in my testing, but it seemed to happen even without my
changes, so I assumed it was just broken. Are you sure it built
recently? If so please give me a commit hash so I can try it. The last
one I can find is a year ago 2ae1824. I tried about 6 other commits
since then and it doesn't always always fail with the same error.

The problem seems to be due to these lines in the .lds file for the board:

    net/libnet.o			(.text*)
    drivers/rtc/librtc.o		(.text*)

    . = env_offset;
    common/env_embedded.o		(.text*)

The env_offset is probably too small as the net code has increased in
size by about 600 bytes over the year.


In terms of code size, there is a small amount I can easily do -
basically putting the ICMP code behind the CONFIG_CMD_TFTPPUT #ifdef.
This doesn't quite get us back to base, so I will send out a few
little changes (each of which may or may not be acceptable) to help
with this.

There are other things that can be done in net to reduce code size.

Regards,
Simon

>
> Please fix.
>
> Best regards,
>
> Wolfgang Denk
>
> --
> DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
> Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
> "Go to Heaven for the climate, Hell for the company."    - Mark Twain
>


More information about the U-Boot mailing list