Пример #1
0
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());
}
Пример #2
0
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());
}