Subject: Re: Question about /proc/net/netlink mystery

From: Ben Hutchings <[email-masked]>
Date: Wed, 20 May 2009 20:51:03 +0100

On Wed, 2009-05-20 at 22:22 +0300, Rami Rosen wrote:
> Hi,
> I tried to figure this out, but something is mysterious here to me.
> 
>  cat /proc/net/netlink
> shows:
> sk       Eth Pid    Groups   Rmem     Wmem     Dump     Locks
> 
> Why is the Eth here in the second column title?
> It does not seem that this column has anything to do with network
> interfaces.
> 
> A short look to the code, in netlink_seq_show() , net/netlink/af_netlink.c,
> will show that the values in this column are s->sk_protocol.

I would guess that "Eth" is meant to be short for "Ethertype", a
layer-3 protocol number, although sock::sk_protocol actually holds a
layer-4 protocol number.

> So it seems that the title should be here different; it should represent
> the protocol (since s->sk_protocol is assigned
> the number of the protocol of the netlink socket ;
> for example, NETLINK_ROUTE is 0, NETLINK_AUDIT is 9, and so on ; (see
> include/linux/netfilter.h)
> 
> So shouldn't it be something like "Proto"?

Yes, but changing column names in /proc risks breaking the programs that
read them.

Ben.

-- 
Ben Hutchings, Senior Software Engineer, Solarflare Communications
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.