From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751961AbdLARG6 (ORCPT ); Fri, 1 Dec 2017 12:06:58 -0500 Received: from mx0a-00082601.pphosted.com ([67.231.145.42]:41976 "EHLO mx0a-00082601.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751162AbdLARGz (ORCPT ); Fri, 1 Dec 2017 12:06:55 -0500 Date: Fri, 1 Dec 2017 17:06:25 +0000 From: Roman Gushchin To: Jakub Kicinski CC: , , , , , Subject: Re: [PATCH net-next 0/5] bpftool: cgroup bpf operations Message-ID: <20171201170624.GC27436@castle.DHCP.thefacebook.com> References: <20171130134302.2840-1-guro@fb.com> <20171130190454.26723962@cakuba.netronome.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <20171130190454.26723962@cakuba.netronome.com> User-Agent: Mutt/1.9.1 (2017-09-22) X-Originating-IP: [2620:10d:c092:200::1:a6d6] X-ClientProxiedBy: AM5PR06CA0026.eurprd06.prod.outlook.com (2603:10a6:206:2::39) To BL2PR15MB1073.namprd15.prod.outlook.com (2603:10b6:201:17::7) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: c497cdf6-4832-4878-6f20-08d538dde1ee X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(5600026)(4604075)(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(2017052603286);SRVR:BL2PR15MB1073; X-Microsoft-Exchange-Diagnostics: 1;BL2PR15MB1073;3:ibjqqjjLO1MR8H29z4sKbniM/rwsCnJRWvRsd3O7dEySEKd7IbXR8DsR2dMaWBysibhHJ0bcJn2IKlHmc9Pz71RhxkcCHq/pijKqqFFe2xn5aNDLcO3AQXU1zaFvROdkFT7wSpQvhPq2AW6KmJIEHStD6QXZfudDXxqXKfeJantRF8Ao9+RO3PgHlc7wN/uNhAhPI5ZTHGPCYcEWX15R1cNq5hmLwasAWEOxjUrtqGRMz1rkLrfY9wI9dhFsxkLr;25:yzmxNKaLG0q1uC/GQtyASOVoAjV5Y9moNWoaYcOr4yT83ATvHlOws0Paj6J3oMIsdz5OcMGZQT5FVNsIVhGrX8E63dyvp08/VzuvY3BnP5gbIEcUhZ7BBuKcR1HlyTkUI5aZpPV0xIh7CAVWh0joNg9mUfUoNSc+uvnqPQLBodVQEp05G+/5pC6+U0wRmFER0nFc5d2ftNt8UvjXbqODk2Ix/+4007WDwNtgY3esurUwj/l2+Wc9uaGSvcRK0DRk2o8Ac3/Ac5si7wx6pxq5+J4r/W+hFhuoFKHubYp8+3YSNmbZgKI6k+GS6EpB0IpRlBAKX3IYYwSX52jJ0ix/Dg==;31:tDfmQjyNT9aXAAi9WyWC/n+UcRP3pfDYjGI8xFZPL54Lo4+kk8XrDfZccgE3Jppo5+o7waYWSQN/xJU1T7qUngLL4vGqNsYSJrZDuxq2zohhE88HN8BRdW1s0oIDDdugJZKhhyf4Px+KneMfx/lBW5/via/6WvsIpKaVK2I95N/UPbkMkYS5UEGYcek8FdI7ffAXQsg3J+IU4FJTxk6/oVEJMVhc3obnl/z0RrZPQe0= X-MS-TrafficTypeDiagnostic: BL2PR15MB1073: X-Microsoft-Exchange-Diagnostics: 1;BL2PR15MB1073;20:M6jdAxeCmOjBPco6DclHS8WauBk294aF+6pofSHIKAXeU/AyHmSM0oMwhqa7TXfbVRbu+0ZX60Pkf5ptvv6bSiIo/Hp5isvo+1ICPfvonVRS3KboGcqJBM63o1Amp/6reK8kpvc52pbhiSrvj9lI0JWb/aMHphUwALjCtuWe0qfk53NB0lN7XxO4JvPi5Dxu2BakmGpE6W5Qhe+lkRDFz5soo7MUE3qjMeMnmAb4imrU+HpgTzEr8XXb3V5M5jtVJS0Cc6187/2418S1K7BFwH4fuEQOYeJJO7zDMvQC2hoENvF1NuC6+2WivanKfxSuEg0ckz40h3VD1VWwCsG9cI6yrN8u3ROUkJsf1Z9JwVwUe8pvVxAq2PWEY4dliCVk2l6bXCq1gYknkNJRDUZHCZH9QTgc6YlCw6EmDUZ20hE4pvERgwo6Mcvu3BL0oDhCzzys274IHQgERxkVlq2Z5ZaguoFV2JcgwEI513PU+qGBxn4dxRmf0WxD4VgJ/Qao;4:8Ywb9DCSIY68z3SJxeobqU5O5dNN4vxCmmtbRdAL/BHrR5nvepU2ip7dbWdVASHkZIVeUSjCRDnmTvZ+/C+qA6YppUp3caOUsWxaDSIbVQnN2S2tqzxqfTWZRYaXYMuAeiDcw5Hb75SDRw/cMGRfhfTlG9r1tLr/LvcpMkC4QR3yQfi1JeCigTOcuT9LDTNyZ3y8dn1qZZg6Hz27S/kt5CVasHqAwkJ+iDxuAuyb8KZFQ2j+RT8r3Sz0l6aA/a+Z5ELy1lKlS0OZUaJ+8XN84w== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(11241501159)(6040450)(2401047)(8121501046)(5005006)(10201501046)(3231022)(3002001)(93006095)(93001095)(6041248)(20161123564025)(20161123560025)(20161123558100)(20161123555025)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148)(201708071742011);SRVR:BL2PR15MB1073;BCL:0;PCL:0;RULEID:(100000803101)(100110400095);SRVR:BL2PR15MB1073; X-Forefront-PRVS: 05087F0C24 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(6009001)(376002)(346002)(366004)(199003)(24454002)(189002)(316002)(9686003)(86362001)(8936002)(97736004)(53936002)(55016002)(6116002)(1076002)(58126008)(5660300001)(6666003)(5890100001)(189998001)(81156014)(8676002)(4326008)(39060400002)(6246003)(81166006)(25786009)(6506006)(83506002)(2906002)(305945005)(50466002)(7736002)(23726003)(478600001)(106356001)(68736007)(101416001)(6916009)(105586002)(2950100002)(47776003)(16586007)(33656002)(7696005)(52116002)(52396003)(229853002)(54356011)(76176011)(18370500001)(42262002);DIR:OUT;SFP:1102;SCL:1;SRVR:BL2PR15MB1073;H:castle.DHCP.thefacebook.com;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BL2PR15MB1073;23:oiwe952EG6fDYM6RKMwotIlHSOIZg0M1zSqmBWudy?= =?us-ascii?Q?O9CYKmOjwwA+lL4f2SPDhjYT4zy5/2A6qezBl19m7mWOQtsWJ3wcl7qvRcz9?= =?us-ascii?Q?6RkkPGedcsnBgU4yftkCNt6bhiCir8g2zHwAnYLwJLv4Qq3qafGHeZ7Dn20x?= =?us-ascii?Q?JixRpoC7E1JOzTP0RkVl7zSlteYGSJk5zq4e4t0yOTbk8FwM7XcMy0IU4QyL?= =?us-ascii?Q?Y2DyhNyeY5Vgr5y04e+ev8sfnTPwBZogKN5Y+DF6n/kgXcgy3j5X4jw5tdho?= =?us-ascii?Q?3Hh6bIUvhG8DHaAx9CX3bq8fqV8phTjbJ6/Wl7aRrt/QmeTNFEEK9ESdR6RH?= =?us-ascii?Q?WArVDhNQRpNHvRCetxmD8gApfvgLdnUjkBBLRMkE2roAv98hx7exAJMAnWQr?= =?us-ascii?Q?vFG3wWqsnbfkYxIwrtFTZDgZNYbXAJijd7+gq6g5AHk6oCC1AWCP5h9+v8TH?= =?us-ascii?Q?KAWE9hQVmQpgPHrM1QBP2WamNC7of/z0lB7zUGIAbRHqZ8IBwhgMHVXd4/Zs?= =?us-ascii?Q?Q5WpRfeuHt2FyRsHsiiLNBEgRgw+gkV6GJWvMuJji1nPBju+/BZkuX/hm/l5?= =?us-ascii?Q?QqF7UZBGYH3E8z3y25zXBonudjJ3pcTFMYt60SNY4529KHHCb/XgTBvY8c5P?= =?us-ascii?Q?e+sBZboXRUkPWsCtdxpcXS336TkV7zxCXRevQKYzm+WPwy0GGEjDfln/jO6q?= =?us-ascii?Q?000su4wAPQG1KNPF0o11KzEO2C6VL7J1WUuVWG4ZhFDzmxIzL3yYUNdn0Nce?= =?us-ascii?Q?Wwr2lM3+wG3AfNnQAPyvt1hGcoBwb3nIJ7tbsNTXFBNUl5k+MMixsWi2/kbh?= =?us-ascii?Q?OQA7KUfGClrAjWxhfl99erKXtHvEpprvon/Zb6AqE3slIunkGhji0X1goQ2z?= =?us-ascii?Q?veo4/NRrHChhCi3jJWVBMG/87Rl5iQyj+MG9APLuvn+gqIzVdY9MJR6cfYq2?= =?us-ascii?Q?+8KBTlKDgdm7g8xRYF+K1VA1r8Dmr8T3HSMAmpw5syIXG6S1L5etfk/xUTUG?= =?us-ascii?Q?Sa3FwaUSqlWeHR15UgpqVX7poU2etRe6+qRB2o6sST/MtJ2rqAuOqjxgXWAx?= =?us-ascii?Q?4/FPVCkbPTjM4tfgHKg1QXabyqxT8j5i/gtQ3uTmmIl+SAzAeJzhWXORZOAE?= =?us-ascii?Q?pkmevSzpNbMKQRUfgv26MsABHI8uJy+PjUiP3d6OKFngnkClnfqwq37rq4W7?= =?us-ascii?Q?EuLi/kK08E8EYhu199Cf83GE1ajDETYSaMuWPvEKdJtjQ2c7xJEDIo1FA=3D?= =?us-ascii?Q?=3D?= X-Microsoft-Exchange-Diagnostics: 1;BL2PR15MB1073;6:jyafAo7XhsNBcP7G0o2mQ4LOohGqBbmmG0q8ZaWLkhXZfPxjfrxJpm8y7c/jDren72biQSDl5W4LdFQmA9+Pgz6K84DBhkLNlhI+VYe4vEkjaupzv9NBluJ/Gsq/9ADpBmSyVzSjU3oh2OYVp59s6UN5f5v4hAlztMpJBxmAogjTv9y7ATSd/CXJhSWOBbjLPruZLE2gSGwBWi2oa4Nbgz5YnWIy7dOkPVCqKTq1pLkTnnt2BB+gcC08M1+ebD0Oa98x7leoqGYm5mVZRiUpuvxdVzDcK+CWaqggezTs03nScHT61d3bugURNXmlTKlKajEtydHekdY22Ex6IwnDsO5h+Iksow1m65DlbWGR7UE=;5:9B3D8XVlfG1TCHDgwHBCCaT9xNyhcv1GoHRQHfGHLDYcM28KdBlqrZ4gEveVXQgNULGoQ76vYNXQgmdtBG5Vu39RTM5YbyFq5uha0KdZafaXfpOlch/Ju7IghAhhonnOzjuNJjclNWEmOKCgZAp/R4//P41L/P3I0A6qK/0Seeg=;24:cCAPw1YQb7NrUtTS/J5svX/XWilhsv9U+C0hA1cDOAIm7FDaMQHZGggFqRYJF4zSnWEPIEEm2IcshuIwUIFMUMK+3Ba0TiVX7oqBnpPySkU=;7:rAIx6JnbpsT9/sjEc/oidk0B+8Uocq5ZMkEKfqm5CyYtpFSxR9LHbHLTm1PlG2joMPwzfBXLKDaSFgM3Iauyf78ANCHzlTuWf1de93bEg5kT39M0akmD8L/6JDtAxeGITnJdwL5VCuFO/B/1yY6RnHdzwnhoz0OunKgGcp0wK74YAy7V6Ov0ytuRzxVz0ivWeL3S+HUZsBhuczj7jqBrGcKM/8N+oADHtpaXeQ6vrco4VSEPt2+axN8tDJYtqabm SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;BL2PR15MB1073;20:pK08fJbBv/av2xdYU/LldjJc/XX0gS8g5377Jev4AlBfChRbnQIU5dGHL5Urrq5+fsXZT9kDTHad6w7ikXu5UgNEQy9LeMxA3C2hs8S0O1sn2eWwkkYCyHZC3GG8SdedL3pyNaNkIRzHuM9TG86josMgOr2qZWHQdZusltAauTc= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Dec 2017 17:06:36.0189 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c497cdf6-4832-4878-6f20-08d538dde1ee X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 8ae927fe-1255-47a7-a2af-5f3a069daaa2 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL2PR15MB1073 X-OriginatorOrg: fb.com X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2017-12-01_04:,, signatures=0 X-Proofpoint-Spam-Reason: safe X-FB-Internal: Safe Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Nov 30, 2017 at 07:04:54PM -0800, Jakub Kicinski wrote: > Hi Roman! > > On Thu, 30 Nov 2017 13:42:57 +0000, Roman Gushchin wrote: > > This patchset adds basic cgroup bpf operations to bpftool. > > > > Right now there is no convenient way to perform these operations. > > The /samples/bpf/load_sock_ops.c implements attach/detacg operations, > > but only for BPF_CGROUP_SOCK_OPS programs. Bps (part of bcc) implements > > bpf introspection, but lacks any cgroup-related specific. > > > > I find having a tool to perform these basic operations in the kernel tree > > very useful, as it can be used in the corresponding bpf documentation > > without creating additional dependencies. And bpftool seems to be > > a right tool to extend with such functionality. > > Could you place your code in a new file and add a new "object level"? > I.e. > bpftool cgroup list > bpftool cgroup attach ... > bpftool cgroup help > etc? Note that you probably want the list to be first, so if someone > types "bpftool cg" it runs list by default. > > Does it make sense to support pinned files and specifying programs by > id? I used the "id"/"pinned" keywords so that users can choose to use > either. Perhaps you should at least prefix the file to with "file"? > So: > $ bpftool cgattach file ./mybpfprog.o /sys/fs/cgroup/user.slice/ ingress > $ bpftool cgattach id 19 /sys/fs/cgroup/user.slice/ ingress > $ bpftool cgattach pin /bpf/prog /sys/fs/cgroup/user.slice/ ingress > Would this make sense? > > Smaller nits on the coding style: > - please try to run checkpatch, perhaps you did, but some people > forget tools are in the kernel tree :) > - please keep includes in alphabetical order; > - please keep variable declarations in functions ordered longest to > shortest, if that's impossible because of dependency between > initializers - move the initializers to the code. > > Please also don't forget to update/create new man page. Ok, I'll try to address these comments in v2. Thank you!