From patchwork Sat Jan 13 23:00:09 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Github ODP bot X-Patchwork-Id: 124429 Delivered-To: patch@linaro.org Received: by 10.46.64.148 with SMTP id r20csp230383lje; Sat, 13 Jan 2018 15:01:43 -0800 (PST) X-Google-Smtp-Source: ACJfBoue4vZ5YcymTxj1vLRJg+0c61QKYabAnN0dTthe/lh0/BR3JkLxC9XAKgNf6+O9s2oKcUe+ X-Received: by 10.55.79.83 with SMTP id d80mr1922343qkb.328.1515884503064; Sat, 13 Jan 2018 15:01:43 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1515884503; cv=none; d=google.com; s=arc-20160816; b=Tl/Yy8uxosGzjKRQcOwIuW1pRKVC2+kelBev2GHueMuWaBedbfxvk7IyPJ4ETFzpi5 OlqytHbpsTFRfW6X3r7b7F2VuOkEhar0Zwiabuj5olG86ic1DPq3h3ohKDN5tmNxjkTd a1KNYA5kWhp0to0SxxJOz6qxr/s4u4pOa9xj+I+dwjrhNgpEbMLlEG3cU5PkDbX10wni QWT5dplE6EbNRlIdLy5b1QAI1hYgaeF4S2CQzU3kIT1vMR9vse6TOvUjaOrSnTs+g+OP 7mdjo8ALMTlpkm4VAHc7Ta6VVa5smgfMtLZjeMwsgPb4QzovhagsiV2vJhaExBd1x/MP eEBw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:subject:github-pr-num :references:in-reply-to:message-id:date:to:from:delivered-to :arc-authentication-results; bh=+zTAn7UXRfjvDg90fy8qELexTs0lQCImaKt7/JXkhVo=; b=razWV9jrDhZWLNKaAbrJTdYYgjUpVY0K+9E7LSkjU1sq0j0ZQvQ4IijJ0PUn9OSyhw QFruNVN6HaoudVBKGhVZvd9KSBXsEGzOgaIaBCnoQmbCP1l7GdVqyi1ZxYnZwHqXnDlX vofseK1jJe+RQqB88DppS0SH+zbfwcr/Fk1YEln5JBYa38DtABL7sscHIzTYRdtt+O/Q BwxfwBBe6z2VpyCYTzkRCLNuRgxtMqgDbGPjXW4JgRRaxtc0KqLDc9uq568hqXGalCBQ Dydsms4zLHrtxyxXvoGmMX/2vrmx+DGchmSVfW8aXMhL1bMqkZOKm1Nn7kbEzEc+/w/N /RXw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.197.127.237 as permitted sender) smtp.mailfrom=lng-odp-bounces@lists.linaro.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=yandex.ru Return-Path: Received: from lists.linaro.org (ec2-54-197-127-237.compute-1.amazonaws.com. [54.197.127.237]) by mx.google.com with ESMTP id w1si448732qte.433.2018.01.13.15.01.42; Sat, 13 Jan 2018 15:01:43 -0800 (PST) Received-SPF: pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.197.127.237 as permitted sender) client-ip=54.197.127.237; Authentication-Results: mx.google.com; spf=pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.197.127.237 as permitted sender) smtp.mailfrom=lng-odp-bounces@lists.linaro.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=yandex.ru Received: by lists.linaro.org (Postfix, from userid 109) id B4004609BB; Sat, 13 Jan 2018 23:01:42 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on ip-10-142-244-252 X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,FREEMAIL_FROM, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL autolearn=disabled version=3.4.0 Received: from [127.0.0.1] (localhost [127.0.0.1]) by lists.linaro.org (Postfix) with ESMTP id 3424C6173A; Sat, 13 Jan 2018 23:00:31 +0000 (UTC) X-Original-To: lng-odp@lists.linaro.org Delivered-To: lng-odp@lists.linaro.org Received: by lists.linaro.org (Postfix, from userid 109) id A5A4160997; Sat, 13 Jan 2018 23:00:22 +0000 (UTC) Received: from forward101j.mail.yandex.net (forward101j.mail.yandex.net [5.45.198.241]) by lists.linaro.org (Postfix) with ESMTPS id 097BD60997 for ; Sat, 13 Jan 2018 23:00:19 +0000 (UTC) Received: from mxback18j.mail.yandex.net (mxback18j.mail.yandex.net [IPv6:2a02:6b8:0:1619::94]) by forward101j.mail.yandex.net (Yandex) with ESMTP id 5F3571242E25 for ; Sun, 14 Jan 2018 02:00:17 +0300 (MSK) Received: from smtp3o.mail.yandex.net (smtp3o.mail.yandex.net [2a02:6b8:0:1a2d::27]) by mxback18j.mail.yandex.net (nwsmtp/Yandex) with ESMTP id J7AzMmybxB-0HPqd1gc; Sun, 14 Jan 2018 02:00:17 +0300 Received: by smtp3o.mail.yandex.net (nwsmtp/Yandex) with ESMTPSA id OeJ5YhkKll-0GxWjk9p; Sun, 14 Jan 2018 02:00:16 +0300 (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (Client certificate not present) From: Github ODP bot To: lng-odp@lists.linaro.org Date: Sun, 14 Jan 2018 02:00:09 +0300 Message-Id: <1515884413-15125-4-git-send-email-odpbot@yandex.ru> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1515884413-15125-1-git-send-email-odpbot@yandex.ru> References: <1515884413-15125-1-git-send-email-odpbot@yandex.ru> Github-pr-num: 389 Subject: [lng-odp] [PATCH v3][WIP 3/7] linux-gen: pktio: introduce checksum settings X-BeenThere: lng-odp@lists.linaro.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: "The OpenDataPlane \(ODP\) List" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: lng-odp-bounces@lists.linaro.org Sender: "lng-odp" From: Dmitry Eremin-Solenikov Signed-off-by: Dmitry Eremin-Solenikov --- /** Email created from pull request 389 (lumag:parse-checksums) ** https://github.com/Linaro/odp/pull/389 ** Patch: https://github.com/Linaro/odp/pull/389.patch ** Base sha: 49ebafae0edebbc750742d8874ad0a7588286dea ** Merge commit sha: e6a448356c90f142122e5b5d4796bdf19e04e8c6 **/ platform/linux-generic/include/odp_packet_io_internal.h | 1 + platform/linux-generic/odp_packet_io.c | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/platform/linux-generic/include/odp_packet_io_internal.h b/platform/linux-generic/include/odp_packet_io_internal.h index 25e037182..851515810 100644 --- a/platform/linux-generic/include/odp_packet_io_internal.h +++ b/platform/linux-generic/include/odp_packet_io_internal.h @@ -151,6 +151,7 @@ struct pktio_entry { odp_pktio_config_t config; /**< Device configuration */ classifier_t cls; /**< classifier linked with this pktio*/ odp_pktio_stats_t stats; /**< statistic counters for pktio */ + odp_proto_chksums_t in_chksums; /**< Checksums validation settings */ enum { STATS_SYSFS = 0, STATS_ETHTOOL, diff --git a/platform/linux-generic/odp_packet_io.c b/platform/linux-generic/odp_packet_io.c index ffbc73b26..1f1d46423 100644 --- a/platform/linux-generic/odp_packet_io.c +++ b/platform/linux-generic/odp_packet_io.c @@ -432,6 +432,12 @@ int odp_pktio_config(odp_pktio_t hdl, const odp_pktio_config_t *config) entry->s.config = *config; + entry->s.in_chksums.all_chksum = 0; + entry->s.in_chksums.chksum.ipv4 = config->pktin.bit.ipv4_chksum; + entry->s.in_chksums.chksum.tcp = config->pktin.bit.tcp_chksum; + entry->s.in_chksums.chksum.udp = config->pktin.bit.udp_chksum; + entry->s.in_chksums.chksum.sctp = config->pktin.bit.sctp_chksum; + if (entry->s.ops->config) res = entry->s.ops->config(entry, config);