kernel-hacking-2024-linux-s.../net/ipv6
Eric Dumazet 87c48fa3b4 ipv6: make fragment identifications less predictable
IPv6 fragment identification generation is way beyond what we use for
IPv4 : It uses a single generator. Its not scalable and allows DOS
attacks.

Now inetpeer is IPv6 aware, we can use it to provide a more secure and
scalable frag ident generator (per destination, instead of system wide)

This patch :
1) defines a new secure_ipv6_id() helper
2) extends inet_getid() to provide 32bit results
3) extends ipv6_select_ident() with a new dest parameter

Reported-by: Fernando Gont <fernando@gont.com.ar>
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-07-21 21:25:58 -07:00
..
netfilter netfilter: fix looped (broad|multi)cast's MAC handling 2011-06-16 17:27:04 +02:00
addrconf.c net: Abstract dst->neighbour accesses behind helpers. 2011-07-17 23:11:35 -07:00
addrconf_core.c
addrlabel.c rtnetlink: Compute and store minimum ifinfo dump size 2011-06-09 20:38:07 -07:00
af_inet6.c net: bind() fix error return on wrong address family 2011-07-04 21:37:41 -07:00
ah6.c
anycast.c
datagram.c
esp6.c
exthdrs.c
exthdrs_core.c
fib6_rules.c
icmp.c
inet6_connection_sock.c
inet6_hashtables.c
ip6_fib.c net: Abstract dst->neighbour accesses behind helpers. 2011-07-17 23:11:35 -07:00
ip6_flowlabel.c
ip6_input.c
ip6_output.c ipv6: make fragment identifications less predictable 2011-07-21 21:25:58 -07:00
ip6_tunnel.c
ip6mr.c rtnetlink: Compute and store minimum ifinfo dump size 2011-06-09 20:38:07 -07:00
ipcomp6.c
ipv6_sockglue.c
Kconfig
Makefile
mcast.c
mip6.c
ndisc.c net: Abstract dst->neighbour accesses behind helpers. 2011-07-17 23:11:35 -07:00
netfilter.c
proc.c
protocol.c
raw.c ipv6: Reduce switch/case indent 2011-07-01 16:11:16 -07:00
reassembly.c
route.c ipv6: unshare inetpeers 2011-07-21 21:24:25 -07:00
sit.c net: Abstract dst->neighbour accesses behind helpers. 2011-07-17 23:11:35 -07:00
syncookies.c tcp: RFC2988bis + taking RTT sample from 3WHS for the passive open side 2011-06-08 17:05:30 -07:00
sysctl_net_ipv6.c
tcp_ipv6.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2011-06-20 22:29:08 -07:00
tunnel6.c
udp.c ipv6: make fragment identifications less predictable 2011-07-21 21:25:58 -07:00
udp_impl.h
udplite.c
xfrm6_input.c
xfrm6_mode_beet.c
xfrm6_mode_ro.c
xfrm6_mode_transport.c
xfrm6_mode_tunnel.c
xfrm6_output.c
xfrm6_policy.c
xfrm6_state.c
xfrm6_tunnel.c