net - Support ping reply when processing net-loop
PATCH 1/1 net - Support ping reply when processing net-loop
Add ICMP_ECHO_REQUEST packet support by responding with a ICMP_ECHO_REPLY.
This permits the ping command to test the phy interface when the phy is put in loopback mode (typically by setting register 0 bit 14).
It also allows the port to respond to an external ping when u-boot is processing some other net command (such as tftp). This is useful when tftp appears to hang.
--- net/net.c | 24 ++++++++++++++++++++++++ 1 files changed, 24 insertions(+), 0 deletions(-)
net/net.c +24 -0
@@ -1424,6 +1424,30 @@ NetReceive(volatile uchar * inpkt, int len)/* XXX point to ip packet */ (*packetHandler)((uchar *)ip,0 ,0 ,0 );return ; + +case ICMP_ECHO_REQUEST : + { +int rlen =ETHER_HDR_SIZE + len; +int i; +#ifdef ET_DEBUG +printf ("Got ICMP ECHO REQUEST, return %d bytes \n" ,rlen); +#endif +memcpy (&et->et_dest[0 ], &et->et_src[0 ],6 ); +memcpy (&et->et_src[0 ], NetOurEther,6 ); + + ip->ip_sum =0 ; + ip->ip_off =0 ; +NetCopyIP ((void *)&ip->ip_dst, &ip->ip_src); +NetCopyIP ((void *)&ip->ip_src, &NetOurIP); + ip->ip_sum = ~NetCksum ((uchar *)ip,IP_HDR_SIZE_NO_UDP >>1 ); + + icmph->type =ICMP_ECHO_REPLY ; + icmph->checksum =0 ; + icmph->checksum = ~NetCksum ((uchar *)icmph, + (len -IP_HDR_SIZE_NO_UDP ) >>1 ); + (void )eth_send ((uchar *)et, rlen); +return ; + }#endif default :return ;
Signature · 1 line
1.5.0.2.279.g4808
PATCH 1/1 net - Support ping reply when processing net-loop
Ed,
This looks like a useful debug tool. Please fix a little nit. In the meantime I'm going to play around with it a bit.
On Mon, 2007-03-05 at 23:33 -0600, Ed Swarthout wrote:
<SNIP>
net/net.c NetReceive(volatile uchar * inpkt, int len) · line 1431
Quoted 5 lines
net/net.c +5
-0+ +case ICMP_ECHO_REQUEST : + { +int rlen =ETHER_HDR_SIZE + len; +int i;
These variables aren't necessary. 'i' isn't even used. Please ditch them along with the braces. You can calcalate the length in the two places that it's referenced.
regards,
Ben
[U-Boot-Users] HUSH shell in u-boot.
Hi:
I'm using HUSH shell in u-boot, it's very convenient - has for, if, etc... constructions. Unfortunately DULG doesn't say much about it, so couple questions:
1) Does any HUSH guide exist? At the very least where one can get list of supported commands except of empirically trying them?
2) For several different reasons I'm using 1.1.4 version of u-boot, but I am considering move to the latest 1.2.0. Is HUSH support much better there?
3) u-boot CLI (even in HUSH mode) doesn't support command history. I understand that there are good reasons for that (some terminals may not interpret arrow key properly) but if I want to use history, is it just a matter of enabling some configuration or the code just doesn't exist?
4) Regarding previous question, will be answer the same for 1.1.4 and 1.2.0 versions?
Thanks,
Leonid.
[U-Boot-Users] HUSH shell in u-boot.
Quoted 3 lines · In message <406A31B117F2734987636D6CCC93EE3CB058D9@ehost011-3.exch011.intermedi…
1) Does any HUSH guide exist? At the very least where one can get list of supported commands except of empirically trying them?
We borrowed the code from the BusyBox project. You may look there for more documentation. Please let me know if you find any :-(
Quoted 3 lines
2) For several different reasons I'm using 1.1.4 version of u-boot, but I am considering move to the latest 1.2.0. Is HUSH support much better there?
No, changes to the hush code were only minimal.
Quoted 1 line
3) u-boot CLI (even in HUSH mode) doesn't support command history. I
Yes, it does. You have to enable it in the configuration, though.
Quoted 3 lines
understand that there are good reasons for that (some terminals may not interpret arrow key properly) but if I want to use history, is it just a matter of enabling some configuration or the code just doesn't exist?
History and command line editing are config options.
Quoted 2 lines
4) Regarding previous question, will be answer the same for 1.1.4 and 1.2.0 versions?
No. I'm talking about recent code only.
Best regards,
Wolfgang Denk
Signature · 5 lines
DENX Software Engineering GmbH, HRB 165235 Munich, CEO: Wolfgang Denk
Office: Kirchenstr. 5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
I don't know if it's what you want, but it's what you get. :-)
- Larry Wall in <[email protected]>[U-Boot-Users] HUSH shell in u-boot.- CONFIG_CMDLINE_EDITING
Quoted 3 lines · Wolfgang Denk
Quoted 1 line
3) u-boot CLI (even in HUSH mode) doesn't support command history.
Yes, it does. You have to enable it in the configuration, though.
It's realy a nice feature for debug. I just tried that for u-boot 1.1.6 and it worked fine. Enable CONFIG_CMDLINE_EDITING.
Quoted 1 line
History and command line editing are config options.
Hopefully, it will be an default config options for all developers for it make work/life easier.
Thanks for releaving this option:-)
Sam
Best regards,
Sam
___________________________________________________________
????????-3.5G???20M???
http://cn.mail.yahoo.com
[U-Boot-Users] HUSH shell in u-boot.- CONFIG_CMDLINE_EDITING
Quoted 7 lines
From: Sam Song
Quoted 1 line · Wolfgang Denk
History and command line editing are config options.
Hopefully, it will be an default config options for all developers for it make work/life easier.
Running the u-boot serial console in an emacs shell provides many more usability features. Two examples include unlimited command recall that works across reset and a huge console scroll buffer.
-EdS
[U-Boot-Users] HUSH shell in u-boot.- CONFIG_CMDLINE_EDITING
Quoted 4 lines · Swarthout Edward L-SWARTHOU
Running the u-boot serial console in an emacs shell provides many more usability features. Two examples include unlimited command recall that works across reset and a huge console scroll buffer.
Thanks for pointing to emacs shell... A nice new thing to me:-) Mostly I perfer to stay on bash shell for enough satisfaction.
Sam
Best regards,
Sam
___________________________________________________________
Mp3???-???????
http://music.yahoo.com.cn/?source=mail_mailbox_footer
PATCH 1/1 net - Support ping reply when processing net-loop
In reply to Ben WarrenAdd ICMP_ECHO_REQUEST packet support by responding with a ICMP_ECHO_REPLY.
This permits the ping command to test the phy interface when the phy is put in loopback mode (typically by setting register 0 bit 14).
It also allows the port to respond to an external ping when u-boot is processing some other net command (such as tftp). This is useful when tftp appears to hang.
---
Version 2. Style fixes - remove temp variable and braces.
net/net.c | 20 ++++++++++++++++++++ 1 files changed, 20 insertions(+), 0 deletions(-)
net/net.c +20 -0
@@ -1424,6 +1424,26 @@ NetReceive(volatile uchar * inpkt, int len)/* XXX point to ip packet */ (*packetHandler)((uchar *)ip,0 ,0 ,0 );return ; +case ICMP_ECHO_REQUEST : +#ifdef ET_DEBUG +printf ("Got ICMP ECHO REQUEST, return %d bytes \n" , +ETHER_HDR_SIZE + len); +#endif +memcpy (&et->et_dest[0 ], &et->et_src[0 ],6 ); +memcpy (&et->et_src[0 ], NetOurEther,6 ); + + ip->ip_sum =0 ; + ip->ip_off =0 ; +NetCopyIP ((void *)&ip->ip_dst, &ip->ip_src); +NetCopyIP ((void *)&ip->ip_src, &NetOurIP); + ip->ip_sum = ~NetCksum ((uchar *)ip,IP_HDR_SIZE_NO_UDP >>1 ); + + icmph->type =ICMP_ECHO_REPLY ; + icmph->checksum =0 ; + icmph->checksum = ~NetCksum ((uchar *)icmph, + (len -IP_HDR_SIZE_NO_UDP ) >>1 ); + (void )eth_send ((uchar *)et,ETHER_HDR_SIZE + len); +return ;#endif default :return ;
Signature · 1 line
1.5.0.2.279.g4808
PATCH 1/1 net - Support ping reply when processing net-loop
Ed,
Quoted 10 lines · Ed Swarthout
Add
ICMP_ECHO_REQUESTpacket support by responding with aICMP_ECHO_REPLY.This permits the ping command to test the phy interface when the phy is put in loopback mode (typically by setting register 0 bit 14).
It also allows the port to respond to an external ping when u-boot is processing some other net command (such as tftp). This is useful when tftp appears to hang.
Signed-off-by Ed Swarthout <[email protected]>
Sorry for being a pain, but this patch doesn't apply cleanly, due to whitespace issues. Please make sure you're using tabs for indentation with TABSTOP=8. When I modified your patch to do this, it went in fine, but I want it to come from you so all history is maintained.
regards,
Ben
PATCH 1/1 net - Support ping reply when processing net-loop
Quoted 2 lines · In message <[email protected]> you wrote:
Sorry for being a pain, but this patch doesn't apply cleanly, due to
You're not a pain, but a highly appreciated Custodian at Work :-)
Thanks!
Best regards,
Wolfgang Denk
Signature · 5 lines
DENX Software Engineering GmbH, HRB 165235 Munich, CEO: Wolfgang Denk Office: Kirchenstr. 5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de Without freedom of choice there is no creativity. -- Kirk, "The return of the Archons", stardate 3157.4
PATCH 1/1 net - Support ping reply when processing net-loop
In reply to Ben WarrenAdd ICMP_ECHO_REQUEST packet support by responding with a ICMP_ECHO_REPLY.
This permits the ping command to test the phy interface when the phy is put in loopback mode (typically by setting register 0 bit 14).
It also allows the port to respond to an external ping when u-boot is processing some other net command (such as tftp). This is useful when tftp appears to hang.
---
Version 3. Whitespace cleanup of patch.
Removed spaces used for indentation of descendant line. 80-char line-length is still violated (like other parts of file).
If I run Lident on the file, I get 67 changes and it still uses spaces to indent descendant lines. Should I send that version instead?
Pain leads to strength...
net/net.c | 20 ++++++++++++++++++++ 1 files changed, 20 insertions(+), 0 deletions(-)
net/net.c +20 -0
@@ -1424,6 +1424,26 @@ NetReceive(volatile uchar * inpkt, int len)/* XXX point to ip packet */ (*packetHandler)((uchar *)ip,0 ,0 ,0 );return ; +case ICMP_ECHO_REQUEST : +#ifdef ET_DEBUG +printf ("Got ICMP ECHO REQUEST, return %d bytes \n" , +ETHER_HDR_SIZE + len); +#endif +memcpy (&et->et_dest[0 ], &et->et_src[0 ],6 ); +memcpy (&et->et_src[0 ], NetOurEther,6 ); + + ip->ip_sum =0 ; + ip->ip_off =0 ; +NetCopyIP ((void *)&ip->ip_dst, &ip->ip_src); +NetCopyIP ((void *)&ip->ip_src, &NetOurIP); + ip->ip_sum = ~NetCksum ((uchar *)ip,IP_HDR_SIZE_NO_UDP >>1 ); + + icmph->type =ICMP_ECHO_REPLY ; + icmph->checksum =0 ; + icmph->checksum = ~NetCksum ((uchar *)icmph, + (len -IP_HDR_SIZE_NO_UDP ) >>1 ); + (void )eth_send ((uchar *)et,ETHER_HDR_SIZE + len); +return ;#endif default :return ;
Signature · 1 line
1.5.0.2.279.g4808
PATCH 1/1 net - Support ping reply when processing net-loop
Ed,
Quoted 15 lines · Ed Swarthout
Add
ICMP_ECHO_REQUESTpacket support by responding with aICMP_ECHO_REPLY.This permits the ping command to test the phy interface when the phy is put in loopback mode (typically by setting register 0 bit 14).
It also allows the port to respond to an external ping when u-boot is processing some other net command (such as tftp). This is useful when tftp appears to hang.
Signed-off-by Ed Swarthout <[email protected]>---
Version 3. Whitespace cleanup of patch.
Quoted 7 lines
Removed spaces used for indentation of descendant line. 80-char line-length is still violated (like other parts of file).
If I run Lident on the file, I get 67 changes and it still uses spaces to indent descendant lines. Should I send that version instead?
Pain leads to strength...
This one's fine. Thanks!
Ben