[{"id":1770231,"web_url":"http://patchwork.ozlabs.org/comment/1770231/","msgid":"<20170918150504.GE25154@vergenet.net>","list_archive_url":null,"date":"2017-09-18T15:05:05","subject":"Re: [ovs-dev] [PATCH V2 4/4] netdev-tc-offloads: Add support for\n\taction set","submitter":{"id":64714,"url":"http://patchwork.ozlabs.org/api/people/64714/","name":"Simon Horman","email":"simon.horman@netronome.com"},"content":"On Mon, Sep 18, 2017 at 07:16:04AM +0300, Roi Dayan wrote:\n> From: Paul Blakey <paulb@mellanox.com>\n> \n> Implement support for offloading ovs action set using\n> tc header rewrite action.\n> \n> Signed-off-by: Paul Blakey <paulb@mellanox.com>\n> Reviewed-by: Roi Dayan <roid@mellanox.com>\n> ---\n>  lib/netdev-tc-offloads.c | 201 +++++++++++++++++++++++++++++++++++++++++++++--\n>  1 file changed, 195 insertions(+), 6 deletions(-)\n> \n> diff --git a/lib/netdev-tc-offloads.c b/lib/netdev-tc-offloads.c\n> index 3c145c2..4044a77 100644\n> --- a/lib/netdev-tc-offloads.c\n> +++ b/lib/netdev-tc-offloads.c\n> @@ -27,11 +27,13 @@\n>  #include \"openvswitch/ofpbuf.h\"\n>  #include \"openvswitch/thread.h\"\n>  #include \"openvswitch/types.h\"\n> +#include \"openvswitch/util.h\"\n>  #include \"openvswitch/vlog.h\"\n>  #include \"netdev-linux.h\"\n>  #include \"netlink.h\"\n>  #include \"netlink-socket.h\"\n>  #include \"odp-netlink.h\"\n> +#include \"odp-util.h\"\n>  #include \"tc.h\"\n>  #include \"unaligned.h\"\n>  #include \"util.h\"\n> @@ -41,6 +43,76 @@ VLOG_DEFINE_THIS_MODULE(netdev_tc_offloads);\n>  static struct vlog_rate_limit error_rl = VLOG_RATE_LIMIT_INIT(60, 5);\n>  \n>  static struct hmap ufid_tc = HMAP_INITIALIZER(&ufid_tc);\n> +\n> +struct netlink_field {\n> +    int offset;\n> +    int flower_offset;\n> +    int size;\n> +};\n> +\n> +static struct netlink_field set_flower_map[][3] = {\n> +    [OVS_KEY_ATTR_IPV4] = {\n> +        { offsetof(struct ovs_key_ipv4, ipv4_src),\n> +          offsetof(struct tc_flower_key, ipv4.ipv4_src),\n> +          MEMBER_SIZEOF(struct tc_flower_key, ipv4.ipv4_src)\n> +        },\n> +        { offsetof(struct ovs_key_ipv4, ipv4_dst),\n> +          offsetof(struct tc_flower_key, ipv4.ipv4_dst),\n> +          MEMBER_SIZEOF(struct tc_flower_key, ipv4.ipv4_dst)\n> +        },\n> +        { offsetof(struct ovs_key_ipv4, ipv4_ttl),\n> +          offsetof(struct tc_flower_key, ipv4.rewrite_ttl),\n> +          MEMBER_SIZEOF(struct tc_flower_key, ipv4.rewrite_ttl)\n> +        },\n> +    },\n> +    [OVS_KEY_ATTR_IPV6] = {\n> +        { offsetof(struct ovs_key_ipv6, ipv6_src),\n> +          offsetof(struct tc_flower_key, ipv6.ipv6_src),\n> +          MEMBER_SIZEOF(struct tc_flower_key, ipv6.ipv6_src)\n> +        },\n> +        { offsetof(struct ovs_key_ipv6, ipv6_dst),\n> +          offsetof(struct tc_flower_key, ipv6.ipv6_dst),\n> +          MEMBER_SIZEOF(struct tc_flower_key, ipv6.ipv6_dst)\n> +        },\n> +    },\n> +    [OVS_KEY_ATTR_ETHERNET] = {\n> +        { offsetof(struct ovs_key_ethernet, eth_src),\n> +          offsetof(struct tc_flower_key, src_mac),\n> +          MEMBER_SIZEOF(struct tc_flower_key, src_mac)\n> +        },\n> +        { offsetof(struct ovs_key_ethernet, eth_dst),\n> +          offsetof(struct tc_flower_key, dst_mac),\n> +          MEMBER_SIZEOF(struct tc_flower_key, dst_mac)\n> +        },\n> +    },\n> +    [OVS_KEY_ATTR_ETHERTYPE] = {\n> +        { 0,\n> +          offsetof(struct tc_flower_key, eth_type),\n> +          MEMBER_SIZEOF(struct tc_flower_key, eth_type)\n> +        },\n> +    },\n> +    [OVS_KEY_ATTR_TCP] = {\n> +        { offsetof(struct ovs_key_tcp, tcp_src),\n> +          offsetof(struct tc_flower_key, tcp_src),\n> +          MEMBER_SIZEOF(struct tc_flower_key, tcp_src)\n> +        },\n> +        { offsetof(struct ovs_key_tcp, tcp_dst),\n> +          offsetof(struct tc_flower_key, tcp_dst),\n> +          MEMBER_SIZEOF(struct tc_flower_key, tcp_dst)\n> +        },\n> +    },\n> +    [OVS_KEY_ATTR_UDP] = {\n> +        { offsetof(struct ovs_key_udp, udp_src),\n> +          offsetof(struct tc_flower_key, udp_src),\n> +          MEMBER_SIZEOF(struct tc_flower_key, udp_src)\n> +        },\n> +        { offsetof(struct ovs_key_udp, udp_dst),\n> +          offsetof(struct tc_flower_key, udp_dst),\n> +          MEMBER_SIZEOF(struct tc_flower_key, udp_dst)\n> +        },\n> +    },\n> +};\n\nDo you have any plans to add the following?\n\n\tOVS_KEY_ATTR_ICMP\n\tOVS_KEY_ATTR_ICMPV6\n\tOVS_KEY_ATTR_ARP\n\tOVS_KEY_ATTR_ND\n\tOVS_KEY_ATTR_SCTP\n\tOVS_KEY_ATTR_TCP_FLAGS\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=\"zYKO6LAO\"; 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 3xwq7D5qqbz9s4s\n\tfor <incoming@patchwork.ozlabs.org>;\n\tTue, 19 Sep 2017 01:05:12 +1000 (AEST)","from mail.linux-foundation.org (localhost [127.0.0.1])\n\tby mail.linuxfoundation.org (Postfix) with ESMTP id 8525BC77;\n\tMon, 18 Sep 2017 15:05:10 +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 3F33FB68\n\tfor <dev@openvswitch.org>; Mon, 18 Sep 2017 15:05:09 +0000 (UTC)","from mail-wm0-f54.google.com (mail-wm0-f54.google.com\n\t[74.125.82.54])\n\tby smtp1.linuxfoundation.org (Postfix) with ESMTPS id 9CAC547D\n\tfor <dev@openvswitch.org>; Mon, 18 Sep 2017 15:05:08 +0000 (UTC)","by mail-wm0-f54.google.com with SMTP id r68so3578967wmg.3\n\tfor <dev@openvswitch.org>; Mon, 18 Sep 2017 08:05:08 -0700 (PDT)","from vergenet.net ([217.111.208.18])\n\tby smtp.gmail.com with ESMTPSA id\n\tl15sm8530850wrl.47.2017.09.18.08.05.05\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tMon, 18 Sep 2017 08:05:06 -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=7V/vQ7eYh80DGpKDTYWj/cmKLsIIz1G4yiEtOk5VCMg=;\n\tb=zYKO6LAO3yBoqG5Qs/OnvGBNsaN2exBlwAa8Ryd4Ep+u2wnO1czrhqIPPkm3CUFjDn\n\tf08gS5idamutGVLbh2tq9CPmRCfKNOAGQuZn+3FnrAv9Ucyo3Oe5wFBYj5i5Ac7tLM5b\n\tkPQ/gFqpjHMIZnyHUel6/iosYiPdPKfWjw4Nx1zHBBf34yTMZGTzUCiAbDjk8TkmYE8T\n\t8EUReUP6T1O2pBUbo9tRXBThp9ANco614BvzUTtiQPdxuENQYMtJxKbels63NFbyGnep\n\t5kuuyVAqpqq4L/AHaA5o2boA8Muc8c+aNYsazhEtNHSegOhAjv7gY075BECvI1YqYt8H\n\tuetw==","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=7V/vQ7eYh80DGpKDTYWj/cmKLsIIz1G4yiEtOk5VCMg=;\n\tb=BPTujcg0F2CKzTJi/wWTZCsORA4IRyHXmXB3PAtguYdZUJcnlbtmJ7r0SCqLlPvq4o\n\tLkgFEVest3aWuPKyKYeubgUDioHP/8zbvuIpGamoS+9b6CpmjwJQlVmWJnZalsPI7JXE\n\tPL8oa6XsJxspC0yC/SJhN1s27LJxEDkFlRfnacAiRuIJ4mJCHVOB6t3tQ5shMyczLNjy\n\t82kNlD2ZUrhr7JfKYCNkEwOaMejE+JPPntINHUjDR6giSMsZC9QMU3PCBp+GNVE1/lmK\n\tJktNoEFxDYjqeomqLPHe4XV1+wG5hCB3IvvcG8r58kdDfRJZcECr7Ts/O0eYfmpqR4gY\n\t6mMw==","X-Gm-Message-State":"AHPjjUjy/g8qL5YioKgOE2ageBWZywyTYhHf2oNgGbT9MhM2fsDoOCAV\n\thzkbkR/sW+1fBoID","X-Google-Smtp-Source":"AOwi7QBr2NqpuBiV5RxPIwR1XJCt/j0l6Kbq4+zKEdVYS0qfK6YAVB/TIzUFWR0RmbvbCwTErV0wKQ==","X-Received":"by 10.28.48.20 with SMTP id w20mr4554114wmw.23.1505747107185;\n\tMon, 18 Sep 2017 08:05:07 -0700 (PDT)","Date":"Mon, 18 Sep 2017 17:05:05 +0200","From":"Simon Horman <simon.horman@netronome.com>","To":"Roi Dayan <roid@mellanox.com>","Message-ID":"<20170918150504.GE25154@vergenet.net>","References":"<1505708164-10270-1-git-send-email-roid@mellanox.com>\n\t<1505708164-10270-5-git-send-email-roid@mellanox.com>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<1505708164-10270-5-git-send-email-roid@mellanox.com>","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 4/4] netdev-tc-offloads: Add support for\n\taction set","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":1774775,"web_url":"http://patchwork.ozlabs.org/comment/1774775/","msgid":"<845381c4-c24a-8f62-70c2-589048cc9220@mellanox.com>","list_archive_url":null,"date":"2017-09-25T14:48:49","subject":"Re: [ovs-dev] [PATCH V2 4/4] netdev-tc-offloads: Add support for\n\taction set","submitter":{"id":70001,"url":"http://patchwork.ozlabs.org/api/people/70001/","name":"Paul Blakey","email":"paulb@mellanox.com"},"content":"On 18/09/2017 18:05, Simon Horman wrote:\n> On Mon, Sep 18, 2017 at 07:16:04AM +0300, Roi Dayan wrote:\n>> From: Paul Blakey <paulb@mellanox.com>\n>>\n>> Implement support for offloading ovs action set using\n>> tc header rewrite action.\n>>\n>> Signed-off-by: Paul Blakey <paulb@mellanox.com>\n>> Reviewed-by: Roi Dayan <roid@mellanox.com>\n>> ---\n>>   lib/netdev-tc-offloads.c | 201 +++++++++++++++++++++++++++++++++++++++++++++--\n>>   1 file changed, 195 insertions(+), 6 deletions(-)\n>>\n>> diff --git a/lib/netdev-tc-offloads.c b/lib/netdev-tc-offloads.c\n>> index 3c145c2..4044a77 100644\n>> --- a/lib/netdev-tc-offloads.c\n>> +++ b/lib/netdev-tc-offloads.c\n>> @@ -27,11 +27,13 @@\n>>   #include \"openvswitch/ofpbuf.h\"\n>>   #include \"openvswitch/thread.h\"\n>>   #include \"openvswitch/types.h\"\n>> +#include \"openvswitch/util.h\"\n>>   #include \"openvswitch/vlog.h\"\n>>   #include \"netdev-linux.h\"\n>>   #include \"netlink.h\"\n>>   #include \"netlink-socket.h\"\n>>   #include \"odp-netlink.h\"\n>> +#include \"odp-util.h\"\n>>   #include \"tc.h\"\n>>   #include \"unaligned.h\"\n>>   #include \"util.h\"\n>> @@ -41,6 +43,76 @@ VLOG_DEFINE_THIS_MODULE(netdev_tc_offloads);\n>>   static struct vlog_rate_limit error_rl = VLOG_RATE_LIMIT_INIT(60, 5);\n>>   \n>>   static struct hmap ufid_tc = HMAP_INITIALIZER(&ufid_tc);\n>> +\n>> +struct netlink_field {\n>> +    int offset;\n>> +    int flower_offset;\n>> +    int size;\n>> +};\n>> +\n>> +static struct netlink_field set_flower_map[][3] = {\n>> +    [OVS_KEY_ATTR_IPV4] = {\n>> +        { offsetof(struct ovs_key_ipv4, ipv4_src),\n>> +          offsetof(struct tc_flower_key, ipv4.ipv4_src),\n>> +          MEMBER_SIZEOF(struct tc_flower_key, ipv4.ipv4_src)\n>> +        },\n>> +        { offsetof(struct ovs_key_ipv4, ipv4_dst),\n>> +          offsetof(struct tc_flower_key, ipv4.ipv4_dst),\n>> +          MEMBER_SIZEOF(struct tc_flower_key, ipv4.ipv4_dst)\n>> +        },\n>> +        { offsetof(struct ovs_key_ipv4, ipv4_ttl),\n>> +          offsetof(struct tc_flower_key, ipv4.rewrite_ttl),\n>> +          MEMBER_SIZEOF(struct tc_flower_key, ipv4.rewrite_ttl)\n>> +        },\n>> +    },\n>> +    [OVS_KEY_ATTR_IPV6] = {\n>> +        { offsetof(struct ovs_key_ipv6, ipv6_src),\n>> +          offsetof(struct tc_flower_key, ipv6.ipv6_src),\n>> +          MEMBER_SIZEOF(struct tc_flower_key, ipv6.ipv6_src)\n>> +        },\n>> +        { offsetof(struct ovs_key_ipv6, ipv6_dst),\n>> +          offsetof(struct tc_flower_key, ipv6.ipv6_dst),\n>> +          MEMBER_SIZEOF(struct tc_flower_key, ipv6.ipv6_dst)\n>> +        },\n>> +    },\n>> +    [OVS_KEY_ATTR_ETHERNET] = {\n>> +        { offsetof(struct ovs_key_ethernet, eth_src),\n>> +          offsetof(struct tc_flower_key, src_mac),\n>> +          MEMBER_SIZEOF(struct tc_flower_key, src_mac)\n>> +        },\n>> +        { offsetof(struct ovs_key_ethernet, eth_dst),\n>> +          offsetof(struct tc_flower_key, dst_mac),\n>> +          MEMBER_SIZEOF(struct tc_flower_key, dst_mac)\n>> +        },\n>> +    },\n>> +    [OVS_KEY_ATTR_ETHERTYPE] = {\n>> +        { 0,\n>> +          offsetof(struct tc_flower_key, eth_type),\n>> +          MEMBER_SIZEOF(struct tc_flower_key, eth_type)\n>> +        },\n>> +    },\n>> +    [OVS_KEY_ATTR_TCP] = {\n>> +        { offsetof(struct ovs_key_tcp, tcp_src),\n>> +          offsetof(struct tc_flower_key, tcp_src),\n>> +          MEMBER_SIZEOF(struct tc_flower_key, tcp_src)\n>> +        },\n>> +        { offsetof(struct ovs_key_tcp, tcp_dst),\n>> +          offsetof(struct tc_flower_key, tcp_dst),\n>> +          MEMBER_SIZEOF(struct tc_flower_key, tcp_dst)\n>> +        },\n>> +    },\n>> +    [OVS_KEY_ATTR_UDP] = {\n>> +        { offsetof(struct ovs_key_udp, udp_src),\n>> +          offsetof(struct tc_flower_key, udp_src),\n>> +          MEMBER_SIZEOF(struct tc_flower_key, udp_src)\n>> +        },\n>> +        { offsetof(struct ovs_key_udp, udp_dst),\n>> +          offsetof(struct tc_flower_key, udp_dst),\n>> +          MEMBER_SIZEOF(struct tc_flower_key, udp_dst)\n>> +        },\n>> +    },\n>> +};\n> \n> Do you have any plans to add the following?\n> \n> \tOVS_KEY_ATTR_ICMP\n> \tOVS_KEY_ATTR_ICMPV6\n> \tOVS_KEY_ATTR_ARP\n> \tOVS_KEY_ATTR_ND\n> \tOVS_KEY_ATTR_SCTP\n> \tOVS_KEY_ATTR_TCP_FLAGS\n> \n> ...\n> \n\n\nYes, if pedit supports them (which I think it should). do you want it \nme to add it to this patchset, for us it would be faster to add those \nlater after this is accepted as we have some inside testsuite for the \ncurrently supported ones and will need to come up with new ones for these.","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\" (1024-bit key;\n\tunprotected) header.d=Mellanox.com header.i=@Mellanox.com\n\theader.b=\"OifipIHD\"; dkim-atps=neutral","spf=none (sender IP is )\n\tsmtp.mailfrom=paulb@mellanox.com; "],"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 3y16RL4PwTz9t4Z\n\tfor <incoming@patchwork.ozlabs.org>;\n\tTue, 26 Sep 2017 00:49:02 +1000 (AEST)","from mail.linux-foundation.org (localhost [127.0.0.1])\n\tby mail.linuxfoundation.org (Postfix) with ESMTP id 63591B55;\n\tMon, 25 Sep 2017 14:48:59 +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 9914EB47\n\tfor <dev@openvswitch.org>; Mon, 25 Sep 2017 14:48:58 +0000 (UTC)","from EUR01-HE1-obe.outbound.protection.outlook.com\n\t(mail-he1eur01on0055.outbound.protection.outlook.com [104.47.0.55])\n\tby smtp1.linuxfoundation.org (Postfix) with ESMTPS id 9816B4B2\n\tfor <dev@openvswitch.org>; Mon, 25 Sep 2017 14:48:57 +0000 (UTC)","from [10.223.3.152] (193.47.165.251) by\n\tAM4PR05MB1633.eurprd05.prod.outlook.com (2a01:111:e400:7a72::12) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.77.7;\n\tMon, 25 Sep 2017 14:48:53 +0000"],"X-Greylist":"whitelisted by SQLgrey-1.7.6","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com;\n\ts=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version;\n\tbh=g7HHBIW/f79bLtqtY9YKxDSgc8Hm/NFEWZD3W4YZjuc=;\n\tb=OifipIHDQZX5VDGeTaQOtxUXTIhkYn8sKlujA14TpTymaR/lKOqqS7eRfxW9GdGg2fni9ViiIbHJYBep5rN2CmQyj3Wkp3S7yIlhOBEIMXENqDxTKJUMUp9ZU9zpGrDzXJVkIvnpGUxm/iK5xPaXQbETrboCsNqEmxzteQGhVIg=","To":"Simon Horman <simon.horman@netronome.com>, Roi Dayan <roid@mellanox.com>","References":"<1505708164-10270-1-git-send-email-roid@mellanox.com>\n\t<1505708164-10270-5-git-send-email-roid@mellanox.com>\n\t<20170918150504.GE25154@vergenet.net>","From":"Paul Blakey <paulb@mellanox.com>","Message-ID":"<845381c4-c24a-8f62-70c2-589048cc9220@mellanox.com>","Date":"Mon, 25 Sep 2017 17:48:49 +0300","User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101\n\tThunderbird/52.3.0","MIME-Version":"1.0","In-Reply-To":"<20170918150504.GE25154@vergenet.net>","Content-Language":"en-US","X-Originating-IP":"[193.47.165.251]","X-ClientProxiedBy":"DB6PR0801CA0055.eurprd08.prod.outlook.com\n\t(2603:10a6:4:2b::23) To AM4PR05MB1633.eurprd05.prod.outlook.com\n\t(2a01:111:e400:7a72::12)","X-MS-PublicTrafficType":"Email","X-MS-Office365-Filtering-Correlation-Id":"ef835127-0021-41ea-aecf-08d504248b19","X-MS-Office365-Filtering-HT":"Tenant","X-Microsoft-Antispam":"UriScan:; BCL:0; PCL:0;\n\tRULEID:(22001)(2017030254152)(48565401081)(2017052603199)(201703131423075)(201703031133081)(201702281549075);\n\tSRVR:AM4PR05MB1633; ","X-Microsoft-Exchange-Diagnostics":["1; AM4PR05MB1633;\n\t3:tr0VT1vAiRTLxLATtyhAvBV+u1jZR/jeMeL0tOdbyZYSxuGwqTLIiuxCBvPj32N33WW+eLDDTwtJUolKQqGaUbeVzSQX/bnjzUboTenUgbcDJY9h1QjnJtBOQp1NqvneQWHndkKhpmG8v/atTXYl3UsoAmuIv/LR1LtRDSNE1bZ/yUTCC2vVjI8OMRG1RL3KYXdRjlLnNdZfQI0ijzuNpELoMqD9NUAFsSpxSAisOVYIDGzFU7ej781JKjyXC/Q0;\n\t25:CYCIKhEYm5fgXIzTZi0ZPxCm9g7MMXHRIwuBqtMA2PQ782V55W/NoNMjPzbY5lUVIo/6VcGd4K3rAgYetAcZAIDCMmlzqrA4rExjaFqW2+xFrh/KE4eTms5mhunGF6+vFIWWEnkoDsUyBwYCRKqCehRYPH6zyh/wx0RsJPd1rmwPUqnhsvUzwPJEK1nFrwPyIjYssxLkpgEB8t4oxXlPpuqNPSdOI/hLm/JtTEzEbZNUwABBPDEaUY4eHL4WgaYJIPcjnugtoy6G22Hkyl+OYQpk3panPcOP4L3+8ksupw9vi91p76BlHvHnoW0LYv+uf4VrgrZ2Geon5ruJax+EfA==;\n\t31:F8CQoeBbPVe+2ClP/HTAOVi+ZXEz6aIPL0H/qeNIxaYJ+YDZI/pwgZ81OlLr9QOwwrxvIgmzQHE2LQu/X0ZI2OkkmFu/crZF9XF4ry4i2VVvIABYIJX8Ov5n+gYsMaAth2JpOAjBSsbpSP4IEa2rwvKGosr2PqILZgQZyqXyrhFYq/Lvs/fg6fruzaIJIzVgXw9k6OGGWRaEAcTzXiPVepjr16J7ng7NGjG9uo6cLkE=","1; AM4PR05MB1633;\n\t20:fZ3YIrNDWaEeInsmrdOv6GY9FiCWQsquOjeF32iy9QHfgyoaW3TwSUY/+AwohZi81jzV7N9beB67lqs67S1qTDXK89U9tM3ZnxDFUTUwUSmmjDVexflJCBv6c7W/MtkvKz+RCJ3WAsPoaUbq6Y2RP5lBGd2ISVqzXRInyuRjK1ijJInL5LdBV8HAz21HA18ss6mzDzxUguBvvdysq7AT1mmnUU2TA3XUwu9a7qd9651Ql8s1+sGwqJfjE+N9vd/28L9BLZmT7zi2tPmNJE/APJ+Lu+58QxFPczyVNx5zrvTE+4Y+OYIxjJkLx2go/m8I7vksKkElTZ1B0x7rlFotElco8BgoxrihSP62e2eRuQc+5vPAHrIg1swBSGKJ9fFYKYnREBOFv6mZErUVQ5dw2COS0GKo2TXIUJAMmzKdHY4P3m7QXOWDLDlghISZNn2CP3+iTtxvDSliH/h3rdvf5GPRUCuNJZqZhX7RMzyfAWzuoJF2JvadeNSjd77T8rVP;\n\t4:aUlGWuaAACioBQIIphTu5rl3RXICbFeh7eR0fUhMP7ds37ZPkkeiHV4yoOZ+w7O3W1AJcZ+oV02r1hwFdGUR4+crQiDqoK9o43sZF2Ygb4mBDwGoVeaVbS2sDpvG9MAZI4dRrNYWZsSGOrjRBbZ4rAkj1aPCMtladl+sV3EKm9wBCqilEr4/kf5SW2KUyY648xZLV43/MEh4D5wm9n+jwNYmGtqaKXXvesx04nMQtVNuyjBUTbpthotOi5r7jwZMijqY0PaCLTf2tkNDQQ41bsxzEaz9hCFRsETIXc20pww=","=?windows-1255?Q?1; AM4PR05MB1633;\n\t23:Jxiy8ZuKVFvaz5QRbvPzN0l2D8MGgyGqaChUo?=\n\t=?cp1255?q?oU0YVobYBZDdFvXpjgw+0WWhqLzLU?=\n\t=?cp1255?q?nD6bpc8+c3KupiKpiqoquKzNTUFRgDGFwxl1FOKfYgoDoLqvQ4KSSSy?=\n\t=?cp1255?q?6AW00wYTqVeO64d4j8fyJWG3jd7wQuyRPrD5jSN/rv5LxfzwSdS8BQN?=\n\t=?cp1255?q?feDnsUTu/RvKYHeFhUXCoKlqvGe5IhkW+/fcW2gG07395TF4NShyvJZ?=\n\t=?cp1255?q?Gqq6b/ts8NsUQZO2u3FEJyjVQPs3IrYzn4zHf/K//6dqp/Mj+WPB4et?=\n\t=?cp1255?q?+aVwdz4JbVkmz0yFuYEja+dHZW++fBx0oE8paIYUpnpZ/A7aBmNWdNn?=\n\t=?cp1255?q?wp/IkM0di5+ex2gargbtOVlrypXGqTDzLITOMOeYdWpuvJYblYxqU6c?=\n\t=?cp1255?q?AXsu86FdS/1FKPkx0QGBnWiQfBmZ2UQH4qLRu6DD9bpNYzrWawYF/OL?=\n\t=?cp1255?q?DL1fEYifaXJTOZs7aVSl5THPEz3kTtMAIGIpTgUIQthKlQpsLLdidcR?=\n\t=?cp1255?q?Bv4rFuxeOeZljN76pGMSBfKOUbxlCOL+VSJcBFai9zqkH/7c601rw43?=\n\t=?cp1255?q?OYRDqrvxC7QqmKY5HfzU+iqsRJnAQ3hdSZapzUNm10ej9AiKQa/7Mg5?=\n\t=?cp1255?q?cUQqPJdinYWTexG1LWfhuaUQTyMflR0gyctIIW9QbqSSyV4aVXh+Sa4?=\n\t=?cp1255?q?yoORj2G2pDAzb9dWsGHMljjRHMHR8d0g923dtTsbGRnAcobtm0Zt47n?=\n\t=?cp1255?q?UpSgtU6PZfqi0ccg9fDg2ARAai9SW7qaEF7CARtcK8K7R+4bRcPW/rN?=\n\t=?cp1255?q?Wm4ILq7wfU733CqIMXnNX/KP2hUrJHHlYDX1SGUZNqN88hKUU/7FIVY?=\n\t=?cp1255?q?CVlPdZQDdPuxL08cJOxeAVZyDI84aQnOKwEdYD9PaLpM6B8xRYLzySi?=\n\t=?cp1255?q?pNOSY0NeA3ZxgaBOcCwFuISdirxnH7APWSgig+DF8xR6H0sPzhUpkSn?=\n\t=?cp1255?q?SqhMv8orTxsNBU29OYQQ/Qj56ID3TYjaVQ177pQ4SioSpMFc++hSu0m?=\n\t=?cp1255?q?mkLPahJi7U5rTemr3y7CyjsW/FITTKn3feXBQSxT2X/eeLKtCJlQ5nA?=\n\t=?cp1255?q?WMAVMEyv7pwowdnGNyaOyGnLAA5HL9e9zhzH6tC6E2O6jurHd2dRTeB?=\n\t=?cp1255?q?V3SIpeWQukiJEr+oB//Z2oorWSFHLczN8mZvQvyaaQBJdbOiD45j2xo?=\n\t=?cp1255?q?eDzZeYTzg9njq24j/TcS5aACNtBaxSoZxpUWqr2AS6mkDWWroKk+zuP?=\n\t=?cp1255?q?kTfv78q2ib1Nme9z0yKX9HyRpuASAm3pJY8f45DeSaYLdJ6qdGziEfv?=\n\t=?cp1255?q?s1k8Rf0Nv1Uryrr9mB+szXx5AFCgP7ADaWhiTkQvGq2l1bBG5P+9qlO?=\n\t=?cp1255?q?2KkUCLK1rzmkV4b8lwqtu8OOSAm68FHFXDsZVqp158ldgzDB0TLqJFD?=\n\t=?cp1255?q?gDAptBvz3GV+sZl7ZvvTPgSteL/LNPHUETknrUnRJg/Q=3D=3D?=","1; AM4PR05MB1633;\n\t6:0YCyAXbnF3oGCuIp4l8UFA5bqAw5Mrxw9nzLKDV3f/9V8UrWgWI3HjK1PBK1tY3La4Eyjr5Z3cewKAPJTYrqtsOFZQKkd2xYVTigUJgGacwqVOX1fHZYWvspI+/9qV5j5tCfkg4jYB0bcf0zILMpOGJ9w+bjyaRx+MejnyZ65rm/aTuwUE5HTNLUiOeIfiAl4TpAOIPGVtz/8KDYgOdY+plfBftKzTpfA+lN3SKqijSGK1ea/gkCU5EMCqqtoHJsnbG2nGvEuHOzDvxpg+5B8FV+C+LewvFwRjDk7kRr0q24udsiHqKpXcZP1zEZww5RhTS+42pvbIbMJ0Wq0eXihA==;\n\t5:tjbNxNwZKRaeYcO28vIAd+jbCDp4KtJdx3sWS7v+cHWnOkheG7QP6qvd9AUagmepoX4wJt+Cr/w26lsb4adUreQBSpLB8GZY/E2L7xIzcFhRSdlg14agkcAEm5T9rB0cPyLq78JpCbOybyqsEU3UfA==;\n\t24:S7KshbD+OeUkW4zNWxybTm9biiOwQI0xVF9OoLwFrB2qLwxNgkbBX45hlzxrzE7wCKwXBm8wWYsPVitV2+2Q3l3+OwOTvump4HZsvUoyz64=;\n\t7:hflYZdk+dlJiciE47qN3UFvFIRLEIS7aEAoikDTd8FN7Z+DCO+ci+M3k9tJBNypshNaSZmf7YlZlCcuLjuN5Vt97x+y5wE1E+rXfbIeee9Q0U7gnD4OacyNv112u12Avl/AksjbTl/mOpr2MiOUt23olo1ZOKJN/zOnjFwqo19qK39omU2NmCqAbg5L7KnKeR42w0C9LfYz+U4djSkNmbAgo2L2XGGzq2a1vEzGm0gM="],"X-MS-TrafficTypeDiagnostic":"AM4PR05MB1633:","X-Exchange-Antispam-Report-Test":"UriScan:(17755550239193);","X-Microsoft-Antispam-PRVS":"<AM4PR05MB16333AE3FC61B60086F3F6FFCF7A0@AM4PR05MB1633.eurprd05.prod.outlook.com>","X-Exchange-Antispam-Report-CFA-Test":"BCL:0; PCL:0;\n\tRULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(8121501046)(5005006)(100000703101)(100105400095)(10201501046)(93006095)(93001095)(3002001)(6055026)(6041248)(20161123558100)(20161123560025)(20161123555025)(20161123562025)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);\n\tSRVR:AM4PR05MB1633; BCL:0; PCL:0;\n\tRULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);\n\tSRVR:AM4PR05MB1633; ","X-Forefront-PRVS":"04410E544A","X-Forefront-Antispam-Report":"SFV:NSPM;\n\tSFS:(10009020)(6009001)(6049001)(346002)(39860400002)(376002)(24454002)(189002)(199003)(65956001)(25786009)(189998001)(65826007)(6666003)(6246003)(305945005)(2906002)(4326008)(39060400002)(5660300001)(33646002)(230783001)(16576012)(105586002)(58126008)(68736007)(16526017)(106356001)(53936002)(6636002)(83506001)(110136005)(97736004)(8676002)(81156014)(81166006)(8936002)(53546010)(3846002)(6116002)(31696002)(316002)(64126003)(3260700006)(7736002)(66066001)(31686004)(86362001)(478600001)(36756003)(65806001)(47776003)(2950100002)(101416001)(230700001)(6486002)(229853002)(50466002)(50986999)(76176999)(77096006)(54356999);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:AM4PR05MB1633; H:[10.223.3.152];\n\tFPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; ","Received-SPF":"None (protection.outlook.com: mellanox.com does not designate\n\tpermitted sender hosts)","SpamDiagnosticOutput":"1:99","SpamDiagnosticMetadata":"NSPM","X-OriginatorOrg":"Mellanox.com","X-MS-Exchange-CrossTenant-OriginalArrivalTime":"25 Sep 2017 14:48:53.5124\n\t(UTC)","X-MS-Exchange-CrossTenant-FromEntityHeader":"Hosted","X-MS-Exchange-CrossTenant-Id":"a652971c-7d2e-4d9b-a6a4-d149256f461b","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"AM4PR05MB1633","X-Spam-Status":"No, score=-0.1 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,\n\tDKIM_VALID_AU,RCVD_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 4/4] netdev-tc-offloads: Add support for\n\taction set","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-Transfer-Encoding":"7bit","Content-Type":"text/plain; charset=\"us-ascii\"; Format=\"flowed\"","Sender":"ovs-dev-bounces@openvswitch.org","Errors-To":"ovs-dev-bounces@openvswitch.org"}},{"id":1776138,"web_url":"http://patchwork.ozlabs.org/comment/1776138/","msgid":"<20170927085556.GA25449@vergenet.net>","list_archive_url":null,"date":"2017-09-27T08:55:57","subject":"Re: [ovs-dev] [PATCH V2 4/4] netdev-tc-offloads: Add support for\n\taction set","submitter":{"id":64714,"url":"http://patchwork.ozlabs.org/api/people/64714/","name":"Simon Horman","email":"simon.horman@netronome.com"},"content":"On Mon, Sep 25, 2017 at 05:48:49PM +0300, Paul Blakey wrote:\n> \n> \n> On 18/09/2017 18:05, Simon Horman wrote:\n> >On Mon, Sep 18, 2017 at 07:16:04AM +0300, Roi Dayan wrote:\n> >>From: Paul Blakey <paulb@mellanox.com>\n> >>\n> >>Implement support for offloading ovs action set using\n> >>tc header rewrite action.\n> >>\n> >>Signed-off-by: Paul Blakey <paulb@mellanox.com>\n> >>Reviewed-by: Roi Dayan <roid@mellanox.com>\n> >>---\n> >>  lib/netdev-tc-offloads.c | 201 +++++++++++++++++++++++++++++++++++++++++++++--\n> >>  1 file changed, 195 insertions(+), 6 deletions(-)\n> >>\n> >>diff --git a/lib/netdev-tc-offloads.c b/lib/netdev-tc-offloads.c\n> >>index 3c145c2..4044a77 100644\n> >>--- a/lib/netdev-tc-offloads.c\n> >>+++ b/lib/netdev-tc-offloads.c\n> >>@@ -27,11 +27,13 @@\n> >>  #include \"openvswitch/ofpbuf.h\"\n> >>  #include \"openvswitch/thread.h\"\n> >>  #include \"openvswitch/types.h\"\n> >>+#include \"openvswitch/util.h\"\n> >>  #include \"openvswitch/vlog.h\"\n> >>  #include \"netdev-linux.h\"\n> >>  #include \"netlink.h\"\n> >>  #include \"netlink-socket.h\"\n> >>  #include \"odp-netlink.h\"\n> >>+#include \"odp-util.h\"\n> >>  #include \"tc.h\"\n> >>  #include \"unaligned.h\"\n> >>  #include \"util.h\"\n> >>@@ -41,6 +43,76 @@ VLOG_DEFINE_THIS_MODULE(netdev_tc_offloads);\n> >>  static struct vlog_rate_limit error_rl = VLOG_RATE_LIMIT_INIT(60, 5);\n> >>  static struct hmap ufid_tc = HMAP_INITIALIZER(&ufid_tc);\n> >>+\n> >>+struct netlink_field {\n> >>+    int offset;\n> >>+    int flower_offset;\n> >>+    int size;\n> >>+};\n> >>+\n> >>+static struct netlink_field set_flower_map[][3] = {\n> >>+    [OVS_KEY_ATTR_IPV4] = {\n> >>+        { offsetof(struct ovs_key_ipv4, ipv4_src),\n> >>+          offsetof(struct tc_flower_key, ipv4.ipv4_src),\n> >>+          MEMBER_SIZEOF(struct tc_flower_key, ipv4.ipv4_src)\n> >>+        },\n> >>+        { offsetof(struct ovs_key_ipv4, ipv4_dst),\n> >>+          offsetof(struct tc_flower_key, ipv4.ipv4_dst),\n> >>+          MEMBER_SIZEOF(struct tc_flower_key, ipv4.ipv4_dst)\n> >>+        },\n> >>+        { offsetof(struct ovs_key_ipv4, ipv4_ttl),\n> >>+          offsetof(struct tc_flower_key, ipv4.rewrite_ttl),\n> >>+          MEMBER_SIZEOF(struct tc_flower_key, ipv4.rewrite_ttl)\n> >>+        },\n> >>+    },\n> >>+    [OVS_KEY_ATTR_IPV6] = {\n> >>+        { offsetof(struct ovs_key_ipv6, ipv6_src),\n> >>+          offsetof(struct tc_flower_key, ipv6.ipv6_src),\n> >>+          MEMBER_SIZEOF(struct tc_flower_key, ipv6.ipv6_src)\n> >>+        },\n> >>+        { offsetof(struct ovs_key_ipv6, ipv6_dst),\n> >>+          offsetof(struct tc_flower_key, ipv6.ipv6_dst),\n> >>+          MEMBER_SIZEOF(struct tc_flower_key, ipv6.ipv6_dst)\n> >>+        },\n> >>+    },\n> >>+    [OVS_KEY_ATTR_ETHERNET] = {\n> >>+        { offsetof(struct ovs_key_ethernet, eth_src),\n> >>+          offsetof(struct tc_flower_key, src_mac),\n> >>+          MEMBER_SIZEOF(struct tc_flower_key, src_mac)\n> >>+        },\n> >>+        { offsetof(struct ovs_key_ethernet, eth_dst),\n> >>+          offsetof(struct tc_flower_key, dst_mac),\n> >>+          MEMBER_SIZEOF(struct tc_flower_key, dst_mac)\n> >>+        },\n> >>+    },\n> >>+    [OVS_KEY_ATTR_ETHERTYPE] = {\n> >>+        { 0,\n> >>+          offsetof(struct tc_flower_key, eth_type),\n> >>+          MEMBER_SIZEOF(struct tc_flower_key, eth_type)\n> >>+        },\n> >>+    },\n> >>+    [OVS_KEY_ATTR_TCP] = {\n> >>+        { offsetof(struct ovs_key_tcp, tcp_src),\n> >>+          offsetof(struct tc_flower_key, tcp_src),\n> >>+          MEMBER_SIZEOF(struct tc_flower_key, tcp_src)\n> >>+        },\n> >>+        { offsetof(struct ovs_key_tcp, tcp_dst),\n> >>+          offsetof(struct tc_flower_key, tcp_dst),\n> >>+          MEMBER_SIZEOF(struct tc_flower_key, tcp_dst)\n> >>+        },\n> >>+    },\n> >>+    [OVS_KEY_ATTR_UDP] = {\n> >>+        { offsetof(struct ovs_key_udp, udp_src),\n> >>+          offsetof(struct tc_flower_key, udp_src),\n> >>+          MEMBER_SIZEOF(struct tc_flower_key, udp_src)\n> >>+        },\n> >>+        { offsetof(struct ovs_key_udp, udp_dst),\n> >>+          offsetof(struct tc_flower_key, udp_dst),\n> >>+          MEMBER_SIZEOF(struct tc_flower_key, udp_dst)\n> >>+        },\n> >>+    },\n> >>+};\n> >\n> >Do you have any plans to add the following?\n> >\n> >\tOVS_KEY_ATTR_ICMP\n> >\tOVS_KEY_ATTR_ICMPV6\n> >\tOVS_KEY_ATTR_ARP\n> >\tOVS_KEY_ATTR_ND\n> >\tOVS_KEY_ATTR_SCTP\n> >\tOVS_KEY_ATTR_TCP_FLAGS\n> >\n> >...\n> >\n> \n> \n> Yes, if pedit supports them (which I think it should). do you want it me to\n> add it to this patchset, for us it would be faster to add those later after\n> this is accepted as we have some inside testsuite for the currently\n> supported ones and will need to come up with new ones for these.\n\nLater is fine by me.","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=\"wlwsAC9/\"; 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 3y2BWC40Tkz9t5l\n\tfor <incoming@patchwork.ozlabs.org>;\n\tWed, 27 Sep 2017 18:56:07 +1000 (AEST)","from mail.linux-foundation.org (localhost [127.0.0.1])\n\tby mail.linuxfoundation.org (Postfix) with ESMTP id 9B26A8E3;\n\tWed, 27 Sep 2017 08:56:03 +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 2EAB1305\n\tfor <dev@openvswitch.org>; Wed, 27 Sep 2017 08:56:02 +0000 (UTC)","from mail-wm0-f51.google.com (mail-wm0-f51.google.com\n\t[74.125.82.51])\n\tby smtp1.linuxfoundation.org (Postfix) with ESMTPS id 6BB623ED\n\tfor <dev@openvswitch.org>; Wed, 27 Sep 2017 08:56:01 +0000 (UTC)","by mail-wm0-f51.google.com with SMTP id q124so15572862wmb.0\n\tfor <dev@openvswitch.org>; Wed, 27 Sep 2017 01:56:01 -0700 (PDT)","from vergenet.net ([217.111.208.18])\n\tby smtp.gmail.com with ESMTPSA id\n\tw73sm2847172wmw.31.2017.09.27.01.55.58\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tWed, 27 Sep 2017 01:55:59 -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=Mdp2Kc2PS913i/n+yZgBXS92qZEMGZSXflf2B02fFdc=;\n\tb=wlwsAC9/hJLQ+tleVOHupQspWPtQKOYm29KGYIJyDE5jh9HIwQDMnrmsdXns3wZDwr\n\tNFN/BDGla9EMtvGzOUtmOJO4w+VBgwAipZjmoSOzMVKZnD8BCCJht2BtYjUuiWpzAXMX\n\tNqDqz6mdW56yC3I/QC4e1WaAjZdwB8AAW+PX7hDhF2JO9lhBJi2TC4gKkEWsLdJpS2bM\n\t/vgs4iM+KhIrJboF3h7+bxkdwhXk39bxaB6OAzFXEjMUBD6bTBVLj1S/BRjteqvolhNB\n\tP7kB8Vm1Bqfv4lrPPx92hpNE18jZB03OzhpJZxb3vr+E8fQdLuM1Aa43hD/x2//auft/\n\tgf0A==","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=Mdp2Kc2PS913i/n+yZgBXS92qZEMGZSXflf2B02fFdc=;\n\tb=hySyQI25ZJJFfQLCKUTo2pyJCEMoPDnV6jfBq0qpG0w30WndyjrmDcBr1QMpH2R37M\n\t5kTIYM8dPLcARDsdwfcSV5MWeyVcikN8sQD2Q9nNOvQ6pguHwmwJ7HNVzh6eilwaSyDg\n\tvorRU3N7039q+tKMsY15w2/P5LB4QlqAsFKGXyuOjErn/l0MtqmKa+r4ekF8f5D/2dpw\n\tUZ/8aCYbQ7Ka3a5EZfwzo5XEJMOEiiOsr22OKGy7cLJQLm9Mdj/iqkoHI3QRPdt1Tvo2\n\tIndsHcjjpo/MmaVg+3i4qyIxXMq8uVsczJq+QkzBh4o7T6Ml4nFD/PzJ4UpGC5MjITEN\n\tvgHA==","X-Gm-Message-State":"AHPjjUhElZ1ALOudLBN3YVxVR9U6d46349rGAHAKidqu8C67VTgEL1CH\n\tDV+8yxQ61PIyMJ/aTgZ08SmHIA==","X-Google-Smtp-Source":"AOwi7QA5zincEV/yFajiV+WetvV+kr3PrijOUH8N8D9tVwpBQ1byLlfrRmfVBwrChXSAvSf8foMytw==","X-Received":"by 10.28.140.18 with SMTP id o18mr914373wmd.145.1506502560028;\n\tWed, 27 Sep 2017 01:56:00 -0700 (PDT)","Date":"Wed, 27 Sep 2017 10:55:57 +0200","From":"Simon Horman <simon.horman@netronome.com>","To":"Paul Blakey <paulb@mellanox.com>","Message-ID":"<20170927085556.GA25449@vergenet.net>","References":"<1505708164-10270-1-git-send-email-roid@mellanox.com>\n\t<1505708164-10270-5-git-send-email-roid@mellanox.com>\n\t<20170918150504.GE25154@vergenet.net>\n\t<845381c4-c24a-8f62-70c2-589048cc9220@mellanox.com>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<845381c4-c24a-8f62-70c2-589048cc9220@mellanox.com>","User-Agent":"Mutt/1.5.23 (2014-03-12)","X-Spam-Status":"No, score=0.5 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,\n\tRCVD_IN_DNSWL_NONE,\n\tRCVD_IN_SORBS_SPAM 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 4/4] netdev-tc-offloads: Add support for\n\taction set","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":1806892,"web_url":"http://patchwork.ozlabs.org/comment/1806892/","msgid":"<20171118195202.GQ25853@dev-rhel7>","list_archive_url":null,"date":"2017-11-18T19:52:02","subject":"Re: [ovs-dev] [PATCH V2 4/4] netdev-tc-offloads: Add support for\n\taction set","submitter":{"id":69083,"url":"http://patchwork.ozlabs.org/api/people/69083/","name":"Eric Garver","email":"e@erig.me"},"content":"On Mon, Sep 18, 2017 at 07:16:04AM +0300, Roi Dayan wrote:\n> From: Paul Blakey <paulb@mellanox.com>\n> \n> Implement support for offloading ovs action set using\n> tc header rewrite action.\n> \n> Signed-off-by: Paul Blakey <paulb@mellanox.com>\n> Reviewed-by: Roi Dayan <roid@mellanox.com>\n> ---\n>  lib/netdev-tc-offloads.c | 201 +++++++++++++++++++++++++++++++++++++++++++++--\n>  1 file changed, 195 insertions(+), 6 deletions(-)\n> \n> diff --git a/lib/netdev-tc-offloads.c b/lib/netdev-tc-offloads.c\n> index 3c145c2..4044a77 100644\n> --- a/lib/netdev-tc-offloads.c\n> +++ b/lib/netdev-tc-offloads.c\n[...]\n> @@ -457,14 +575,77 @@ netdev_tc_flow_dump_next(struct netdev_flow_dump *dump,\n>  }\n>  \n>  static int\n> +parse_put_flow_set_masked_action(struct tc_flower *flower,\n> +                                 const struct nlattr *set,\n> +                                 size_t set_len,\n> +                                 bool hasmask)\n> +{\n> +    static struct vlog_rate_limit rl = VLOG_RATE_LIMIT_INIT(5, 20);\n> +    char *set_buff[set_len], *set_data, *set_mask;\n\nThis variable length array is causing some travis-ci failures.\n\nhttps://travis-ci.org/erig0/ovs/jobs/304068614#L1428\n\n> +    char *key = (char *) &flower->rewrite.key;\n> +    char *mask = (char *) &flower->rewrite.mask;\n> +    const struct nlattr *attr;\n> +    int i, j, type;\n> +    size_t size;\n> +\n> +    /* copy so we can set attr mask to 0 for used ovs key struct members  */\n> +    memcpy(set_buff, set, set_len);\n> +    attr = (struct nlattr *) set_buff;\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>)","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 3yfQc76QqSz9s0Z\n\tfor <incoming@patchwork.ozlabs.org>;\n\tSun, 19 Nov 2017 06:52:06 +1100 (AEDT)","from mail.linux-foundation.org (localhost [127.0.0.1])\n\tby mail.linuxfoundation.org (Postfix) with ESMTP id 39FFD94B;\n\tSat, 18 Nov 2017 19:52:03 +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 A106A8DC\n\tfor <dev@openvswitch.org>; Sat, 18 Nov 2017 19:52:02 +0000 (UTC)","from mx1.redhat.com (mx1.redhat.com [209.132.183.28])\n\tby smtp1.linuxfoundation.org (Postfix) with ESMTPS id 2A7FB149\n\tfor <dev@openvswitch.org>; Sat, 18 Nov 2017 19:52:02 +0000 (UTC)","from smtp.corp.redhat.com\n\t(int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11])\n\t(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby mx1.redhat.com (Postfix) with ESMTPS id 652D2C0587C9;\n\tSat, 18 Nov 2017 19:52:01 +0000 (UTC)","from dev-rhel7 (wsfd-netdev-vmhost.ntdv.lab.eng.bos.redhat.com\n\t[10.19.188.17])\n\tby smtp.corp.redhat.com (Postfix) with ESMTPS id E9CF618B48;\n\tSat, 18 Nov 2017 19:52:00 +0000 (UTC)"],"X-Greylist":["from auto-whitelisted by SQLgrey-1.7.6","Sender IP whitelisted, not delayed by milter-greylist-4.5.16\n\t(mx1.redhat.com [10.5.110.32]);\n\tSat, 18 Nov 2017 19:52:01 +0000 (UTC)"],"Date":"Sat, 18 Nov 2017 14:52:02 -0500","From":"Eric Garver <e@erig.me>","To":"Roi Dayan <roid@mellanox.com>","Message-ID":"<20171118195202.GQ25853@dev-rhel7>","Mail-Followup-To":"Eric Garver <e@erig.me>, Roi Dayan <roid@mellanox.com>,\n\tdev@openvswitch.org, Simon Horman <simon.horman@netronome.com>","References":"<1505708164-10270-1-git-send-email-roid@mellanox.com>\n\t<1505708164-10270-5-git-send-email-roid@mellanox.com>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<1505708164-10270-5-git-send-email-roid@mellanox.com>","User-Agent":"Mutt/1.8.0 (2017-02-23)","X-Scanned-By":"MIMEDefang 2.79 on 10.5.11.11","X-Spam-Status":"No, score=-5.0 required=5.0 tests=RCVD_IN_DNSWL_HI\n\tautolearn=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, Simon Horman <simon.horman@netronome.com>","Subject":"Re: [ovs-dev] [PATCH V2 4/4] netdev-tc-offloads: Add support for\n\taction set","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":1806929,"web_url":"http://patchwork.ozlabs.org/comment/1806929/","msgid":"<2cb740cb-1012-4f02-4fb6-b1c0168c5143@mellanox.com>","list_archive_url":null,"date":"2017-11-19T06:55:30","subject":"Re: [ovs-dev] [PATCH V2 4/4] netdev-tc-offloads: Add support for\n\taction set","submitter":{"id":70307,"url":"http://patchwork.ozlabs.org/api/people/70307/","name":"Roi Dayan","email":"roid@mellanox.com"},"content":"On 18/11/2017 21:52, Eric Garver wrote:\n> On Mon, Sep 18, 2017 at 07:16:04AM +0300, Roi Dayan wrote:\n>> From: Paul Blakey <paulb@mellanox.com>\n>>\n>> Implement support for offloading ovs action set using\n>> tc header rewrite action.\n>>\n>> Signed-off-by: Paul Blakey <paulb@mellanox.com>\n>> Reviewed-by: Roi Dayan <roid@mellanox.com>\n>> ---\n>>   lib/netdev-tc-offloads.c | 201 +++++++++++++++++++++++++++++++++++++++++++++--\n>>   1 file changed, 195 insertions(+), 6 deletions(-)\n>>\n>> diff --git a/lib/netdev-tc-offloads.c b/lib/netdev-tc-offloads.c\n>> index 3c145c2..4044a77 100644\n>> --- a/lib/netdev-tc-offloads.c\n>> +++ b/lib/netdev-tc-offloads.c\n> [...]\n>> @@ -457,14 +575,77 @@ netdev_tc_flow_dump_next(struct netdev_flow_dump *dump,\n>>   }\n>>   \n>>   static int\n>> +parse_put_flow_set_masked_action(struct tc_flower *flower,\n>> +                                 const struct nlattr *set,\n>> +                                 size_t set_len,\n>> +                                 bool hasmask)\n>> +{\n>> +    static struct vlog_rate_limit rl = VLOG_RATE_LIMIT_INIT(5, 20);\n>> +    char *set_buff[set_len], *set_data, *set_mask;\n> \n> This variable length array is causing some travis-ci failures.\n> \n> https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Ftravis-ci.org%2Ferig0%2Fovs%2Fjobs%2F304068614%23L1428&data=02%7C01%7Croid%40mellanox.com%7Cf9ed27b7842a469ed82108d52ebdd78a%7Ca652971c7d2e4d9ba6a4d149256f461b%7C0%7C0%7C636466315259075642&sdata=JWFePd31SemecEG3uXGmPKlP3csDO2QhSB5zszl8X8k%3D&reserved=0\n\nthanks Eric. we forgot to go through travis for this feature.\nWe tried to avoid malloc/free here. we'll fix this.\n\n> \n>> +    char *key = (char *) &flower->rewrite.key;\n>> +    char *mask = (char *) &flower->rewrite.mask;\n>> +    const struct nlattr *attr;\n>> +    int i, j, type;\n>> +    size_t size;\n>> +\n>> +    /* copy so we can set attr mask to 0 for used ovs key struct members  */\n>> +    memcpy(set_buff, set, set_len);\n>> +    attr = (struct nlattr *) set_buff;\n>> +\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\" (1024-bit key;\n\tunprotected) header.d=Mellanox.com header.i=@Mellanox.com\n\theader.b=\"kCB6h6X6\"; dkim-atps=neutral","spf=none (sender IP is )\n\tsmtp.mailfrom=roid@mellanox.com; "],"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 3yfjKr3SQjz9ryv\n\tfor <incoming@patchwork.ozlabs.org>;\n\tSun, 19 Nov 2017 17:55:44 +1100 (AEDT)","from mail.linux-foundation.org (localhost [127.0.0.1])\n\tby mail.linuxfoundation.org (Postfix) with ESMTP id 2ACCD8DC;\n\tSun, 19 Nov 2017 06:55:41 +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 B98AB710\n\tfor <dev@openvswitch.org>; Sun, 19 Nov 2017 06:55:39 +0000 (UTC)","from EUR01-HE1-obe.outbound.protection.outlook.com\n\t(mail-he1eur01on0052.outbound.protection.outlook.com [104.47.0.52])\n\tby smtp1.linuxfoundation.org (Postfix) with ESMTPS id BBCF9F1\n\tfor <dev@openvswitch.org>; Sun, 19 Nov 2017 06:55:38 +0000 (UTC)","from [10.223.0.122] (193.47.165.251) by\n\tAM4PR0501MB2242.eurprd05.prod.outlook.com (2603:10a6:200:52::25) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.218.12;\n\tSun, 19 Nov 2017 06:55:34 +0000"],"X-Greylist":"whitelisted by SQLgrey-1.7.6","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com;\n\ts=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version;\n\tbh=TNsWSfCDtIS4trmxEvbIHoGbqKXJdIDewiJbXYaFo9Q=;\n\tb=kCB6h6X6uVydnPb2lwHNdLWxsz3/WsrsdzZeoPLbfOege/gn/yZT1i9P8CJZWivEGaTnAi2W5YRZ5JQf1Ah5q/hBCzQmJJ5fhJPL8zIPbHmzpT0vZfmV9F86TkSz4rmAhv736tnMqqSx6QNPCocV8iQmpjEeiPpUh6BNRe+nZg0=","To":"Eric Garver <e@erig.me>, dev@openvswitch.org,\n\tSimon Horman <simon.horman@netronome.com>,\n\tPaul Blakey <paulb@mellanox.com>","References":"<1505708164-10270-1-git-send-email-roid@mellanox.com>\n\t<1505708164-10270-5-git-send-email-roid@mellanox.com>\n\t<20171118195202.GQ25853@dev-rhel7>","From":"Roi Dayan <roid@mellanox.com>","Message-ID":"<2cb740cb-1012-4f02-4fb6-b1c0168c5143@mellanox.com>","Date":"Sun, 19 Nov 2017 08:55:30 +0200","User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101\n\tThunderbird/52.4.0","MIME-Version":"1.0","In-Reply-To":"<20171118195202.GQ25853@dev-rhel7>","Content-Language":"en-US","X-Originating-IP":"[193.47.165.251]","X-ClientProxiedBy":"VI1PR0701CA0043.eurprd07.prod.outlook.com\n\t(2603:10a6:800:90::29) To AM4PR0501MB2242.eurprd05.prod.outlook.com\n\t(2603:10a6:200:52::25)","X-MS-PublicTrafficType":"Email","X-MS-Office365-Filtering-Correlation-Id":"e4b55d88-9349-4f15-f5a5-08d52f1a8885","X-MS-Office365-Filtering-HT":"Tenant","X-Microsoft-Antispam":"UriScan:; BCL:0; PCL:0;\n\tRULEID:(22001)(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(48565401081)(2017052603199);\n\tSRVR:AM4PR0501MB2242; ","X-Microsoft-Exchange-Diagnostics":["1; AM4PR0501MB2242;\n\t3:3I3eWBWSPiGgpD83WcIpeEYZLKZvCqjQfDsDPnKkmu+G7IZoJJ3AROZWb90gV2TVegO3qBvpXVjtQN94TmefwxdizSEi7Eiof9DXFxTFCjHzIhwyB9p0SHnziCOCWFMTdppIuUbRWUBPBmuxoy2kmf8iX5P+MVuOYQ4uZOuEkxf2+57Xeo043pzpNjHZv9hM4bb5YxpegKCJs53pu7dB/SOfLfW0xix1m8ZpIqMwIE2J2p59euZrVAauKLQFoJPt;\n\t25:PNOH3ohbrRU9XevzI7Mx2rLifpggkDzW3x1Sac6ujwpGCjTIgGvY5ME3SdW+6nRCQvo1uon148lLlTeYDIemRKbvp7kiokzl2HCu9Fmcv91O9VEeVpL0fVKMvqwMl1bSj+NNBvmi6eZ3qC7JxOJ0KDFrh1YyMvGfYXVU25y2lSx86lw3awtPIqal5RZxUMgSgDr2I/G3FnO/RWL4F9IGQe7XzH88f8MyVha85pioP2d0SHnD4orr+igiicAC/sfVfN/iUlbQKdFns7DKClHA/g9XsbX3r9B8hc41IZ0z0Nx7B4UptNcYmi9mebjylTUeJX0T5nbhmtmzY8xu2uPARQ==;\n\t31:7r+oRZuNQliCfBpAj8uClqkDc+jjN4yQNyeA/3fMDw1+w2GZtp+IF0bBrAnpZNnsbySdb4IVWyIpIbL1q0ZPHkcjtUwpPn/BRJSouqOiXTQUpdFciOp/htWWKnwnsE/Sw9MVwPpjPy4U0oKVVPYEWkOMtqV6e5c9m9z8EKC3nLILw+wuX1hzaJAYkrkgiX31vsBZj929Kyr7EvhaubDAErIDIEw7apb0/cBbR5uYYT8=","1; AM4PR0501MB2242;\n\t20:b+QEhd+LpCDSAIveVCkb8Fx7HKZ3u442JKdQhYMNhQz2nOqkSFeBIlbEuHTdxgsjqBTP9iMxDOEdHeFNNRrBWXcYe7SNSz7N1eF2XsMIksEqXB8AjENsuYLD1iTjxB50tgpLWrOfgEjpPV1VNIH9falxQ/ti4YAkxfL5qx4lRw5UO+cwC96O99F8AFbPP1ygTsW6VKw6krZwDcwZfJf8GHAMYUvFJiOZxJd7Gc78wGe0fOg8ofv28nB1durohk2sVqwc5A1MvPe5vAoTkBJ5H4Wptx4DHkTdCCmlG7wmww8HD6ppuUHgGlsczvNaBJFpfAr0Pkwtfa4FK0gYkLrHXRsZXgDH6Zkc1DKTfqlLgdFfepKlWdjKfZki8U6xaXACn+ziryHqsg6akm2PKPZrCxyS5VXfVacuIdJTbDKI+HgqM49w1QBoGT7wgijt6oWeUYsxVDJBNMivjRyjPS0UitoC3NQpBEReY3B2LehYnW6PwItUQP6VcAWtRO7oa7e3;\n\t4:GU41L/6bl0nYShXYKYuWQIo8iYfA17xagDQDCQYBqeOOIfLsW5LDcYPNE217XNmygzEr6tXxD/fSXIft24R96ko5T9e0+Kd4JxSH1g8QsjC8QUTFE+3TRqLF6AFEZVqlh9udHVC+pGIvhZzz05rAsRVGIXVE11+9ybhaMVyZJE1wkmdtAN6cN1+zKBKpPNMYAjLfsz+GaCGYSLIOM/lO4+ECzLDOGr0Gnle7Zseyo0NmqkO6Qe3DC1zDgWF8jAN1cGvHhwhI+/rmeA4GNXPjSBmX0omxNcj/TEz6q+Lv9QwhuhPxRd8OYRL4FESlV6Z55FiMspaqXAGp+TOnJd5/Or7IFPGQZ3Ja21KvsaBCGhQ=","=?utf-8?q?1=3BAM4PR0501MB2242=3B23=3A2Q?=\n\t=?utf-8?q?AlDzDvLB/Fn3TVIazpbqvb1+8UMAq3WfpmRqoI8VfMGjRco77C4SnExP?=\n\t=?utf-8?q?4EgoIzA0qw26xGYYDKVRsrEnRjMX0lLLufcClIcCiFglVQ/nIn9DGPlN?=\n\t=?utf-8?q?5gPUrUsSTOkRtUzFI/T5c0/TwIjJL5VpjIXFQWGJLe5+YZU969PDuZKn?=\n\t=?utf-8?q?+1kArU0z01qshntqv3ILqlybQvtdSOJcKRcRolwC1OUCCX9uyzMbOwE+?=\n\t=?utf-8?q?99MDVGJ4TFnRzGiqNvoU2SZm1mscNdGP+L18SFAKf9+YRAvyLoz0XvdC?=\n\t=?utf-8?q?xUfA0QCgWjv9vh5WCLavskQMep9ZxEIMUiZyDGUQ6l3s51h+cCX5a3X0?=\n\t=?utf-8?q?1895ea23kendsxTGMcdZR9fCrdrbRVyORIxVSs7wOKjvo6Q8VGyG9ta9?=\n\t=?utf-8?q?LofbSx/VHbR3GCGrYVDutNSPE0SS/NOMu24PLqzVyE08alNQyQljkYj3?=\n\t=?utf-8?q?sWKqn8YKnNdx4O0jgfBX8siKP8I/a5MglQ3+2w0r0PkCBZedo6FMK516?=\n\t=?utf-8?q?smQ6mWxXvJsv6Pu9rggozixA/Hg7c7+aGrMVifUWldtZcF3qr8pCVwi4?=\n\t=?utf-8?q?sH457Rrdwq42+nPUg6SeiaMobKgJWG6I7fqqQUepsxMq7ln97RfKJKu6?=\n\t=?utf-8?q?vYdXVi0fAcUZMxOSWqs3ouNafIBjl/9ql6SE1sbN8zg1o4e/qrjWN8fN?=\n\t=?utf-8?q?C+cvs/Ees/sPwQW7ktvN3NBf9P+b8brL0Om88aDmLRAWL8cVs8qPYQsm?=\n\t=?utf-8?q?jk/OOZOVV36NihoV5ntbqKT9SFDRUqSWjAwcco9Cy6kLahykPVgIyj3U?=\n\t=?utf-8?q?WdMYNoHRlP6pfboLom2/l6Ts5huKLcuQ1zNkbx8hS9Xj5oOHmZLDbJs9?=\n\t=?utf-8?q?k6Ys5zjRwGxBVwy3IeTlmpthUwWPkHfMtjjmYuqBctXoV6uSssbtCuB2?=\n\t=?utf-8?q?O36ntk6z/UiJc6hJSzDUwGK5dQc5ciVbLMl9XjbpYrhRGODjDlIdDPJr?=\n\t=?utf-8?q?nhTAd4mzYmvWX5q8HiqTUEPnvSNN/wSkgGQaxyXPLIwpAcTAx+qxbwFj?=\n\t=?utf-8?q?wxcV90oNriLao5kxRYybMso7uDAu/x904AE8SaGsCgfzTC3+OtRx/HIh?=\n\t=?utf-8?q?p/108y6r0iUu8mHiDWl1oII6X2GpPrVLTZ9Bvwlcaju1H/NK1XCZKXYh?=\n\t=?utf-8?q?EwjdkamPpakTdutUkJ6yQT7gtTlTS3BwkK7UCP7VTAzk11wTiQN7fDLB?=\n\t=?utf-8?q?rwnuoFyklEvP7PdWctkGVpglN2OPzt6C8aeliOzONDQNcweMcxxIVpHy?=\n\t=?utf-8?q?lyE9eCtMtjiXCUPf+4L8g9stdpvYssY5DjJwAlh2kPSEb4ivzZfLqO+0?=\n\t=?utf-8?q?R6Jo0ea43hgWAKKe5mLBJL4U1E4tVUPmWtWXEHALqu8YRHjFZEbOcBDT?=\n\t=?utf-8?q?HNuz+JTh/D5fRQPnsf2EZdRwcd6qShKgzhBBEYZFW68yxZ3kowlTxj0G?=\n\t=?utf-8?q?OTSnfwPmfc9trAZ8BSjBsYfc1izlrD4t2QPAZv89qepzVBBrpZR8ixOj?=\n\t=?utf-8?q?JyMS5H07Vbvi9FmEAItM71digHtQSl8Tmw0rZQ1qmJ9aoowppWwhEiaD?=\n\t=?utf-8?q?M=3D?=","1; AM4PR0501MB2242;\n\t6:h9it8Xk6c/Rjpa79RRJijVVgZOmJUrc8U1ya7x9XH7/KK9ai4aS7FPB+zis8TV52+BE2SVKIsePJwTgL4kY5e0c4z6V0WjGuMev7naxDrFv7k3RKqa5lvRkEJ8TaDKXu7nl1/eI1FqkADRXUKh8yQQNQmTViIZV8KM6+Cm4kjmxaQYEEGAQAOggYTYAet9HcbNhs1MUgjNANFfBncZSlecOIGb2QmenEMuzJvGv+fk/zWcYAKqIDDVTHI2+jgw6Vw86B4XDoxA7HwVxM1JXOhgxNuqvMEk9Wsgesc6BWw52whe/9ctc3mqVYi2FtibPfSAUQFsrkDHY2s5CVK+x0XA8BkJsc+yZBzaGZo9tmPPs=;\n\t5:5iew/lOl3FaPhIGANrA/e2CAXe7hkxGBQJRWzgydNg/aDJ+2uf2U9n1HuftwxXQHsiQeB6lE7cLqJOCgv7cU6a3wdnkst4ZYguBYRCe/sVIDlmA2ZrhGV3WvCBnwc28PT4NXj6rPhj9C7MNJwxyKa5qFYxIqAFdPccG4jBDBuNw=;\n\t24:FQk8Vaw+CpjdOfX5VCZSMDtPmCmhgau+0zftglA7O6ZJhGcJ0S9hixsZa/jeOzQEDQ2jV2lLdumJudyymMA5buM4cOXy8GJs4Sa33a4TXAE=;\n\t7:uhduEZb1nbn3+mxo3pAsWf0iFcxFb5+ZtWwawqQHYCg0I1njy3euAiI9nOOzjxjXTlY3JeoUdfYnJwTTHOya7FIKVSvndmkNGNtoQGpSO0wNN7fQ91If6WtIgD1GCpG3ha1X86jhO59m2UocoSvNELDKmxSN8cqzaDnUNZKU/LRsSZuMWXzs1YnOVF36WLRrmVq87jnapELFV+3wz2/f/Zohuy0jViXq30UJGo+u4rjoVpnJwDAKIfDWjs6fry2X"],"X-MS-TrafficTypeDiagnostic":"AM4PR0501MB2242:","X-Microsoft-Antispam-PRVS":"<AM4PR0501MB224253BAC90C4FF6E6E369BAB52D0@AM4PR0501MB2242.eurprd05.prod.outlook.com>","X-Exchange-Antispam-Report-Test":"UriScan:(189930954265078)(45079756050767);","X-Exchange-Antispam-Report-CFA-Test":"BCL:0; PCL:0;\n\tRULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(8121501046)(5005006)(3231022)(93006095)(93001095)(10201501046)(100000703101)(100105400095)(3002001)(6055026)(6041248)(20161123560025)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123555025)(20161123558100)(20161123564025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);\n\tSRVR:AM4PR0501MB2242; BCL:0; PCL:0;\n\tRULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);\n\tSRVR:AM4PR0501MB2242; ","X-Forefront-PRVS":"0496DF6962","X-Forefront-Antispam-Report":"SFV:NSPM;\n\tSFS:(10009020)(6049001)(6009001)(376002)(346002)(39860400002)(189002)(199003)(24454002)(3846002)(45080400002)(23676003)(16526018)(83506002)(67846002)(966005)(77096006)(229853002)(6486002)(2950100002)(65826007)(3260700006)(25786009)(5660300001)(6666003)(6636002)(2906002)(230783001)(16576012)(58126008)(8936002)(316002)(81166006)(81156014)(8676002)(305945005)(7736002)(110136005)(97736004)(50986999)(86362001)(31696002)(53546010)(6306002)(6116002)(65956001)(65806001)(230700001)(39060400002)(106356001)(33646002)(66066001)(105586002)(68736007)(36756003)(478600001)(47776003)(31686004)(64126003)(50466002)(54356999)(189998001)(53936002)(101416001)(6246003)(76176999)(781001);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:AM4PR0501MB2242; H:[10.223.0.122];\n\tFPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; ","Received-SPF":"None (protection.outlook.com: mellanox.com does not designate\n\tpermitted sender hosts)","SpamDiagnosticOutput":"1:99","SpamDiagnosticMetadata":"NSPM","X-OriginatorOrg":"Mellanox.com","X-MS-Exchange-CrossTenant-OriginalArrivalTime":"19 Nov 2017 06:55:34.2678\n\t(UTC)","X-MS-Exchange-CrossTenant-Network-Message-Id":"e4b55d88-9349-4f15-f5a5-08d52f1a8885","X-MS-Exchange-CrossTenant-FromEntityHeader":"Hosted","X-MS-Exchange-CrossTenant-Id":"a652971c-7d2e-4d9b-a6a4-d149256f461b","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"AM4PR0501MB2242","X-Spam-Status":"No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED,\n\tDKIM_VALID, DKIM_VALID_AU,\n\tRCVD_IN_DNSWL_NONE autolearn=ham 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 4/4] netdev-tc-offloads: Add support for\n\taction set","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-Transfer-Encoding":"7bit","Content-Type":"text/plain; charset=\"us-ascii\"; Format=\"flowed\"","Sender":"ovs-dev-bounces@openvswitch.org","Errors-To":"ovs-dev-bounces@openvswitch.org"}}]