Re: [PATCH v3] net: ip, diag -- Add diag interface for raw sockets

From: David Ahern
Date: Fri Sep 16 2016 - 15:30:45 EST


On 9/16/16 1:00 PM, Cyrill Gorcunov wrote:
> I created veth pair and bound raw socket into it.
>
> [root@pcs7 iproute2]# misc/ss -A raw
> State Recv-Q Send-Q Local Address:Port Peer Address:Port
> ESTAB 0 0 127.0.0.1:ipproto-255 127.0.0.10:ipproto-9090
> UNCONN 0 0 127.0.0.10:ipproto-255 *:*
> UNCONN 0 0 :::ipv6-icmp :::*
> UNCONN 0 0 :::ipv6-icmp :::*
> ESTAB 0 0 ::1:ipproto-255 ::1:ipproto-9091
> UNCONN 0 0 ::1%vm1:ipproto-255 :::*
> [root@pcs7 iproute2]#
>
> [root@pcs7 iproute2]# misc/ss -aKw 'dev == vm1'
> State Recv-Q Send-Q Local Address:Port Peer Address:Port
> UNCONN 0 0 ::1%vm1:ipproto-255 :::*
>
> [root@pcs7 iproute2]# misc/ss -A raw
> State Recv-Q Send-Q Local Address:Port Peer Address:Port
> ESTAB 0 0 127.0.0.1:ipproto-255 127.0.0.10:ipproto-9090
> UNCONN 0 0 127.0.0.10:ipproto-255 *:*
> UNCONN 0 0 :::ipv6-icmp :::*
> UNCONN 0 0 :::ipv6-icmp :::*
> ESTAB 0 0 ::1:ipproto-255 ::1:ipproto-9091
>
> so it get zapped out. Is there some other way to test it?
>

I'm guessing you passed IPPROTO_RAW (255) as the protocol to socket(). If you pass something else (IPPROTO_ICMP for example) it won't work.