From patchwork Thu Nov 16 06:01:54 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vishal Deep Ajmera X-Patchwork-Id: 838422 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=openvswitch.org (client-ip=140.211.169.12; helo=mail.linuxfoundation.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=ericsson.onmicrosoft.com header.i=@ericsson.onmicrosoft.com header.b="RhngRHgU"; dkim-atps=neutral Received: from mail.linuxfoundation.org (mail.linuxfoundation.org [140.211.169.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3ycrHN0y2Gz9sNd for ; Thu, 16 Nov 2017 17:02:07 +1100 (AEDT) Received: from mail.linux-foundation.org (localhost [127.0.0.1]) by mail.linuxfoundation.org (Postfix) with ESMTP id 3110B504; Thu, 16 Nov 2017 06:02:03 +0000 (UTC) X-Original-To: dev@openvswitch.org Delivered-To: ovs-dev@mail.linuxfoundation.org Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 6C3424A3 for ; Thu, 16 Nov 2017 06:02:02 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from sessmg23.ericsson.net (sessmg23.ericsson.net [193.180.251.45]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 6FD9A433 for ; Thu, 16 Nov 2017 06:02:01 +0000 (UTC) X-AuditID: c1b4fb2d-2ec699c000001e3d-97-5a0d29d76e7e Received: from ESESSHC015.ericsson.se (Unknown_Domain [153.88.183.63]) by sessmg23.ericsson.net (Symantec Mail Security) with SMTP id 30.32.07741.7D92D0A5; Thu, 16 Nov 2017 07:01:59 +0100 (CET) Received: from EUR03-AM5-obe.outbound.protection.outlook.com (153.88.183.145) by oa.msg.ericsson.com (153.88.183.63) with Microsoft SMTP Server (TLS) id 14.3.352.0; Thu, 16 Nov 2017 07:01:55 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericsson.onmicrosoft.com; s=selector1-ericsson-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=yAkGjFxJyExYua/QybNB7RgDMAhYGwR7H8zjEx5+OQ0=; b=RhngRHgUIv0K6V9t8l6lIC/aYSF9rfQEHq0Ebk+mvB4K9LmaLZnnUBLtcATAFXi6eKXhhu7NHQylwnB4DVdA6rd74+m5t/gQAHceRuW/I2ALwu3N72kW6OSRMBk+FE39ntH+0lYS8QBirQUqqSbWshY6qOZv4S5afBJVybdAXds= Received: from AM5PR0701MB2961.eurprd07.prod.outlook.com (10.168.156.135) by AM5PR0701MB2961.eurprd07.prod.outlook.com (10.168.156.135) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.20.239.4; Thu, 16 Nov 2017 06:01:54 +0000 Received: from AM5PR0701MB2961.eurprd07.prod.outlook.com ([fe80::c8c:e32c:e8d4:c7d1]) by AM5PR0701MB2961.eurprd07.prod.outlook.com ([fe80::c8c:e32c:e8d4:c7d1%17]) with mapi id 15.20.0239.005; Thu, 16 Nov 2017 06:01:54 +0000 From: Vishal Deep Ajmera To: "dev@openvswitch.org" Thread-Topic: [PATCH v2] odp-execute: Skip processing actions when batch is emptied Thread-Index: AdNeoEenSpAusoB+S3uDOrovF47Vtg== Date: Thu, 16 Nov 2017 06:01:54 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [125.16.128.122] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; AM5PR0701MB2961; 6:SO/pQP8GhE1AL7K9WRFELdiQREngyKi/DgGIOJmTDsRXL0c1yEWd4ZJYU2SlAUUb9apRZcsj+rf3mGcxjcZJDe9eJHiCbnH54+9Q3IVWtZd3ijjfYV+NY+mIUlWmkEpIM9T7DIUx79ZiqhwqY5yH3SRCOpk+TI6Bj81DIsf8yL7oPbQwwDxOz/4Mb1+RZFw8U8Qz/HiFu+seSXuyaFqMqX65CQ+qyUvCjrYPRJNc1baZwCCqj/d0uD8QhV3nlYpDDiNHayLrTLjaZotElfbUZ9RomLq0/Gbe7TtdrSb1C84lp0z7ADwRZgLu3nnSZdik/YE9p45dFLyE3jeuuHT8iA0nCVrGhes2bsXezfLSTrU=; 5:V9OdOZ0cdqScBPR31iJ76MjleayrwRjQFeLRKjg0NbZHu32Dh6NvIjPlIjLFby8Lu91WBx9vBphCV0DdMp7dM8yvtlahtmnDGfKD0BW8c7Uo/Hxk526QZXJb6Fjz1Nd1neRRcjo/qCklvdLkpkFk8KriG2hgAEmmYMGNYUlrHYo=; 24:bQcGQQA8IxoRXjRrv+OVlM0BWrk3Bh+KgAHgLyRzDMkAsJYT/KbiVxKoB2sao12BTKL17MSyJigEymxsitBui+OGy6iOFI7JDDTGuMPOD08=; 7:NMSSvQvu63FpxNv9nPAACxqG3pfEIgTgaq+9buZ2hTp4uejF6AXkbhIBw3K4uRLOjhDc1frt/+0GfquJYw4pFj/YwfbSUQjo2P3QyVgpmrJq9FKW/tZhEADf5y8r2iRA8BF/ch9Bbx1S5eV6Pzl3ZhB6vB0AI9PMxFlp8a+ECIeMgEUnvemaNZIVYizZR8KDUEPlAMeSoYNdXK81FCWd+F1GKugOWulLIOfXRLpBNrt6CeZxpTlDd3jj1C+Avvwx x-ms-exchange-antispam-srfa-diagnostics: SSOS; x-ms-office365-filtering-correlation-id: f92625ed-e939-4519-0a4c-08d52cb78a0b x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(4534020)(4602075)(7168017)(4627115)(201703031133081)(201702281549075)(2017052603258); SRVR:AM5PR0701MB2961; x-ms-traffictypediagnostic: AM5PR0701MB2961: x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(37575265505322)(227612066756510)(21748063052155); x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(8121501046)(5005006)(3231022)(3002001)(93006095)(93001095)(100000703101)(100105400095)(10201501046)(6041248)(20161123560025)(20161123562025)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123555025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:AM5PR0701MB2961; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:AM5PR0701MB2961; x-forefront-prvs: 0493852DA9 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(6009001)(346002)(376002)(39860400002)(189002)(199003)(54356999)(19609705001)(8676002)(81166006)(81156014)(1730700003)(6506006)(5250100002)(97736004)(105586002)(6436002)(7736002)(5640700003)(2351001)(53936002)(2900100001)(6306002)(54896002)(2906002)(74316002)(3280700002)(3846002)(3660700001)(86362001)(790700001)(8936002)(99286004)(9686003)(6116002)(33656002)(5630700001)(102836003)(25786009)(66066001)(55016002)(68736007)(50986999)(101416001)(2501003)(14454004)(189998001)(6916009)(316002)(5660300001)(7696004)(106356001)(478600001); DIR:OUT; SFP:1101; SCL:1; SRVR:AM5PR0701MB2961; H:AM5PR0701MB2961.eurprd07.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; received-spf: None (protection.outlook.com: ericsson.com does not designate permitted sender hosts) authentication-results: spf=none (sender IP is ) smtp.mailfrom=vishal.deep.ajmera@ericsson.com; spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: f92625ed-e939-4519-0a4c-08d52cb78a0b X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Nov 2017 06:01:54.8472 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 92e84ceb-fbfd-47ab-be52-080c6b87953f X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0701MB2961 X-OriginatorOrg: ericsson.com X-Brightmail-Tracker: H4sIAAAAAAAAA02SfUhTURjGObt323W2uC3N1+kIBlbzY2ZKaGTLPi0qpIhsBrnyotLcZNck C8Q1BD/SEiN0g9QQNU3UdBY5cc4GWkklhplplB9ZKy0DgxbWtjPB/37P87ycc96HQxGiu1wx lanJYXQalVrKE5DVyY8UEWMyoXL79ZVtsfbnFmIvSpwb/4eSkFKwO41RZ+Yyusg9qYKMRack 27DvyqTdzC1AhrgSRFFAx4DZJChBAkpEDyDoK7ISWAwiqCi5x3cLki4jwDjXx8fJXQ5Mlve6 hI9LzCL4bDjgZh69C/7cvkm62Y+OBNuNYQ9vpE/A6+5iPvZPw0RROQ+zHKwrTzw+SYfAgmnY 4wvpVBjrb+W4GdGb4PezBx4m6AB4N1PjYaBpqLe8JDD7w5fpFS5mKXRWz3tnJDBSU4rcjwb6 KR+WK6f4OJCDueI7wnwchpoaOXioHoHtxxSJg3B49bXUe6oWqsoqvbelgHX+o/fUt1xoN/UT uMlgcJbGYX+UCy2zThJXxEBjayHC61yAb11/Ea5FDJOjxegWCjWu2Q6zFt7MzxFGTxsbYKh6 hsR+ONT2LPEwh0FDnYNY5RfWac5avxbxm5E/y7BsVvqOaDmjy7zIslqNXMPkPESuX9Pf5Yx4 jFocCTZEU0i6TvgrWKgUcVW5bF6WDQFFSP2ECSEuS5imyrvK6LTndZfVDGtDQRQpDRAm+vkq RXS6Koe5xDDZjG415VA+4gJUmd/uODmk6E3wLQ9J2T/RuDXQVz/QdGhn/rFooYU+eyY+zxC4 5cO1w30L5pgOcfZ4YaDRZoqPVXYSnWNR9Wr9nVNhTfclRxRKq77hZ/fBkcWjbSll/oPRCmTv IZLXyz45CpBMvhSkUVWdS7IkLr+vW5I0J3WM2K36toGIzTIpyWaookIJHav6D5XXey4xAwAA X-Spam-Status: No, score=-2.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, HTML_MESSAGE,RCVD_IN_DNSWL_MED autolearn=disabled version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.linux-foundation.org X-Content-Filtered-By: Mailman/MimeDel 2.1.12 Subject: [ovs-dev] [PATCH v2] odp-execute: Skip processing actions when batch is emptied X-BeenThere: ovs-dev@openvswitch.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: ovs-dev-bounces@openvswitch.org Errors-To: ovs-dev-bounces@openvswitch.org Today in OVS, when errors are encountered during the execution of an action the entire batch of packets may be deleted (for e.g. in processing push_tnl_action, if the port is not found in the port_cache of PMD). The remaining actions continue to be executed even though there are no packets to be processed. It is assumed that the code dealing with each action checks that the batch is not empty before executing. Crashes may occur if the assumption is not met. The patch makes OVS skip processing of further actions from the action-set once a batch is emptied. Doing so centralizes the check in one place and avoids the possibility of crashes. Signed-off-by: Vishal Deep Ajmera --- lib/odp-execute.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) -- 1.9.1 diff --git a/lib/odp-execute.c b/lib/odp-execute.c index 3011479..887246d 100644 --- a/lib/odp-execute.c +++ b/lib/odp-execute.c @@ -686,9 +686,12 @@ odp_execute_actions(void *dp, struct dp_packet_batch *batch, bool steal, dp_execute_action(dp, batch, a, may_steal); - if (last_action) { - /* We do not need to free the packets. dp_execute_actions() - * has stolen them */ + if (last_action || (batch->count == 0)) { + /* We do not need to free the packets. + * Either dp_execute_actions() has stolen them + * or the batch is freed due to errors. In either + * case we do not need to execute further actions. + */ return; } }