Fw: [Bug 105091] New: ICMP unreachable is not sent when receiving GRE packets on device that has no tunnel interface
From: Stephen Hemminger <stephen@networkplumber.org>
Date: 2015-09-28 01:06:10
Begin forwarded message: Date: Sun, 27 Sep 2015 22:42:34 +0000 From: "bugzilla-daemon@bugzilla.kernel.org" <redacted> To: "shemminger@linux-foundation.org" <redacted> Subject: [Bug 105091] New: ICMP unreachable is not sent when receiving GRE packets on device that has no tunnel interface https://bugzilla.kernel.org/show_bug.cgi?id=105091 Bug ID: 105091 Summary: ICMP unreachable is not sent when receiving GRE packets on device that has no tunnel interface Product: Networking Version: 2.5 Kernel Version: 4.2 Hardware: All OS: Linux Tree: Mainline Status: NEW Severity: low Priority: P1 Component: IPV4 Assignee: shemminger@linux-foundation.org Reporter: isaac.lee@alliedtelesis.co.nz Regression: No Created attachment 188691 --> https://bugzilla.kernel.org/attachment.cgi?id=188691&action=edit fix patch This used to work in version 3.9. In file ip_gre.c, when a GRE packet is received and tunnel lookup returned NULL (ie, no such interface), ipgre_rcv() calls icmp_send() to respond with port unreachable message. In the latest version, gre_demux.c tries to do the same thing in gre_cisco_rcv(), but icmp_send fails because skb dst entry has been dropped (during parse_gre_header() -> iptunnel_pull_header() -> skb_dst_drop(skb);) prior to calling icmp_send, causing icmp_send to return early due to rt is NULL. A fix patch is attached. -- You are receiving this mail because: You are the assignee for the bug.