Thread (9 messages) flat view 9 messages, 4 authors, 2003-03-24

Re: (usagi-core 12294) Re: [PATCH] IPv6 IPsec support

From: David S. Miller <hidden>
Date: 2003-03-05 23:49:16
Also in: lkml

   From: YOSHIFUJI Hideaki / 吉藤英明 [off-list ref]
   Date: Thu, 06 Mar 2003 00:48:20 +0900 (JST)
   
   > The next large task will be to abstract out more common
   > pieces of code.  There is still quite a bit of code duplication
   > between v4 and v6 xfrm methods,
   
   Yes, we will do that.  That patch is first step for reducing 
   duplicate codes between IPv4 and IPv6.

Great.  I believe it should be possible, in the end, to make the XFRM
engine %100 address-family (v4, v6 etc.) and protocol (ah, esp)
independant.  If that goal is achieved, we may move generic parts from
net/ipv4/xfrm_*.c to net/xfrm_*.c

Note that this coincides with the idea to eventually have
an address-family independant flow cache.

Most of the address-family specific areas are:

1) DST lookup (xfrm_dst_lookup_t)

2) selector key comparisons and state lookup
   (xfrm$(AF)_selector_match, xfrm$(AF)_state_find)

3) receive processing (xfrm${AF}_rcv)

#1 is made for ipv6 by Miyazawa-san's patch.  This could logically
be extended to handle issues #2 and #3 above.

All protocol specific (ESP, AH) and address-family specific references
should go away from places like include/net/xfrm.h

I think you understand all of this, and therefore I cannot wait for the
next ipsec cleanup patch from you :)

Finally, note that eventually we will need some reference counting scheme
for to allow xfrm address-family modules to be unloaded safely.

Currently, ipv4 cannot be a module and ipv6 as a module is not able
to unload :-)  So the module unload problem does not exist right
at this moment.  So ignore this issue for now.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help