[NETFILTER]: nf_conntrack: make print_conntrack function optional for l4protos
Allows to remove five empty implementations. Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
c56cc9c07b
commit
c71e916708
|
@ -121,7 +121,7 @@ static int ct_seq_show(struct seq_file *s, void *v)
|
||||||
? (long)(ct->timeout.expires - jiffies)/HZ : 0) != 0)
|
? (long)(ct->timeout.expires - jiffies)/HZ : 0) != 0)
|
||||||
return -ENOSPC;
|
return -ENOSPC;
|
||||||
|
|
||||||
if (l4proto->print_conntrack(s, ct))
|
if (l4proto->print_conntrack && l4proto->print_conntrack(s, ct))
|
||||||
return -ENOSPC;
|
return -ENOSPC;
|
||||||
|
|
||||||
if (print_tuple(s, &ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple,
|
if (print_tuple(s, &ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple,
|
||||||
|
|
|
@ -74,13 +74,6 @@ static int icmp_print_tuple(struct seq_file *s,
|
||||||
ntohs(tuple->src.u.icmp.id));
|
ntohs(tuple->src.u.icmp.id));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Print out the private part of the conntrack. */
|
|
||||||
static int icmp_print_conntrack(struct seq_file *s,
|
|
||||||
const struct nf_conn *conntrack)
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Returns verdict for packet, or -1 for invalid. */
|
/* Returns verdict for packet, or -1 for invalid. */
|
||||||
static int icmp_packet(struct nf_conn *ct,
|
static int icmp_packet(struct nf_conn *ct,
|
||||||
const struct sk_buff *skb,
|
const struct sk_buff *skb,
|
||||||
|
@ -309,7 +302,6 @@ struct nf_conntrack_l4proto nf_conntrack_l4proto_icmp __read_mostly =
|
||||||
.pkt_to_tuple = icmp_pkt_to_tuple,
|
.pkt_to_tuple = icmp_pkt_to_tuple,
|
||||||
.invert_tuple = icmp_invert_tuple,
|
.invert_tuple = icmp_invert_tuple,
|
||||||
.print_tuple = icmp_print_tuple,
|
.print_tuple = icmp_print_tuple,
|
||||||
.print_conntrack = icmp_print_conntrack,
|
|
||||||
.packet = icmp_packet,
|
.packet = icmp_packet,
|
||||||
.new = icmp_new,
|
.new = icmp_new,
|
||||||
.error = icmp_error,
|
.error = icmp_error,
|
||||||
|
|
|
@ -75,13 +75,6 @@ static int icmpv6_print_tuple(struct seq_file *s,
|
||||||
ntohs(tuple->src.u.icmp.id));
|
ntohs(tuple->src.u.icmp.id));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Print out the private part of the conntrack. */
|
|
||||||
static int icmpv6_print_conntrack(struct seq_file *s,
|
|
||||||
const struct nf_conn *conntrack)
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Returns verdict for packet, or -1 for invalid. */
|
/* Returns verdict for packet, or -1 for invalid. */
|
||||||
static int icmpv6_packet(struct nf_conn *ct,
|
static int icmpv6_packet(struct nf_conn *ct,
|
||||||
const struct sk_buff *skb,
|
const struct sk_buff *skb,
|
||||||
|
@ -275,7 +268,6 @@ struct nf_conntrack_l4proto nf_conntrack_l4proto_icmpv6 __read_mostly =
|
||||||
.pkt_to_tuple = icmpv6_pkt_to_tuple,
|
.pkt_to_tuple = icmpv6_pkt_to_tuple,
|
||||||
.invert_tuple = icmpv6_invert_tuple,
|
.invert_tuple = icmpv6_invert_tuple,
|
||||||
.print_tuple = icmpv6_print_tuple,
|
.print_tuple = icmpv6_print_tuple,
|
||||||
.print_conntrack = icmpv6_print_conntrack,
|
|
||||||
.packet = icmpv6_packet,
|
.packet = icmpv6_packet,
|
||||||
.new = icmpv6_new,
|
.new = icmpv6_new,
|
||||||
.error = icmpv6_error,
|
.error = icmpv6_error,
|
||||||
|
|
|
@ -40,13 +40,6 @@ static int generic_print_tuple(struct seq_file *s,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Print out the private part of the conntrack. */
|
|
||||||
static int generic_print_conntrack(struct seq_file *s,
|
|
||||||
const struct nf_conn *state)
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Returns verdict for packet, or -1 for invalid. */
|
/* Returns verdict for packet, or -1 for invalid. */
|
||||||
static int packet(struct nf_conn *conntrack,
|
static int packet(struct nf_conn *conntrack,
|
||||||
const struct sk_buff *skb,
|
const struct sk_buff *skb,
|
||||||
|
@ -104,7 +97,6 @@ struct nf_conntrack_l4proto nf_conntrack_l4proto_generic __read_mostly =
|
||||||
.pkt_to_tuple = generic_pkt_to_tuple,
|
.pkt_to_tuple = generic_pkt_to_tuple,
|
||||||
.invert_tuple = generic_invert_tuple,
|
.invert_tuple = generic_invert_tuple,
|
||||||
.print_tuple = generic_print_tuple,
|
.print_tuple = generic_print_tuple,
|
||||||
.print_conntrack = generic_print_conntrack,
|
|
||||||
.packet = packet,
|
.packet = packet,
|
||||||
.new = new,
|
.new = new,
|
||||||
#ifdef CONFIG_SYSCTL
|
#ifdef CONFIG_SYSCTL
|
||||||
|
|
|
@ -60,13 +60,6 @@ static int udp_print_tuple(struct seq_file *s,
|
||||||
ntohs(tuple->dst.u.udp.port));
|
ntohs(tuple->dst.u.udp.port));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Print out the private part of the conntrack. */
|
|
||||||
static int udp_print_conntrack(struct seq_file *s,
|
|
||||||
const struct nf_conn *conntrack)
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Returns verdict for packet, and may modify conntracktype */
|
/* Returns verdict for packet, and may modify conntracktype */
|
||||||
static int udp_packet(struct nf_conn *conntrack,
|
static int udp_packet(struct nf_conn *conntrack,
|
||||||
const struct sk_buff *skb,
|
const struct sk_buff *skb,
|
||||||
|
@ -193,7 +186,6 @@ struct nf_conntrack_l4proto nf_conntrack_l4proto_udp4 __read_mostly =
|
||||||
.pkt_to_tuple = udp_pkt_to_tuple,
|
.pkt_to_tuple = udp_pkt_to_tuple,
|
||||||
.invert_tuple = udp_invert_tuple,
|
.invert_tuple = udp_invert_tuple,
|
||||||
.print_tuple = udp_print_tuple,
|
.print_tuple = udp_print_tuple,
|
||||||
.print_conntrack = udp_print_conntrack,
|
|
||||||
.packet = udp_packet,
|
.packet = udp_packet,
|
||||||
.new = udp_new,
|
.new = udp_new,
|
||||||
.error = udp_error,
|
.error = udp_error,
|
||||||
|
@ -221,7 +213,6 @@ struct nf_conntrack_l4proto nf_conntrack_l4proto_udp6 __read_mostly =
|
||||||
.pkt_to_tuple = udp_pkt_to_tuple,
|
.pkt_to_tuple = udp_pkt_to_tuple,
|
||||||
.invert_tuple = udp_invert_tuple,
|
.invert_tuple = udp_invert_tuple,
|
||||||
.print_tuple = udp_print_tuple,
|
.print_tuple = udp_print_tuple,
|
||||||
.print_conntrack = udp_print_conntrack,
|
|
||||||
.packet = udp_packet,
|
.packet = udp_packet,
|
||||||
.new = udp_new,
|
.new = udp_new,
|
||||||
.error = udp_error,
|
.error = udp_error,
|
||||||
|
|
|
@ -59,13 +59,6 @@ static int udplite_print_tuple(struct seq_file *s,
|
||||||
ntohs(tuple->dst.u.udp.port));
|
ntohs(tuple->dst.u.udp.port));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Print out the private part of the conntrack. */
|
|
||||||
static int udplite_print_conntrack(struct seq_file *s,
|
|
||||||
const struct nf_conn *conntrack)
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Returns verdict for packet, and may modify conntracktype */
|
/* Returns verdict for packet, and may modify conntracktype */
|
||||||
static int udplite_packet(struct nf_conn *conntrack,
|
static int udplite_packet(struct nf_conn *conntrack,
|
||||||
const struct sk_buff *skb,
|
const struct sk_buff *skb,
|
||||||
|
@ -198,7 +191,6 @@ static struct nf_conntrack_l4proto nf_conntrack_l4proto_udplite4 __read_mostly =
|
||||||
.pkt_to_tuple = udplite_pkt_to_tuple,
|
.pkt_to_tuple = udplite_pkt_to_tuple,
|
||||||
.invert_tuple = udplite_invert_tuple,
|
.invert_tuple = udplite_invert_tuple,
|
||||||
.print_tuple = udplite_print_tuple,
|
.print_tuple = udplite_print_tuple,
|
||||||
.print_conntrack = udplite_print_conntrack,
|
|
||||||
.packet = udplite_packet,
|
.packet = udplite_packet,
|
||||||
.new = udplite_new,
|
.new = udplite_new,
|
||||||
.error = udplite_error,
|
.error = udplite_error,
|
||||||
|
@ -222,7 +214,6 @@ static struct nf_conntrack_l4proto nf_conntrack_l4proto_udplite6 __read_mostly =
|
||||||
.pkt_to_tuple = udplite_pkt_to_tuple,
|
.pkt_to_tuple = udplite_pkt_to_tuple,
|
||||||
.invert_tuple = udplite_invert_tuple,
|
.invert_tuple = udplite_invert_tuple,
|
||||||
.print_tuple = udplite_print_tuple,
|
.print_tuple = udplite_print_tuple,
|
||||||
.print_conntrack = udplite_print_conntrack,
|
|
||||||
.packet = udplite_packet,
|
.packet = udplite_packet,
|
||||||
.new = udplite_new,
|
.new = udplite_new,
|
||||||
.error = udplite_error,
|
.error = udplite_error,
|
||||||
|
|
|
@ -142,7 +142,7 @@ static int ct_seq_show(struct seq_file *s, void *v)
|
||||||
? (long)(conntrack->timeout.expires - jiffies)/HZ : 0) != 0)
|
? (long)(conntrack->timeout.expires - jiffies)/HZ : 0) != 0)
|
||||||
return -ENOSPC;
|
return -ENOSPC;
|
||||||
|
|
||||||
if (l4proto->print_conntrack(s, conntrack))
|
if (l4proto->print_conntrack && l4proto->print_conntrack(s, conntrack))
|
||||||
return -ENOSPC;
|
return -ENOSPC;
|
||||||
|
|
||||||
if (print_tuple(s, &conntrack->tuplehash[IP_CT_DIR_ORIGINAL].tuple,
|
if (print_tuple(s, &conntrack->tuplehash[IP_CT_DIR_ORIGINAL].tuple,
|
||||||
|
|
Loading…
Reference in New Issue