linux/net/core
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
..
Makefile [WEXT]: Move to net/wireless 2007-04-26 20:42:51 -07:00
datagram.c [NET]: Revert sk_buff walker cleanups. 2007-04-27 15:21:23 -07:00
dev.c [NET]: Fix race condition about network device name allocation. 2007-05-19 15:39:25 -07:00
dev_mcast.c [NET]: Rework dev_base via list_head (v3) 2007-05-03 15:13:45 -07:00
dst.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
ethtool.c [NET] core: whitespace cleanup 2007-04-25 22:24:09 -07:00
fib_rules.c [RTNETLINK]: Remove unnecessary locking in dump callbacks 2007-04-25 22:29:05 -07:00
filter.c [SK_BUFF]: Convert skb->tail to sk_buff_data_t 2007-04-25 22:26:28 -07:00
flow.c Add suspend-related notifications for CPU hotplug 2007-05-09 12:30:56 -07:00
gen_estimator.c [NET] CORE: Fix whitespace errors. 2007-02-10 23:19:25 -08:00
gen_stats.c [SK_BUFF]: Convert skb->tail to sk_buff_data_t 2007-04-25 22:26:28 -07:00
iovec.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
kmap_skb.h [PATCH] severing skbuff.h -> highmem.h 2006-12-04 02:00:29 -05:00
link_watch.c [NET] link_watch: Always schedule urgent events 2007-05-10 23:45:28 -07:00
neighbour.c [NEIGH]: Use rtnl registration interface 2007-04-25 22:27:06 -07:00
net-sysfs.c [NET]: Fix race condition about network device name allocation. 2007-05-19 15:39:25 -07:00
netevent.c [NET]: Network Event Notifier Mechanism. 2006-08-02 13:38:20 -07:00
netpoll.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
pktgen.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
request_sock.c [NET]: Size listen hash tables using backlog hint 2006-12-02 21:21:44 -08:00
rtnetlink.c [RTNETLINK]: Remove remains of wireless extensions over rtnetlink 2007-05-22 17:00:49 -07:00
scm.c [NET] CORE: Fix whitespace errors. 2007-02-10 23:19:25 -08:00
skbuff.c [NET]: Fix net/core/skbuff.c gcc-3.2.3 compilation error 2007-05-19 13:55:25 -07:00
sock.c [NET]: "wrong timeout value" in sk_wait_data() v2 2007-05-24 16:58:54 -07:00
stream.c [NET] CORE: Fix whitespace errors. 2007-02-10 23:19:25 -08:00
sysctl_net_core.c [XFRM]: Allow packet drops during larval state resolution. 2007-05-24 18:17:54 -07:00
user_dma.c [NET]: Revert sk_buff walker cleanups. 2007-04-27 15:21:23 -07:00
utils.c [NET]: New sysctls should use __read_mostly tags 2007-04-25 22:24:19 -07:00