This allows the user to set the udp6 and tcp6 protocols and have
NetworkManager pass them through to OpenVPN.

Index: network-manager-openvpn-1.2.6/properties/nm-openvpn-editor.c
===================================================================
--- network-manager-openvpn-1.2.6.orig/properties/nm-openvpn-editor.c
+++ network-manager-openvpn-1.2.6/properties/nm-openvpn-editor.c
@@ -100,7 +100,7 @@ check_gateway_entry (const char *str)
 				goto out;
 		}
 		/* check proto */
-		if (proto && strcmp (proto, "udp") && strcmp (proto, "tcp"))
+		if (proto && strcmp (proto, "udp") && strcmp (proto, "tcp") && strcmp (proto, "udp6") && strcmp (proto, "tcp6"))
 			goto out;
 	}
 	success = TRUE;
Index: network-manager-openvpn-1.2.6/src/nm-openvpn-service.c
===================================================================
--- network-manager-openvpn-1.2.6.orig/src/nm-openvpn-service.c
+++ network-manager-openvpn-1.2.6/src/nm-openvpn-service.c
@@ -1229,6 +1229,10 @@ nm_openvpn_start_openvpn_binary (NMOpenv
 					add_openvpn_arg (args, proto);
 				else if (!strcmp (proto, "tcp"))
 					add_openvpn_arg (args, "tcp-client");
+				else if (!strcmp (proto, "udp6"))
+					add_openvpn_arg (args, proto);
+				else if (!strcmp (proto, "tcp6"))
+					add_openvpn_arg (args, proto);
 				else {
 					g_set_error (error,
 					             NM_VPN_PLUGIN_ERROR,
