X-Received: by 2002:a17:90b:4f84:b0:1b9:f59a:8511 with SMTP id qe4-20020a17090b4f8400b001b9f59a8511mr2189684pjb.164.1645503180826; Mon, 21 Feb 2022 20:13:00 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1645503180; cv=none; d=google.com; s=arc-20160816; b=mKqAN0gXDmGgtnNsFyvzVamTkgd+q9bxeGituTtvaTmOg7avA6U+5plJY9MAVed/3W foXW4lsH4lv8ZabKWi13QgTnjoYJDnzcB+pgLivWtWHOpmSEWGaAXL8lwudvpgIVXCqK imv6kphvE1tTwYrNovKjenxSt2lI+Rx37Z5y6wKuqZkQQL9ZoqrDdFbDIeLKShZbFdzC GvyLVqItAS273nmeGk/ttQ592b8nGuqYXTNWvQWhaW/MpSX4Cx82vZ2sriv2qoMz5BLZ RZRd/wU8Wc/1PfnxOR4cwZtG9nxCi7BEeXEWqNJ3gAMib+cRRDzuZGTRbQD5BtkPep7/ Dfaw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :references:cc:to:content-language:subject:user-agent:mime-version :date:message-id:dkim-signature; bh=PJVXd6uPpgWdmHZEx7s8y7RU08UT5hr73kZpWlT93uI=; b=YLptrw6VhqlNKvpKYFsUg7oO4zvVLoh9t1NBpVGj7WxlOirJLgTiXwRkBPT2HY3s9f 345UOi9lAoTq1kTHJJFYE7ncfXjOWofpNA9MSM3AWJRloT14HInss+H4bEjKIHSYkNZp GS0rLsR5h0P/6Nt8oRgUqd+NM+17jIO/9K+7rfGhZFIBohuLTltNGhentsRvZzpOh5S0 GoG097K5YYRk5usPc3IRfLG3DDICYhNyFvOvU6V7GqrgH36LMeuCRKAanHI0h9V6RmkL rAYSY/T1x37w/hake5GB36Fu76c2uFQvgQ4TaFZu4rOL8BaahLxLZegb4wt/9+GG8rO9 SxCA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=YYs0od3w; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [23.128.96.19]) by mx.google.com with ESMTPS id pg10si1156668pjb.157.2022.02.21.20.13.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 21 Feb 2022 20:13:00 -0800 (PST) Received-SPF: softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) client-ip=23.128.96.19; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=YYs0od3w; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 65F247CDCA; Mon, 21 Feb 2022 20:12:50 -0800 (PST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S240836AbiBVD3C (ORCPT + 99 others); Mon, 21 Feb 2022 22:29:02 -0500 Received: from mxb-00190b01.gslb.pphosted.com ([23.128.96.19]:50232 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234051AbiBVD3A (ORCPT ); Mon, 21 Feb 2022 22:29:00 -0500 Received: from mail-il1-x134.google.com (mail-il1-x134.google.com [IPv6:2607:f8b0:4864:20::134]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 248F722B1F; Mon, 21 Feb 2022 19:28:35 -0800 (PST) Received: by mail-il1-x134.google.com with SMTP id j5so8852682ila.2; Mon, 21 Feb 2022 19:28:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:date:mime-version:user-agent:subject:content-language:to :cc:references:from:in-reply-to:content-transfer-encoding; bh=PJVXd6uPpgWdmHZEx7s8y7RU08UT5hr73kZpWlT93uI=; b=YYs0od3w0+7ABTLgw6mTJCMTVYS8FoUt4crhqeXiZKZB3IlDa7mZaEMskMLFUWucvg KW2hkB7rwLLdKz0Cet+dTHFS1cf8tJ+dtHmN6NVZ9+GRdkTSQ6E219oSm7/JqaQQgBuX z/KTTi99jI6Io2VnfIoGQwy1n39AueRtseipLfEfobRp7MIJqgnOLt48v0R446GAO6FX j2DHFg/I4xK8R2poZAjOjtg1hD5XrGmyw2FLLc0E8eU2momZRZ+wgwWdr0frTXK5J6uM pl5+AzTCgb/huTn5n4mnEt1r4ZsjcyHim2yZR9JdmIup5l2n42v7aB7sZsT3u42NYFDb WoAg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=PJVXd6uPpgWdmHZEx7s8y7RU08UT5hr73kZpWlT93uI=; b=Nkb57JszOAVjLJpqCIavwDbx2lcxWVHThxztAtnKEmnNPk0UR0kglXAVqk/hTPd0uZ L9ZTCMTbvclPQLclaPB8QkRdPcgauz0v885HbtTog9ZdvCJTgXKzK7o6VOuTszQ4tceV 4G7XijE4wWquBrPZEvu1zoAnFcclDDaQBVmMDcPwacQHvz0gaVlrB+O2dTr9DEcsgWkD nqDjqR/T/BMgquLCVRFsbYVmbnDHhFHJqHY66YZx1onZF0meQT9nZkATrt6csWQr7ERF gUb5Vu0rGbktbcrmHOEpbW4lIDWAWeV4h0IOWgmdYwaOVbj91Bk0I+6YcYbIE88EyM/D 79RQ== X-Gm-Message-State: AOAM5339mQycq0RaeF0t+xdtsmywDUxmWF5Dt7PMmz4d17RVLUXHQvhB YflvWBdw+avlPIrs1K/HLMY= X-Received: by 2002:a05:6e02:19cf:b0:2b8:b53e:7aba with SMTP id r15-20020a056e0219cf00b002b8b53e7abamr18260121ill.258.1645500514587; Mon, 21 Feb 2022 19:28:34 -0800 (PST) Received: from ?IPV6:2601:284:8200:b700:fc7f:e53f:676e:280d? ([2601:284:8200:b700:fc7f:e53f:676e:280d]) by smtp.googlemail.com with ESMTPSA id n15sm1379445ilo.26.2022.02.21.19.28.33 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 21 Feb 2022 19:28:34 -0800 (PST) Message-ID: <877dfc5d-c3a1-463f-3abc-15e5827cfdb6@gmail.com> Date: Mon, 21 Feb 2022 20:28:33 -0700 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0) Gecko/20100101 Thunderbird/91.6.0 Subject: Re: [PATCH net-next v3 4/4] net: tun: track dropped skb via kfree_skb_reason() Content-Language: en-US To: Dongli Zhang , netdev@vger.kernel.org, bpf@vger.kernel.org Cc: linux-kernel@vger.kernel.org, davem@davemloft.net, kuba@kernel.org, rostedt@goodmis.org, mingo@redhat.com, ast@kernel.org, daniel@iogearbox.net, andrii@kernel.org, imagedong@tencent.com, joao.m.martins@oracle.com, joe.jin@oracle.com, edumazet@google.com References: <20220221053440.7320-1-dongli.zhang@oracle.com> <20220221053440.7320-5-dongli.zhang@oracle.com> From: David Ahern In-Reply-To: <20220221053440.7320-5-dongli.zhang@oracle.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-1.7 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,NICE_REPLY_A, RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2/20/22 10:34 PM, Dongli Zhang wrote: > diff --git a/drivers/net/tun.c b/drivers/net/tun.c > index aa27268..bf7d8cd 100644 > --- a/drivers/net/tun.c > +++ b/drivers/net/tun.c > @@ -1062,13 +1062,16 @@ static netdev_tx_t tun_net_xmit(struct sk_buff *skb, struct net_device *dev) > struct netdev_queue *queue; > struct tun_file *tfile; > int len = skb->len; > + enum skb_drop_reason drop_reason; this function is already honoring reverse xmas tree style, so this needs to be moved up. > > rcu_read_lock(); > tfile = rcu_dereference(tun->tfiles[txq]); > > /* Drop packet if interface is not attached */ > - if (!tfile) > + if (!tfile) { > + drop_reason = SKB_DROP_REASON_DEV_READY; > goto drop; > + } > > if (!rcu_dereference(tun->steering_prog)) > tun_automq_xmit(tun, skb); > @@ -1078,22 +1081,32 @@ static netdev_tx_t tun_net_xmit(struct sk_buff *skb, struct net_device *dev) > /* Drop if the filter does not like it. > * This is a noop if the filter is disabled. > * Filter can be enabled only for the TAP devices. */ > - if (!check_filter(&tun->txflt, skb)) > + if (!check_filter(&tun->txflt, skb)) { > + drop_reason = SKB_DROP_REASON_DEV_FILTER; > goto drop; > + } > > if (tfile->socket.sk->sk_filter && > - sk_filter(tfile->socket.sk, skb)) > + sk_filter(tfile->socket.sk, skb)) { > + drop_reason = SKB_DROP_REASON_SOCKET_FILTER; > goto drop; > + } > > len = run_ebpf_filter(tun, skb, len); > - if (len == 0) > + if (len == 0) { > + drop_reason = SKB_DROP_REASON_BPF_FILTER; how does this bpf filter differ from SKB_DROP_REASON_SOCKET_FILTER? I think the reason code needs to be a little clearer on the distinction.