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

From: Dongli Zhang
Date: Mon Feb 21 2022 - 23:33:41 EST


Hi David,

On 2/21/22 7:24 PM, David Ahern wrote:
> On 2/20/22 10:34 PM, Dongli Zhang wrote:
>> The TAP can be used as vhost-net backend. E.g., the tap_handle_frame() is
>> the interface to forward the skb from TAP to vhost-net/virtio-net.
>>
>> However, there are many "goto drop" in the TAP driver. Therefore, the
>> kfree_skb_reason() is involved at each "goto drop" to help userspace
>> ftrace/ebpf to track the reason for the loss of packets.
>>
>> The below reasons are introduced:
>>
>> - SKB_DROP_REASON_SKB_CSUM
>> - SKB_DROP_REASON_SKB_COPY_DATA
>> - SKB_DROP_REASON_SKB_GSO_SEG
>> - SKB_DROP_REASON_DEV_HDR
>> - SKB_DROP_REASON_FULL_RING
>>
>> Cc: Joao Martins <joao.m.martins@xxxxxxxxxx>
>> Cc: Joe Jin <joe.jin@xxxxxxxxxx>
>> Signed-off-by: Dongli Zhang <dongli.zhang@xxxxxxxxxx>
>> ---
>> Changed since v1:
>> - revise the reason name
>> Changed since v2:
>> - declare drop_reason as type "enum skb_drop_reason"
>> - handle the drop in skb_list_walk_safe() case
>>
>> drivers/net/tap.c | 35 +++++++++++++++++++++++++----------
>> include/linux/skbuff.h | 9 +++++++++
>> include/trace/events/skb.h | 5 +++++
>> 3 files changed, 39 insertions(+), 10 deletions(-)
>>
>
> couple of places where the new reason should be in reverse xmas order;
> logic wise:
>
> Reviewed-by: David Ahern <dsahern@xxxxxxxxxx>
>

I will re-order the reasons in the same patch and re-send with your Reviewed-by
in the next version.

Thank you very much!

Dongli Zhang