Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/1.2/patches/809430/?format=api
{ "id": 809430, "url": "http://patchwork.ozlabs.org/api/1.2/patches/809430/?format=api", "web_url": "http://patchwork.ozlabs.org/project/netfilter-devel/patch/1504478516-13224-2-git-send-email-pablo@netfilter.org/", "project": { "id": 26, "url": "http://patchwork.ozlabs.org/api/1.2/projects/26/?format=api", "name": "Netfilter Development", "link_name": "netfilter-devel", "list_id": "netfilter-devel.vger.kernel.org", "list_email": "netfilter-devel@vger.kernel.org", "web_url": null, "scm_url": null, "webscm_url": null, "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<1504478516-13224-2-git-send-email-pablo@netfilter.org>", "list_archive_url": null, "date": "2017-09-03T22:41:43", "name": "[34/47] netfilter: conntrack: remove protocol name from l4proto struct", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": false, "hash": "9449913101a57ead31cf6fdbd78933e1e106405d", "submitter": { "id": 1315, "url": "http://patchwork.ozlabs.org/api/1.2/people/1315/?format=api", "name": "Pablo Neira Ayuso", "email": "pablo@netfilter.org" }, "delegate": { "id": 6139, "url": "http://patchwork.ozlabs.org/api/1.2/users/6139/?format=api", "username": "pablo", "first_name": "Pablo", "last_name": "Neira", "email": "pablo@netfilter.org" }, "mbox": "http://patchwork.ozlabs.org/project/netfilter-devel/patch/1504478516-13224-2-git-send-email-pablo@netfilter.org/mbox/", "series": [ { "id": 1282, "url": "http://patchwork.ozlabs.org/api/1.2/series/1282/?format=api", "web_url": "http://patchwork.ozlabs.org/project/netfilter-devel/list/?series=1282", "date": "2017-09-03T22:40:11", "name": null, "version": 1, "mbox": "http://patchwork.ozlabs.org/series/1282/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/809430/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/809430/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<netfilter-devel-owner@vger.kernel.org>", "X-Original-To": "incoming@patchwork.ozlabs.org", "Delivered-To": "patchwork-incoming@bilbo.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=netfilter-devel-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 3xlnzh67Z6z9sPs\n\tfor <incoming@patchwork.ozlabs.org>;\n\tMon, 4 Sep 2017 08:42:24 +1000 (AEST)", "(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1753469AbdICWmW (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);\n\tSun, 3 Sep 2017 18:42:22 -0400", "from mail.us.es ([193.147.175.20]:52898 \"EHLO mail.us.es\"\n\trhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP\n\tid S1753440AbdICWmM (ORCPT <rfc822; netfilter-devel@vger.kernel.org>);\n\tSun, 3 Sep 2017 18:42:12 -0400", "from antivirus1-rhel7.int (unknown [192.168.2.11])\n\tby mail.us.es (Postfix) with ESMTP id 4B7E3190F65\n\tfor <netfilter-devel@vger.kernel.org>;\n\tMon, 4 Sep 2017 00:41:45 +0200 (CEST)", "from antivirus1-rhel7.int (localhost [127.0.0.1])\n\tby antivirus1-rhel7.int (Postfix) with ESMTP id 360A3B502D\n\tfor <netfilter-devel@vger.kernel.org>;\n\tMon, 4 Sep 2017 00:41:45 +0200 (CEST)", "by antivirus1-rhel7.int (Postfix, from userid 99)\n\tid 2BAA7B5024; Mon, 4 Sep 2017 00:41:45 +0200 (CEST)", "from antivirus1-rhel7.int (localhost [127.0.0.1])\n\tby antivirus1-rhel7.int (Postfix) with ESMTP id F36D3B5026;\n\tMon, 4 Sep 2017 00:41:42 +0200 (CEST)", "from 192.168.1.97 (192.168.1.97) by antivirus1-rhel7.int\n\t(F-Secure/fsigk_smtp/550/antivirus1-rhel7.int); \n\tMon, 04 Sep 2017 00:41:42 +0200 (CEST)", "from salvia.here (unknown [31.4.193.113])\n\t(Authenticated sender: 1984lsi)\n\tby entrada.int (Postfix) with ESMTPA id 9C9814265A20;\n\tMon, 4 Sep 2017 00:41:42 +0200 (CEST)" ], "X-Spam-Checker-Version": "SpamAssassin 3.4.1 (2015-04-28) on\n\tantivirus1-rhel7.int", "X-Spam-Level": "", "X-Spam-Status": "No, score=-108.2 required=7.5 tests=ALL_TRUSTED,BAYES_50,\n\tSMTPAUTH_US2,USER_IN_WHITELIST autolearn=disabled version=3.4.1", "X-Virus-Status": "clean(F-Secure/fsigk_smtp/550/antivirus1-rhel7.int)", "X-SMTPAUTHUS": "auth mail.us.es", "From": "Pablo Neira Ayuso <pablo@netfilter.org>", "To": "netfilter-devel@vger.kernel.org", "Cc": "davem@davemloft.net, netdev@vger.kernel.org", "Subject": "[PATCH 34/47] netfilter: conntrack: remove protocol name from\n\tl4proto struct", "Date": "Mon, 4 Sep 2017 00:41:43 +0200", "Message-Id": "<1504478516-13224-2-git-send-email-pablo@netfilter.org>", "X-Mailer": "git-send-email 2.1.4", "In-Reply-To": "<1504478516-13224-1-git-send-email-pablo@netfilter.org>", "References": "<1504478516-13224-1-git-send-email-pablo@netfilter.org>", "X-Virus-Scanned": "ClamAV using ClamSMTP", "Sender": "netfilter-devel-owner@vger.kernel.org", "Precedence": "bulk", "List-ID": "<netfilter-devel.vger.kernel.org>", "X-Mailing-List": "netfilter-devel@vger.kernel.org" }, "content": "From: Florian Westphal <fw@strlen.de>\n\nno need to waste storage for something that is only needed\nin one place and can be deduced from protocol number.\n\nSigned-off-by: Florian Westphal <fw@strlen.de>\nSigned-off-by: Pablo Neira Ayuso <pablo@netfilter.org>\n---\n include/net/netfilter/nf_conntrack_l4proto.h | 3 ---\n net/ipv4/netfilter/nf_conntrack_proto_icmp.c | 1 -\n net/ipv6/netfilter/nf_conntrack_proto_icmpv6.c | 1 -\n net/netfilter/nf_conntrack_proto.c | 8 ++++----\n net/netfilter/nf_conntrack_proto_dccp.c | 2 --\n net/netfilter/nf_conntrack_proto_generic.c | 1 -\n net/netfilter/nf_conntrack_proto_gre.c | 1 -\n net/netfilter/nf_conntrack_proto_sctp.c | 2 --\n net/netfilter/nf_conntrack_proto_tcp.c | 2 --\n net/netfilter/nf_conntrack_proto_udp.c | 4 ----\n net/netfilter/nf_conntrack_standalone.c | 17 ++++++++++++++++-\n 11 files changed, 20 insertions(+), 22 deletions(-)", "diff": "diff --git a/include/net/netfilter/nf_conntrack_l4proto.h b/include/net/netfilter/nf_conntrack_l4proto.h\nindex b6e27cafb1d9..47c16bae5e00 100644\n--- a/include/net/netfilter/nf_conntrack_l4proto.h\n+++ b/include/net/netfilter/nf_conntrack_l4proto.h\n@@ -108,9 +108,6 @@ struct nf_conntrack_l4proto {\n \t/* Return the per-net protocol part. */\n \tstruct nf_proto_net *(*get_net_proto)(struct net *net);\n \n-\t/* Protocol name */\n-\tconst char *name;\n-\n \t/* Module (if any) which this is connected to. */\n \tstruct module *me;\n };\ndiff --git a/net/ipv4/netfilter/nf_conntrack_proto_icmp.c b/net/ipv4/netfilter/nf_conntrack_proto_icmp.c\nindex 73c591d8a9a8..fdbeb03e4600 100644\n--- a/net/ipv4/netfilter/nf_conntrack_proto_icmp.c\n+++ b/net/ipv4/netfilter/nf_conntrack_proto_icmp.c\n@@ -362,7 +362,6 @@ struct nf_conntrack_l4proto nf_conntrack_l4proto_icmp __read_mostly =\n {\n \t.l3proto\t\t= PF_INET,\n \t.l4proto\t\t= IPPROTO_ICMP,\n-\t.name\t\t\t= \"icmp\",\n \t.pkt_to_tuple\t\t= icmp_pkt_to_tuple,\n \t.invert_tuple\t\t= icmp_invert_tuple,\n \t.print_tuple\t\t= icmp_print_tuple,\ndiff --git a/net/ipv6/netfilter/nf_conntrack_proto_icmpv6.c b/net/ipv6/netfilter/nf_conntrack_proto_icmpv6.c\nindex d5f028e33f65..805ab122767a 100644\n--- a/net/ipv6/netfilter/nf_conntrack_proto_icmpv6.c\n+++ b/net/ipv6/netfilter/nf_conntrack_proto_icmpv6.c\n@@ -367,7 +367,6 @@ struct nf_conntrack_l4proto nf_conntrack_l4proto_icmpv6 __read_mostly =\n {\n \t.l3proto\t\t= PF_INET6,\n \t.l4proto\t\t= IPPROTO_ICMPV6,\n-\t.name\t\t\t= \"icmpv6\",\n \t.pkt_to_tuple\t\t= icmpv6_pkt_to_tuple,\n \t.invert_tuple\t\t= icmpv6_invert_tuple,\n \t.print_tuple\t\t= icmpv6_print_tuple,\ndiff --git a/net/netfilter/nf_conntrack_proto.c b/net/netfilter/nf_conntrack_proto.c\nindex 85104a27cc89..0ecab7163d62 100644\n--- a/net/netfilter/nf_conntrack_proto.c\n+++ b/net/netfilter/nf_conntrack_proto.c\n@@ -437,8 +437,8 @@ int nf_ct_l4proto_register(struct nf_conntrack_l4proto *l4proto[],\n \t}\n \tif (i != num_proto) {\n \t\tver = l4proto[i]->l3proto == PF_INET6 ? 6 : 4;\n-\t\tpr_err(\"nf_conntrack_ipv%d: can't register %s%d proto.\\n\",\n-\t\t ver, l4proto[i]->name, ver);\n+\t\tpr_err(\"nf_conntrack_ipv%d: can't register l4 %d proto.\\n\",\n+\t\t ver, l4proto[i]->l4proto);\n \t\tnf_ct_l4proto_unregister(l4proto, i);\n \t}\n \treturn ret;\n@@ -458,8 +458,8 @@ int nf_ct_l4proto_pernet_register(struct net *net,\n \t\t\tbreak;\n \t}\n \tif (i != num_proto) {\n-\t\tpr_err(\"nf_conntrack_%s%d: pernet registration failed\\n\",\n-\t\t l4proto[i]->name,\n+\t\tpr_err(\"nf_conntrack_proto_%d %d: pernet registration failed\\n\",\n+\t\t l4proto[i]->l4proto,\n \t\t l4proto[i]->l3proto == PF_INET6 ? 6 : 4);\n \t\tnf_ct_l4proto_pernet_unregister(net, l4proto, i);\n \t}\ndiff --git a/net/netfilter/nf_conntrack_proto_dccp.c b/net/netfilter/nf_conntrack_proto_dccp.c\nindex 4707d997558a..a0492184a0a8 100644\n--- a/net/netfilter/nf_conntrack_proto_dccp.c\n+++ b/net/netfilter/nf_conntrack_proto_dccp.c\n@@ -880,7 +880,6 @@ static struct nf_proto_net *dccp_get_net_proto(struct net *net)\n struct nf_conntrack_l4proto nf_conntrack_l4proto_dccp4 __read_mostly = {\n \t.l3proto\t\t= AF_INET,\n \t.l4proto\t\t= IPPROTO_DCCP,\n-\t.name\t\t\t= \"dccp\",\n \t.pkt_to_tuple\t\t= dccp_pkt_to_tuple,\n \t.invert_tuple\t\t= dccp_invert_tuple,\n \t.new\t\t\t= dccp_new,\n@@ -916,7 +915,6 @@ EXPORT_SYMBOL_GPL(nf_conntrack_l4proto_dccp4);\n struct nf_conntrack_l4proto nf_conntrack_l4proto_dccp6 __read_mostly = {\n \t.l3proto\t\t= AF_INET6,\n \t.l4proto\t\t= IPPROTO_DCCP,\n-\t.name\t\t\t= \"dccp\",\n \t.pkt_to_tuple\t\t= dccp_pkt_to_tuple,\n \t.invert_tuple\t\t= dccp_invert_tuple,\n \t.new\t\t\t= dccp_new,\ndiff --git a/net/netfilter/nf_conntrack_proto_generic.c b/net/netfilter/nf_conntrack_proto_generic.c\nindex d5868bad33a7..4fe8b3312823 100644\n--- a/net/netfilter/nf_conntrack_proto_generic.c\n+++ b/net/netfilter/nf_conntrack_proto_generic.c\n@@ -187,7 +187,6 @@ struct nf_conntrack_l4proto nf_conntrack_l4proto_generic __read_mostly =\n {\n \t.l3proto\t\t= PF_UNSPEC,\n \t.l4proto\t\t= 255,\n-\t.name\t\t\t= \"unknown\",\n \t.pkt_to_tuple\t\t= generic_pkt_to_tuple,\n \t.invert_tuple\t\t= generic_invert_tuple,\n \t.print_tuple\t\t= generic_print_tuple,\ndiff --git a/net/netfilter/nf_conntrack_proto_gre.c b/net/netfilter/nf_conntrack_proto_gre.c\nindex 87bb40a3feb5..984bcfdbd4d7 100644\n--- a/net/netfilter/nf_conntrack_proto_gre.c\n+++ b/net/netfilter/nf_conntrack_proto_gre.c\n@@ -364,7 +364,6 @@ static int gre_init_net(struct net *net, u_int16_t proto)\n static struct nf_conntrack_l4proto nf_conntrack_l4proto_gre4 __read_mostly = {\n \t.l3proto\t = AF_INET,\n \t.l4proto\t = IPPROTO_GRE,\n-\t.name\t\t = \"gre\",\n \t.pkt_to_tuple\t = gre_pkt_to_tuple,\n \t.invert_tuple\t = gre_invert_tuple,\n \t.print_tuple\t = gre_print_tuple,\ndiff --git a/net/netfilter/nf_conntrack_proto_sctp.c b/net/netfilter/nf_conntrack_proto_sctp.c\nindex 6eef29d2eec4..1d7a995ea049 100644\n--- a/net/netfilter/nf_conntrack_proto_sctp.c\n+++ b/net/netfilter/nf_conntrack_proto_sctp.c\n@@ -791,7 +791,6 @@ static struct nf_proto_net *sctp_get_net_proto(struct net *net)\n struct nf_conntrack_l4proto nf_conntrack_l4proto_sctp4 __read_mostly = {\n \t.l3proto\t\t= PF_INET,\n \t.l4proto \t\t= IPPROTO_SCTP,\n-\t.name \t\t\t= \"sctp\",\n \t.pkt_to_tuple \t\t= sctp_pkt_to_tuple,\n \t.invert_tuple \t\t= sctp_invert_tuple,\n \t.print_tuple \t\t= sctp_print_tuple,\n@@ -828,7 +827,6 @@ EXPORT_SYMBOL_GPL(nf_conntrack_l4proto_sctp4);\n struct nf_conntrack_l4proto nf_conntrack_l4proto_sctp6 __read_mostly = {\n \t.l3proto\t\t= PF_INET6,\n \t.l4proto \t\t= IPPROTO_SCTP,\n-\t.name \t\t\t= \"sctp\",\n \t.pkt_to_tuple \t\t= sctp_pkt_to_tuple,\n \t.invert_tuple \t\t= sctp_invert_tuple,\n \t.print_tuple \t\t= sctp_print_tuple,\ndiff --git a/net/netfilter/nf_conntrack_proto_tcp.c b/net/netfilter/nf_conntrack_proto_tcp.c\nindex 9758a7dfd83e..e3e59e3d0592 100644\n--- a/net/netfilter/nf_conntrack_proto_tcp.c\n+++ b/net/netfilter/nf_conntrack_proto_tcp.c\n@@ -1556,7 +1556,6 @@ struct nf_conntrack_l4proto nf_conntrack_l4proto_tcp4 __read_mostly =\n {\n \t.l3proto\t\t= PF_INET,\n \t.l4proto \t\t= IPPROTO_TCP,\n-\t.name \t\t\t= \"tcp\",\n \t.pkt_to_tuple \t\t= tcp_pkt_to_tuple,\n \t.invert_tuple \t\t= tcp_invert_tuple,\n \t.print_tuple \t\t= tcp_print_tuple,\n@@ -1594,7 +1593,6 @@ struct nf_conntrack_l4proto nf_conntrack_l4proto_tcp6 __read_mostly =\n {\n \t.l3proto\t\t= PF_INET6,\n \t.l4proto \t\t= IPPROTO_TCP,\n-\t.name \t\t\t= \"tcp\",\n \t.pkt_to_tuple \t\t= tcp_pkt_to_tuple,\n \t.invert_tuple \t\t= tcp_invert_tuple,\n \t.print_tuple \t\t= tcp_print_tuple,\ndiff --git a/net/netfilter/nf_conntrack_proto_udp.c b/net/netfilter/nf_conntrack_proto_udp.c\nindex f6ebce6178ca..ec861a1169f1 100644\n--- a/net/netfilter/nf_conntrack_proto_udp.c\n+++ b/net/netfilter/nf_conntrack_proto_udp.c\n@@ -313,7 +313,6 @@ struct nf_conntrack_l4proto nf_conntrack_l4proto_udp4 __read_mostly =\n {\n \t.l3proto\t\t= PF_INET,\n \t.l4proto\t\t= IPPROTO_UDP,\n-\t.name\t\t\t= \"udp\",\n \t.allow_clash\t\t= true,\n \t.pkt_to_tuple\t\t= udp_pkt_to_tuple,\n \t.invert_tuple\t\t= udp_invert_tuple,\n@@ -347,7 +346,6 @@ struct nf_conntrack_l4proto nf_conntrack_l4proto_udplite4 __read_mostly =\n {\n \t.l3proto\t\t= PF_INET,\n \t.l4proto\t\t= IPPROTO_UDPLITE,\n-\t.name\t\t\t= \"udplite\",\n \t.allow_clash\t\t= true,\n \t.pkt_to_tuple\t\t= udp_pkt_to_tuple,\n \t.invert_tuple\t\t= udp_invert_tuple,\n@@ -381,7 +379,6 @@ struct nf_conntrack_l4proto nf_conntrack_l4proto_udp6 __read_mostly =\n {\n \t.l3proto\t\t= PF_INET6,\n \t.l4proto\t\t= IPPROTO_UDP,\n-\t.name\t\t\t= \"udp\",\n \t.allow_clash\t\t= true,\n \t.pkt_to_tuple\t\t= udp_pkt_to_tuple,\n \t.invert_tuple\t\t= udp_invert_tuple,\n@@ -415,7 +412,6 @@ struct nf_conntrack_l4proto nf_conntrack_l4proto_udplite6 __read_mostly =\n {\n \t.l3proto\t\t= PF_INET6,\n \t.l4proto\t\t= IPPROTO_UDPLITE,\n-\t.name\t\t\t= \"udplite\",\n \t.allow_clash\t\t= true,\n \t.pkt_to_tuple\t\t= udp_pkt_to_tuple,\n \t.invert_tuple\t\t= udp_invert_tuple,\ndiff --git a/net/netfilter/nf_conntrack_standalone.c b/net/netfilter/nf_conntrack_standalone.c\nindex 359d7e6a4503..b28f9e93f574 100644\n--- a/net/netfilter/nf_conntrack_standalone.c\n+++ b/net/netfilter/nf_conntrack_standalone.c\n@@ -208,6 +208,21 @@ static const char* l3proto_name(u16 proto)\n \treturn \"unknown\";\n }\n \n+static const char* l4proto_name(u16 proto)\n+{\n+\tswitch (proto) {\n+\tcase IPPROTO_ICMP: return \"icmp\";\n+\tcase IPPROTO_TCP: return \"tcp\";\n+\tcase IPPROTO_UDP: return \"udp\";\n+\tcase IPPROTO_DCCP: return \"dccp\";\n+\tcase IPPROTO_GRE: return \"gre\";\n+\tcase IPPROTO_SCTP: return \"sctp\";\n+\tcase IPPROTO_UDPLITE: return \"udplite\";\n+\t}\n+\n+\treturn \"unknown\";\n+}\n+\n /* return 0 on success, 1 in case of error */\n static int ct_seq_show(struct seq_file *s, void *v)\n {\n@@ -242,7 +257,7 @@ static int ct_seq_show(struct seq_file *s, void *v)\n \tret = -ENOSPC;\n \tseq_printf(s, \"%-8s %u %-8s %u %ld \",\n \t\t l3proto_name(l3proto->l3proto), nf_ct_l3num(ct),\n-\t\t l4proto->name, nf_ct_protonum(ct),\n+\t\t l4proto_name(l4proto->l4proto), nf_ct_protonum(ct),\n \t\t nf_ct_expires(ct) / HZ);\n \n \tif (l4proto->print_conntrack)\n", "prefixes": [ "34/47" ] }