Re: [PATCH net-next v4 2/4] net: tap: track dropped skb via kfree_skb_reason()

From: Dongli Zhang
Date: Wed Mar 02 2022 - 12:44:37 EST


Hi Jakub,

On 3/1/22 6:42 PM, Jakub Kicinski wrote:
> On Sat, 26 Feb 2022 00:49:27 -0800 Dongli Zhang wrote:
>> + SKB_DROP_REASON_SKB_CSUM, /* sk_buff checksum error */
>
> Can we spell it out a little more? It sounds like the checksum was
> incorrect. Will it be clear that computing the checksum failed, rather
> than checksum validation failed?

I am just trying to make the reasons as generic as possible so that:

1. We may minimize the number of reasons.

2. People may re-use the same reason for all CSUM related issue.

>
>> + SKB_DROP_REASON_SKB_COPY_DATA, /* failed to copy data from or to
>> + * sk_buff
>> + */
>
> Here should we specify that it's copying from user space?

Same as above. I am minimizing the number of reasons so that any memory copy for
sk_buff may re-use this reason.

Please let me know if you think it is very significant to specialize the usage
of reason. I will then add "sk_buff csum computation failed" and "userspace".

>
>> + SKB_DROP_REASON_SKB_GSO_SEG, /* gso segmentation error */
>> + SKB_DROP_REASON_DEV_HDR, /* there is something wrong with
>> + * device driver specific header
>> + */
>
> How about:
> device driver specific header / metadata was invalid
>
> to broaden the scope also to devices which don't transfer the metadata
> in form of a header?

I will add 'metadata'.

Thank you very much!

Dongli Zhang

>
>> + SKB_DROP_REASON_FULL_RING, /* ring buffer is full */