diff options
Diffstat (limited to 'doc/TestAppUserGuide.md')
-rw-r--r-- | doc/TestAppUserGuide.md | 188 |
1 files changed, 0 insertions, 188 deletions
diff --git a/doc/TestAppUserGuide.md b/doc/TestAppUserGuide.md deleted file mode 100644 index ef118d2..0000000 --- a/doc/TestAppUserGuide.md +++ /dev/null @@ -1,188 +0,0 @@ -# 1. Introduction: - -This document will help to configure the stack module and protocol routing module, -and run sample app with DMM. - -# 2. Configuration files: - -There are two configuration files need to modify for setting up the -topology. - -release/configure - -**module_config.json** is the stack module config file. - -**rd_config.json** is the rd config file. - -Copy the two json files to release/bin and configure in next step. - -<!-- --> - -Note: - - If users have run scripts/build.sh, configuration files were generated in /dmm/config/app_test. - -# 3. JSON files configuration. - -We need to setup configuration as given below. - -# 3.1 module_config.json for example: - -``` -{ - "default_stack_name": "kernel", /*when rd can't be find maybe choose the defualt one*/ - "module_list": [ - { - "stack_name": "kernel", /*stack name*/ - "function_name": "kernel_stack_register", /*function name*/ - "libname": "./", /*library name, if loadtype is static, this maybe - null, else must give a library name*/ - "loadtype": "static", /*library load type: static or dynamic*/ - "deploytype": "1", /*deploy model type:model type1, model type2, - model type3. Indicating single or multi process - deployment. Used during shared memory initialization.*/ - "maxfd": "1024", /*the max fd supported*/ - "minfd": "0", /*the min fd supported*/ - "priorty": "1", /*priorty when executing, reserv*/ - "stackid": "0", /*stack id, this must be ordered and not be repeated*/ - }, -/*********************************** - { - "stack_name": "stackx", /*this is not a real stack, just an example for multiple - stack configurations*/ - "function_name": "stackx_register", - "libname": "libstackx.so", - "loadtype": "dynmic", - "deploytype": "3", - "maxfd": "1024", - "minfd": "0", - "priorty": "1", - "stackid": "1", - }, - ] -} -***********************************/ -``` - -# 3.2 rd_config.json for example: - -``` -{ -"ip_route": [ - { - "subnet": "192.165.1.1/16", - "type": "nstack-kernel", - /* output interface type, - nstack-kernel: indicate this ip should go through kernel protocol - nstack-dpdk: go through stackx protocol*/ - }, - { - "subnet": "172.16.25.125/16", - "type": "nstack-kernel", - } - ], -"prot_route": [ - { - "proto_type": "11", - "type": "nstack-kernel", - }, - ] -} -``` -# 4. Run sample APP: - -- **perf-test:** - - Add test code with kernel stack or userspace protocol stack - - -Usage: - -After building the DMM, inside the DMM/release/bin directory below perf-test app will be generated. - -*kc_common, ks_epoll, ks_select, vc_common, vs_epoll, vs_select* - -The use of ks_epoll,ks_select,vs_epoll and vs_select are the same. - -Before executing the app, we should disable ASLR (Address space layout randomization). - echo 0 > /proc/sys/kernel/randomize_va_space - -Examples: - -**With Kernel stack(With direct kernel stack):** - -server: -``` - #./ks_epoll -p 20000 -d 172.16.25.125 -a 10000 -s 172.16.25.126 -l 200 -t 5000000 -i 0 -f 1 -r 20000 -n 1 -w 10 -u 10000 -e 10 -x 1 -``` -client: -``` - #./kc_common -p 20000 -d 172.16.25.126 -a 10000 -s 172.16.25.125 -l 200 -t 5000000 -i 0 -f 1 -r 20000 -n 1 -w 10 -u 10000 -e 10 -x 1 -``` - -**With DMM nStack(Stack is choosed by congfigure file):** -Note: - - Currently DMM nstack only support kernel mode. please check the config file. - -server: -``` - #./vs_epoll -p 20000 -d 172.16.25.125 -a 10000 -s 172.16.25.126 -l 200 -t 5000000 -i 0 -f 1 -r 20000 -n 1 -w 10 -u 10000 -e 10 -x 1 -``` -client: -``` - #./vc_common -p 20000 -d 172.16.25.126 -a 10000 -s 172.16.25.125 -l 200 -t 5000000 -i 0 -f 1 -r 20000 -n 1 -w 10 -u 10000 -e 10 -x 1 -``` - -- **NGNIX with DMM nStack**: - -Nginx build process: - -*step 1: Compile nginx code* - -``` - #wget "http://hg.nginx.org/nginx" - #cd nginx-1.1.15 - #./configure --with-ld-opt="-L /root/Work/xxx/release/lib64/ -lnStackAPI" - #make - #make install -``` -Note: - - a. ./configure **--with-ld-opt="-L /root/xxx/DMM/release/lib64/ -lnStackAPI"** can be done if you want to use nStack otherwise just give the ./configure. - b. Make sure before building edit the configurtaion if you want specific server IP. - For Ex: - Server: ifconfig eth3 172.16.25.125 netmask 255.255.255.224 up - Client: ifconfig eth3 172.16.25.126 netmask 255.255.255.224 up - - nginx.conf file modifiecations: - listen 172.16.25.125:80 - -*step 2: run the nginx code* - -``` - #cd /usr/local/nginx/sbin - #cp -r * ../../sbin - #cd ../../sbin - #./nginx -``` -Note: - - if you want to run ./nginx with nStack then perform following before run - a. export LD_LIBRARY_PATH=/root/xxx/DMM/release/lib64/ - b. export NSTACK_LOG_ON=DBG ##to display nStack consol logs. - -*step 3: Check whether ngnix service is running.* - -``` - #ps -ax | grep nginx -``` -*step 4: Test the nginx server is up or not!* - -At client board, perform below command and check the output: -``` - #curl http://172.16.25.125:80/ -``` -Note: - - curl is the tool need to be installed to browse the html page in linux without GUI. |