ipv6: icmp: include addresses in debug messages
authorBjørn Mork <bjorn@mork.no>
Sat, 24 Oct 2015 12:00:20 +0000 (14:00 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 27 Oct 2015 04:59:42 +0000 (21:59 -0700)
Messages like "icmp6_send: no reply to icmp error" are close
to useless. Adding source and destination addresses to provide
some more clue.

Signed-off-by: Bjørn Mork <bjorn@mork.no>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/icmp.c

index efb1c00..36c5a98 100644 (file)
@@ -453,7 +453,8 @@ static void icmp6_send(struct sk_buff *skb, u8 type, u8 code, __u32 info)
         *      and anycast addresses will be checked later.
         */
        if ((addr_type == IPV6_ADDR_ANY) || (addr_type & IPV6_ADDR_MULTICAST)) {
-               net_dbg_ratelimited("icmp6_send: addr_any/mcast source\n");
+               net_dbg_ratelimited("icmp6_send: addr_any/mcast source [%pI6c > %pI6c]\n",
+                                   &hdr->saddr, &hdr->daddr);
                return;
        }
 
@@ -461,7 +462,8 @@ static void icmp6_send(struct sk_buff *skb, u8 type, u8 code, __u32 info)
         *      Never answer to a ICMP packet.
         */
        if (is_ineligible(skb)) {
-               net_dbg_ratelimited("icmp6_send: no reply to icmp error\n");
+               net_dbg_ratelimited("icmp6_send: no reply to icmp error [%pI6c > %pI6c]\n",
+                                   &hdr->saddr, &hdr->daddr);
                return;
        }
 
@@ -513,7 +515,8 @@ static void icmp6_send(struct sk_buff *skb, u8 type, u8 code, __u32 info)
        len = skb->len - msg.offset;
        len = min_t(unsigned int, len, IPV6_MIN_MTU - sizeof(struct ipv6hdr) - sizeof(struct icmp6hdr));
        if (len < 0) {
-               net_dbg_ratelimited("icmp: len problem\n");
+               net_dbg_ratelimited("icmp: len problem [%pI6c > %pI6c]\n",
+                                   &hdr->saddr, &hdr->daddr);
                goto out_dst_release;
        }
 
@@ -785,7 +788,8 @@ static int icmpv6_rcv(struct sk_buff *skb)
                if (type & ICMPV6_INFOMSG_MASK)
                        break;
 
-               net_dbg_ratelimited("icmpv6: msg of unknown type\n");
+               net_dbg_ratelimited("icmpv6: msg of unknown type [%pI6c > %pI6c]\n",
+                                   saddr, daddr);
 
                /*
                 * error of unknown type.