Subject: Re: [PATCH net-next] net: ipv6: inet6_connection_sock.h needs flowi

From: Christoph Paasch <[email-masked]>
Date: Sun, 16 Oct 2011 12:13:39 +0300

On 10/16/2011 01:41 AM, David Miller wrote:
> From: Christoph Paasch<[email-masked]>
> Date: Sat, 15 Oct 2011 12:34:24 +0300
>
>> Otherwise we have a compiler-warning in c-files not including net/flow.h
>> before inet6_connection_sock.h .
>>
>> Signed-off-by: Christoph Paasch<[email-masked]>
>
> Example?  I've never seen this warning.

Currently, all the c-files that include inet6_connection_sock.h 
indirectly include flow.h before inet6_connection_sock.h. Thus currently 
there is no compiler-warning.

However, if a c-file would include inet6_connection_sock.h without 
preceding an inclusion of flow.h, a compiler-warning will trigger (at 
least with gcc 4.6.1 from the latest ubuntu). Thus, the c-file has to 
include flow.h even if it doesn't need any struct/function from flow.h. 
Actually I had this case in our mptcp-code. Thus I had two choices, 
either include flow.h in the c-file (even if it's not needed there), or 
change inet6_connection_sock.h

I would say, that inet6_connection_sock.h should not rely on the c-files 
to include flow.h, and rather declare struct flowi (as it is done for 
the other structs used in inet6_connection_sock.h like in6_addr, 
sk_buff,...).

Or am I missing something?

Cheers,
Christoph

-- 
Christoph Paasch
PhD Student

IP Networking Lab --- http://inl.info.ucl.ac.be
MultiPath TCP in the Linux Kernel --- http://inl.info.ucl.ac.be/mptcp
Université Catholique de Louvain
--