Subject: Re: Reminder that we are supporting two parallel IPsec implementations
To: None <itojun@iijlab.net>
From: Jonathan Stone <jonathan@DSG.Stanford.EDU>
List: tech-net
Date: 09/11/2003 17:45:14
> the code is identical in sys/netipsec.
So if it's identical, you would accept demonstrationn of a bug against
the sys/netipsec code as applicable to the KAME sys/netkey tree?
If so,, the bug can be demonstrated quite easily[*]. With
approximately 340 SAs total, setkey starts returning EAGAIN.
For racoon, when racoon calls pfkey_dump_sadb(), (e.g., processing a
new SA) pfke_dump_sadb calls pfkey_recv() to walk through the SA
database, one SA at a time. Again, at around 340 SAs, the call to
pfkey_recv() calls recv() which sleeps forever: racoon is deadlocked,
sleeping inside the kernel in sbwait() where it is never going to be
woken up.
Even if I increase ths eize of the raw queue by a factor of 8, this
behaviour still occurs, and it occurs *at the same number of SAs*.
That's a bug, and *your own CVS commit message* confirms that you
checked in an ad-hoc workaround. you please confirm that you have
understoond that point? I take it as read that you will refrain from
commititng ad-hoc workarounds in future.
[*] The code I have has some minor differences from the netipsec/
code, but none of those are in pf_key handling.