linux-stable/net/ipv6
Herbert Xu aabc9761b6 [IPSEC]: Store idev entries
I found a bug that stopped IPsec/IPv6 from working.  About
a month ago IPv6 started using rt6i_idev->dev on the cached socket dst
entries.  If the cached socket dst entry is IPsec, then rt6i_idev will
be NULL.

Since we want to look at the rt6i_idev of the original route in this
case, the easiest fix is to store rt6i_idev in the IPsec dst entry just
as we do for a number of other IPv6 route attributes.  Unfortunately
this means that we need some new code to handle the references to
rt6i_idev.  That's why this patch is bigger than it would otherwise be.

I've also done the same thing for IPv4 since it is conceivable that
once these idev attributes start getting used for accounting, we
probably need to dereference them for IPv4 IPsec entries too.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-05-03 16:27:10 -07:00
..
netfilter [NETLINK]: Synchronous message processing. 2005-05-03 14:55:09 -07:00
Kconfig Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Makefile Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
addrconf.c [RTNETLINK] Cleanup rtnetlink_link tables 2005-05-03 14:29:39 -07:00
af_inet6.c [PATCH] kill gratitious includes of major.h under net/* 2005-04-25 18:32:13 -07:00
ah6.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
anycast.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
datagram.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
esp6.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
exthdrs.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
exthdrs_core.c [SELINUX]: Fix ipv6_skip_exthdr() invocation causing OOPS. 2005-04-24 20:16:19 -07:00
icmp.c [SELINUX]: Fix ipv6_skip_exthdr() invocation causing OOPS. 2005-04-24 20:16:19 -07:00
ip6_fib.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ip6_flowlabel.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ip6_input.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ip6_output.c [IPV6]: Replace bogus instances of inet->recverr 2005-04-19 22:32:22 -07:00
ip6_tunnel.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ipcomp6.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ipv6_sockglue.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ipv6_syms.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mcast.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ndisc.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
proc.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
protocol.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
raw.c [IPV6]: Fix raw socket checksums with IPsec 2005-05-03 14:24:36 -07:00
reassembly.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
route.c [IPV6]: Incorrect permissions on route flush sysctl 2005-04-28 12:11:49 -07:00
sit.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sysctl_net_ipv6.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
tcp_ipv6.c [TCP]: Optimize check in port-allocation code, v6 version. 2005-05-03 14:36:45 -07:00
udp.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
xfrm6_input.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
xfrm6_output.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
xfrm6_policy.c [IPSEC]: Store idev entries 2005-05-03 16:27:10 -07:00
xfrm6_state.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
xfrm6_tunnel.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00