*/
if (sa_family == AF_INET6) {
#if defined(IPV6_DONTFRAG)
- if (setsockopt_off(fd, IPPROTO_IPV6, IPV6_DONTFRAG) == -1) {
+ if (setsockopt_on(fd, IPPROTO_IPV6, IPV6_DONTFRAG) == -1) {
return (ISC_R_FAILURE);
} else {
return (ISC_R_SUCCESS);
}
-#elif defined(IPV6_MTU_DISCOVER) && defined(IP_PMTUDISC_OMIT)
+#elif defined(IPV6_MTU_DISCOVER)
if (setsockopt(fd, IPPROTO_IPV6, IPV6_MTU_DISCOVER,
- &(int){ IP_PMTUDISC_OMIT }, sizeof(int)) == -1)
- {
- return (ISC_R_FAILURE);
- } else {
- return (ISC_R_SUCCESS);
- }
-#elif defined(IPV6_MTU_DISCOVER) && defined(IP_PMTUDISC_DONT)
- if (setsockopt(fd, IPPROTO_IPV6, IPV6_MTU_DISCOVER,
- &(int){ IP_PMTUDISC_DONT }, sizeof(int)) == -1)
+ &(int){ IP_PMTUDISC_DO }, sizeof(int)) == -1)
{
return (ISC_R_FAILURE);
} else {
#endif
} else if (sa_family == AF_INET) {
#if defined(IP_DONTFRAG)
- if (setsockopt_off(fd, IPPROTO_IP, IP_DONTFRAG) == -1) {
- return (ISC_R_FAILURE);
- } else {
- return (ISC_R_SUCCESS);
- }
-#elif defined(IP_MTU_DISCOVER) && defined(IP_PMTUDISC_OMIT)
- if (setsockopt(fd, IPPROTO_IP, IP_MTU_DISCOVER,
- &(int){ IP_PMTUDISC_OMIT }, sizeof(int)) == -1)
- {
+ if (setsockopt_on(fd, IPPROTO_IP, IP_DONTFRAG) == -1) {
return (ISC_R_FAILURE);
} else {
return (ISC_R_SUCCESS);
}
-#elif defined(IP_MTU_DISCOVER) && defined(IP_PMTUDISC_DONT)
+#elif defined(IP_MTU_DISCOVER)
if (setsockopt(fd, IPPROTO_IP, IP_MTU_DISCOVER,
- &(int){ IP_PMTUDISC_DONT }, sizeof(int)) == -1)
+ &(int){ IP_PMTUDISC_DO }, sizeof(int)) == -1)
{
return (ISC_R_FAILURE);
} else {