On 03 Mar 2015 02:56, Masatake YAMATO wrote:
> On Mon, 2 Mar 2015 04:48:13 -0500, Mike Frysinger <vap...@gentoo.org> wrote:
> > --- a/socketutils.c
> > +++ b/socketutils.c
> > @@ -64,7 +64,7 @@ inet_parse_response(const char *proto_name, const void 
> > *data, int data_len,
> >                 const unsigned long inode)
> >  {
> >     const struct inet_diag_msg *diag_msg = data;
> > -   static const char zero_addr[sizeof(struct in6_addr)];
> > +   static const char zero_addr[sizeof(struct in6_addr) + 20];
> >     socklen_t addr_size, text_size;
> >  
> >     if (diag_msg->idiag_inode != inode)
> 
> 
> Thank you. but I just wonder why this has effects on the result.
> 
> Could you try the patch and run tests on alpha?

done.  the first run is with the +20 hack while the second is w/out.

TCP:[127.0.0.1:44261->127.0.0.1:41995]
0000: 02  01  00  00  ac  e5  a4  0b | 7f  00  00  01  00  00  00  00  
0010: 00  00  00  00  00  00  00  00 | 7f  00  00  01  00  00  00  00  
0020: 00  00  00  00  00  00  00  00 | 00  00  00  00  00  b6  dc  f6  
0030: 00  fc  ff  ff  00  00  00  00 | 00  00  00  00  00  00  00  00  
0040: ed  03  00  00  53  b8  80  05 | 
TCP:[127.0.0.1:39667->127.0.0.1:60672]
0000: 02  01  00  00  9a  f3  ed  8e | 7f  00  00  01  00  00  00  00  
0010: 00  00  00  00  00  00  00  00 | 7f  00  00  01  00  00  00  00  
0020: 00  00  00  00  00  00  00  00 | 00  00  00  00  80  de  dc  f6  
0030: 00  fc  ff  ff  00  00  00  00 | 00  00  00  00  00  00  00  00  
0040: ed  03  00  00  9c  ab  80  05 | 

> If ss command, which is part of iproute2, is available on the alpha system,
> 
>     %  ss -n -t -p 
>     State      Recv-Q Send-Q        Local Address:Port          Peer 
> Address:Port 
>     ESTAB      0      0              10.64.244.96:49945          
> 10.64.255.1:631    users:(("gnome-settings-",pid=4724,fd=21))
>     ESTAB      0      0             192.168.11.12:42019         
> 96.43.148.82:443    users:(("firefox",pid=6415,fd=40))
>     CLOSE-WAIT 1      0             192.168.11.12:58661       
> 152.19.134.142:443   
> 
> Older ss just opens /proc/net/tcp and read it.
> Newer ss uses netlink socket to get tcp socket informaton as strace -yy does.
> 
> You can detect newer or older with "/usr/bin/strace -e open ss -t".
> Older implentation may open /proc/net/tcp. Newer one may not.

`ss -nat` and `netstat -nat` match.  ss is using netlink here:
$ strace -eopen,socket ss -nat
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
open("/lib/libc.so.6.1", O_RDONLY|O_CLOEXEC) = 3
open("/proc/slabinfo", O_RDONLY)        = 3
socket(PF_NETLINK, SOCK_RAW|SOCK_CLOEXEC, NETLINK_SOCK_DIAG) = 3
...
-mike

Attachment: signature.asc
Description: Digital signature

------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Strace-devel mailing list
Strace-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/strace-devel

Reply via email to