Commit 09ec82f5af99d1e35614eb0844b920fc335a313d

Authored by Florian Westphal
Committed by Pablo Neira Ayuso
1 parent a3134d537f

netfilter: conntrack: remove protocol name from l4proto struct

no need to waste storage for something that is only needed
in one place and can be deduced from protocol number.

Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>

Showing 11 changed files with 20 additions and 22 deletions Side-by-side Diff

include/net/netfilter/nf_conntrack_l4proto.h
... ... @@ -108,9 +108,6 @@
108 108 /* Return the per-net protocol part. */
109 109 struct nf_proto_net *(*get_net_proto)(struct net *net);
110 110  
111   - /* Protocol name */
112   - const char *name;
113   -
114 111 /* Module (if any) which this is connected to. */
115 112 struct module *me;
116 113 };
net/ipv4/netfilter/nf_conntrack_proto_icmp.c
... ... @@ -362,7 +362,6 @@
362 362 {
363 363 .l3proto = PF_INET,
364 364 .l4proto = IPPROTO_ICMP,
365   - .name = "icmp",
366 365 .pkt_to_tuple = icmp_pkt_to_tuple,
367 366 .invert_tuple = icmp_invert_tuple,
368 367 .print_tuple = icmp_print_tuple,
net/ipv6/netfilter/nf_conntrack_proto_icmpv6.c
... ... @@ -367,7 +367,6 @@
367 367 {
368 368 .l3proto = PF_INET6,
369 369 .l4proto = IPPROTO_ICMPV6,
370   - .name = "icmpv6",
371 370 .pkt_to_tuple = icmpv6_pkt_to_tuple,
372 371 .invert_tuple = icmpv6_invert_tuple,
373 372 .print_tuple = icmpv6_print_tuple,
net/netfilter/nf_conntrack_proto.c
... ... @@ -437,8 +437,8 @@
437 437 }
438 438 if (i != num_proto) {
439 439 ver = l4proto[i]->l3proto == PF_INET6 ? 6 : 4;
440   - pr_err("nf_conntrack_ipv%d: can't register %s%d proto.\n",
441   - ver, l4proto[i]->name, ver);
  440 + pr_err("nf_conntrack_ipv%d: can't register l4 %d proto.\n",
  441 + ver, l4proto[i]->l4proto);
442 442 nf_ct_l4proto_unregister(l4proto, i);
443 443 }
444 444 return ret;
... ... @@ -458,8 +458,8 @@
458 458 break;
459 459 }
460 460 if (i != num_proto) {
461   - pr_err("nf_conntrack_%s%d: pernet registration failed\n",
462   - l4proto[i]->name,
  461 + pr_err("nf_conntrack_proto_%d %d: pernet registration failed\n",
  462 + l4proto[i]->l4proto,
463 463 l4proto[i]->l3proto == PF_INET6 ? 6 : 4);
464 464 nf_ct_l4proto_pernet_unregister(net, l4proto, i);
465 465 }
net/netfilter/nf_conntrack_proto_dccp.c
... ... @@ -880,7 +880,6 @@
880 880 struct nf_conntrack_l4proto nf_conntrack_l4proto_dccp4 __read_mostly = {
881 881 .l3proto = AF_INET,
882 882 .l4proto = IPPROTO_DCCP,
883   - .name = "dccp",
884 883 .pkt_to_tuple = dccp_pkt_to_tuple,
885 884 .invert_tuple = dccp_invert_tuple,
886 885 .new = dccp_new,
... ... @@ -916,7 +915,6 @@
916 915 struct nf_conntrack_l4proto nf_conntrack_l4proto_dccp6 __read_mostly = {
917 916 .l3proto = AF_INET6,
918 917 .l4proto = IPPROTO_DCCP,
919   - .name = "dccp",
920 918 .pkt_to_tuple = dccp_pkt_to_tuple,
921 919 .invert_tuple = dccp_invert_tuple,
922 920 .new = dccp_new,
net/netfilter/nf_conntrack_proto_generic.c
... ... @@ -187,7 +187,6 @@
187 187 {
188 188 .l3proto = PF_UNSPEC,
189 189 .l4proto = 255,
190   - .name = "unknown",
191 190 .pkt_to_tuple = generic_pkt_to_tuple,
192 191 .invert_tuple = generic_invert_tuple,
193 192 .print_tuple = generic_print_tuple,
net/netfilter/nf_conntrack_proto_gre.c
... ... @@ -364,7 +364,6 @@
364 364 static struct nf_conntrack_l4proto nf_conntrack_l4proto_gre4 __read_mostly = {
365 365 .l3proto = AF_INET,
366 366 .l4proto = IPPROTO_GRE,
367   - .name = "gre",
368 367 .pkt_to_tuple = gre_pkt_to_tuple,
369 368 .invert_tuple = gre_invert_tuple,
370 369 .print_tuple = gre_print_tuple,
net/netfilter/nf_conntrack_proto_sctp.c
... ... @@ -791,7 +791,6 @@
791 791 struct nf_conntrack_l4proto nf_conntrack_l4proto_sctp4 __read_mostly = {
792 792 .l3proto = PF_INET,
793 793 .l4proto = IPPROTO_SCTP,
794   - .name = "sctp",
795 794 .pkt_to_tuple = sctp_pkt_to_tuple,
796 795 .invert_tuple = sctp_invert_tuple,
797 796 .print_tuple = sctp_print_tuple,
... ... @@ -828,7 +827,6 @@
828 827 struct nf_conntrack_l4proto nf_conntrack_l4proto_sctp6 __read_mostly = {
829 828 .l3proto = PF_INET6,
830 829 .l4proto = IPPROTO_SCTP,
831   - .name = "sctp",
832 830 .pkt_to_tuple = sctp_pkt_to_tuple,
833 831 .invert_tuple = sctp_invert_tuple,
834 832 .print_tuple = sctp_print_tuple,
net/netfilter/nf_conntrack_proto_tcp.c
... ... @@ -1556,7 +1556,6 @@
1556 1556 {
1557 1557 .l3proto = PF_INET,
1558 1558 .l4proto = IPPROTO_TCP,
1559   - .name = "tcp",
1560 1559 .pkt_to_tuple = tcp_pkt_to_tuple,
1561 1560 .invert_tuple = tcp_invert_tuple,
1562 1561 .print_tuple = tcp_print_tuple,
... ... @@ -1594,7 +1593,6 @@
1594 1593 {
1595 1594 .l3proto = PF_INET6,
1596 1595 .l4proto = IPPROTO_TCP,
1597   - .name = "tcp",
1598 1596 .pkt_to_tuple = tcp_pkt_to_tuple,
1599 1597 .invert_tuple = tcp_invert_tuple,
1600 1598 .print_tuple = tcp_print_tuple,
net/netfilter/nf_conntrack_proto_udp.c
... ... @@ -313,7 +313,6 @@
313 313 {
314 314 .l3proto = PF_INET,
315 315 .l4proto = IPPROTO_UDP,
316   - .name = "udp",
317 316 .allow_clash = true,
318 317 .pkt_to_tuple = udp_pkt_to_tuple,
319 318 .invert_tuple = udp_invert_tuple,
... ... @@ -347,7 +346,6 @@
347 346 {
348 347 .l3proto = PF_INET,
349 348 .l4proto = IPPROTO_UDPLITE,
350   - .name = "udplite",
351 349 .allow_clash = true,
352 350 .pkt_to_tuple = udp_pkt_to_tuple,
353 351 .invert_tuple = udp_invert_tuple,
... ... @@ -381,7 +379,6 @@
381 379 {
382 380 .l3proto = PF_INET6,
383 381 .l4proto = IPPROTO_UDP,
384   - .name = "udp",
385 382 .allow_clash = true,
386 383 .pkt_to_tuple = udp_pkt_to_tuple,
387 384 .invert_tuple = udp_invert_tuple,
... ... @@ -415,7 +412,6 @@
415 412 {
416 413 .l3proto = PF_INET6,
417 414 .l4proto = IPPROTO_UDPLITE,
418   - .name = "udplite",
419 415 .allow_clash = true,
420 416 .pkt_to_tuple = udp_pkt_to_tuple,
421 417 .invert_tuple = udp_invert_tuple,
net/netfilter/nf_conntrack_standalone.c
... ... @@ -208,6 +208,21 @@
208 208 return "unknown";
209 209 }
210 210  
  211 +static const char* l4proto_name(u16 proto)
  212 +{
  213 + switch (proto) {
  214 + case IPPROTO_ICMP: return "icmp";
  215 + case IPPROTO_TCP: return "tcp";
  216 + case IPPROTO_UDP: return "udp";
  217 + case IPPROTO_DCCP: return "dccp";
  218 + case IPPROTO_GRE: return "gre";
  219 + case IPPROTO_SCTP: return "sctp";
  220 + case IPPROTO_UDPLITE: return "udplite";
  221 + }
  222 +
  223 + return "unknown";
  224 +}
  225 +
211 226 /* return 0 on success, 1 in case of error */
212 227 static int ct_seq_show(struct seq_file *s, void *v)
213 228 {
... ... @@ -242,7 +257,7 @@
242 257 ret = -ENOSPC;
243 258 seq_printf(s, "%-8s %u %-8s %u %ld ",
244 259 l3proto_name(l3proto->l3proto), nf_ct_l3num(ct),
245   - l4proto->name, nf_ct_protonum(ct),
  260 + l4proto_name(l4proto->l4proto), nf_ct_protonum(ct),
246 261 nf_ct_expires(ct) / HZ);
247 262  
248 263 if (l4proto->print_conntrack)