[Pkg-ofed-commits] [perftest] 01/06: Imported Upstream version 3.0+0.18.gb464d59

Ana Beatriz Guerrero López ana at moszumanska.debian.org
Wed Mar 30 07:43:27 UTC 2016


This is an automated email from the git hooks/post-receive script.

ana pushed a commit to branch master
in repository perftest.

commit 888f64480ac1e9c6a8fa95717d4ba669e09fdeff
Author: Ana Beatriz Guerrero Lopez <ana at debian.org>
Date:   Wed Mar 30 09:22:20 2016 +0200

    Imported Upstream version 3.0+0.18.gb464d59
---
 perftest.spec                |  4 ++--
 src/perftest_parameters.c    | 27 ++++++++++++++++++++++++---
 src/perftest_parameters.h    |  1 +
 src/perftest_resources.c     | 12 +++++++++++-
 src/raw_ethernet_resources.c | 26 ++------------------------
 5 files changed, 40 insertions(+), 30 deletions(-)

diff --git a/perftest.spec b/perftest.spec
index a087377..5e1b0f6 100644
--- a/perftest.spec
+++ b/perftest.spec
@@ -1,10 +1,10 @@
 Name:           perftest
 Summary:        IB Performance tests
 Version: 3.0
-Release: 0.16.gb2f2e82
+Release: 0.18.gb464d59
 License:        BSD 3-Clause, GPL v2 or later
 Group:          Productivity/Networking/Diagnostic
-Source: http://www.openfabrics.org/downloads/perftest-3.0-0.16.gb2f2e82.tar.gz
+Source: http://www.openfabrics.org/downloads/perftest-3.0-0.18.gb464d59.tar.gz
 Url:            http://www.openfabrics.org
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 BuildRequires:  libibverbs-devel librdmacm-devel libibumad-devel
diff --git a/src/perftest_parameters.c b/src/perftest_parameters.c
index 66d4e19..41b963f 100755
--- a/src/perftest_parameters.c
+++ b/src/perftest_parameters.c
@@ -222,8 +222,13 @@ static void usage(const char *argv0, VerbType verb, TestType tst, int connection
 		printf(" Post list of WQEs of <list size> size (instead of single post)\n");
 	}
 
