linux/net/ipv6
Herbert Xu 74235a25c6 [IPV6] addrconf: Fix IPv6 on tuntap tunnels
The recent patch that added ipv6_hwtype is broken on tuntap tunnels.
Indeed, it's broken on any device that does not pass the ipv6_hwtype
test.

The reason is that the original test only applies to autoconfiguration,
not IPv6 support.  IPv6 support is allowed on any device.  In fact,
even with the ipv6_hwtype patch applied you can still add IPv6 addresses
to any interface that doesn't pass thw ipv6_hwtype test provided that
they have a sufficiently large MTU.  This is a serious problem because
come deregistration time these devices won't be cleaned up properly.

I've gone back and looked at the rationale for the patch.  It appears
that the real problem is that we were creating IPv6 devices even if the
MTU was too small.  So here's a patch which fixes that and reverts the
ipv6_hwtype stuff.

Thanks to Kanru Chen for reporting this issue.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
2007-06-14 13:02:55 -07:00
..
netfilter [NETFILTER]: nf_conntrack: fix helper module unload races 2007-06-07 13:40:26 -07:00
Kconfig [IPV6] ADDRCONF: Optimistic Duplicate Address Detection (RFC 4429) Support. 2007-04-25 22:23:43 -07:00
Makefile [IPV6]: Fix Makefile thinko. 2007-04-25 22:29:53 -07:00
addrconf.c [IPV6] addrconf: Fix IPv6 on tuntap tunnels 2007-06-14 13:02:55 -07:00
addrconf_core.c [IPV6]: Fix __ipv6_addr_type() export in correct place. 2007-02-26 11:42:57 -08:00
af_inet6.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
ah6.c [IPSEC]: Fix IPv6 AH calculation in outbound 2007-05-31 01:23:25 -07:00
anycast.c [NET]: Rework dev_base via list_head (v3) 2007-05-03 15:13:45 -07:00
datagram.c [XFRM]: Allow packet drops during larval state resolution. 2007-05-24 18:17:54 -07:00
esp6.c [XFRM]: Optimize MTU calculation 2007-04-25 22:28:38 -07:00
exthdrs.c [IPV6]: Do no rely on skb->dst before it is assigned. 2007-05-10 23:45:58 -07:00
exthdrs_core.c [NET] IPV6: Fix whitespace errors. 2007-02-10 23:19:42 -08:00
fib6_rules.c [NETLINK]: Mark netlink policies const 2007-06-07 13:40:10 -07:00
icmp.c [NET]: cleanup extra semicolons 2007-04-25 22:29:24 -07:00
inet6_connection_sock.c [TCP]: Restore SKB socket owner setting in tcp_transmit_skb(). 2007-01-26 01:04:55 -08:00
inet6_hashtables.c [IPV6] HASHTABLES: Use appropriate seed for caluculating ehash index. 2007-02-12 20:26:39 -08:00
ip6_fib.c [IPV6]: Fix build warning. 2007-05-31 01:23:31 -07:00
ip6_flowlabel.c [PATCH] mark struct file_operations const 7 2007-02-12 09:48:46 -08:00
ip6_input.c [IPV6]: Reverse sense of promisc tests in ip6_mc_input 2007-05-14 03:00:27 -07:00
ip6_output.c [IPV6]: Send ICMPv6 error on scope violations. 2007-05-10 23:45:32 -07:00
ip6_tunnel.c [SK_BUFF]: unions of just one member don't get anything done, kill them 2007-04-25 22:26:20 -07:00
ipcomp6.c [SK_BUFF]: Introduce skb_copy_to_linear_data{_offset} 2007-04-25 22:28:29 -07:00
ipv6_sockglue.c [INET]: Add IP(V6)_PMTUDISC_RPOBE 2007-04-25 22:29:10 -07:00
mcast.c [NET]: Rework dev_base via list_head (v3) 2007-05-03 15:13:45 -07:00
mip6.c [NET]: SPIN_LOCK_UNLOCKED cleanup in drivers/atm, net 2007-04-26 01:37:44 -07:00
ndisc.c [IPV6] NDISC: Unify main process of sending ND messages. 2007-04-25 22:29:59 -07:00
netfilter.c [SK_BUFF]: Introduce ipv6_hdr(), remove skb->nh.ipv6h 2007-04-25 22:25:14 -07:00
proc.c [IPV6]: Track device renames in snmp6. 2007-04-28 21:16:39 -07:00
protocol.c [IPV6]: Decentralize EXPORT_SYMBOLs. 2007-04-25 22:23:36 -07:00
raw.c [XFRM]: Allow packet drops during larval state resolution. 2007-05-24 18:17:54 -07:00
reassembly.c [SK_BUFF]: unions of just one member don't get anything done, kill them 2007-04-25 22:26:20 -07:00
route.c [NETLINK]: Mark netlink policies const 2007-06-07 13:40:10 -07:00
sit.c [IPV6] SIT: Unify code path to get hash array index. 2007-04-25 22:29:54 -07:00
sysctl_net_ipv6.c [PATCH] sysctl: remove insert_at_head from register_sysctl 2007-02-14 08:09:59 -08:00
tcp_ipv6.c [TCP]: Disable TSO if MD5SIG is enabled. 2007-06-12 14:36:42 -07:00
tunnel6.c [IPSEC]: changing API of xfrm6_tunnel_register 2007-02-13 12:55:55 -08:00
udp.c [UDP]: Revert 2-pass hashing changes. 2007-06-07 13:40:50 -07:00
udp_impl.h [UDP]: Revert 2-pass hashing changes. 2007-06-07 13:40:50 -07:00
udplite.c [UDP]: Revert 2-pass hashing changes. 2007-06-07 13:40:50 -07:00
xfrm6_input.c [IPSEC]: Fix panic when using inter address familiy IPsec on loopback. 2007-05-31 01:23:28 -07:00
xfrm6_mode_beet.c [SK_BUFF]: unions of just one member don't get anything done, kill them 2007-04-25 22:26:20 -07:00
xfrm6_mode_ro.c [SK_BUFF]: Some more layer header conversions 2007-04-25 22:26:03 -07:00
xfrm6_mode_transport.c [SK_BUFF]: unions of just one member don't get anything done, kill them 2007-04-25 22:26:20 -07:00
xfrm6_mode_tunnel.c [IPSEC]: Fix panic when using inter address familiy IPsec on loopback. 2007-05-31 01:23:28 -07:00
xfrm6_output.c [SK_BUFF]: Introduce skb_reset_network_header(skb) 2007-04-25 22:24:46 -07:00
xfrm6_policy.c [NET]: cleanup extra semicolons 2007-04-25 22:29:24 -07:00
xfrm6_state.c [NET] IPV6: Fix whitespace errors. 2007-02-10 23:19:42 -08:00
xfrm6_tunnel.c [IPV6]: Fix slab corruption running ip6sic 2007-04-28 21:26:23 -07:00