From nobody@FreeBSD.org  Sun Jul 29 05:28:27 2012
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id C74AC106564A
	for <freebsd-gnats-submit@FreeBSD.org>; Sun, 29 Jul 2012 05:28:27 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from red.freebsd.org (red.freebsd.org [IPv6:2001:4f8:fff6::22])
	by mx1.freebsd.org (Postfix) with ESMTP id B2DB48FC16
	for <freebsd-gnats-submit@FreeBSD.org>; Sun, 29 Jul 2012 05:28:27 +0000 (UTC)
Received: from red.freebsd.org (localhost [127.0.0.1])
	by red.freebsd.org (8.14.4/8.14.4) with ESMTP id q6T5SREj078095
	for <freebsd-gnats-submit@FreeBSD.org>; Sun, 29 Jul 2012 05:28:27 GMT
	(envelope-from nobody@red.freebsd.org)
Received: (from nobody@localhost)
	by red.freebsd.org (8.14.4/8.14.4/Submit) id q6T5SRLf078094;
	Sun, 29 Jul 2012 05:28:27 GMT
	(envelope-from nobody)
Message-Id: <201207290528.q6T5SRLf078094@red.freebsd.org>
Date: Sun, 29 Jul 2012 05:28:27 GMT
From: Eugen Konkov <kes-kes@yandex.ru>
To: freebsd-gnats-submit@FreeBSD.org
Subject: ping: useless/uninformative error message
X-Send-Pr-Version: www-3.1
X-GNATS-Notify:

>Number:         170243
>Category:       bin
>Synopsis:       ping(8): useless/uninformative error message
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Jul 29 05:30:01 UTC 2012
>Closed-Date:    
>Last-Modified:  Mon Jul 30 03:18:07 UTC 2012
>Originator:     Eugen Konkov
>Release:        9.1-PRERELEASE
>Organization:
ISP FreeLine
>Environment:
# uname -a
FreeBSD newflux 9.1-PRERELEASE FreeBSD 9.1-PRERELEASE #3 r238593: Thu Jul 19 08:31:58 EEST 2012     adm@newflux:/usr/obj/usr/src/sys/KES_KERN_v9  i386

>Description:
# ping 10.11.6.1
PING 10.11.6.1 (10.11.6.1): 56 data bytes
ping: sendto: Invalid argument
ping: sendto: Invalid argument
ping: sendto: Invalid argument
ping: sendto: Invalid argument
^C
--- 10.11.6.1 ping statistics ---
4 packets transmitted, 0 packets received, 100.0% packet loss
# ping 10.11.19.54
PING 10.11.19.54 (10.11.19.54): 56 data bytes
64 bytes from 10.11.19.54: icmp_seq=0 ttl=64 time=0.107 ms
^C
--- 10.11.19.54 ping statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.107/0.107/0.107/0.000 ms
# ping ya.ru
PING ya.ru (213.180.204.3): 56 data bytes
64 bytes from 213.180.204.3: icmp_seq=0 ttl=56 time=29.896 ms
64 bytes from 213.180.204.3: icmp_seq=1 ttl=56 time=29.689 ms
64 bytes from 213.180.204.3: icmp_seq=2 ttl=56 time=29.530 ms
^C
--- ya.ru ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 29.530/29.705/29.896/0.150 ms
# ping ya.ru
PING ya.ru (213.180.193.3): 56 data bytes
64 bytes from 213.180.193.3: icmp_seq=0 ttl=55 time=31.971 ms
64 bytes from 213.180.193.3: icmp_seq=1 ttl=55 time=32.150 ms
^C
--- ya.ru ping statistics ---
2 packets transmitted, 2 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 31.971/32.060/32.150/0.090 ms
root@newflux:/etc # ping 10.11.6.1
PING 10.11.6.1 (10.11.6.1): 56 data bytes
ping: sendto: Invalid argument
^C
--- 10.11.6.1 ping statistics ---
1 packets transmitted, 0 packets received, 100.0% packet loss
# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes
64 bytes from 8.8.8.8: icmp_seq=0 ttl=49 time=41.073 ms
64 bytes from 8.8.8.8: icmp_seq=1 ttl=49 time=41.024 ms
^C
--- 8.8.8.8 ping statistics ---
2 packets transmitted, 2 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 41.024/41.049/41.073/0.024 ms
# ping 10.5.0.33
PING 10.5.0.33 (10.5.0.33): 56 data bytes
64 bytes from 10.5.0.33: icmp_seq=0 ttl=64 time=0.152 ms
64 bytes from 10.5.0.33: icmp_seq=1 ttl=64 time=0.114 ms
^C
--- 10.5.0.33 ping statistics ---
2 packets transmitted, 2 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.114/0.133/0.152/0.019 ms
# ping 10.10.1.40
PING 10.10.1.40 (10.10.1.40): 56 data bytes
ping: sendto: Invalid argument
ping: sendto: Invalid argument
^C
--- 10.10.1.40 ping statistics ---
2 packets transmitted, 0 packets received, 100.0% packet loss
#

