From patchwork Sat Jan 13 08:00:03 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: 124413 Delivered-To: patch@linaro.org Received: by 10.46.64.148 with SMTP id r20csp64681lje; Sat, 13 Jan 2018 00:01:50 -0800 (PST) X-Google-Smtp-Source: ACJfBoso+VBiuldoK4i69/jOa5muDH9mj9lxq+KYbBewv/sZwf/xdaTxskPmD8q1xh2c8Z5e8XJb X-Received: by 10.200.10.11 with SMTP id b11mr41425120qti.287.1515830510242; Sat, 13 Jan 2018 00:01:50 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1515830510; cv=none; d=google.com; s=arc-20160816; b=zwOOY5Too8fOyu1iecBsXS7e+VrcioIhE2MZjRCWAjz93F0XQbAOl327Et/6n5jlpG v2GS9L0qedGSFyfFzb8wR4TI7CXoJQvo1JWusi+GwXBZNpFYrLK6HX+6e8G+lCTRGocx Ny1ci6p7OnkoBenxqM2xm5xFKbNa4v17gnllSPPdj3J+bLdozZ+nzbfw3E/cYia7PUbB 2clrsi6vYSKw/iCF45X8a7oW5f7LZ3qfG1KvnmdXfPY2KbWLdpKeS3rltlXa6jOE8h7g kBmsjAUB1sR7cPTB6wI0u8eLZhB4t00GpZH+GoBEFxCdU20rNJDB7XQM5wU9WW9WSsE4 XBww== 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=lyx8WOlAYP2u0OUFV9vOXwYEdJ/tF4jfKgifRE9QlV0=; b=H2jxCkQARAshImoAmH2RXNWnQiuGZWWXtHmGklUSMxPtUemLJ38sMImL9gJvTLN/2S 5UvoWOD/oFIz7yxY2Y16X7aYhuCfTkw97EwzFG2jBVEEd0rcbbqBXYoixTUhRAB79Sdl mqLuW0D4ugfY5GXegbwlJtslH5q3vqtng4oZEg+aQk1taTNKreVunTCjF/doVY485QI3 Wl4eN6MAOLS6KHyuKXNQHKXlh/19UVNsO+AwHmpwMIIhL7Jn2WyXKp0nkVtIEFMdotOI Cy1hc5i6gE/21BjwJ3WYyLbv6TGifUM7E8UmY/VfNS03SaRZCQQTkaeW2HD4EQaDYOFB RIUQ== 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 x7si3097871qkd.52.2018.01.13.00.01.49; Sat, 13 Jan 2018 00:01:50 -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 E52296150E; Sat, 13 Jan 2018 08:01:49 +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 1BF9E616B9; Sat, 13 Jan 2018 08: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 99A676173A; Sat, 13 Jan 2018 08:00:23 +0000 (UTC) Received: from forward106j.mail.yandex.net (forward106j.mail.yandex.net [5.45.198.249]) by lists.linaro.org (Postfix) with ESMTPS id 05D3761727 for ; Sat, 13 Jan 2018 08:00:12 +0000 (UTC) Received: from mxback13j.mail.yandex.net (mxback13j.mail.yandex.net [IPv6:2a02:6b8:0:1619::88]) by forward106j.mail.yandex.net (Yandex) with ESMTP id B080818035A6 for ; Sat, 13 Jan 2018 11:00:10 +0300 (MSK) Received: from smtp4j.mail.yandex.net (smtp4j.mail.yandex.net [2a02:6b8:0:1619::15:6]) by mxback13j.mail.yandex.net (nwsmtp/Yandex) with ESMTP id huBUDbF32A-0AdWeSl4; Sat, 13 Jan 2018 11:00:10 +0300 Received: by smtp4j.mail.yandex.net (nwsmtp/Yandex) with ESMTPSA id 8Hzdfi2ypg-0AYO43g0; Sat, 13 Jan 2018 11:00:10 +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: Sat, 13 Jan 2018 11:00:03 +0300 Message-Id: <1515830407-13301-4-git-send-email-odpbot@yandex.ru> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1515830407-13301-1-git-send-email-odpbot@yandex.ru> References: <1515830407-13301-1-git-send-email-odpbot@yandex.ru> Github-pr-num: 389 Subject: [lng-odp] [PATCH v2][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: 29d9c9fa8235c01897c72e823b57525e37f896d3 **/ 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);