This commite eliminates the ping command from NSH and replaces it with a ping 'built-in' at apps/system/ping. The original NSH version of ping violated the portable POSIX interface and, hence, had to be removed. The new system/ping command uses the new IPPROTO_ICMP AF_INET datagram sockets to implement ping.

Squashed commit of the following:

    apps/system/ping:  Fix some timing issues.
    apps/system/ping:  A few timing related corrections.
    apps/nshlib:  Remove support for the NSH 'ping' command.  The implementation of that command violated the portable POSIX interface and has been replaced with a ping 'built-in' command at apps/system/ping.
    apps/system/ping:  Add larger payload.  Verify content of echoed payload.
    apps/system/ping:  Various fixes for a clean compile
    system/ping: Add new build structure for system ping command.
This commit is contained in:
Gregory Nutt
2017-10-23 08:50:01 -06:00
parent 51cf069aef
commit c1ec7db8a9
11 changed files with 812 additions and 246 deletions

View File

@@ -1175,12 +1175,6 @@ int cmd_lsmod(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv);
int cmd_nfsmount(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv);
# endif
# endif
# if defined(CONFIG_NET_ICMP) && defined(CONFIG_NET_ICMP_PING) && \
!defined(CONFIG_DISABLE_SIGNALS)
# ifndef CONFIG_NSH_DISABLE_PING
int cmd_ping(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv);
# endif
# endif
# if defined(CONFIG_NET_ICMPv6) && defined(CONFIG_NET_ICMPv6_PING) && \
!defined(CONFIG_DISABLE_SIGNALS)
# ifndef CONFIG_NSH_DISABLE_PING6