--- /dev/null
+- duration : 1.0
+ generator :
+ distribution : "seq"
+ clients_start : "20.0.0.1"
+ clients_end : "20.0.0.255"
+ servers_start : "90.0.0.1"
+ servers_end : "90.0.255.255"
+ clients_per_gb : 201
+ min_clients : 101
+ dual_port_mask : "1.0.0.0"
+ tcp_aging : 0
+ udp_aging : 0
+ generator_clients :
+ - name : "c1"
+ distribution : "seq"
+ ip_start : "26.0.0.1"
+ ip_end : "26.0.1.255"
+ - name : "c2"
+ distribution : "seq"
+ ip_start : "36.0.0.1"
+ ip_end : "36.0.1.254"
+ generator_servers :
+ - name : "s1"
+ distribution : "seq"
+ ip_start : "28.0.0.1"
+ ip_end : "28.0.1.255"
+ track_ports : false
+ - name : "s2"
+ distribution : "seq"
+ ip_start : "38.0.0.1"
+ ip_end : "38.0.3.255"
+ track_ports : false
+ mac : [0x0,0x0,0x0,0x1,0x0,0x00]
+ cap_info :
+ - name: cap2/http_get.pcap
+ client_pool: "c2"
+ server_pool: "s1"
+ cps : 1.0
+ ipg : 100
+ rtt : 10000
+ w : 1
+ - name: avl/delay_10_rtp_160k_full.pcap
+ client_pool: "c1"
+ server_pool: "s2"
+ cps : 0.7
+ ipg : 10000
+ rtt : 10000
+ w : 1
+ one_app_server : false
+ plugin_id : 1
+
if ( !m_tuple_gen.is_valid(num_threads,is_any_plugin_configured()) ){
return (false);
}
+ /* patch defect trex-54 */
+ if ( is_any_plugin_configured() ){
+ /*Plugin is configured. in that case due to a limitation ( defect trex-54 )
+ the number of servers should be bigger than number of clients */
+
+ int i;
+ for (i=0; i<(int)m_vec.size(); i++) {
+ CFlowYamlInfo * lp=&m_vec[i];
+ if ( lp->m_plugin_id ){
+ uint8_t c_idx = lp->m_client_pool_idx;
+ uint8_t s_idx = lp->m_server_pool_idx;
+ uint32_t total_clients = m_tuple_gen.m_client_pool[c_idx].getTotalIps();
+ uint32_t total_servers = m_tuple_gen.m_server_pool[s_idx].getTotalIps();
+ if ( total_servers < total_clients ){
+ printf(" Plugin is configured. in that case due to a limitation ( defect trex-54 ) \n");
+ printf(" the number of servers should be bigger than number of clients \n");
+ printf(" client_pool_name : %s \n", lp->m_client_pool_name.c_str());
+ printf(" server_pool_name : %s \n", lp->m_server_pool_name.c_str());
+ return (false);
+ }
+ uint32_t mul = total_servers / total_clients;
+ uint32_t new_server_num = mul * total_clients;
+ if ( new_server_num != total_servers ) {
+ printf(" Plugin is configured. in that case due to a limitation ( defect trex-54 ) \n");
+ printf(" the number of servers should be exact multiplication of the number of clients \n");
+ printf(" client_pool_name : %s clients %d \n", lp->m_client_pool_name.c_str(),total_clients);
+ printf(" server_pool_name : %s servers %d should be %d \n", lp->m_server_pool_name.c_str(),total_servers,new_server_num);
+ return (false);
+ }
+ }
+ }
+ }
return(true);
}