# netstat -nr
default            X.X.X.X            UG1         0       93 vlan40
10.0.0.0/8         10.5.0.33          UGS         0       13 vlan40
10.5.0.0/24        10.7.26.2          UGS         0        0 vlan74
10.5.0.17          link#10            UH          0        6    lo0
10.5.0.18          link#10            UH          0        0    lo0 =>
10.5.0.18/32       10.11.19.54        UGS         0        0 vlan40
10.5.0.32/27       link#54            U           0     4608 vlan40
10.5.0.37          link#54            UHS         1       89    lo0
10.10.0.0/16       10.11.19.50        UGS         0       16 vlan40
10.10.15.0/24      10.11.19.52        UGS         0        0 vlan40
10.11.6.0/23       10.11.19.52        UGS         0        5 vlan40
10.11.16.0/24      10.11.19.50        UGS         0        0 vlan40
10.11.19.248/29    10.11.19.52        UGS         0        0 vlan40
10.11.21.0/24      10.11.19.52        UGS         0        0 vlan40

>How-To-Repeat:

>Fix:


>Release-Note:
>Audit-Trail:
Date: Sun, 29 Jul 2012 07:32:14 +0100
From: David Malone <dwmalone@maths.tcd.ie>
To: Eugen Konkov <kes-kes@yandex.ru>
Subject: Re: misc/170243: ping: useless/uninformative error message

 > # ping 10.11.19.54
 
 > # netstat -nr
 > default            X.X.X.X            UG1         0       93 vlan40
 > 10.0.0.0/8         10.5.0.33          UGS         0       13 vlan40
 > 10.5.0.0/24        10.7.26.2          UGS         0        0 vlan74
 > 10.5.0.17          link#10            UH          0        6    lo0
 > 10.5.0.18          link#10            UH          0        0    lo0 =>
 > 10.5.0.18/32       10.11.19.54        UGS         0        0 vlan40
 > 10.5.0.32/27       link#54            U           0     4608 vlan40
 > 10.5.0.37          link#54            UHS         1       89    lo0
 > 10.10.0.0/16       10.11.19.50        UGS         0       16 vlan40
 > 10.10.15.0/24      10.11.19.52        UGS         0        0 vlan40
 > 10.11.6.0/23       10.11.19.52        UGS         0        5 vlan40
 > 10.11.16.0/24      10.11.19.50        UGS         0        0 vlan40
 > 10.11.19.248/29    10.11.19.52        UGS         0        0 vlan40
 > 10.11.21.0/24      10.11.19.52        UGS         0        0 vlan40
 
 I might have read this wrong, but, it looks like the GW for 10.11.19.54
 is 10.11.19.52, because of the second last route. However, 10.11.19.52
 doesn't look to be a local network (because there is no "link#..."
 route), so the GW is invalid. Hence, when ping calls the sendto()
 system call, it returns "Invalid argument", because the GW is
 invalid.
 
 	David.
>Unformatted:
