From patchwork Sun Feb 26 09:10:03 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Talat Batheesh X-Patchwork-Id: 734198 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) by ozlabs.org (Postfix) with ESMTP id 3vYDpf0sFrz9sNb; Wed, 1 Mar 2017 23:12:26 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=Mellanox.com header.i=@Mellanox.com header.b="MJ2gLTeS"; dkim-atps=neutral Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.76) (envelope-from ) id 1cj37G-0005l4-0E; Wed, 01 Mar 2017 12:12:22 +0000 Received: from mail-he1eur01on0081.outbound.protection.outlook.com ([104.47.0.81] helo=EUR01-HE1-obe.outbound.protection.outlook.com) by huckleberry.canonical.com with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.76) (envelope-from ) id 1chuqe-0007rP-Gd for kernel-team@lists.canonical.com; Sun, 26 Feb 2017 09:10:32 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=5n5dYfeWV0hmpjNfU56dFeFXndRfYbZEHcG42TY/yBc=; b=MJ2gLTeSN0XgDntBdeiXzLOF9kIn9NviEsExczjA/BxD8svLfwCJjrxTTxpVLyK9PvGi9VDbs5bilfwQ97e1b2yYstOG5Zd3fcziYSlz4QvD9aKp8gUg8v9cA4aXUBP2mQ+dTnBnviwYgmq+yHcR8McZQoOQebdlz6Ne00bgeM0= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=talatb@mellanox.com; Received: from dev-h-vrt-005.mth.labs.mlnx (193.47.165.251) by HE1PR05MB1306.eurprd05.prod.outlook.com (10.162.250.151) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.919.13; Sun, 26 Feb 2017 09:10:30 +0000 From: Talat Batheesh To: Subject: [PATCH 18/18] net/sched: cls_bpf: Reflect HW offload status Date: Sun, 26 Feb 2017 11:10:03 +0200 Message-ID: <1488100203-31976-18-git-send-email-talatb@mellanox.com> X-Mailer: git-send-email 2.5.0 In-Reply-To: <1488100203-31976-1-git-send-email-talatb@mellanox.com> References: <1488100203-31976-1-git-send-email-talatb@mellanox.com> MIME-Version: 1.0 X-Originating-IP: [193.47.165.251] X-ClientProxiedBy: AM4PR02CA0026.eurprd02.prod.outlook.com (10.165.239.164) To HE1PR05MB1306.eurprd05.prod.outlook.com (10.162.250.151) X-MS-Office365-Filtering-Correlation-Id: 9021fa67-926a-4d00-a035-08d45e27502a X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(48565401081); SRVR:HE1PR05MB1306; X-Microsoft-Exchange-Diagnostics: 1; HE1PR05MB1306; 3:d06azDGe8JtLGtzHzIonKH+0ZpR3EWGdWorM8rZfFCuro/22Ompqo2y4Sg43tBPqapnVBsbOwWovTt+cTysKxE/SR+irdZ0Xw6G56I9bSci3TF1AMke+q6fTYYiSRVz/J9EVnA09t+zn8JivdxoIx54Oj5OiPFKBrrpCgyWvj6dTNi4mfI8BSLXCxft3qf67vAlAju7uHrIqfkSqHof2o/W6MPyBCswLcUurqRQiH2Ld1G+QkK6bvUaNlqvrOJ6A34Zox0bG/aowkmXuXe0JNO8/W1kHgZXBOe46FWKPHDQ=; 25:qqawz8mz8EfQanIyNvXlzQIJS4BVRhn+4cW0JrbfvqJxgTnP4yINWqP9bt/WndhHbraWdGpFrdhUa0WsL51aHkTurCKeXLHFoXILGDnJ59EPzlg3LHNiF4qK4TSXD/hRhLYJJKhq3wvBKh05+B1KZwCVXJLRAJiAfX67w4TJ6A4nw/J/kwlvJfLjFTWzhh8mneQ14LmB6r7BAZViLkjE0dW7xkprWh9CApvtzjJsOICBkbg0p+7mIoxNEgLUz7Xo/TogpffRJW78re6pzxe/J2H1Ie/3ik3gFr4VEbUp6z1vXZnalGle71pCpJK4BnhKNFpAJMd5psm3qFeY7KYL1YVRPqjZEjziq+37RR3bCaF5rS/RDZdwRv6bIXsxx7hwz9NnqQ7I3kRMX9BkxptT3RBJENIIvn6dmrNhvnfwuy+uUJB+VDn2xyvzK00XFKEF4Z5wyh31UBI3N4V6egxX7g== X-Microsoft-Exchange-Diagnostics: 1; HE1PR05MB1306; 31:kDJ5PfJ6aNW794+fC11jzJjK676ka0Dd6k+owTNq9FnPWdrPPm6SYvpwaDIaBa9rvZdWisSbFuznwVv8u6WcSrM2JI9lENAXMZsA1dzv/WzREwu3w4EnOQHirMudLqgxM169T7wG94kUR/LsBu50vREPuBRe21s6HEeC74o8NQLeYjprAfNM7k6rZyq4rCoEYrWxgalD1Snw1nnYsge0Fdy1GXIPqhhP/V7PQhoPIGV0KqbEE6mmkGfNwAwB70E4; 20:dCLuU0vbDYPWoKFa9a7a3zT6/1s9SWAurYqtdnKjnXLbTRjbSTj/77lBlEpOE7Xj+Lka8qwZm31XcYD6ee1AP1pdpEm/XIgr5AFc7choUwte+GISdcLAM8RcP/5ETwbypUvtSFRYkh8ng4FQqRCK+Ug5I0Vxi8FYuKo5PHdZhx4fL/IAXUWLFN57Fxjo0FAzBv85451xTYFAD2PTthO5ZHRylNWj/YTAGOSa1c0yexng3NalerW6DRAK4B2YFzmYRA2F7cs2Yxp8H1sCjgcCTW4mDgkU3nogQiW93hNMSXbMDuG4vpfrBaYfiYg/zUmbRycw28Uu261l/qISPdwtPpBo2vpYIP8VE34MTLtxUW5ud/Lq8Jjeyf8EFo5QvaiPzXMlXai+SZNGi/Q1ILIzM2oUGT7wW/J4k2FuxHzvRRjdyJht4fdOO9P53HJNBkjcdi+kn7PMaGtzgv3UiG8njqywB8cy43mvP+oYzoNc6PCzPsD7HCExHCnO3iRnrpaI X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(211254476889703)(24339691489775); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040375)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6055026)(6041248)(20161123558025)(20161123562025)(20161123555025)(20161123560025)(20161123564025)(6072148); SRVR:HE1PR05MB1306; BCL:0; PCL:0; RULEID:; SRVR:HE1PR05MB1306; X-Microsoft-Exchange-Diagnostics: 1; HE1PR05MB1306; 4:NF6T11HbkBP9c1OuS6qkHecsTwPP9TddJih7OcH4JORnvcfAe77QAmbeDSUtWjDDt2InRk08siha15PevA5VQRf4dlen8PqkhFcQo94RMNOe0jYjba6X/nIcqBbyB8FcW+WKeKz/zpqDR1ydpeQdyq/WrySKAlkDP33RmD6LCNf5BZA70wvxyin5HSYdpQ0NUAjmlQqNfrrGnNW9rS/v8Exb1CWS9zExD6Sd+ssx0iE1nxmMF8jXW8KiE2NMcE3FxRGWf+EmarBtNsQUPGXYZ2lRdBKn6eqZ2z0ZBtD+BTzJvFxgaQeR2gJUIzUTB1zBgpH5s9W0W+UaRNrxcTw2Hgpie+SJQh8ed6QTUSybFYdIKGXhd4SeCLyTWXKU0A2HN0I32hU4X8eVB3ssqbfnOojARMZyNZ0VR1JU8vwxrYSMszuLel6wg76lVJ/xaJ0dP9nwLTLfyqL1cgAjBKKsBsM8oFfSht4oa2ha3tOh60WuK44TTyFJx7Ouy/4ZIXWoRqPa71+Uy4kkPHTIZ2WyjASyw21XRb/Rbp/kaS0JLerDi64fdaKIYGna3AyY/eFlr5BXI0INn92yCIU9MVWgbQ+ouMUv5KML0VzubfH4ZFmDrSSqy3Kruh+457GXuU4uBZDkTZ2Xs0oqiXaMMAVT558ebAL1nPvVGohwAzaI+mZ7YRvbPMJwES7ei3F8GDaOQrA6Vg/oZcooL2lw4syXhA== X-Forefront-PRVS: 0230B09AC4 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(7916002)(39410400002)(39450400003)(39850400002)(39840400002)(199003)(189002)(68736007)(81166006)(8676002)(6512007)(81156014)(50226002)(3846002)(6116002)(50466002)(6506006)(48376002)(66066001)(6306002)(25786008)(47776003)(6666003)(2950100002)(5003940100001)(6916009)(6486002)(36756003)(5660300001)(101416001)(189998001)(92566002)(7736002)(107886003)(110136004)(33646002)(97736004)(105586002)(38730400002)(106356001)(2351001)(305945005)(76176999)(50986999)(4326007)(53936002)(2906002)(86362001)(42186005)(450100001); DIR:OUT; SFP:1101; SCL:1; SRVR:HE1PR05MB1306; H:dev-h-vrt-005.mth.labs.mlnx; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; HE1PR05MB1306; 23:RVdIfZoL8xde7WsnI2CRbZRAKn8llWEXLcWmeNgIX?= =?us-ascii?Q?AlZR69zwPLSgyI8wg0Nhxgo3oTuDDbZDv1P6TIiIRMQoOlN50Crl5bKHNu+W?= =?us-ascii?Q?4kKVdcTbRESvvEtzLdHglXFbsVut+hyfjcgdGEUcn7sT+iQS0EZdYuOhz6fn?= =?us-ascii?Q?VvtLcZ7xa/t7jyOOwODNPNd84PpYiYhZHpjH5zae55IG99CHBWEafgydlWU8?= =?us-ascii?Q?f4ufb6DJ9BSzheuHSm9E9pHoVV0DxFDHyuOr/KRyLZ2jvGMurGv9vUOzNweu?= =?us-ascii?Q?mpbZCNCmkYj4isvEffWV6FmyRpmnPpL9RK6OGyKMgzvenXMjX7vL3sWyqj9w?= =?us-ascii?Q?DMpwL3DfePwYC+gnhrsrcdzTGnrXSWqXhZvL73k2C/UwzyCDKXcgLRmhx9gy?= =?us-ascii?Q?s36SYFik0yDnbpY/lT+hG7KCp56x/gWMgvzvjVYPXWv7H1Nq2rhkJxzXL1C0?= =?us-ascii?Q?5d6ffFkwSymn+Xr1TMJGK8qubPzKAD1WcUpOHr9cbwaMO492FCTZ4kIyCe3N?= =?us-ascii?Q?kMIt11KtDEgS0p35FqXrHXyAg1du19y+l6DSX/fHpBCvGBiRf0yvUsPMep0S?= =?us-ascii?Q?3mot714U/bi2KGw74bR4X74x8Qn3hMR/iIg+ccuDQnddNEdy0D2eI89wfhN4?= =?us-ascii?Q?+UqzO9hnIsLgPRGsPHqoOh6PvGsAPJmyoLM2G60Kj9DcU+9F17cmCgyUloE+?= =?us-ascii?Q?I++UE7769oPjv2F5/KahLoPzRd1LYT8eZW/NEeqJ+7+Sul6Fl1ljyPiexGCf?= =?us-ascii?Q?jTI3LDhE8PZN9rLKbedj+bUDHfCMrxAi8RjqL1I9y/wFE5r/NldxknuXg2Re?= =?us-ascii?Q?mpoc6IZFH49DJtzXLtyXZLV36fhbB1P7/54kMwRYeKQt/MtPgPoXddSXa0f1?= =?us-ascii?Q?SxzD7Cr9EP4XBx6tYh/giqZm1r83hoWH9Ea+yVBQH9YbYNZ4sjaCHaemQiXk?= =?us-ascii?Q?6y3AEnhleX49JpbuLA7choYygPw+4x0NrXfxhxI1IP5UUGkAzcg7hHPsj4uk?= =?us-ascii?Q?2hJRR4pkJYtQBU5o8flppbcLVkoCRq/5JNJLWTJ49YvWOktqiFtkz3zapSei?= =?us-ascii?Q?NWXDCsKrknp+aFH0e5Ls9jDXWis4yCii861hALFEaxjMk81cNZ2Q2arW59vD?= =?us-ascii?Q?hqZXG9HAMWlBeSOX83iAdA0/1OOYQVQfk9XABRY2C0YQNsJ/zObnZcg4NAT1?= =?us-ascii?Q?tPR1YRa3QgVr1cXxlJBFOO19gYtHGE+5IM2M8Njx5BoRBsxL8/zBupVoihpm?= =?us-ascii?Q?DJa/XzBit6YynuhWlCiKBg4tMWSDvV5ZklBzDsi?= X-Microsoft-Exchange-Diagnostics: 1; HE1PR05MB1306; 6:6e7Zs/u4vySc920v253cOPMdIEVPmNokeEXtttszSSkHjMtcUPXrPP1DzwpY46je5MRK6wa9tMrPPRwqun2TGZxJpS79ZdRvIz3n+5MJiDFVBUDRIC6iww688+uKmVx1N4ONKq8d0+lPKo0Bhmn/Yk1pdc0jwh6BdLhQ+RaU8cVMXXQKGDR0K+c5sH44v6BO4YF4gEn91Ii6f5AySiObIgdQWVInWP6B+zKSiSiHmwkxDNYP6acGeqIB7LiiVAInsfR0So2zRWWH1NrqgA1Auc73dZyKHyfvT638toZOAYyW6cpIp903Pvx4JeS26Yb90Ej40YBZW836HhnoppkXCStCaI0Mpt5gu+v5REBbY7xU2FAPJbwxlq6vzUg/teuwtb+pyLg/Pl4Xf9CsArNvdoh+/06azLMnT6F/TYQuPpI=; 5:xu1d71GNZS04Or7bzgnF3b2quPwMrMvRpczOltX7srG2zObmrZY95PssSQhMavWHziEHZ7LKnC+ph3zMTGrWN6zIxovuty7qzQo9kmdASCjwIiQhy4zkTAgGVaV/JY1VRdhZtGkrBLpAI1bbYWI/tVmNxb7y1bzmZSf/Jwnk7/8=; 24:IOYYMPqo6HFIvinKZzybYpR8xS05gRqJSK05hdXkk3C+WXmb0D1Bz8IWPLAdGZFoMO/t89EPImrsz0Koysnwam/DbEk1VjsZyWInMpra3ck= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; HE1PR05MB1306; 7:9Qk22X7HUAuz1f9fcNanH4fzRBwhSg21O+GzFFVodwPWYyl5ccJrfk6EWDGt5c0vrPXw9rwyWhpLLYdsyOPgo4C6s8WVucQe+Huv//ZIJ5NvWQ14RYHEa4gOzCzbbO+Etld9M+P4UKClwSgnzGg3fCh4bg5s8Pto18sJLNXWOK/mqlEmnUqdXf5scjFnIKlpNB5C6AcYd1K5p5WLD8l9ctc3OlwJrb8WGqPLeiLKdVlw3Io8kliMLf8E7lfz7x2W7ugHfKObfs3DSRnF1i9G3RMWMLDTwps3ROBtAfSg0t7nYPK8/ntTRibm9xSgklpfBpiOnA4EJqzpq/cvV0pONQ== X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Feb 2017 09:10:30.2884 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR05MB1306 X-Mailman-Approved-At: Wed, 01 Mar 2017 12:12:14 +0000 Cc: talatb@mellanox.com X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.14 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: kernel-team-bounces@lists.ubuntu.com From: Or Gerlitz BugLink: https://bugs.launchpad.net/ubuntu/1668019 BPF classifier support for the "in hw" offloading flags. Signed-off-by: Or Gerlitz Reviewed-by: Amir Vadai Acked-by: Jakub Kicinski Signed-off-by: David S. Miller (cherry picked from commit 5cecb6cc008148b4afc51f7bacfa753e1a957483) Signed-off-by: Talat Batheesh --- net/sched/cls_bpf.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/net/sched/cls_bpf.c b/net/sched/cls_bpf.c index d9c9701..80f6884 100644 --- a/net/sched/cls_bpf.c +++ b/net/sched/cls_bpf.c @@ -148,6 +148,7 @@ static int cls_bpf_offload_cmd(struct tcf_proto *tp, struct cls_bpf_prog *prog, struct net_device *dev = tp->q->dev_queue->dev; struct tc_cls_bpf_offload bpf_offload = {}; struct tc_to_netdev offload; + int err; offload.type = TC_SETUP_CLSBPF; offload.cls_bpf = &bpf_offload; @@ -159,8 +160,13 @@ static int cls_bpf_offload_cmd(struct tcf_proto *tp, struct cls_bpf_prog *prog, bpf_offload.exts_integrated = prog->exts_integrated; bpf_offload.gen_flags = prog->gen_flags; - return dev->netdev_ops->ndo_setup_tc(dev, tp->q->handle, - tp->protocol, &offload); + err = dev->netdev_ops->ndo_setup_tc(dev, tp->q->handle, + tp->protocol, &offload); + + if (!err && (cmd == TC_CLSBPF_ADD || cmd == TC_CLSBPF_REPLACE)) + prog->gen_flags |= TCA_CLS_FLAGS_IN_HW; + + return err; } static int cls_bpf_offload(struct tcf_proto *tp, struct cls_bpf_prog *prog, @@ -511,6 +517,9 @@ static int cls_bpf_change(struct net *net, struct sk_buff *in_skb, return ret; } + if (!tc_in_hw(prog->gen_flags)) + prog->gen_flags |= TCA_CLS_FLAGS_NOT_IN_HW; + if (oldprog) { list_replace_rcu(&oldprog->link, &prog->link); tcf_unbind_filter(tp, &oldprog->res);