Hi Martin,<br>I am running a test program ( which does a setsockopt with UDP_ENCAP ) in the background.<br><br>UAC < ----- >   P-CSCF ( Security association exist between these 2 elements, SAD/SPD updated at both ends. )<br>

<br>Still, I am not able to get the UDP Encapsulated packets on the UAC ( I can see them on wireshark but I guess they get dropped in the kernel )<br><br>#define UDP_ENCAP               100<br>#define UDP_ENCAP_ESPINUDP      2<br>

#define SOL_UDP                 17<br>#define UDP_PORT                4500<br><br>main()<br>{<br>  static int udp_enc_sck = 0;<br>  int ret = 2;<br><br>  if((udp_enc_sck = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP)) < 0) {<br>

    printf("\n Failed to open udp enc socket \n");<br>  }<br><br>  int type = UDP_ENCAP_ESPINUDP;<br>  if(setsockopt(udp_enc_sck, SOL_UDP, UDP_ENCAP, &type, sizeof(type)) < 0) {<br>    printf("\n Failed to set udp enc socket options \n");<br>

  }<br><br>  struct sockaddr_storage addr;<br>  struct sockaddr_in *sin = (struct sockaddr_in *)&addr;<br>  sin->sin_family = AF_INET;<br>  sin->sin_addr.s_addr = INADDR_ANY;<br>  sin->sin_port = htons(UDP_PORT);<br>

<br>  ret = bind(udp_enc_sck, (struct sockaddr *)&addr, sizeof(addr));<br>  if (ret < 0) <br>  {<br>    perror("\n Failed to bind udp enc socket \n");<br>  }<br>  while (1) { }<br>}<br><br><br><br><div class="gmail_quote">

On Wed, Aug 25, 2010 at 12:54 PM, Martin Willi <span dir="ltr"><<a href="mailto:martin@strongswan.org">martin@strongswan.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

Hi Kaushal,<br>
<div class="im"><br>
> Does that mean that I can run a "test program" and do a setsockopt on<br>
> the UDP socket in the "test program" and I will be able to receive<br>
> messages on the UE ?<br>
<br>
</div>To enable UDP decapsulation of ESP packets, this option must be set on a<br>
single socket in any application, yes. It does not matter which<br>
application sets it. But the flag does just that, decapsulation of<br>
UDP-in-ESP packets, you still have to configure the SAs with UDP<br>
encapsulation.<br>
<br>
Regards<br>
<font color="#888888">Martin<br>
<br>
<br>
</font></blockquote></div><br>