Thanks Paul for your help :-)<br><br>I added a CONFIG_IPSEC_NAT_TRAVERSAL=n line in linux/net/ipsec/defconfig to disable NAT-T, also tried remove this line. The result is same, ipsec_nat_encap unknown when insert ipsec.ko into running kernel.<br>
<br>ipsec_nat_encap is defined in&nbsp; linux/net/ipsec/ipsec_xmit.c, but it is undefed already by CONFIG_IPSEC_NAT_TRAVERSAL:<br>
&nbsp;&nbsp; 1727<br>
&nbsp;&nbsp; 1728 #ifdef CONFIG_IPSEC_NAT_TRAVERSAL<br>
&nbsp;&nbsp; 1729 enum ipsec_xmit_value ipsec_nat_encap(struct ipsec_xmit_state *ixs)<br>
&nbsp;&nbsp; 1730 {<br>
&nbsp;&nbsp; 1731&nbsp;&nbsp;&nbsp;&nbsp; if (ixs-&gt;natt_type &amp;&amp; ixs-&gt;natt_head) {<br>
<br>After undef CONFIG_IPSEC_NAT_TRAVERSAL, then &#39;make KERNELSRC=/lib/modules/2.6.9.1-667/build module&#39; finished, I got following message:<br><br>#################<br>&nbsp; LD [M]&nbsp; /root/src/openswan-2.6.14/modobj26/ipsec.o<br>
&nbsp; Building modules, stage 2.<br>&nbsp; MODPOST<br>*** Warning: &quot;ipsec_nat_encap&quot; [/root/src/openswan-2.6.14/modobj26/ipsec.ko] undefined!<br>&nbsp; CC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /root/src/openswan-2.6.14/modobj26/ipsec.mod.o<br>&nbsp; LD [M]&nbsp; /root/src/openswan-2.6.14/modobj26/ipsec.ko<br>
make[2]: Leaving directory `/usr/src/kernels/2.6.12-1.1372_FC3-i686&#39;<br><br>=========================================================<br><br>KLIPS26 module built successfully.<br>###############<br><br>I think the problem is in several assembly language file, like &quot;modobj26/ipsec_mast.s&quot;:<br>
&nbsp;&nbsp;&nbsp; 177 .L27:<br>&nbsp;&nbsp;&nbsp; 178&nbsp;&nbsp;&nbsp;&nbsp; .loc 1 282 0<br>&nbsp;&nbsp;&nbsp; 179&nbsp;&nbsp;&nbsp;&nbsp; movw&nbsp;&nbsp;&nbsp; $1460, 242(%esi)<br>&nbsp;&nbsp;&nbsp; 180&nbsp;&nbsp;&nbsp;&nbsp; .loc 1 283 0<br>&nbsp;&nbsp;&nbsp; 181&nbsp;&nbsp;&nbsp;&nbsp; movw&nbsp;&nbsp;&nbsp; $1460, 240(%esi)<br>&nbsp;&nbsp;&nbsp; 182&nbsp;&nbsp;&nbsp;&nbsp; .loc 1 285 0<br>&nbsp;&nbsp;&nbsp; 183&nbsp;&nbsp;&nbsp;&nbsp; movl&nbsp;&nbsp;&nbsp; %esi, %eax<br>&nbsp;&nbsp;&nbsp; 184&nbsp;&nbsp;&nbsp;&nbsp; call&nbsp;&nbsp;&nbsp; ipsec_xmit_encap_bundle_2<br>
&nbsp;&nbsp;&nbsp; 185&nbsp;&nbsp;&nbsp;&nbsp; .loc 1 287 0<br>&nbsp;&nbsp;&nbsp; 186&nbsp;&nbsp;&nbsp;&nbsp; testl&nbsp;&nbsp; %eax, %eax<br>&nbsp;&nbsp;&nbsp; 187&nbsp;&nbsp;&nbsp;&nbsp; jne .L36<br>&nbsp;&nbsp;&nbsp; 188&nbsp;&nbsp;&nbsp;&nbsp; .loc 1 294 0<br>&nbsp;&nbsp;&nbsp; 189&nbsp;&nbsp;&nbsp;&nbsp; movl&nbsp;&nbsp;&nbsp; %esi, %eax<br>&nbsp;&nbsp;&nbsp; 190&nbsp;&nbsp;&nbsp;&nbsp; call&nbsp;&nbsp;&nbsp; ipsec_nat_encap<br>&nbsp;&nbsp;&nbsp; 191&nbsp;&nbsp;&nbsp;&nbsp; .loc 1 295 0<br>&nbsp;&nbsp;&nbsp; 192&nbsp;&nbsp;&nbsp;&nbsp; testl&nbsp;&nbsp; %eax, %eax<br>
&nbsp;&nbsp;&nbsp; 193&nbsp;&nbsp;&nbsp;&nbsp; .p2align 4,,2<br>&nbsp;&nbsp;&nbsp; 194&nbsp;&nbsp;&nbsp;&nbsp; je&nbsp; .L62<br>In line 190, ipsec_nat_encap is called. <br><br>I think I still need to do more configuration to solve this problem, but I don&#39;t know where to configure :-(<br><br>
PS: I want to compile an ipsec kernel module without NAT-T, which do not require a recompilation of the kernel image, this is why I want to undef CONFIG_IPSEC_NAT_TRAVERSAL<br><br><div class="gmail_quote">On Thu, Jul 10, 2008 at 4:26 AM, Paul Wouters &lt;<a href="mailto:paul@xelerance.com">paul@xelerance.com</a>&gt; wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="Ih2E3d">On Wed, 9 Jul 2008, Tian Yazhou wrote:<br>
<br>
&gt; I&#39;ve sent this message to users mail list for several days but receive no<br>
&gt; reponse. Sorry to post it again here, I just have no more time to<br>
&gt; investigate this problem.<br>
<br>
</div>Did you undef/remove it from linux/net/ipsec/defconfig too? Or specified<br>
your own def?<br>
<font color="#888888"><br>
Paul<br>
</font><div><div></div><div class="Wj3C7c"><br>
&gt; ---------- Forwarded message ----------<br>
&gt; From: Tian Yazhou &lt;<a href="mailto:phio.asia@gmail.com">phio.asia@gmail.com</a>&gt;<br>
&gt; Date: Mon, Jul 7, 2008 at 5:21 PM<br>
&gt; Subject: unkown symbol ipsec_nat_encap while insert ipsec.ko<br>
&gt; To: <a href="mailto:users@openswan.org">users@openswan.org</a><br>
&gt;<br>
&gt;<br>
&gt; I&#39;m trying to use 2.6.14 version OpenS/WAN under a Fedora 3 box with a<br>
&gt; 2.6.9-1.667 kernel, using KLIPS.<br>
&gt;<br>
&gt; At first when i compiled it, &#39;make&#39; complained about unavailability of<br>
&gt; spinlock_typs.h. I solved this simply by commenting out the #define<br>
&gt; NEED_SPINLOCK_TYPES in line 116 of ipsec_keversion.h.<br>
&gt; then, I could compile and install the ipsec kernel module successfully. But<br>
&gt; while I wanted to insert this module into the current kernel, modprobe<br>
&gt; paniced about &#39;unkown symbol&#39;. dmesg told me it&#39;s caused by ipsec_nat_encap.<br>
&gt;<br>
&gt;<br>
&gt; It seems that &#39;ipsec_nat_encap&#39; is about NAT-T, but after I undef<br>
&gt; CONFIG_IPSEC_NAT_TRAVERSAL in config-all.h and config-all.hmodules, it still<br>
&gt; failed because some assembly code call ipsec_nat_encap.<br>
&gt;<br>
&gt; I&#39;m sure I must missed something, could some one help me on this? Thanks a<br>
&gt; lot.<br>
&gt;<br>
&gt; --<br>
&gt; Dream as if you&#39;ll live forever; Live as if you&#39;ll die today. - James Dean<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; Dream as if you&#39;ll live forever; Live as if you&#39;ll die today. - James Dean<br>
&gt;<br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Dream as if you&#39;ll live forever; Live as if you&#39;ll die today. - James Dean