Subject: Re: More details on why received UDP packets are treated as errors?

From: Ben Greear <[email-masked]>
Date: Wed, 07 Aug 2013 17:10:35 -0700

On 07/29/2013 01:21 PM, Eric Dumazet wrote:
> On Mon, 2013-07-29 at 11:21 -0700, Ben Greear wrote:
>> We have a test case on 3.9.9+ (local patches applied) where sending from
>> VETH interface, through peer VETH bridged (with our own emulator bridge module)
>> to physical interface, which is then looped to another physical interface (B).
>> The VETH and the wired B interface are sending UDP traffic to each other.
>> Routing rules should be configured such that this all works appropriately.
>>
>> Replacing our bridging module with a user-space bridge has same behaviour.
>>
>> This setup works on the 3.7.y kernel, but we only get one-way traffic
>> (B to VETH) on 3.9.9+.
>>
>> I sniffed the B port, and traffic appears to be sent and received
>> properly (ie, no checksum errors, etc).  But, our user-space app
>> shows no received UDP frames on B, and netstat -s gives the
>> output below.
>>
>> Is there any way to get more details about what these 'packet receive errors'
>> are caused by using normal-ish tools?
>
> You could try dropwatch for this kind of obscure drops
>
> https://fedorahosted.org/dropwatch/

I had a chance to crank this up today.

dropwatch is pretty sweet...turns out it's dropping due to bad UDP checksums,
due to the VETH bug/issue where it claims to calculate HW checksum but appearantly does
not actually do so (see previous email in another thread).

Thanks,
Ben

-- 
Ben Greear <[email-masked]>
Candela Technologies Inc  http://www.candelatech.com