提交 ef27559b 编写于 作者: P Patrick McHardy 提交者: David S. Miller

[NETFILTER]: nf_conntrack: fix NF_CT_TUPLE_DUMP for IPv4

NF_CT_TUPLE_DUMP prints IPv4 addresses as IPv6, fix this and use printk
(guarded by #ifdef DEBUG) directly instead of pr_debug since the tuple
is usually printed at the end of line and we don't want to include a
log-level.
Signed-off-by: NPatrick McHardy <kaber@trash.net>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 30c69fed
...@@ -113,11 +113,39 @@ struct nf_conntrack_tuple_mask ...@@ -113,11 +113,39 @@ struct nf_conntrack_tuple_mask
#ifdef __KERNEL__ #ifdef __KERNEL__
#define NF_CT_DUMP_TUPLE(tp) \ static inline void nf_ct_dump_tuple_ip(const struct nf_conntrack_tuple *t)
pr_debug("tuple %p: %u %u " NIP6_FMT " %hu -> " NIP6_FMT " %hu\n", \ {
(tp), (tp)->src.l3num, (tp)->dst.protonum, \ #ifdef DEBUG
NIP6(*(struct in6_addr *)(tp)->src.u3.all), ntohs((tp)->src.u.all), \ printk("tuple %p: %u " NIPQUAD_FMT ":%hu -> " NIPQUAD_FMT ":%hu\n",
NIP6(*(struct in6_addr *)(tp)->dst.u3.all), ntohs((tp)->dst.u.all)) t, t->dst.protonum,
NIPQUAD(t->src.u3.ip), ntohs(t->src.u.all),
NIPQUAD(t->dst.u3.ip), ntohs(t->dst.u.all));
#endif
}
static inline void nf_ct_dump_tuple_ipv6(const struct nf_conntrack_tuple *t)
{
#ifdef DEBUG
printk("tuple %p: %u " NIP6_FMT " %hu -> " NIP6_FMT " %hu\n",
t, t->dst.protonum,
NIP6(*(struct in6_addr *)t->src.u3.all), ntohs(t->src.u.all),
NIP6(*(struct in6_addr *)t->dst.u3.all), ntohs(t->dst.u.all));
#endif
}
static inline void nf_ct_dump_tuple(const struct nf_conntrack_tuple *t)
{
switch (t->src.l3num) {
case AF_INET:
nf_ct_dump_tuple_ip(t);
break;
case AF_INET6:
nf_ct_dump_tuple_ipv6(t);
break;
}
}
#define NF_CT_DUMP_TUPLE(tp) nf_ct_dump_tuple(tp)
/* If we're the first tuple, it's the original dir. */ /* If we're the first tuple, it's the original dir. */
#define NF_CT_DIRECTION(h) \ #define NF_CT_DIRECTION(h) \
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册