{
DBG1(DBG_NET, "installing IKE bypass policy failed");
}
+
+ /* enable UDP decapsulation for NAT-T sockets */
+ if (port == &this->natt &&
+ !hydra->kernel_interface->enable_udp_decap(hydra->kernel_interface,
+ skt, family, this->natt))
+ {
+ DBG1(DBG_NET, "enabling UDP decapsulation failed");
+ }
+
return skt;
}
return NULL;
}
- /* enable UDP decapsulation globally, only for one socket needed */
- if (!hydra->kernel_interface->enable_udp_decap(hydra->kernel_interface,
- this->ipv6_natt ?: this->ipv4_natt,
- this->ipv6_natt ? AF_INET6 : AF_INET, this->natt))
- {
- DBG1(DBG_NET, "enabling UDP decapsulation failed");
- }
return &this->public;
}
DBG1(DBG_NET, "installing bypass policy on send socket failed");
}
- /* enable UDP decapsulation globally, only for one socket needed */
- if (family == AF_INET && port == CHARON_NATT_PORT &&
+ /* enable UDP decapsulation for NAT-T sockets */
+ if (port == CHARON_NATT_PORT &&
!hydra->kernel_interface->enable_udp_decap(hydra->kernel_interface,
skt, family, port))
{