linux/net/ipv4
David S. Miller 14e50e57ae [XFRM]: Allow packet drops during larval state resolution.
The current IPSEC rule resolution behavior we have does not work for a
lot of people, even though technically it's an improvement from the
-EAGAIN buisness we had before.

Right now we'll block until the key manager resolves the route.  That
works for simple cases, but many folks would rather packets get
silently dropped until the key manager resolves the IPSEC rules.

We can't tell these folks to "set the socket non-blocking" because
they don't have control over the non-block setting of things like the
sockets used to resolve DNS deep inside of the resolver libraries in
libc.

With that in mind I coded up the patch below with some help from
Herbert Xu which provides packet-drop behavior during larval state
resolution, controllable via sysctl and off by default.

This lays the framework to either:

1) Make this default at some point or...

2) Move this logic into xfrm{4,6}_policy.c and implement the
   ARP-like resolution queue we've all been dreaming of.
   The idea would be to queue packets to the policy, then
   once the larval state is resolved by the key manager we
   re-resolve the route and push the packets out.  The
   packets would timeout if the rule didn't get resolved
   in a certain amount of time.

Signed-off-by: David S. Miller <davem@davemloft.net>
2007-05-24 18:17:54 -07:00
..
ipvs [IPVS]: Use menuconfig objects. 2007-05-24 16:36:47 -07:00
netfilter [NETFILTER]: nf_nat_h323: call set_h225_addr instead of set_h225_addr_hook 2007-05-24 16:44:40 -07:00
af_inet.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
ah4.c
arp.c
cipso_ipv4.c Fix occurrences of "the the " 2007-05-09 08:57:56 +02:00
datagram.c
devinet.c [NET]: Rework dev_base via list_head (v3) 2007-05-03 15:13:45 -07:00
esp4.c
fib_frontend.c
fib_hash.c [RTNETLINK]: Fix sending netlink message when replace route. 2007-05-24 16:36:53 -07:00
fib_lookup.h [RTNETLINK]: Fix sending netlink message when replace route. 2007-05-24 16:36:53 -07:00
fib_rules.c
fib_semantics.c [RTNETLINK]: Fix sending netlink message when replace route. 2007-05-24 16:36:53 -07:00
fib_trie.c [RTNETLINK]: Fix sending netlink message when replace route. 2007-05-24 16:36:53 -07:00
icmp.c [IPV4]: icmp: fix crash with sysctl_icmp_errors_use_inbound_ifaddr 2007-05-19 14:44:15 -07:00
igmp.c [NET]: Rework dev_base via list_head (v3) 2007-05-03 15:13:45 -07:00
inet_connection_sock.c
inet_diag.c
inet_hashtables.c
inet_timewait_sock.c
inetpeer.c
ip_forward.c
ip_fragment.c
ip_gre.c
ip_input.c
ip_options.c
ip_output.c
ip_sockglue.c
ipcomp.c
ipconfig.c [NET]: Rework dev_base via list_head (v3) 2007-05-03 15:13:45 -07:00
ipip.c
ipmr.c
Kconfig [IPV4]: Correct rp_filter help text. 2007-05-17 15:02:21 -07:00
Makefile
multipath_drr.c
multipath_random.c
multipath_rr.c
multipath_wrandom.c
multipath.c
netfilter.c
proc.c [IPV4] SNMP: Display new statistics at /proc/net/netstat 2007-05-14 03:07:30 -07:00
protocol.c
raw.c
route.c [XFRM]: Allow packet drops during larval state resolution. 2007-05-24 18:17:54 -07:00
syncookies.c
sysctl_net_ipv4.c
tcp_bic.c
tcp_cong.c [TCP] slow start: Make comments and code logic clearer. 2007-05-17 14:20:31 -07:00
tcp_cubic.c
tcp_diag.c
tcp_highspeed.c [TCP] Highspeed: Limited slow-start is nowadays in tcp_slow_start 2007-05-03 13:28:35 -07:00
tcp_htcp.c
tcp_hybla.c
tcp_illinois.c
tcp_input.c [TCP] FRTO: Prevent state inconsistency in corner cases 2007-05-19 13:56:57 -07:00
tcp_ipv4.c
tcp_lp.c
tcp_minisocks.c
tcp_output.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
tcp_probe.c
tcp_scalable.c
tcp_timer.c
tcp_vegas.c
tcp_vegas.h
tcp_veno.c
tcp_westwood.c
tcp_yeah.c
tcp.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
tunnel4.c
udp_impl.h [UDP]: Fix AF-specific references in AF-agnostic code. 2007-05-10 23:47:22 -07:00
udp.c [UDP]: Fix AF-specific references in AF-agnostic code. 2007-05-10 23:47:22 -07:00
udplite.c [UDP]: Fix AF-specific references in AF-agnostic code. 2007-05-10 23:47:22 -07:00
xfrm4_input.c
xfrm4_mode_beet.c
xfrm4_mode_transport.c
xfrm4_mode_tunnel.c
xfrm4_output.c
xfrm4_policy.c
xfrm4_state.c
xfrm4_tunnel.c