{"id":808521,"url":"http://patchwork.ozlabs.org/api/patches/808521/?format=json","web_url":"http://patchwork.ozlabs.org/project/netdev/patch/20170901035345.15512-1-orson.zhai@linaro.org/","project":{"id":7,"url":"http://patchwork.ozlabs.org/api/projects/7/?format=json","name":"Linux network development","link_name":"netdev","list_id":"netdev.vger.kernel.org","list_email":"netdev@vger.kernel.org","web_url":null,"scm_url":null,"webscm_url":null,"list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20170901035345.15512-1-orson.zhai@linaro.org>","list_archive_url":null,"date":"2017-09-01T03:53:45","name":"[RFC] tools: selftests: psock_tpacket: skip un-supported tpacket_v3 test","commit_ref":null,"pull_url":null,"state":"rfc","archived":true,"hash":"75779ca0cd00eb136ca90ed08119ae736eda4805","submitter":{"id":72273,"url":"http://patchwork.ozlabs.org/api/people/72273/?format=json","name":"Orson Zhai","email":"orson.zhai@linaro.org"},"delegate":{"id":34,"url":"http://patchwork.ozlabs.org/api/users/34/?format=json","username":"davem","first_name":"David","last_name":"Miller","email":"davem@davemloft.net"},"mbox":"http://patchwork.ozlabs.org/project/netdev/patch/20170901035345.15512-1-orson.zhai@linaro.org/mbox/","series":[{"id":945,"url":"http://patchwork.ozlabs.org/api/series/945/?format=json","web_url":"http://patchwork.ozlabs.org/project/netdev/list/?series=945","date":"2017-09-01T03:53:45","name":"[RFC] tools: selftests: psock_tpacket: skip un-supported tpacket_v3 test","version":1,"mbox":"http://patchwork.ozlabs.org/series/945/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/808521/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/808521/checks/","tags":{},"related":[],"headers":{"Return-Path":"<netdev-owner@vger.kernel.org>","X-Original-To":"patchwork-incoming@ozlabs.org","Delivered-To":"patchwork-incoming@ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=netdev-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xk5982GHkz9sNr\n\tfor <patchwork-incoming@ozlabs.org>;\n\tFri,  1 Sep 2017 13:59:40 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751367AbdIAD7g (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tThu, 31 Aug 2017 23:59:36 -0400","from sci-ig2.spreadtrum.com ([222.66.158.135]:55238 \"EHLO\n\tSHSQR01.spreadtrum.com\" rhost-flags-OK-FAIL-OK-OK) by vger.kernel.org\n\twith ESMTP id S1750762AbdIAD7e (ORCPT\n\t<rfc822;netdev@vger.kernel.org>); Thu, 31 Aug 2017 23:59:34 -0400","from ig2.spreadtrum.com (shmbx03.spreadtrum.com [10.0.1.208])\n\tby SHSQR01.spreadtrum.com with ESMTP id v813wtZD009771\n\t(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);\n\tFri, 1 Sep 2017 11:58:55 +0800 (CST)\n\t(envelope-from Orson.Zhai@spreadtrum.com)","from SHCAS02.spreadtrum.com (10.0.1.202) by SHMBX03.spreadtrum.com\n\t(10.0.1.208) with Microsoft SMTP Server (TLS) id 15.0.847.32;\n\tFri, 1 Sep 2017 11:58:57 +0800","from localhost (10.0.73.143) by SHCAS02.spreadtrum.com (10.0.1.250)\n\twith Microsoft SMTP Server (TLS) id 15.0.847.32 via Frontend\n\tTransport; Fri, 1 Sep 2017 11:58:56 +0800"],"From":"Orson Zhai <orson.zhai@linaro.org>","To":"\"David S . Miller\" <davem@davemloft.net>, Shuah Khan <shuah@kernel.org>","CC":"<netdev@vger.kernel.org>, <linux-kselftest@vger.kernel.org>,\n\t<linux-kernel@vger.kernel.org>, Orson Zhai <orson.zhai@linaro.org>","Subject":"[RFC] tools: selftests: psock_tpacket: skip un-supported tpacket_v3\n\ttest","Date":"Fri, 1 Sep 2017 11:53:45 +0800","Message-ID":"<20170901035345.15512-1-orson.zhai@linaro.org>","X-Mailer":"git-send-email 2.12.2","MIME-Version":"1.0","Content-Type":"text/plain","X-MAIL":"SHSQR01.spreadtrum.com v813wtZD009771","Sender":"netdev-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netdev.vger.kernel.org>","X-Mailing-List":"netdev@vger.kernel.org"},"content":"The TPACKET_V3 test of PACKET_TX_RING will fail with kernel version\nlower than v4.11. Supported code of tx ring was add with commit id\n<7f953ab2ba46: af_packet: TX_RING support for TPACKET_V3> at Jan. 3\nof 2017.\n\nSo skip this item test instead of reporting failing for old kernels.\n\nSigned-off-by: Orson Zhai <orson.zhai@linaro.org>\n---\n tools/testing/selftests/net/psock_tpacket.c | 17 ++++++++++++++---\n 1 file changed, 14 insertions(+), 3 deletions(-)","diff":"diff --git a/tools/testing/selftests/net/psock_tpacket.c b/tools/testing/selftests/net/psock_tpacket.c\nindex 7f6cd9fdacf3..f0cfc18c3726 100644\n--- a/tools/testing/selftests/net/psock_tpacket.c\n+++ b/tools/testing/selftests/net/psock_tpacket.c\n@@ -57,6 +57,7 @@\n #include <net/if.h>\n #include <inttypes.h>\n #include <poll.h>\n+#include <errno.h>\n \n #include \"psock_lib.h\"\n \n@@ -676,7 +677,7 @@ static void __v3_fill(struct ring *ring, unsigned int blocks, int type)\n \tring->flen = ring->req3.tp_block_size;\n }\n \n-static void setup_ring(int sock, struct ring *ring, int version, int type)\n+static int setup_ring(int sock, struct ring *ring, int version, int type)\n {\n \tint ret = 0;\n \tunsigned int blocks = 256;\n@@ -703,7 +704,11 @@ static void setup_ring(int sock, struct ring *ring, int version, int type)\n \n \tif (ret == -1) {\n \t\tperror(\"setsockopt\");\n-\t\texit(1);\n+\t\tif (errno == EINVAL) {\n+\t\t\tprintf(\"[SKIP] This type seems un-supported in current kernel, skipped.\\n\");\n+\t\t\treturn -1;\n+\t\t} else\n+\t\t\texit(1);\n \t}\n \n \tring->rd_len = ring->rd_num * sizeof(*ring->rd);\n@@ -715,6 +720,7 @@ static void setup_ring(int sock, struct ring *ring, int version, int type)\n \n \ttotal_packets = 0;\n \ttotal_bytes = 0;\n+\treturn 0;\n }\n \n static void mmap_ring(int sock, struct ring *ring)\n@@ -830,7 +836,12 @@ static int test_tpacket(int version, int type)\n \n \tsock = pfsocket(version);\n \tmemset(&ring, 0, sizeof(ring));\n-\tsetup_ring(sock, &ring, version, type);\n+\tif(setup_ring(sock, &ring, version, type)) {\n+\t\t/* skip test when error of invalid argument */\n+\t\tclose(sock);\n+\t\treturn 0;\n+\t}\n+\n \tmmap_ring(sock, &ring);\n \tbind_ring(sock, &ring);\n \twalk_ring(sock, &ring);\n","prefixes":["RFC"]}