changeset 14:fef572dfbd43

Tested new netemul & send delay
author Sebastien Decugis <sdecugis@nict.go.jp>
date Tue, 11 Jan 2011 16:08:18 +0900
parents cce88765f200
children 6bc5df5d2da4
files conf/nas.a.rt.testbed.aaa/freeDiameter/CMakeFlags conf/nas.a.rt.testbed.aaa/freeDiameter/freeDiameter.conf conf/nas.a.rt.testbed.aaa/freeDiameter/python_.py conf/nas.a.rt.testbed.aaa/modules/vboxtools conf/proxy.a.rt.testbed.aaa/freeDiameter/CMakeFlags conf/proxy.a.rt.testbed.aaa/freeDiameter/freeDiameter.conf conf/proxy.a.rt.testbed.aaa/freeDiameter/netemul.conf conf/proxy.b.rt.testbed.aaa/freeDiameter/CMakeFlags conf/proxy.b.rt.testbed.aaa/freeDiameter/freeDiameter.conf conf/proxy.b.rt.testbed.aaa/freeDiameter/netemul.conf conf/serv.b.rt.testbed.aaa/freeDiameter/freeDiameter.conf mrb/iop_testbed.sh scripts/circum-install.sh scripts/freeDiameter-install.sh
diffstat 13 files changed, 112 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- 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
--- 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" ;
--- /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()
+
+
--- 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
--- 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" ;
 
--- /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 ;
--- 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
--- 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" ;
--- /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 ;
--- 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"
--- 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
 	;;
   *)
--- 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
 
 
--- 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
"Welcome to our mercurial repository"