From patchwork Sat Feb 17 02:00:11 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: 128653 Delivered-To: patch@linaro.org Received: by 10.46.124.24 with SMTP id x24csp1170397ljc; Fri, 16 Feb 2018 18:00:54 -0800 (PST) X-Google-Smtp-Source: AH8x225N17lCEdt0njG9pNhIFCgKk/D9U49FwnFORJxud5KH3/5eb0z0mgTMoCsYX+RjyXab1Lsm X-Received: by 10.200.63.123 with SMTP id w56mr13205590qtk.318.1518832854223; Fri, 16 Feb 2018 18:00:54 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1518832854; cv=none; d=google.com; s=arc-20160816; b=mjB6NKe9W/zAc0o4zbCEOX3NfBdqnKsiRl/hgatOO3RICGEdg3h0C9PbBZYYiJi3nZ dD2rlkxVg+zjsERbRbAFvb3A6+T+S7qRquRmiZIuwx0nxZHs5nA7v5oKjOo7YGhOfvkj gVfKQbG7/k/DPzGsbePUBrATEdwPTkwdLI0dI+OyDer6kMIqIwzOxuFu1ize2aKK2VLk m9nrhz82wY9nxvKGH7Wg39PhZoac1ddDzwmdcbVIv0+6/XWqDJQblmkAAGwQviqzcX8d q6HuqAxv3VvjmLxe5lNaPSadznZTT7UG01hrEy2rZ/x8RznNym76t6ru6s1Cb4XyNHeI s9GQ== 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=eHN8yFLBUPGbvqZJz+Fg2I7/Ja3CGtXJs7n4yW2fiC8=; b=sEqn5aQvkK6zVeK2xG9Og2oXF50cB8kW3lNWAtwNHe9y3bF/IprXPQcCo7GbXhaljn ZAO+h8KNl5psFUZWJVSPkC2km+nLqQnUc/f9O5HfhkAH+BlS+AKS/ibJPgCSQXmOWv+9 e5lqYOo4gJzZqdB2olO1PRPcOVJZuxsm3eDHh7uVWd42t6to0MIAm+I4ujs+dIWCA5J+ y1NBpOIUe+d9rkMf1kjm98z62OIgEEU3p1+8E0KMq4dtcXorA2ybUDv5RsY4fYADIRxt HCFv7vZ7IzYPFUTRZ/MqPaZuqLf5q6LLwhGB5Ud18A8doH5weYizTLZ2+ul2N96hxWct xbtg== 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 21si478463qkv.14.2018.02.16.18.00.53; Fri, 16 Feb 2018 18:00:54 -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 C6B1A61510; Sat, 17 Feb 2018 02:00:53 +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_H2 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 6AFB761755; Sat, 17 Feb 2018 02:00:20 +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 7F00661753; Sat, 17 Feb 2018 02:00:17 +0000 (UTC) Received: from forward105o.mail.yandex.net (forward105o.mail.yandex.net [37.140.190.183]) by lists.linaro.org (Postfix) with ESMTPS id 69E806174A for ; Sat, 17 Feb 2018 02:00:15 +0000 (UTC) Received: from mxback19j.mail.yandex.net (mxback19j.mail.yandex.net [IPv6:2a02:6b8:0:1619::95]) by forward105o.mail.yandex.net (Yandex) with ESMTP id 02D9D44447B0 for ; Sat, 17 Feb 2018 05:00:14 +0300 (MSK) Received: from smtp4p.mail.yandex.net (smtp4p.mail.yandex.net [2a02:6b8:0:1402::15:6]) by mxback19j.mail.yandex.net (nwsmtp/Yandex) with ESMTP id fpYHTg7ktC-0DVaQBJX; Sat, 17 Feb 2018 05:00:13 +0300 Received: by smtp4p.mail.yandex.net (nwsmtp/Yandex) with ESMTPSA id 68cOr1qqrt-0DSq8lwf; Sat, 17 Feb 2018 05:00:13 +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, 17 Feb 2018 05:00:11 +0300 Message-Id: <1518832812-30752-2-git-send-email-odpbot@yandex.ru> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1518832812-30752-1-git-send-email-odpbot@yandex.ru> References: <1518832812-30752-1-git-send-email-odpbot@yandex.ru> Github-pr-num: 463 Subject: [lng-odp] [PATCH API-NEXT v2 1/2] linux-gen: packet: implement packet l3/l4 proto types 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 463 (lumag:packet-types-3) ** https://github.com/Linaro/odp/pull/463 ** Patch: https://github.com/Linaro/odp/pull/463.patch ** Base sha: 27328232ed2f01dd70aa431f5fa19bd058014305 ** Merge commit sha: 3ec0fc44633d6121faf2394ffb88fdfd1867402b **/ platform/linux-generic/odp_packet.c | 38 +++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/platform/linux-generic/odp_packet.c b/platform/linux-generic/odp_packet.c index 82001103b..46b11cba1 100644 --- a/platform/linux-generic/odp_packet.c +++ b/platform/linux-generic/odp_packet.c @@ -2505,3 +2505,41 @@ int odp_packet_has_ref(odp_packet_t pkt) return 0; } + +odp_proto_l3_type_t odp_packet_l3_type(odp_packet_t pkt) +{ + odp_packet_hdr_t *pkt_hdr = packet_hdr(pkt); + + if (pkt_hdr->p.input_flags.ipv4) + return ODP_PROTO_L3_TYPE_IPV4; + else if (pkt_hdr->p.input_flags.ipv6) + return ODP_PROTO_L3_TYPE_IPV6; + else if (pkt_hdr->p.input_flags.arp) + return ODP_PROTO_L3_TYPE_ARP; + + return ODP_PROTO_L3_TYPE_NONE; +} + +odp_proto_l4_type_t odp_packet_l4_type(odp_packet_t pkt) +{ + odp_packet_hdr_t *pkt_hdr = packet_hdr(pkt); + + if (pkt_hdr->p.input_flags.tcp) + return ODP_PROTO_L4_TYPE_TCP; + else if (pkt_hdr->p.input_flags.udp) + return ODP_PROTO_L4_TYPE_UDP; + else if (pkt_hdr->p.input_flags.sctp) + return ODP_PROTO_L4_TYPE_SCTP; + else if (pkt_hdr->p.input_flags.ipsec_ah) + return ODP_PROTO_L4_TYPE_AH; + else if (pkt_hdr->p.input_flags.ipsec_esp) + return ODP_PROTO_L4_TYPE_ESP; + else if (pkt_hdr->p.input_flags.icmp && + pkt_hdr->p.input_flags.ipv4) + return ODP_PROTO_L4_TYPE_ICMPV4; + else if (pkt_hdr->p.input_flags.icmp && + pkt_hdr->p.input_flags.ipv6) + return ODP_PROTO_L4_TYPE_ICMPV6; + + return ODP_PROTO_L4_TYPE_NONE; +} From patchwork Sat Feb 17 02:00:12 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: 128654 Delivered-To: patch@linaro.org Received: by 10.46.124.24 with SMTP id x24csp1170859ljc; Fri, 16 Feb 2018 18:01:25 -0800 (PST) X-Google-Smtp-Source: AH8x225eQVU4RUErgOn/mTGeMEu1ueTLnd97ALFQkrKrFCeuNtOPKRvNc8A7hT05Re9f3YmGvsRL X-Received: by 10.55.217.73 with SMTP id u70mr12581105qki.223.1518832885162; Fri, 16 Feb 2018 18:01:25 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1518832885; cv=none; d=google.com; s=arc-20160816; b=CAXMVXkUU7hsh+YPwA6hNBi33US6G6yj3R0SyFvM3+EgmACwtEghVZM+AiBvsZucbc Z//NUlRR/lY2g3mohSWpJk96+2E1sK2KlOoDOAnIM+GXng4iCveddahwo/32OFdehg+0 QaUirUDTOPdSrbvA+umYq8d6W8VX02TeD/8U8YZhct1ntpWkwW8beITJKHUPEW4ksZJg V/hVSnhp7hiC54yukrqthohbjdOsSybVowkbQ3jH+ciihzii6oIXLmfV3HqL30zv4OrS zOcGKpaHv/5mFOKB2AkBZB3FAzXxlStQ3UbMATX/ux3EQxSsUJGk30VoU/dej6DoFrjp vfgA== 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=Wz88AaMkrbct7mp+IjaMXpfLxGf03EHdezRfg9GvNtY=; b=fB5+DStnzc5ViTAqoIAdCuhMX6weAQX0R7WLt4DqrOE2138L7d8QzBhnCks17AoWy6 uhJS9JWF0nZrhM19MTRkA5Yy3sP6/ZoFrgX7FMJuXv/ZS9+oP/pyiw3E4YVmJywLhGhy N+TvTKnosZ5BVQSf3jE7XMvKMsmlhkmYTI5f7HzDl2N2clpfETY6BchYTt/Ei9MYszUq CIqyRVGMJ18ogNYyHYPfxVgNdjh0zuov/LBCVo4+j9rUZ7Y/uWojwH8A9WPSfHffRYJW vqD0zDknGJ5yyUKG9AENauFJLcki4IDv3mvX7fTLNy/A0R3jG2UYUqvBcAJD8xugt/fo kGDg== 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 h5si769532qtb.154.2018.02.16.18.01.24; Fri, 16 Feb 2018 18:01:25 -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 D0BA66177F; Sat, 17 Feb 2018 02:01:24 +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_H2 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 D44476081B; Sat, 17 Feb 2018 02:00:23 +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 3B4416174A; Sat, 17 Feb 2018 02:00:18 +0000 (UTC) Received: from forward100j.mail.yandex.net (forward100j.mail.yandex.net [5.45.198.240]) by lists.linaro.org (Postfix) with ESMTPS id 4CEB3616F6 for ; Sat, 17 Feb 2018 02:00:16 +0000 (UTC) Received: from mxback7o.mail.yandex.net (mxback7o.mail.yandex.net [IPv6:2a02:6b8:0:1a2d::21]) by forward100j.mail.yandex.net (Yandex) with ESMTP id 81F895D8467C for ; Sat, 17 Feb 2018 05:00:14 +0300 (MSK) Received: from smtp4p.mail.yandex.net (smtp4p.mail.yandex.net [2a02:6b8:0:1402::15:6]) by mxback7o.mail.yandex.net (nwsmtp/Yandex) with ESMTP id mE1QZkiy5u-0EBu1Mo1; Sat, 17 Feb 2018 05:00:14 +0300 Received: by smtp4p.mail.yandex.net (nwsmtp/Yandex) with ESMTPSA id 68cOr1qqrt-0ESeQ90H; Sat, 17 Feb 2018 05:00:14 +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, 17 Feb 2018 05:00:12 +0300 Message-Id: <1518832812-30752-3-git-send-email-odpbot@yandex.ru> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1518832812-30752-1-git-send-email-odpbot@yandex.ru> References: <1518832812-30752-1-git-send-email-odpbot@yandex.ru> Github-pr-num: 463 Subject: [lng-odp] [PATCH API-NEXT v2 2/2] validation: api: check l3/l4 proto types after parsing 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 463 (lumag:packet-types-3) ** https://github.com/Linaro/odp/pull/463 ** Patch: https://github.com/Linaro/odp/pull/463.patch ** Base sha: 27328232ed2f01dd70aa431f5fa19bd058014305 ** Merge commit sha: 3ec0fc44633d6121faf2394ffb88fdfd1867402b **/ test/validation/api/packet/packet.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/test/validation/api/packet/packet.c b/test/validation/api/packet/packet.c index 7d19e0125..f829d0cb1 100644 --- a/test/validation/api/packet/packet.c +++ b/test/validation/api/packet/packet.c @@ -2552,6 +2552,10 @@ void packet_test_parse(void) CU_ASSERT(odp_packet_has_udp(pkt[i])); CU_ASSERT(!odp_packet_has_ipv6(pkt[i])); CU_ASSERT(!odp_packet_has_tcp(pkt[i])); + CU_ASSERT_EQUAL(odp_packet_l3_type(pkt[i]), + ODP_PROTO_L3_TYPE_IPV4); + CU_ASSERT_EQUAL(odp_packet_l4_type(pkt[i]), + ODP_PROTO_L4_TYPE_UDP); } odp_packet_free_multi(pkt, num_pkt); @@ -2582,6 +2586,10 @@ void packet_test_parse(void) CU_ASSERT(odp_packet_has_udp(pkt[i])); CU_ASSERT(!odp_packet_has_ipv6(pkt[i])); CU_ASSERT(!odp_packet_has_tcp(pkt[i])); + CU_ASSERT_EQUAL(odp_packet_l3_type(pkt[i]), + ODP_PROTO_L3_TYPE_IPV4); + CU_ASSERT_EQUAL(odp_packet_l4_type(pkt[i]), + ODP_PROTO_L4_TYPE_UDP); } odp_packet_free_multi(pkt, num_pkt); @@ -2612,6 +2620,10 @@ void packet_test_parse(void) CU_ASSERT(odp_packet_has_tcp(pkt[i])); CU_ASSERT(!odp_packet_has_ipv6(pkt[i])); CU_ASSERT(!odp_packet_has_udp(pkt[i])); + CU_ASSERT_EQUAL(odp_packet_l3_type(pkt[i]), + ODP_PROTO_L3_TYPE_IPV4); + CU_ASSERT_EQUAL(odp_packet_l4_type(pkt[i]), + ODP_PROTO_L4_TYPE_TCP); } odp_packet_free_multi(pkt, num_pkt); @@ -2643,6 +2655,10 @@ void packet_test_parse(void) CU_ASSERT(odp_packet_has_udp(pkt[i])); CU_ASSERT(!odp_packet_has_ipv4(pkt[i])); CU_ASSERT(!odp_packet_has_tcp(pkt[i])); + CU_ASSERT_EQUAL(odp_packet_l3_type(pkt[i]), + ODP_PROTO_L3_TYPE_IPV6); + CU_ASSERT_EQUAL(odp_packet_l4_type(pkt[i]), + ODP_PROTO_L4_TYPE_UDP); } odp_packet_free_multi(pkt, num_pkt); @@ -2674,6 +2690,10 @@ void packet_test_parse(void) CU_ASSERT(odp_packet_has_tcp(pkt[i])); CU_ASSERT(!odp_packet_has_ipv4(pkt[i])); CU_ASSERT(!odp_packet_has_udp(pkt[i])); + CU_ASSERT_EQUAL(odp_packet_l3_type(pkt[i]), + ODP_PROTO_L3_TYPE_IPV6); + CU_ASSERT_EQUAL(odp_packet_l4_type(pkt[i]), + ODP_PROTO_L4_TYPE_TCP); } odp_packet_free_multi(pkt, num_pkt);