TEST(tuple_gen,GenerateTupleMac) { CFlowGenList fl; fl.Create(); fl.load_from_mac_file("avl/mac_uit.yaml"); CClientPool gen; gen.Create(cdSEQ_DIST, 0x10000001, 0x1000000f, 64000,2, &fl.m_mac_info,true,0,0); CTupleBase result; uint32_t result_src; uint16_t result_port; mac_addr_align_t* result_mac; for(int i=0;i<10;i++) { gen.GenerateTuple(result); printf(" C:%x P:%d \n",result.getClient(),result.getClientPort()); result_src = result.getClient(); result_port = result.getClientPort(); result_mac = result.getClientMac(); EXPECT_EQ(result_src, (uint32_t)(0x10000001+i%2)); EXPECT_EQ(result_port, 1024+i/2); printf("i:%d,mac:%d\n",i,result_mac->mac[3]); if (i%2==0) EXPECT_EQ(result_mac->mac[3], 5); else EXPECT_EQ(result_mac->mac[3], 1); } gen.Delete(); // EXPECT_EQ((size_t)0, gen.m_clients.size()); }
bool CTupleGeneratorSmart::add_client_pool(IP_DIST_t client_dist, uint32_t min_client, uint32_t max_client, double l_flow, double t_cps, CFlowGenListMac* mac_info, uint16_t tcp_aging, uint16_t udp_aging){ assert(max_client>=min_client); CClientPool* pool = new CClientPool(); pool->Create(client_dist, min_client, max_client, l_flow, t_cps, mac_info, m_has_mac_mapping, tcp_aging, udp_aging); m_client_pool.push_back(pool); return(true); }
/* UIT of CClientPool, using CClientInfo */ TEST(tuple_gen,clientPool) { CClientPool gen; gen.Create(cdSEQ_DIST, 0x10000001, 0x10000021, 64000,1000, g_dummy, 0,0); CTupleBase result; uint32_t result_src; uint16_t result_port; for(int i=0;i<10;i++) { gen.GenerateTuple(result); printf(" C:%x P:%d \n",result.getClient(),result.getClientPort()); result_src = result.getClient(); result_port = result.getClientPort(); EXPECT_EQ(result_src, (uint32_t)(0x10000001+i)); EXPECT_EQ(result_port, 1024); } gen.Delete(); // EXPECT_EQ((size_t)0, gen.m_clients.size()); }