+
+ nxt = *nexthdrp;
+ if (udp_encapsulate) {
+ *nexthdrp = IPPROTO_UDP;
+
+ /* Fill out the UDP header */
+ udp->uh_sport = ntohs((u_short)esp_udp_encap_port);
+ udp->uh_dport = ntohs(sav->remote_ike_port);
+// udp->uh_len set later, after all length tweaks are complete
+ udp->uh_sum = 0;
+
+ /* Update last sent so we know if we need to send keepalive */
+ sav->natt_last_activity = natt_now;
+ } else {
+ *nexthdrp = IPPROTO_ESP;
+ }