HI,

I went through the stronswan code to understand the IKE_SA and
CHILD_SA creation .

While going through the code I came across acquire function. The
comments for the function indicate that it processes the trigger from
the kernel for creation of CHILD_SAs.

1. Is it the only mechanism through which the CHILD_SAs can be created
( i.e through the acquire function, trigger coming from the kernel
based on policies installed )

2. The function also mentioned that the IKE_SA creation  can also be
triggered through the acquire function sometimes. What are the
scenarios under which the IKE_SA creation can be triggered from the
kernel?


I would highly appretiate your help on these issues.

Looking forward for a reply.

Thanks,
Vivek

On 7/6/09, vivek bairathi <bairathi.vi...@gmail.com> wrote:
> Hi,
>
> Thanks for your help.
>
> I still have a doubt that who initiates the IKE SA and CHILD SA.
> 1. Is it kernel who initiates both?
> 2. Or Kernel just initiates the CHILD SA (through acquire() function
> as per the SPD) and the IKE SA is initiated/triggered by reading the
> ipsec.conf file from which he knows the local and remote IP addresses?
> 3. If I have asked the wrong question or have wrongly understood your
> stack code then please do explain me how an IKE SA and CHILD SA is
> initiated or triggered in your stack?
>
>
> Thank you.
>
> Regards,
> Vivek
>
>
> On 7/2/09, vivek bairathi <bairathi.vi...@gmail.com> wrote:
>> Hi Martin,
>>
>> Thanks for your help. The problem is that we have a propritary
>> implementaion of the IP stack in micro engine whose development is in
>> assembly language.
>>
>> As per what you have suggested, I think it would make sense that we
>> let the kernel interface remain as is ( just change address family of
>> the sockets with compatiple ones ) and let another process sniff these
>> messages and provide an adpater interface with the network
>> processor/micro engine. This adapter would then provide all required
>> interfaces to the strongswan
>>
>> What are your thoughts on the same ?
>>
>> Regards,
>>
>> Vivek.
>>
>>
>>
>>
>> On 7/2/09, Martin Willi <mar...@strongswan.org> wrote:
>>> Hi,
>>>
>>>> 1. Could you please throw some light on how is the updated IP list is
>>>> given to the stack
>>>
>>> The roam job just indicates the network configuration has changed. While
>>> processing the job, a route lookup is done to find a new (or keep the
>>> existing) path to reach the peer.
>>>
>>>> 2. We saw that the XFRM_Expire  message is  received from the kernel.
>>>> Is it then the correct assumptions that strongswan does not maintain
>>>> the re-keying  timer for the child SAs?
>>>
>>> Yes, IKE_SA lifetimes are handled in the daemon, while CHILD_SA
>>> lifetimes are handled in the kernel. The reason for this is that there
>>> are (theoretically) other ways to expire an SA, only known to the kernel
>>> (e.g. number of bytes/packets processed).
>>>
>>>> 3. Could you let us know the best approach for plugging out the kernel
>>>> interface and using our own?
>>>
>>> Removing the kernel interface is probably the most complex option, you
>>> would need to work around a lot of functionality in the core daemon.
>>>
>>> The right way to do it is implement a kernel interface for IPsec and
>>> networking for the QNX system.
>>>
>>> QNX uses a PF_KEY interface [1], so you could try to use our existing
>>> PF_KEY plugin. As NetBSD uses a policy handling concept similar to KLIPS
>>> (flows), you probably need to borrow some bits from the KLIPS plugin.
>>>
>>> For the networking part, QNX uses the PF_ROUTE protocol [2] from BSD.
>>> You could try to use our PF_ROUTE plugin. It should work, but might not
>>> be feature complete.
>>>
>>>
>>> If you are willing to sponsor the development, you could hand over your
>>> QNX porting efforts to us. The strongSwan team has some experience in
>>> porting to BSD based systems...
>>>
>>> Regards
>>> Martin
>>>
>>> [1]http://www.qnx.com/developers/docs/6.3.0SP3/neutrino/lib_ref/i/ipsec_proto.html
>>> [2]http://www.qnx.com/developers/docs/6.3.0SP3/neutrino/lib_ref/r/route_proto.html
>>>
>>>
>>
>
_______________________________________________
Users mailing list
Users@lists.strongswan.org
https://lists.strongswan.org/mailman/listinfo/users

Reply via email to