I have questions about the linux kernel and IPsec at
the layer 3, the files 'net/ipv4/ipip.c' and
Are these files necessary to implement IPsec? What are
their main functionalities?
I see many input and output files at net/ipv4 like:
xfrm4_input.c/xfrm4_output.c, If IPsec is enabled,
does the second group 'xfrm4_input.c/xfrm4_output.c'
is used instead of the first one? Or the second ones
are called by the first couple of functions?
net/ipv4/ah4.c and net/ipv4/esp4.c also have
input/output functions, when and how they are called?
I am looking for a simple flow of network traffic in
case of IPsec...
I did not get my answer in the Linux kernel books,
please answer me with your own technical knowledge.
What is the flow of (input/output) information inside
the layer 3 when IPsec is enabled?
How IPsec is enabled at user space, is it done by
setkey or socket system call with special arguments?