diff --git a/sys/rpc/clnt_vc.c b/sys/rpc/clnt_vc.c --- a/sys/rpc/clnt_vc.c +++ b/sys/rpc/clnt_vc.c @@ -206,6 +206,13 @@ sopt.sopt_val = &one; sopt.sopt_valsize = sizeof(one); sosetopt(so, &sopt); + + sopt.sopt_dir = SOPT_SET; + sopt.sopt_level = IPPROTO_TCP; + sopt.sopt_name = TCP_USE_DDP; + sopt.sopt_val = &one; + sopt.sopt_valsize = sizeof(one); + sosetopt(so, &sopt); } ct->ct_closeit = FALSE; diff --git a/sys/rpc/svc_vc.c b/sys/rpc/svc_vc.c --- a/sys/rpc/svc_vc.c +++ b/sys/rpc/svc_vc.c @@ -287,6 +287,13 @@ if (error) { return (NULL); } + + opt.sopt_dir = SOPT_SET; + opt.sopt_level = IPPROTO_TCP; + opt.sopt_name = TCP_USE_DDP; + opt.sopt_val = &one; + opt.sopt_valsize = sizeof(one); + (void)sosetopt(so, &opt); } cd = mem_alloc(sizeof(*cd));