# HG changeset patch # User Sebastien Decugis # Date 1294729698 -32400 # Node ID fef572dfbd43216d9058170c2970d323412da0bf # Parent cce88765f2001a9c94b3d10a9dd2b9f53cdef365 Tested new netemul & send delay diff -r cce88765f200 -r fef572dfbd43 conf/nas.a.rt.testbed.aaa/freeDiameter/CMakeFlags --- a/conf/nas.a.rt.testbed.aaa/freeDiameter/CMakeFlags Mon Nov 29 17:04:05 2010 +0900 +++ b/conf/nas.a.rt.testbed.aaa/freeDiameter/CMakeFlags Tue Jan 11 16:08:18 2011 +0900 @@ -1,1 +1,8 @@ --DBUILD_TEST_APP:BOOL=ON -DBUILD_TEST_RT_ANY:BOOL=ON -DBUILD_DBG_MONITOR:BOOL=ON -DBUILD_DBG_RT:BOOL=ON -DBUILD_TESTING:BOOL=OFF -DCMAKE_BUILD_TYPE:STRING=Debug -DDEFAULT_CONF_PATH:PATH=/root/conf/freeDiameter +-DBUILD_TEST_APP:BOOL=ON +-DBUILD_TEST_RT_ANY:BOOL=ON +-DBUILD_DBG_MONITOR:BOOL=ON +-DBUILD_DBG_INTERACTIVE:BOOL=ON +-DBUILD_DBG_RT:BOOL=ON +-DBUILD_TESTING:BOOL=OFF +-DCMAKE_BUILD_TYPE:STRING=Debug +-DDEFAULT_CONF_PATH:PATH=/root/conf/freeDiameter diff -r cce88765f200 -r fef572dfbd43 conf/nas.a.rt.testbed.aaa/freeDiameter/freeDiameter.conf --- a/conf/nas.a.rt.testbed.aaa/freeDiameter/freeDiameter.conf Mon Nov 29 17:04:05 2010 +0900 +++ b/conf/nas.a.rt.testbed.aaa/freeDiameter/freeDiameter.conf Tue Jan 11 16:08:18 2011 +0900 @@ -48,13 +48,15 @@ ############################################################## # -------- Test configuration --------- -LoadExtension = "/root/freeDiameter/extensions/dbg_monitor.fdx"; +# LoadExtension = "/root/freeDiameter/extensions/dbg_monitor.fdx"; # LoadExtension = "/root/freeDiameter/extensions/dbg_rt.fdx"; # LoadExtension = "/root/freeDiameter/extensions/test_rt_any.fdx"; -LoadExtension = "/root/freeDiameter/extensions/test_app.fdx" - : "/root/conf/freeDiameter/test_app.conf"; +#LoadExtension = "/root/freeDiameter/extensions/test_app.fdx" +# : "/root/conf/freeDiameter/test_app.conf"; LoadExtension = "/root/freeDiameter/extensions/rt_default.fdx" : "/root/conf/freeDiameter/rtd.conf"; +LoadExtension = "/root/freeDiameter/extensions/dbg_interactive.fdx"; + # ConnectPeer = "serv.simple.testbed.aaa" ; ConnectPeer = "proxy.a.rt.testbed.aaa" ; diff -r cce88765f200 -r fef572dfbd43 conf/nas.a.rt.testbed.aaa/freeDiameter/python_.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/conf/nas.a.rt.testbed.aaa/freeDiameter/python_.py Tue Jan 11 16:08:18 2011 +0900 @@ -0,0 +1,66 @@ +gdict = cvar.fd_g_config.cnf_dict +d_si = gdict.search ( DICT_AVP, AVP_BY_NAME, "Session-Id" ) +d_oh = gdict.search ( DICT_AVP, AVP_BY_NAME, "Origin-Host" ) +d_or = gdict.search ( DICT_AVP, AVP_BY_NAME, "Origin-Realm" ) +d_dh = gdict.search ( DICT_AVP, AVP_BY_NAME, "Destination-Host" ) +d_dr = gdict.search ( DICT_AVP, AVP_BY_NAME, "Destination-Realm" ) +d_rc = gdict.search ( DICT_AVP, AVP_BY_NAME, "Result-Code" ) +d_vnd = gdict.new_obj(DICT_VENDOR, dict_vendor_data(999999, "app_test_py vendor") ) +d_app = gdict.new_obj(DICT_APPLICATION, dict_application_data(0xffffff, "app_test_py appli"), d_vnd) +d_req = gdict.new_obj(DICT_COMMAND, dict_cmd_data(0xfffffe, "Test_py-Request", 1), d_app) +d_ans = gdict.new_obj(DICT_COMMAND, dict_cmd_data(0xfffffe, "Test_py-Answer", 0), d_app) +d_avp = gdict.new_obj(DICT_AVP, dict_avp_data(0xffffff, "app_test_py avp", AVP_TYPE_INTEGER32, 999999 )) +gdict.new_obj(DICT_RULE, dict_rule_data(d_si, RULE_FIXED_HEAD, 1, 1), d_req) +gdict.new_obj(DICT_RULE, dict_rule_data(d_si, RULE_FIXED_HEAD, 1, 1), d_ans) +gdict.new_obj(DICT_RULE, dict_rule_data(d_avp, RULE_REQUIRED, 1, 1), d_req) +gdict.new_obj(DICT_RULE, dict_rule_data(d_avp, RULE_REQUIRED, 1, 1), d_ans) +gdict.new_obj(DICT_RULE, dict_rule_data(d_oh, RULE_REQUIRED, 1, 1), d_req) +gdict.new_obj(DICT_RULE, dict_rule_data(d_oh, RULE_REQUIRED, 1, 1), d_ans) +gdict.new_obj(DICT_RULE, dict_rule_data(d_or, RULE_REQUIRED, 1, 1), d_req) +gdict.new_obj(DICT_RULE, dict_rule_data(d_or, RULE_REQUIRED, 1, 1), d_ans) +gdict.new_obj(DICT_RULE, dict_rule_data(d_dr, RULE_REQUIRED, 1, 1), d_req) +gdict.new_obj(DICT_RULE, dict_rule_data(d_dh, RULE_OPTIONAL, 0, 1), d_req) +gdict.new_obj(DICT_RULE, dict_rule_data(d_rc, RULE_REQUIRED, 1, 1), d_ans) + +def receive_answer(ans, testval): + if (ans.is_request()): + print "Request was expired before receiving answer..." + return None + try: + tval = ans.search(d_avp).header().avp_value.u32 + except: + print "Error in receive_answer: no Test-AVP included" + tval = 0 + try: + print "Py RECV %x (expected: %x) Status: %d From: '%s'" % (tval, testval, ans.search(d_rc).header().avp_value.u32, ans.search(d_oh).header().avp_value.os.as_str()) + except: + print "Error in receive_answer: Result-Code or Origin-Host are missing" + del ans + return None + +import random + +def send_query(destrealm="b.rt.testbed.aaa"): + qry = msg(d_req) + sess = session() + tv = random.randint(1, 1<<32) + # Session-Id + a = avp(d_si, AVPFL_SET_BLANK_VALUE) + a.header().avp_value.os = sess.getsid() + qry.add_child(a) + # Destination-Realm + a = avp(d_dr, AVPFL_SET_BLANK_VALUE) + a.header().avp_value.os = destrealm + qry.add_child(a) + # Origin-Host, Origin-Realm + qry.add_origin() + # Test-AVP + a = avp(d_avp, AVPFL_SET_BLANK_VALUE) + a.header().avp_value.u32 = tv + qry.add_child(a) + print "Py SEND %x to '%s'" % (tv, destrealm) + qry.send(receive_answer, tv, 1) + +send_query() + + diff -r cce88765f200 -r fef572dfbd43 conf/nas.a.rt.testbed.aaa/modules/vboxtools diff -r cce88765f200 -r fef572dfbd43 conf/proxy.a.rt.testbed.aaa/freeDiameter/CMakeFlags --- a/conf/proxy.a.rt.testbed.aaa/freeDiameter/CMakeFlags Mon Nov 29 17:04:05 2010 +0900 +++ b/conf/proxy.a.rt.testbed.aaa/freeDiameter/CMakeFlags Tue Jan 11 16:08:18 2011 +0900 @@ -1,6 +1,7 @@ -DBUILD_TEST_RT_ANY:BOOL=ON \ -DBUILD_DBG_MONITOR:BOOL=ON \ -DBUILD_DBG_RT:BOOL=ON \ +-DBUILD_TEST_NETEMUL:BOOL=ON \ -DBUILD_TESTING:BOOL=OFF \ -DCMAKE_BUILD_TYPE:STRING=Debug \ -DDEFAULT_CONF_PATH:PATH=/root/conf/freeDiameter diff -r cce88765f200 -r fef572dfbd43 conf/proxy.a.rt.testbed.aaa/freeDiameter/freeDiameter.conf --- a/conf/proxy.a.rt.testbed.aaa/freeDiameter/freeDiameter.conf Mon Nov 29 17:04:05 2010 +0900 +++ b/conf/proxy.a.rt.testbed.aaa/freeDiameter/freeDiameter.conf Tue Jan 11 16:08:18 2011 +0900 @@ -55,5 +55,8 @@ : "/root/conf/freeDiameter/acl_wl.conf"; # LoadExtension = "/root/freeDiameter/extensions/test_rt_any.fdx"; +LoadExtension = "/root/freeDiameter/extensions/test_netemul.fdx" + : "/root/conf/freeDiameter/netemul.conf"; + ConnectPeer = "proxy.b.rt.testbed.aaa" ; diff -r cce88765f200 -r fef572dfbd43 conf/proxy.a.rt.testbed.aaa/freeDiameter/netemul.conf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/conf/proxy.a.rt.testbed.aaa/freeDiameter/netemul.conf Tue Jan 11 16:08:18 2011 +0900 @@ -0,0 +1,7 @@ +# latency_average = 500 ms; +# latency_deviation = 20 % ; +# dupl_proba = 1 / 100 ; + +latency_average = 2 s; +latency_deviation = 50 % ; +dupl_proba = 1 / 5 ; diff -r cce88765f200 -r fef572dfbd43 conf/proxy.b.rt.testbed.aaa/freeDiameter/CMakeFlags --- a/conf/proxy.b.rt.testbed.aaa/freeDiameter/CMakeFlags Mon Nov 29 17:04:05 2010 +0900 +++ b/conf/proxy.b.rt.testbed.aaa/freeDiameter/CMakeFlags Tue Jan 11 16:08:18 2011 +0900 @@ -2,6 +2,7 @@ -DBUILD_DBG_RT:BOOL=ON \ -DBUILD_DICT_EAP:BOOL=OFF \ -DBUILD_DICT_NASREQ:BOOL=OFF \ +-DBUILD_TEST_NETEMUL:BOOL=ON \ -DBUILD_TESTING:BOOL=OFF \ -DCMAKE_BUILD_TYPE:STRING=Debug \ -DDEFAULT_CONF_PATH:PATH=/root/conf/freeDiameter diff -r cce88765f200 -r fef572dfbd43 conf/proxy.b.rt.testbed.aaa/freeDiameter/freeDiameter.conf --- a/conf/proxy.b.rt.testbed.aaa/freeDiameter/freeDiameter.conf Mon Nov 29 17:04:05 2010 +0900 +++ b/conf/proxy.b.rt.testbed.aaa/freeDiameter/freeDiameter.conf Tue Jan 11 16:08:18 2011 +0900 @@ -55,5 +55,8 @@ : "/root/conf/freeDiameter/acl_wl.conf"; # LoadExtension = "/root/freeDiameter/extensions/test_rt_any.fdx"; +LoadExtension = "/root/freeDiameter/extensions/test_netemul.fdx" + : "/root/conf/freeDiameter/netemul.conf"; + ConnectPeer = "proxy.a.rt.testbed.aaa" ; Realm = "a.rt.testbed.aaa" ; diff -r cce88765f200 -r fef572dfbd43 conf/proxy.b.rt.testbed.aaa/freeDiameter/netemul.conf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/conf/proxy.b.rt.testbed.aaa/freeDiameter/netemul.conf Tue Jan 11 16:08:18 2011 +0900 @@ -0,0 +1,7 @@ +# latency_average = 500 ms; +# latency_deviation = 20 % ; +# dupl_proba = 1 / 100 ; + +latency_average = 2 s; +latency_deviation = 50 % ; +dupl_proba = 1 / 5 ; diff -r cce88765f200 -r fef572dfbd43 conf/serv.b.rt.testbed.aaa/freeDiameter/freeDiameter.conf --- a/conf/serv.b.rt.testbed.aaa/freeDiameter/freeDiameter.conf Mon Nov 29 17:04:05 2010 +0900 +++ b/conf/serv.b.rt.testbed.aaa/freeDiameter/freeDiameter.conf Tue Jan 11 16:08:18 2011 +0900 @@ -48,7 +48,7 @@ ############################################################## # -------- Test configuration --------- -LoadExtension = "/root/freeDiameter/extensions/dbg_monitor.fdx"; +#LoadExtension = "/root/freeDiameter/extensions/dbg_monitor.fdx"; # LoadExtension = "/root/freeDiameter/extensions/dbg_rt.fdx"; # LoadExtension = "/root/freeDiameter/extensions/test_rt_any.fdx"; LoadExtension = "/root/freeDiameter/extensions/test_app.fdx" diff -r cce88765f200 -r fef572dfbd43 mrb/iop_testbed.sh --- a/mrb/iop_testbed.sh Mon Nov 29 17:04:05 2010 +0900 +++ b/mrb/iop_testbed.sh Tue Jan 11 16:08:18 2011 +0900 @@ -19,6 +19,9 @@ # Maintenant on peut demarrer les autres VM en paralelle ./vm_start.sh "iop-fdrelay.iop.testbed.aaa" & sleep 3 + ./vm_start.sh "iop-crcumcli.iop.testbed.aaa" & + sleep 3 + ./vm_start.sh "iop-crcumsrv.iop.testbed.aaa" & #./vm_start.sh "eap-supauth2.eap.testbed.aaa" & #sleep 3 @@ -30,6 +33,8 @@ ./vm_pause.sh "__mgr.testbed.aaa" & ./vm_pause.sh "iop-iopmgr.testbed.aaa" & ./vm_pause.sh "iop-fdrelay.iop.testbed.aaa" & + ./vm_pause.sh "iop-crcumcli.iop.testbed.aaa" & + ./vm_pause.sh "iop-crcumsrv.iop.testbed.aaa" & wait ;; stop) @@ -37,6 +42,8 @@ ./vm_stop.sh "__mgr.testbed.aaa" & ./vm_stop.sh "iop-iopmgr.testbed.aaa" & ./vm_stop.sh "iop-fdrelay.iop.testbed.aaa" & + ./vm_stop.sh "iop-crcumcli.iop.testbed.aaa" & + ./vm_stop.sh "iop-crcumsrv.iop.testbed.aaa" & wait ;; *) diff -r cce88765f200 -r fef572dfbd43 scripts/circum-install.sh --- a/scripts/circum-install.sh Mon Nov 29 17:04:05 2010 +0900 +++ b/scripts/circum-install.sh Tue Jan 11 16:08:18 2011 +0900 @@ -3,7 +3,7 @@ # Install dependencies aptitude install -y autoconf automake libtool pkg-config build-essential \ git-core libhx-dev libpcre3-dev libxml2-dev libssl-dev \ - apache2-dev libpam-dev + apache2-dev libpam-dev gdb # Install the link to the configuration /home/aaa/installvm.sh conflink @@ -16,7 +16,7 @@ mkdir circum-rt cd circum ./autogen.sh -./configure --prefix=/root/circum-rt +./configure --prefix=/root/circum-rt CFLAGS="-O0 -ggdb3" CXXFLAGS="-O0 -ggdb3" make && make install diff -r cce88765f200 -r fef572dfbd43 scripts/freeDiameter-install.sh --- a/scripts/freeDiameter-install.sh Mon Nov 29 17:04:05 2010 +0900 +++ b/scripts/freeDiameter-install.sh Tue Jan 11 16:08:18 2011 +0900 @@ -1,7 +1,7 @@ #!/bin/bash -x # Install dependencies for freeDiameter -aptitude install flex bison libsctp1 libsctp-dev libgcrypt-dev libgcrypt11-dbg libgnutls26 libgnutls26-dbg libgnutls-dev mercurial cmake gdb +aptitude install flex bison libsctp1 libsctp-dev libgcrypt-dev libgcrypt11-dbg libgnutls26 libgnutls26-dbg libgnutls-dev mercurial cmake gdb python-dev swig # Install the link to the configuration /home/aaa/installvm.sh conflink