Subject: Re: [RFC 7/9] snet: introduce snet_netlink.c and snet_netlink.h

From: Samir Bellabes <[email-masked]>
Date: Wed, 13 Jan 2010 05:36:29 +0100

Patrick McHardy <[email-masked]> writes:

> Samir Bellabes wrote:
>> +++ b/security/snet/include/snet_netlink.h
>> +
>> +struct snet_sock_half {
>> +	struct {
>> +		union {
>> +			__be32 ip;
>> +			struct in6_addr ip6;
>> +		};
>> +	} u3;
>> +	struct {
>> +		__be16 port;
>> +	} u;
>> +};
>> +
>> +struct snet_sock_info {
>> +	struct snet_sock_half src;
>> +	struct snet_sock_half dst;
>> +	int type;
>> +};
>
> How about using a struct sockaddr or encoding the values within
> netlink attributes? That would provide a bit more flexibility in
> case you want to support more protocols in the future.

indeed, I already move to the encoding of values independantly within
netlink attributes. This had to be done before, and it was in the
TODO, so now it's done. 

At first, I tried to use a attribute NLA_BINARY with all the datas
inside snet_sock_info, so it won't break the netlink protocol between
userspace and kernel, at each modification (adding/removing element
inside the structure)