[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20150210152410.GA9225@sesse.net>
Date: Tue, 10 Feb 2015 16:24:10 +0100
From: "Steinar H. Gunderson" <sgunderson@...foot.com>
To: netdev@...r.kernel.org
Subject: Kernel sends ICMP unreachable for GRE packets even if there is a
listening socket
[Resent from Bugzilla]
Hi,
I have a userspace GRE listener, which opens a raw socket (error handling removed):
int gresock = socket(AF_INET6, SOCK_RAW, IPPROTO_GRE);
bind(gresock, (sockaddr *)&my_addr, sizeof(my_addr));
and then select()s and recvfrom()s on it, as well as sendto().
This works great. I can send and receive GRE packets. However, Linux _also_
sends ICMPv6 unreachables when the other end sends to me. I assume this is
because I don't have a corresponding kernel GRE tunnel interface. (I don't use
the kernel GRE because I want, among others, stronger reordering functionality
and possibly error correction, which is not in any standard.)
Can this be suppressed when I have such a socket giong? ip6tables -A OUTPUT can
stop them, but it seems very hacky and kludgy.
/* Steinar */
--
Homepage: http://www.sesse.net/
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists