The attached patch makes the --pass-tos option work on FreeBSD. If
included in OpenVPN a configure test would probably be necessary.

This is one of several things we modified in OpenVPN while evaluating it
for deployment. Thought I'd share the fixes.

Cheers,
Nate Nielsen
diff -U3 ../openvpn-2.0.orig/socket.h ./socket.h
--- ../openvpn-2.0.orig/socket.h	Sun Apr 10 21:43:58 2005
+++ ./socket.h	Tue Aug  9 16:47:40 2005
@@ -748,7 +755,11 @@
 link_socket_set_tos (struct link_socket *ls)
 {
   if (ls && ls->ptos_defined)
-    setsockopt (ls->sd, IPPROTO_IP, IP_TOS, &ls->ptos, sizeof (ls->ptos));
+    {
+      int tos = ls->ptos;
+      setsockopt (ls->sd, IPPROTO_IP, IP_TOS, &tos, sizeof (tos));
+    }
+
 }

 #endif

Reply via email to