-	printf("  -m, --mtu=<mtu> ");
-	printf(" Mtu size : 256 - 4096 (default port mtu)\n");
+	if (connection_type == RawEth) {
+		printf("  -m, --mtu=<mtu> ");
+		printf(" Mtu size : 64 - 9600 (default port mtu)\n");
+	} else {
+		printf("  -m, --mtu=<mtu> ");
+		printf(" Mtu size : 256 - 4096 (default port mtu)\n");
+	}
 
 	if (verb == SEND) {
 		printf("  -M, --MGID=<multicast_gid> ");
@@ -376,6 +381,9 @@ static void usage(const char *argv0, VerbType verb, TestType tst, int connection
 	printf("      --retry_count=<value> ");
 	printf(" Set retry count value in rdma_cm mode\n");
 
+	printf("      --tclass=<value> ");
+	printf(" Set the Traffic Class in GRH (if GRH is in use)\n");
+
 	#ifdef HAVE_CUDA
 	printf("      --use_cuda ");
 	printf(" Use CUDA lib for GPU-Direct testing.\n");
@@ -416,7 +424,7 @@ void usage_raw_ethernet()
 {
 	printf("  Raw Ethernet options :\n");
 	printf("  -B, --source_mac ");
-	printf(" source MAC address by this format XX:XX:XX:XX:XX:XX (default take the MAC address form GID)\n");
+	printf(" source MAC address by this format XX:XX:XX:XX:XX:XX **MUST** be entered \n");
 
 	printf("  -E, --dest_mac ");
 	printf(" destination MAC address by this format XX:XX:XX:XX:XX:XX **MUST** be entered \n");
@@ -555,6 +563,7 @@ static void init_perftest_params(struct perftest_parameters *user_param)
 	user_param->use_res_domain	= 0;
 	user_param->mr_per_qp		= 0;
 	user_param->dlid		= 0;
+	user_param->traffic_class	= 0;
 }
 
 /******************************************************************************
@@ -822,6 +831,12 @@ static void force_dependecies(struct perftest_parameters *user_param)
 			exit(1);
 		}
 
+		if(user_param->is_source_mac == OFF) {
+			printf(RESULT_LINE);
+			fprintf(stderr," Invalid Command line.\n you must enter source mac by this format -B XX:XX:XX:XX:XX:XX\n");
+			exit(1);
+		}
+
 		if(user_param->machine == CLIENT && user_param->is_dest_mac == OFF && !user_param->raw_mcast) {
 			printf(RESULT_LINE);
 			fprintf(stderr," Invalid Command line.\n you must enter dest mac by this format -E XX:XX:XX:XX:XX:XX\n");
@@ -1339,6 +1354,7 @@ int parser(struct perftest_parameters *user_param,char *argv[], int argc)
 	static int use_res_domain_flag = 0;
 	static int mr_per_qp_flag = 0;
 	static int dlid_flag = 0;
+	static int tclass_flag = 0;
 
 	init_perftest_params(user_param);
 
@@ -1429,6 +1445,7 @@ int parser(struct perftest_parameters *user_param,char *argv[], int argc)
 			#endif
 			{ .name = "mr_per_qp",		.has_arg = 0, .flag = &mr_per_qp_flag, .val = 1},
 			{ .name = "dlid",		.has_arg = 1, .flag = &dlid_flag, .val = 1},
+			{ .name = "tclass",		.has_arg = 1, .flag = &tclass_flag, .val = 1},
 			{ 0 }
 		};
 		c = getopt_long(argc,argv,"w:y:p:d:i:m:s:n:t:u:S:x:c:q:I:o:M:r:Q:A:l:D:f:B:T:E:J:j:K:k:aFegzRvhbNVCHUOZP",long_options,NULL);
@@ -1741,6 +1758,10 @@ int parser(struct perftest_parameters *user_param,char *argv[], int argc)
 					  user_param->dlid = (uint16_t)strtol(optarg, NULL, 0);
 					  dlid_flag = 0;
 				  }
+				  if (tclass_flag) {
+					  user_param->traffic_class = (uint16_t)strtol(optarg, NULL, 0);
+					  tclass_flag = 0;
+				  }
 				  break;
 
 			default:
diff --git a/src/perftest_parameters.h b/src/perftest_parameters.h
index fa9d4d8..e9d28fa 100755
--- a/src/perftest_parameters.h
+++ b/src/perftest_parameters.h
@@ -417,6 +417,7 @@ struct perftest_parameters {
 	int				use_res_domain;
 	int				mr_per_qp;
 	uint16_t			dlid;
+	uint8_t				traffic_class;
 };
 
 struct report_options {
diff --git a/src/perftest_resources.c b/src/perftest_resources.c
index 71a1541..2c42700 100755
--- a/src/perftest_resources.c
+++ b/src/perftest_resources.c
@@ -1119,6 +1119,7 @@ struct ibv_exp_res_domain* create_res_domain(struct pingpong_context *ctx, struc
  ******************************************************************************/
 int create_single_mr(struct pingpong_context *ctx, struct perftest_parameters *user_param, int qp_index)
 {
+	int i;
 	int flags = IBV_ACCESS_LOCAL_WRITE;
 
 	#ifdef HAVE_VERBS_EXP
@@ -1224,6 +1225,13 @@ int create_single_mr(struct pingpong_context *ctx, struct perftest_parameters *u
 	if (ctx->is_contig_supported == SUCCESS)
 		ctx->buf[qp_index] = ctx->mr[qp_index]->addr;
 
+
+	/* Initialize buffer with random numbers */
+	srand(time(NULL));
+	for (i = 0; i < ctx->buff_size; i++) {
+		((char*)ctx->buf[qp_index])[i] = (char)rand();
+	}
+
 	return 0;
 }
 
@@ -1938,6 +1946,7 @@ static int ctx_modify_dc_qp_to_rtr(struct ibv_qp *qp,
 		attr->ah_attr.grh.dgid = dest->gid;
 		attr->ah_attr.grh.sgid_index = user_param->gid_index;
 		attr->ah_attr.grh.hop_limit = 1;
+		attr->ah_attr.grh.traffic_class = user_param->traffic_class;
 		attr->ah_attr.sl = 0;
 	}
 
@@ -2000,7 +2009,8 @@ static int ctx_modify_qp_to_rtr(struct ibv_qp *qp,
 			attr->ah_attr.is_global  = 1;
 			attr->ah_attr.grh.dgid = dest->gid;
 			attr->ah_attr.grh.sgid_index = (attr->ah_attr.port_num == user_param->ib_port) ? user_param->gid_index : user_param->gid_index2;
-			attr->ah_attr.grh.hop_limit = 1;
+			attr->ah_attr.grh.hop_limit = 0xFF;
+			attr->ah_attr.grh.traffic_class = user_param->traffic_class;
 		}
 
 		if (user_param->connection_type != UD) {
diff --git a/src/raw_ethernet_resources.c b/src/raw_ethernet_resources.c
index e87654d..1d92115 100755
--- a/src/raw_ethernet_resources.c
+++ b/src/raw_ethernet_resources.c
@@ -74,19 +74,6 @@ int check_flow_steering_support(char *dev_name)
 	return 0;
 }
 
-
-/******************************************************************************
- *
- ******************************************************************************/
-static void mac_from_gid(uint8_t   *mac, uint8_t *gid, uint32_t port)
-{
-	memcpy(mac, gid + 8, 3);
-	memcpy(mac + 3, gid + 13, 3);
-	if(port==1) {
-		mac[0] ^= 2;
-	}
-}
-
 /******************************************************************************
  *
  ******************************************************************************/
@@ -562,11 +549,7 @@ int send_set_up_connection(
 
 		spec_info->eth.val.ether_type = 0;
 
-		if(user_param->is_source_mac) {
-			mac_from_user(spec_info->eth.val.dst_mac , &(user_param->source_mac[0]) , sizeof(user_param->source_mac));
-		} else {
-			mac_from_gid(spec_info->eth.val.dst_mac, temp_gid.raw, user_param->ib_port);
-		}
+		mac_from_user(spec_info->eth.val.dst_mac , &(user_param->source_mac[0]) , sizeof(user_param->source_mac));
 
 		memset(spec_info->eth.mask.dst_mac, 0xFF,sizeof(spec_info->eth.mask.src_mac));
 		if(user_param->is_server_ip || user_param->is_client_ip) {
@@ -633,12 +616,7 @@ int send_set_up_connection(
 	if (user_param->machine == CLIENT || user_param->duplex) {
 
 		/* set source mac */
-		if(user_param->is_source_mac) {
-			mac_from_user(my_dest_info->mac , &(user_param->source_mac[0]) , sizeof(user_param->source_mac) );
-
-		} else {
-			mac_from_gid(my_dest_info->mac, temp_gid.raw, user_param->ib_port);
-		}
+		mac_from_user(my_dest_info->mac , &(user_param->source_mac[0]) , sizeof(user_param->source_mac) );
 
 		/* set dest mac */
 		mac_from_user(rem_dest_info->mac , &(user_param->dest_mac[0]) , sizeof(user_param->dest_mac) );

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-ofed/perftest.git



More information about the Pkg-ofed-commits mailing list