Driver to client/server kind of works
diff --git a/test/cpp/qps/qps_driver.cc b/test/cpp/qps/qps_driver.cc
index e7dda8e..88b9d37 100644
--- a/test/cpp/qps/qps_driver.cc
+++ b/test/cpp/qps/qps_driver.cc
@@ -35,11 +35,23 @@
 
 #include "test/cpp/qps/driver.h"
 
-DEFINE_int32(num_clients, 1, "number of client binaries");
-DEFINE_int32(num_servers, 1, "number of server binaries");
+DEFINE_int32(num_clients, 1, "Number of client binaries");
+DEFINE_int32(num_servers, 1, "Number of server binaries");
 
-using grpc::testing::ClientArgs;
-using grpc::testing::ServerArgs;
+// Common config
+DEFINE_bool(enable_ssl, false, "Use SSL");
+
+// Server config
+DEFINE_int32(server_threads, 1, "Number of server threads");
+
+// Client config
+DEFINE_int32(client_threads, 1, "Number of client threads");
+DEFINE_int32(client_channels, 1, "Number of client channels");
+DEFINE_int32(num_rpcs, 10000, "Number of rpcs per client thread");
+DEFINE_int32(payload_size, 1, "Payload size");
+
+using grpc::testing::ClientConfig;
+using grpc::testing::ServerConfig;
 
 // In some distros, gflags is in the namespace google, and in some others,
 // in gflags. This hack is enabling us to find both.
@@ -52,10 +64,18 @@
   grpc_init();
   ParseCommandLineFlags(&argc, &argv, true);
 
-  ClientArgs client_args;
-  ServerArgs server_args;
+  ClientConfig client_config;
+  client_config.set_enable_ssl(FLAGS_enable_ssl);
+  client_config.set_client_threads(FLAGS_client_threads);
+  client_config.set_client_channels(FLAGS_client_channels);
+  client_config.set_num_rpcs(FLAGS_num_rpcs);
+  client_config.set_payload_size(FLAGS_payload_size);
 
-  RunScenario(client_args, FLAGS_num_clients, server_args, FLAGS_num_servers);
+  ServerConfig server_config;
+  server_config.set_threads(FLAGS_server_threads);
+  server_config.set_enable_ssl(FLAGS_enable_ssl);
+
+  RunScenario(client_config, FLAGS_num_clients, server_config, FLAGS_num_servers);
 
   grpc_shutdown();
   return 0;