NSIS-ka
A free C++ implementation of NSIS protocols

Changeset 2300

Show
Ignore:
Timestamp:
11/09/06 10:10:28 (7 years ago)
Author:
stud-matfried
Message:

eval: nf is now configurable and works in NAT mode, too.

Location:
natfw-nslp/trunk
Files:
5 modified

Legend:

Unmodified
Added
Removed
  • natfw-nslp/trunk/eval/nf.cpp

    r2297 r2300  
    2020class nf : public benchmark { 
    2121  public: 
    22         nf(); 
     22        nf(const std::string &config_filename); 
    2323        ~nf(); 
    2424        virtual void perform_task(); 
     
    3131        nop_dispatcher *d; 
    3232        gistka_mapper mapper; 
     33 
     34        appladdress nr_addr; 
    3335}; 
    3436 
    3537 
    36 nf::nf() { 
     38nf::nf(const std::string &config_filename) { 
    3739        tsdb::init(); 
    3840        NATFW_IEManager::clear(); 
     
    4042 
    4143        conf = new natfw_config(); 
     44 
     45        try { 
     46                conf->load(config_filename); 
     47        } 
     48        catch ( config_error &e ) { 
     49                std::cerr << "Config error: " << e << std::endl; 
     50                exit(1); 
     51        } 
     52 
    4253        mgr = new session_manager(conf); 
    4354        nat_mgr = new nat_manager(conf); 
     
    4556        d = new nop_dispatcher(mgr, nat_mgr, installer, conf); 
    4657 
    47  
    48         try { 
    49                 conf->load("../testbed/setup_1a_tb20.conf"); 
    50         } 
    51         catch ( config_error &e ) { 
    52                 std::cerr << "Config error: " << e << std::endl; 
    53                 exit(1); 
     58        if ( conf->is_nf_nat() ) { 
     59                appladdress nr_priv_addr("10.38.2.212", "tcp", 12345); 
     60                nr_addr = nat_mgr->reserve_external_address(nr_priv_addr); 
     61                std::cout << "reserved " << nr_addr << std::endl; 
    5462        } 
    5563} 
     
    7280         */ 
    7381        ntlp::APIMsg *msg; 
    74         msg = build_api_create_msg(false); 
     82        msg = build_api_create_msg(nr_addr, false); 
    7583 
    7684        event *evt = mapper.map_to_event(msg); 
     
    8391 
    8492 
    85 int main() { 
    86         nf n; 
     93int main(int argc, char *argv[]) { 
     94        if ( argc != 2 ) { 
     95                std::cerr << "Usage: nf config_filename" << std::endl; 
     96                exit(1); 
     97        } 
     98 
     99        nf n(argv[1]); 
    87100 
    88101        n.run("nf: processing incoming CREATE messages", 100000); 
  • natfw-nslp/trunk/eval/nr.cpp

    r2297 r2300  
    3131        nop_dispatcher *d; 
    3232        gistka_mapper mapper; 
     33 
     34        appladdress nr_addr; 
    3335}; 
    3436 
     
    5355                exit(1); 
    5456        } 
     57 
     58        nr_addr = appladdress("10.38.2.212", "tcp", 1234); 
    5559} 
    5660 
     
    7276         */ 
    7377        ntlp::APIMsg *msg; 
    74         msg = build_api_create_msg(true); 
     78        msg = build_api_create_msg(nr_addr, true); 
    7579 
    7680        event *evt = mapper.map_to_event(msg); 
  • natfw-nslp/trunk/eval/utils.cpp

    r2297 r2300  
    4646 * Build an NTLP message containing a NATFW CREATE message. 
    4747 */ 
    48 ntlp::APIMsg *build_api_create_msg(bool final_hop) { 
     48ntlp::APIMsg *build_api_create_msg(const appladdress &nr, bool final_hop) { 
    4949        using namespace ntlp; 
    5050 
     
    6161        hostaddress source("10.38.1.191"); 
    6262        hostaddress dest("10.38.2.212"); 
    63         mri *mr = new mri_pathcoupled(source, 32, dest, 32, true); 
     63        mri_pathcoupled *mr = new mri_pathcoupled(source, 32, nr, 32, true); 
     64        mr->set_protocol(nr.get_protocol()); 
     65        mr->set_sourceport(nr.get_port()-1); 
     66        mr->set_destport(nr.get_port()); 
     67 
    6468 
    6569        bool adjacency_check = false; 
  • natfw-nslp/trunk/eval/utils.h

    r2297 r2300  
    1818 
    1919protlib::NetMsg *build_create_msg(); 
    20 ntlp::APIMsg *build_api_create_msg(bool final_hop); 
     20ntlp::APIMsg *build_api_create_msg(const appladdress &nr, bool final_hop); 
    2121 
    2222 
  • natfw-nslp/trunk/testbed/rsync-filter

    r2263 r2300  
    1111- /src/test_stress 
    1212- /test/test_runner 
     13- /eval/ni 
     14- /eval/nf 
     15- /eval/nr 
    1316- /ntlp/src/ntlp