From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=3.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_PASS, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C7EA2C43387 for ; Wed, 16 Jan 2019 14:59:33 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 8D508205C9 for ; Wed, 16 Jan 2019 14:59:33 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=netronome-com.20150623.gappssmtp.com header.i=@netronome-com.20150623.gappssmtp.com header.b="q1anmxO9" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2393724AbfAPO7c (ORCPT ); Wed, 16 Jan 2019 09:59:32 -0500 Received: from mail-wm1-f68.google.com ([209.85.128.68]:40648 "EHLO mail-wm1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728675AbfAPO7c (ORCPT ); Wed, 16 Jan 2019 09:59:32 -0500 Received: by mail-wm1-f68.google.com with SMTP id f188so2294869wmf.5 for ; Wed, 16 Jan 2019 06:59:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netronome-com.20150623.gappssmtp.com; s=20150623; h=to:cc:references:from:openpgp:autocrypt:subject:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=qGPdKQgwvOMd6tiK8IWcoxPBm4tPwD1GlLoJ9XPc0nM=; b=q1anmxO9BLCbu8cit0p7Rn1XZyTIjlHdgQb6Clvi+HYtyryq63CaFPiHkmhdOyv1v+ vNiIbi+xOuLa0kpJkxGGRzxt5TgPBMLTe5gMP+Unttl4eU3TExFMWASs0JhwWLD3d/Hd OeqfDMWDaBkZskK80ca+IP3ivdkK9XQKZ46N14tb+oAVCDdp1kCHm7otIYTTAmBPrmqe hH69pGkndEfyuxMbJclQuR4mTHbmpRoYmHpgjTDrE20ojDQM0dnELGEGignhJtH+6Hmb u02I6m/byjZmVLWQa6mGVEp4xy4DFP3owjOFzoHYr1ACx1iCawNUXyNXGT+s2jLCGit5 +jLQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:to:cc:references:from:openpgp:autocrypt:subject :message-id:date:user-agent:mime-version:in-reply-to :content-language:content-transfer-encoding; bh=qGPdKQgwvOMd6tiK8IWcoxPBm4tPwD1GlLoJ9XPc0nM=; b=MevrRUBzL34tLCQ4bd9JUzF6Q/uvPZz6g7C1qcR6mxqEXWZghC4ctZjkqnglYnoTUr gZxt6QQO4eUxIaFyWVzhlC02XJCCUqYXZEQV6L6b4FfLLW0JkIXcaehCJDPU7LWcAhHj ii1ipXEL1rvnnQud1gwgNpiRUaawIFki9VIH764W3Vbzz6ZAzuZcVT6ih0AHZ2GProbl rMUGBBfOJJyTBLqGPnVgGUzq8u8qxdPBYQj7Z3bKyxpTL3RMIpn4TKoG9oBvRKdjjrgR ZhRL/uT8BjXn9TuiJFFGX1AxxW+Yxyax2Lhwg6B0LJFmcEA4rkr/a08tDNybEzJlqQXf aCDQ== X-Gm-Message-State: AJcUukcd00rZ6/+jCo7BVZTSdwFgLpweBYpXYroSx1W40EC3gAvtXt8o N8W7S/XvegWn4kEufIzXG+Ee7w== X-Google-Smtp-Source: ALg8bN5YuSfxJNkxa/5ISURoSMt2AWqyMd/vnZ88VnQv/NbnYUj7IlCTsBpewAB0nkNQmQJrn4Ewkg== X-Received: by 2002:a1c:4301:: with SMTP id q1mr7847347wma.44.1547650769750; Wed, 16 Jan 2019 06:59:29 -0800 (PST) Received: from [172.20.1.107] ([217.38.71.146]) by smtp.gmail.com with ESMTPSA id o81sm59384473wmd.10.2019.01.16.06.59.28 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 16 Jan 2019 06:59:29 -0800 (PST) To: Jesper Dangaard Brouer Cc: Alexei Starovoitov , Daniel Borkmann , netdev@vger.kernel.org, oss-drivers@netronome.com, Arnaldo Carvalho de Melo , Stanislav Fomichev , Eric Leblond , =?UTF-8?Q?Toke_H=c3=b8iland-J=c3=b8rgensen?= References: <20190116142119.8358-1-quentin.monnet@netronome.com> <20190116142119.8358-9-quentin.monnet@netronome.com> <20190116154230.43b1e562@redhat.com> From: Quentin Monnet Openpgp: preference=signencrypt Autocrypt: addr=quentin.monnet@netronome.com; prefer-encrypt=mutual; keydata= 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 RHhSHGnKaQ6MfrTge5Q0h5A= Subject: Re: [PATCH bpf-next v4 8/9] tools: bpftool: add probes for a network device Message-ID: <0fd8226f-52b5-39b7-b80c-e79f47498541@netronome.com> Date: Wed, 16 Jan 2019 14:59:28 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <20190116154230.43b1e562@redhat.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org 2019-01-16 15:42 UTC+0100 ~ Jesper Dangaard Brouer > On Wed, 16 Jan 2019 14:21:18 +0000 > Quentin Monnet wrote: > >> bpftool gained support for probing the current system in order to see >> what program and map types, and what helpers are available on that >> system. This patch adds the possibility to pass an interface index to >> libbpf (and hence to the kernel) when trying to load the programs or to >> create the maps, in order to see what items a given network device can >> support. >> >> A new keyword "dev " can be used as an alternative to "kernel" >> to indicate that the given device should be tested. If no target ("dev" >> or "kernel") is specified bpftool defaults to probing the kernel. >> >> Sample output: >> >> # bpftool -p feature probe dev lo >> { >> "syscall_config": { >> "have_bpf_syscall": true >> }, >> "program_types": { >> "have_sched_cls_prog_type": false, >> "have_xdp_prog_type": false >> }, >> ... >> } >> >> As the target is a network device, /proc/ parameters and kernel >> configuration are NOT dumped. Availability of the bpf() syscall is >> still probed, so we can return early if that syscall is not usable >> (since there is no point in attempting the remaining probes in this >> case). >> >> Among the program types, only the ones that can be offloaded are probed. > > Do you imagine we (later) can use this probe dev interface for probing > e.g. what XDP actions a given driver supports? and e.g. if driver have > data_meta support. > > Use-case: I've very interested in finding a solution for probing for > XDP_REDIRECT support, as Suricata need this information, so it can > choose to fallback to offloading elefant flows via TC-cls_bpf (if > XDP_REDIRECT is not avail). Hi Jesper! For me, the question is rather a matter of how to extract the info from the kernel (or driver in that case). If the information can be made available somehow, sure, bpftool seems to be one of the best candidates to use it and dump the value. Quentin