linux/net
Herbert Xu 50fba2aa7c [INET]: Move no-tunnel ICMP error to tunnel4/tunnel6
This patch moves the sending of ICMP messages when there are no IPv4/IPv6
tunnels present to tunnel4/tunnel6 respectively.  Please note that for now
if xfrm4_tunnel/xfrm6_tunnel is loaded then no ICMP messages will ever be
sent.  This is similar to how we handle AH/ESP/IPCOMP.

This move fixes the bug where we always send an ICMP message when there is
no ip6_tunnel device present for a given packet even if it is later handled
by IPsec.  It also causes ICMP messages to be sent when no IPIP tunnel is
present.

I've decided to use the "port unreachable" ICMP message over the current
value of "address unreachable" (and "protocol unreachable" by GRE) because
it is not ambiguous unlike the other ones which can be triggered by other
conditions.  There seems to be no standard specifying what value must be
used so this change should be OK.  In fact we should change GRE to use
this value as well.

Incidentally, this patch also fixes a fairly serious bug in xfrm6_tunnel
where we don't check whether the embedded IPv6 header is present before
dereferencing it for the inside source address.

This patch is inspired by a previous patch by Hugo Santos <hsantos@av.it.pt>.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-04-09 22:25:25 -07:00
..
802 [SNAP]: Remove leftover unused hdr variable 2006-03-20 22:45:37 -08:00
8021q [NET]: Replace skb_pull/skb_postpull_rcsum with skb_pull_rcsum 2006-03-20 22:43:56 -08:00
appletalk [NET]: Fix ipx/econet/appletalk/irda ioctl crashes 2006-03-28 17:02:43 -08:00
atm [NET]: sem2mutex part 2 2006-03-20 22:35:41 -08:00
ax25 [AX.25]: Fix potencial memory hole. 2006-03-19 13:20:06 -08:00
bluetooth [PATCH] Notifier chain update: API changes 2006-03-27 08:44:50 -08:00
bridge [NETFILTER]: Fix fragmentation issues with bridge netfilter 2006-04-09 22:25:23 -07:00
core [NET]: add SO_RCVBUF comment 2006-03-31 02:09:36 -08:00
dccp [DCCP]: Use NULL for pointers, comfort sparse. 2006-03-29 13:58:25 -08:00
decnet [DECNET]: Fix refcount 2006-03-29 13:57:31 -08:00
econet [ECONET]: Convert away from SOCKOPS_WRAPPED 2006-03-28 17:02:43 -08:00
ethernet [NET] ethernet: Fix first packet goes out with MAC 00:00:00:00:00:00 2006-02-23 16:18:01 -08:00
ieee80211 [PATCH] softmac: reduce default rate to 11Mbps. 2006-03-27 14:04:13 -05:00
ipv4 [INET]: Move no-tunnel ICMP error to tunnel4/tunnel6 2006-04-09 22:25:25 -07:00
ipv6 [INET]: Move no-tunnel ICMP error to tunnel4/tunnel6 2006-04-09 22:25:25 -07:00
ipx [NET]: Fix ipx/econet/appletalk/irda ioctl crashes 2006-03-28 17:02:43 -08:00
irda [NET]: Fix ipx/econet/appletalk/irda ioctl crashes 2006-03-28 17:02:43 -08:00
key [NET] sem2mutex: net/ 2006-03-20 22:33:17 -08:00
lapb [NET]: Kill skb->list 2005-08-29 15:31:14 -07:00
llc [LLC]: llc_mac_hdr_init const arguments 2006-03-20 22:59:36 -08:00
netfilter [NETFILTER]: iptables 32bit compat layer 2006-04-01 02:25:19 -08:00
netlink [PATCH] Notifier chain update: API changes 2006-03-27 08:44:50 -08:00
netrom [PATCH] capable/capability.h (net/) 2006-01-11 18:42:14 -08:00
packet [NET]: Fix some whitespace issues in af_packet.c 2006-01-23 16:28:02 -08:00
rose [PATCH] capable/capability.h (net/) 2006-01-11 18:42:14 -08:00
rxrpc [PATCH] fix 'defined but not used' warning in net/rxrpc/main.c::rxrpc_initialise 2006-03-25 08:22:52 -08:00
sched [NET_SCHED]: cls_u32: remove unnecessary NULL-ptr check 2006-03-23 01:16:48 -08:00
sctp Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2006-03-25 08:39:20 -08:00
sunrpc [PATCH] mark f_ops const in the inode 2006-03-28 09:16:05 -08:00
tipc [PATCH] s/;;/;/g 2006-03-24 07:33:24 -08:00
unix [PATCH] POLLRDHUP/EPOLLRDHUP handling for half-closed devices notifications 2006-03-25 08:22:56 -08:00
wanrouter [PATCH] capable/capability.h (net/) 2006-01-11 18:42:14 -08:00
x25 [X25]: dte facilities 32 64 ioctl conversion 2006-03-22 00:02:00 -08:00
xfrm [IPSEC]: Kill unused decap state structure 2006-04-01 00:54:16 -08:00
compat.c [NETFILTER]: iptables 32bit compat layer 2006-04-01 02:25:19 -08:00
Kconfig Merge branch 'master' 2006-02-07 01:47:12 -05:00
Makefile [TIPC] Initial merge 2006-01-12 14:06:31 -08:00
nonet.c [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
socket.c [NET]: Fully fix the memory leaks in sys_accept(). 2006-04-01 12:48:36 -08:00
sysctl_net.c [NET]: Fix "sysctl_net.c:36: error: 'core_table' undeclared here" 2005-10-03 14:16:34 -07:00
TUNABLE Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00