Subject: Re: Possible networking regression in 3.6.0

From: Chris Clayton <[email-masked]>
Date: Wed, 03 Oct 2012 16:01:02 +0100

On 10/03/12 04:10, David Miller wrote:
> From: Julian Anastasov <[email-masked]>
> Date: Wed, 3 Oct 2012 02:24:53 +0300 (EEST)
>
>> 	Can it be a problem related to fib_info reuse
>> from different routes. For example, when local IP address
>> is created for subnet we have:
>>
>> broadcast 192.168.0.255 dev DEV  proto kernel  scope link  src 192.168.0.1
>> 192.168.0.0/24 dev DEV  proto kernel  scope link  src 192.168.0.1
>> local 192.168.0.1 dev DEV  proto kernel  scope host  src 192.168.0.1
>>
>> 	The "dev DEV  proto kernel  scope link  src 192.168.0.1" is
>> a reused fib_info structure where we put cached routes.
>> The result can be same fib_info for 192.168.0.255 and
>> 192.168.0.0/24. RTN_BROADCAST is cached only for input
>> routes. Incoming broadcast to 192.168.0.255 can be cached
>> and can cause problems for traffic forwarded to 192.168.0.0/24.
>> So, this patch should solve the problem because it
>> separates the broadcast from unicast traffic.
>
> Now I understand the problem.
>
> I think the way to fix this is to add cfg->fc_type as another
> thing that fib_info objects are key'd by.
>
> I think it also would fix your obscure output multicast case too.
>
>

I've seen the discussion about whether Eric's patch is OK or not, but 
thought I'd give it a spin anyway. It applies to 3.6.0 with some fuzz, 
but I can confirm that with the patch applied I can now ping my router 
and browse the internet from a KVM client, so the Eric's diagnosis 
matches the problem I reported.

However, after closing the client, I got an oops. I've taken a 
photograph of the screen and uploaded it to 
http://i714.photobucket.com/albums/ww149/chris2553/IMAG0059.jpg. As it's 
not the final patch, this may be a red herring, but I thought I'd better 
give a heads up anyway.

Chris