[{"id":1765513,"web_url":"http://patchwork.ozlabs.org/comment/1765513/","msgid":"<20170908164825.GF7356@vergenet.net>","list_archive_url":null,"date":"2017-09-08T16:48:26","subject":"Re: [ovs-dev] [PATCH v2 7/8] netdev-dpdk: remove offloaded flow on\n\tdeletion","submitter":{"id":64714,"url":"http://patchwork.ozlabs.org/api/people/64714/","name":"Simon Horman","email":"simon.horman@netronome.com"},"content":"On Tue, Sep 05, 2017 at 05:23:00PM +0800, Yuanhan Liu wrote:\n> Inovke netdev class '->flow_del' method on flow deletion. The dpdk netdev\n> implementation will then remove the rte flow associated with the ufid.\n> \n> Co-authored-by: Finn Christensen <fc@napatech.com>\n> Signed-off-by: Yuanhan Liu <yliu@fridaylinux.org>\n> Signed-off-by: Finn Christensen <fc@napatech.com>\n\nThis seems fine to me in the context of this patch-set.\n\n...","headers":{"Return-Path":"<ovs-dev-bounces@openvswitch.org>","X-Original-To":["incoming@patchwork.ozlabs.org","dev@openvswitch.org"],"Delivered-To":["patchwork-incoming@bilbo.ozlabs.org","ovs-dev@mail.linuxfoundation.org"],"Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=openvswitch.org\n\t(client-ip=140.211.169.12; helo=mail.linuxfoundation.org;\n\tenvelope-from=ovs-dev-bounces@openvswitch.org;\n\treceiver=<UNKNOWN>)","ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=netronome-com.20150623.gappssmtp.com\n\theader.i=@netronome-com.20150623.gappssmtp.com\n\theader.b=\"kgA2q9kc\"; dkim-atps=neutral"],"Received":["from mail.linuxfoundation.org (mail.linuxfoundation.org\n\t[140.211.169.12])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xpjw939V6z9s7h\n\tfor <incoming@patchwork.ozlabs.org>;\n\tSat,  9 Sep 2017 02:49:29 +1000 (AEST)","from mail.linux-foundation.org (localhost [127.0.0.1])\n\tby mail.linuxfoundation.org (Postfix) with ESMTP id 1ABF4BBF;\n\tFri,  8 Sep 2017 16:48:28 +0000 (UTC)","from smtp1.linuxfoundation.org (smtp1.linux-foundation.org\n\t[172.17.192.35])\n\tby mail.linuxfoundation.org (Postfix) with ESMTPS id 0A6CFBC7\n\tfor <dev@openvswitch.org>; Fri,  8 Sep 2017 16:48:27 +0000 (UTC)","from mail-wm0-f47.google.com (mail-wm0-f47.google.com\n\t[74.125.82.47])\n\tby smtp1.linuxfoundation.org (Postfix) with ESMTPS id 9293246D\n\tfor <dev@openvswitch.org>; Fri,  8 Sep 2017 16:48:26 +0000 (UTC)","by mail-wm0-f47.google.com with SMTP id f145so7349965wme.0\n\tfor <dev@openvswitch.org>; Fri, 08 Sep 2017 09:48:26 -0700 (PDT)","from vergenet.net (53.red-80-24-208.staticip.rima-tde.net.\n\t[80.24.208.53]) by smtp.gmail.com with ESMTPSA id\n\tp59sm3472348wrc.75.2017.09.08.09.48.24\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tFri, 08 Sep 2017 09:48:24 -0700 (PDT)"],"X-Greylist":"whitelisted by SQLgrey-1.7.6","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=netronome-com.20150623.gappssmtp.com; s=20150623;\n\th=date:from:to:cc:subject:message-id:references:mime-version\n\t:content-disposition:in-reply-to:user-agent;\n\tbh=oSthZbn1fjHP90i/JBlz9n/FK/iuqkW4hIXIN8epaF0=;\n\tb=kgA2q9kcnUd8THFk+xiz3cQMA/U9bmUHn0xGZ853iloz3iMwpPNnrh+wOzhhwEBsAb\n\tTAjm6XWy2DJERnvob+YQ+E7WzE0ATQsfvJz4yQk5lyhnUnMMoN2WfeMZgfIGDjGGCVAO\n\tISaS2OnV03+cpIPa7gzmI1eERfv3xUxVsLPW+ykTaE1UCbLWKSY/QYxoUVRr67lw5dzc\n\tjSWqF0A3sh4zQSXT84vyXIm9urbaN1D+1+qTZdZ48nIUESda+BC7Gn4JSr0gfKrGcC+7\n\tQhrkZBvM0dQply9Ic95/1oU3bq1jNkT3sGLEsx6xIwBtK6EQSdC9nif8Ov2/Bn/IBzU9\n\t9mAg==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:date:from:to:cc:subject:message-id:references\n\t:mime-version:content-disposition:in-reply-to:user-agent;\n\tbh=oSthZbn1fjHP90i/JBlz9n/FK/iuqkW4hIXIN8epaF0=;\n\tb=IlvTQqGCeflHKint7woB+oCJAUE/89QL4R9QbsxzubNz67QZvDVDZLdjimABwpY+wN\n\ti5wc3y8MQIwaS29f+2pyrGDfV0oMxDo3ImbjeEueU0BlL4vbzH8vtorFvXBK5jh7PT7X\n\tNgwv1y0LVNGoMxGNV1A+Ti+cuRacgDnT+/Bmtzuk6jQJuyciTkTP5myeEihsB1UoCi8q\n\tVvhtRu99gvwX0HyPnvhjHVjFFLmK7Aw6JC7C2v1KJMe4MWxVGY5H+lcWHkkHqUbK/DF+\n\tfDopOQrgiCkrUdG/o538UG2xzLamW78IzZqzXTnsH37ehYrh/fZCvqBbnecSKpAgqFkK\n\tyrbg==","X-Gm-Message-State":"AHPjjUjjs8dRM6mYb1anbD8Yf74/I+IEm+Jg5w/HjrniJLpETRDrhVQR\n\tepGvNJkGdgrZvdxm6RsYv5UPIg==","X-Google-Smtp-Source":"AOwi7QD3Z437UagswK28ZjV6HF7GLC5J6yv+4+370EsLMikfTaOPVERxCrwUXUQLEuWyihk2IqX1nA==","X-Received":"by 10.28.8.20 with SMTP id 20mr2018636wmi.96.1504889305263;\n\tFri, 08 Sep 2017 09:48:25 -0700 (PDT)","Date":"Fri, 8 Sep 2017 18:48:26 +0200","From":"Simon Horman <simon.horman@netronome.com>","To":"Yuanhan Liu <yliu@fridaylinux.org>","Message-ID":"<20170908164825.GF7356@vergenet.net>","References":"<1504603381-30071-1-git-send-email-yliu@fridaylinux.org>\n\t<1504603381-30071-8-git-send-email-yliu@fridaylinux.org>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<1504603381-30071-8-git-send-email-yliu@fridaylinux.org>","User-Agent":"Mutt/1.5.23 (2014-03-12)","X-Spam-Status":"No, score=0.0 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,\n\tRCVD_IN_DNSWL_NONE autolearn=disabled version=3.3.1","X-Spam-Checker-Version":"SpamAssassin 3.3.1 (2010-03-16) on\n\tsmtp1.linux-foundation.org","Cc":"dev@openvswitch.org","Subject":"Re: [ovs-dev] [PATCH v2 7/8] netdev-dpdk: remove offloaded flow on\n\tdeletion","X-BeenThere":"ovs-dev@openvswitch.org","X-Mailman-Version":"2.1.12","Precedence":"list","List-Id":"<ovs-dev.openvswitch.org>","List-Unsubscribe":"<https://mail.openvswitch.org/mailman/options/ovs-dev>,\n\t<mailto:ovs-dev-request@openvswitch.org?subject=unsubscribe>","List-Archive":"<http://mail.openvswitch.org/pipermail/ovs-dev/>","List-Post":"<mailto:ovs-dev@openvswitch.org>","List-Help":"<mailto:ovs-dev-request@openvswitch.org?subject=help>","List-Subscribe":"<https://mail.openvswitch.org/mailman/listinfo/ovs-dev>,\n\t<mailto:ovs-dev-request@openvswitch.org?subject=subscribe>","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Sender":"ovs-dev-bounces@openvswitch.org","Errors-To":"ovs-dev-bounces@openvswitch.org"}},{"id":1765971,"web_url":"http://patchwork.ozlabs.org/comment/1765971/","msgid":"<2EF2F5C0CC56984AA024D0B180335FCB4221DC63@IRSMSX102.ger.corp.intel.com>","list_archive_url":null,"date":"2017-09-10T16:40:26","subject":"Re: [ovs-dev] [PATCH v2 7/8] netdev-dpdk: remove offloaded flow\n\ton\tdeletion","submitter":{"id":67440,"url":"http://patchwork.ozlabs.org/api/people/67440/","name":"Chandran, Sugesh","email":"sugesh.chandran@intel.com"},"content":"Regards\n_Sugesh\n\n\n> -----Original Message-----\n> From: ovs-dev-bounces@openvswitch.org [mailto:ovs-dev-\n> bounces@openvswitch.org] On Behalf Of Yuanhan Liu\n> Sent: Tuesday, September 5, 2017 10:23 AM\n> To: dev@openvswitch.org\n> Subject: [ovs-dev] [PATCH v2 7/8] netdev-dpdk: remove offloaded flow on\n> deletion\n> \n> Inovke netdev class '->flow_del' method on flow deletion. The dpdk netdev\n> implementation will then remove the rte flow associated with the ufid.\n> \n> Co-authored-by: Finn Christensen <fc@napatech.com>\n> Signed-off-by: Yuanhan Liu <yliu@fridaylinux.org>\n> Signed-off-by: Finn Christensen <fc@napatech.com>\n> ---\n> \n> v2: - check the returned \"port\" from dp_netdev_lookup_port\n>     - error log when flow is not found\n> ---\n>  lib/dpif-netdev.c | 10 ++++++++--\n>  lib/netdev-dpdk.c | 19 ++++++++++++++++++-\n>  2 files changed, 26 insertions(+), 3 deletions(-)\n> \n> diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c index 3099c73..2fbaa96\n> 100644\n> --- a/lib/dpif-netdev.c\n> +++ b/lib/dpif-netdev.c\n> @@ -1857,8 +1857,14 @@ dp_netdev_pmd_remove_flow(struct\n> dp_netdev_pmd_thread *pmd,\n>      dpcls_remove(cls, &flow->cr);\n>      cmap_remove(&pmd->flow_table, node, dp_netdev_flow_hash(&flow-\n> >ufid));\n>      if (flow->has_mark) {\n> -        cmap_remove(&pmd->mark_to_flow, mark_node, flow->mark);\n> -        flow->has_mark = false;\n> +        struct dp_netdev_port *port;\n> +\n> +        port = dp_netdev_lookup_port(pmd->dp, in_port);\n> +        if (port) {\n> +            netdev_flow_del(port->netdev, &flow->ufid, NULL);\n[Sugesh] Please ignore the previous comment on hardware flow delete.\n> +            cmap_remove(&pmd->mark_to_flow, mark_node, flow->mark);\n> +            flow->has_mark = false;\n> +        }\n>      }\n>      flow->dead = true;\n> \n> diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c index 320fe80..e363c92\n> 100644\n> --- a/lib/netdev-dpdk.c\n> +++ b/lib/netdev-dpdk.c\n> @@ -3853,6 +3853,23 @@ netdev_dpdk_flow_put(struct netdev *netdev,\n> struct match *match,\n>                                              actions_len, ufid, info);  }\n> \n> +static int\n> +netdev_dpdk_flow_del(struct netdev *netdev, const ovs_u128 *ufid,\n> +                     struct dpif_flow_stats *stats OVS_UNUSED) {\n> +\n> +    struct rte_flow *rte_flow = get_rte_flow_by_ufid(ufid);\n> +\n> +    if (!rte_flow) {\n> +        VLOG_ERR(\"failed to find flow associated with ufid \" UUID_FMT \"\\n\",\n> +                 UUID_ARGS((struct uuid *)ufid));\n> +        return -1;\n> +    }\n> +\n> +    return netdev_dpdk_destroy_rte_flow(netdev_dpdk_cast(netdev),\n> +                                        ufid, rte_flow); }\n> +\n>  #define DPDK_FLOW_OFFLOAD_API                                 \\\n>      NULL,                   /* flow_flush */                  \\\n>      NULL,                   /* flow_dump_create */            \\\n> @@ -3860,7 +3877,7 @@ netdev_dpdk_flow_put(struct netdev *netdev,\n> struct match *match,\n>      NULL,                   /* flow_dump_next */              \\\n>      netdev_dpdk_flow_put,                                     \\\n>      NULL,                   /* flow_get */                    \\\n> -    NULL,                   /* flow_del */                    \\\n> +    netdev_dpdk_flow_del,                                     \\\n>      NULL                    /* init_flow_api */\n> \n> \n> --\n> 2.7.4\n> \n> _______________________________________________\n> dev mailing list\n> dev@openvswitch.org\n> https://mail.openvswitch.org/mailman/listinfo/ovs-dev","headers":{"Return-Path":"<ovs-dev-bounces@openvswitch.org>","X-Original-To":["incoming@patchwork.ozlabs.org","dev@openvswitch.org"],"Delivered-To":["patchwork-incoming@bilbo.ozlabs.org","ovs-dev@mail.linuxfoundation.org"],"Authentication-Results":"ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=openvswitch.org\n\t(client-ip=140.211.169.12; helo=mail.linuxfoundation.org;\n\tenvelope-from=ovs-dev-bounces@openvswitch.org;\n\treceiver=<UNKNOWN>)","Received":["from mail.linuxfoundation.org (mail.linuxfoundation.org\n\t[140.211.169.12])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xqxdT4Lk2z9s72\n\tfor <incoming@patchwork.ozlabs.org>;\n\tMon, 11 Sep 2017 02:41:01 +1000 (AEST)","from mail.linux-foundation.org (localhost [127.0.0.1])\n\tby mail.linuxfoundation.org (Postfix) with ESMTP id 158F6ABC;\n\tSun, 10 Sep 2017 16:40:33 +0000 (UTC)","from smtp1.linuxfoundation.org (smtp1.linux-foundation.org\n\t[172.17.192.35])\n\tby mail.linuxfoundation.org (Postfix) with ESMTPS id E3A73A91\n\tfor <dev@openvswitch.org>; Sun, 10 Sep 2017 16:40:30 +0000 (UTC)","from mga06.intel.com (mga06.intel.com [134.134.136.31])\n\tby smtp1.linuxfoundation.org (Postfix) with ESMTPS id 5232041D\n\tfor <dev@openvswitch.org>; Sun, 10 Sep 2017 16:40:30 +0000 (UTC)","from fmsmga006.fm.intel.com ([10.253.24.20])\n\tby orsmga104.jf.intel.com with ESMTP; 10 Sep 2017 09:40:29 -0700","from irsmsx153.ger.corp.intel.com ([163.33.192.75])\n\tby fmsmga006.fm.intel.com with ESMTP; 10 Sep 2017 09:40:28 -0700","from irsmsx102.ger.corp.intel.com ([169.254.2.59]) by\n\tIRSMSX153.ger.corp.intel.com ([169.254.9.34]) with mapi id\n\t14.03.0319.002; Sun, 10 Sep 2017 17:40:27 +0100"],"X-Greylist":"domain auto-whitelisted by SQLgrey-1.7.6","X-ExtLoop1":"1","X-IronPort-AV":"E=Sophos;i=\"5.42,372,1500966000\"; d=\"scan'208\";a=\"150239695\"","From":"\"Chandran, Sugesh\" <sugesh.chandran@intel.com>","To":"Yuanhan Liu <yliu@fridaylinux.org>, \"dev@openvswitch.org\"\n\t<dev@openvswitch.org>","Thread-Topic":"[ovs-dev] [PATCH v2 7/8] netdev-dpdk: remove offloaded flow on\n\tdeletion","Thread-Index":"AQHTJiltAeiuVDIUBESFsdvYSzlH6KKuKrjA","Date":"Sun, 10 Sep 2017 16:40:26 +0000","Message-ID":"<2EF2F5C0CC56984AA024D0B180335FCB4221DC63@IRSMSX102.ger.corp.intel.com>","References":"<1504603381-30071-1-git-send-email-yliu@fridaylinux.org>\n\t<1504603381-30071-8-git-send-email-yliu@fridaylinux.org>","In-Reply-To":"<1504603381-30071-8-git-send-email-yliu@fridaylinux.org>","Accept-Language":"en-US","Content-Language":"en-US","X-MS-Has-Attach":"","X-MS-TNEF-Correlator":"","x-titus-metadata-40":"eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiOGU0ZGJmZWEtNjg3YS00MTEwLWIyNDYtNjM5YmNkZmQ3ZTIwIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE2LjUuOS4zIiwiVHJ1c3RlZExhYmVsSGFzaCI6Ikg0bTlkVkZ5RU9wQUd3V0RkeE92bjg4WnZVYUtnWGI1V3Fwd04yYWtZY2s9In0=","x-ctpclassification":"CTP_IC","dlp-product":"dlpe-windows","dlp-version":"11.0.0.116","dlp-reaction":"no-action","x-originating-ip":"[163.33.239.180]","MIME-Version":"1.0","X-Spam-Status":"No, score=-2.3 required=5.0 tests=RCVD_IN_DNSWL_MED,\n\tRP_MATCHES_RCVD autolearn=disabled version=3.3.1","X-Spam-Checker-Version":"SpamAssassin 3.3.1 (2010-03-16) on\n\tsmtp1.linux-foundation.org","Subject":"Re: [ovs-dev] [PATCH v2 7/8] netdev-dpdk: remove offloaded flow\n\ton\tdeletion","X-BeenThere":"ovs-dev@openvswitch.org","X-Mailman-Version":"2.1.12","Precedence":"list","List-Id":"<ovs-dev.openvswitch.org>","List-Unsubscribe":"<https://mail.openvswitch.org/mailman/options/ovs-dev>,\n\t<mailto:ovs-dev-request@openvswitch.org?subject=unsubscribe>","List-Archive":"<http://mail.openvswitch.org/pipermail/ovs-dev/>","List-Post":"<mailto:ovs-dev@openvswitch.org>","List-Help":"<mailto:ovs-dev-request@openvswitch.org?subject=help>","List-Subscribe":"<https://mail.openvswitch.org/mailman/listinfo/ovs-dev>,\n\t<mailto:ovs-dev-request@openvswitch.org?subject=subscribe>","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Sender":"ovs-dev-bounces@openvswitch.org","Errors-To":"ovs-dev-bounces@openvswitch.org"}}]