Subject: Re: [PATCH] netlink: add NETLINK_NO_ENOBUFS socket flag

From: Patrick McHardy <[email-masked]>
Date: Mon, 23 Mar 2009 13:14:21 +0100

Pablo Neira Ayuso wrote:
> Patrick McHardy wrote:
>> - NETLINK_NO_CONGESTION_CONTROL seems a bit more descriptive than
>>   "NO_ENOBUFS"
>>
>> - The ENOBUFS error itself is actually not the problem, but the
>>   congestion handling. It still makes sense to notify userspace
>>   of congestion. I'd suggest to deliver the error, but avoid setting
>>   the congestion bit.
> 
> I thought about this choice but I see one problem with this. The ENOBUFS
> error is attached to the congestion control.

What do you mean by "attached to"? Congestion control is done by
setting and testing bit 0 of nlk->state.

> If we keep reporting
> ENOBUFS errors to userspace with no congestion control, the listener may
> keep receiving ENOBUFS indefinitely. In other words, the congestion
> control seems to me like a way to avoid spamming ENOBUFS errors to
> userspace.

The error will be cleared by the next call to recvmsg().