]> granicus.if.org Git - esp-idf/commitdiff
test: update mesh test cases for ci
authorchenyudong <chenyudong@espressif.com>
Mon, 17 Dec 2018 11:31:19 +0000 (19:31 +0800)
committerluchangjie <luchangjie@espressif.com>
Wed, 17 Apr 2019 09:05:33 +0000 (17:05 +0800)
add mesh cases in files:
TC_IT_MESH_EST.yml, TC_IT_MESH_COMM.yml and TC_IT_MESH_MISC.yml

.gitlab-ci.yml
components/idf_test/integration_test/INIT_COND_MESH.yml
components/idf_test/integration_test/TC_IT_MESH_COMM.yml
components/idf_test/integration_test/TC_IT_MESH_EST.yml
components/idf_test/integration_test/TC_IT_MESH_MISC.yml [new file with mode: 0644]
components/idf_test/integration_test/TEST_ENV_SSC.yml

index fcf9ffeb7927a5d1fcac029fa52035e22dd9801a..a38f6161cd7a2709028f2447853c5d2e63c36686 100644 (file)
@@ -2081,7 +2081,49 @@ IT_011_01:
   <<: *test_template
   tags:
     - ESP32_IDF
-    - SSC_T50_1
+    - SSC_T1_MESH1
+
+IT_011_02:
+  <<: *test_template
+  tags:
+    - ESP32_IDF
+    - SSC_T2_MESH1
+
+IT_011_03:
+  <<: *test_template
+  tags:
+    - ESP32_IDF
+    - SSC_T2_MESH1
+
+IT_011_04:
+  <<: *test_template
+  tags:
+    - ESP32_IDF
+    - SSC_T3_MESH1
+
+IT_011_05:
+  <<: *test_template
+  tags:
+    - ESP32_IDF
+    - SSC_T6_MESH1
+
+IT_011_06:
+  <<: *test_template
+  tags:
+    - ESP32_IDF
+    - SSC_T12_MESH1
+
+IT_011_07:
+  <<: *test_template
+  tags:
+    - ESP32_IDF
+    - SSC_T50_MESH1
+
+IT_011_08:
+  <<: *test_template
+  tags:
+    - ESP32_IDF
+    - SSC_T1_MESH2
 
 IT_012_01:
   <<: *test_template
index 3a05dbbfda557ee25e30a1507c2061c08aaadc0c..75b78740e3a2a32dfae886e2589f135d773b5d7c 100644 (file)
   test script: InitCondMesh
   restore post cmd set:
   - ''
-  - - 'MSSC SSC[1-<node_num>] mesh -F -o 4 -a 1'
-    - ['P SSC[1-<node_num>] C +MESHFLAG:OK']
-  - - 'MSSC SSC[1-<node_num>] mesh -F -o 5 -a 1'
-    - ['P SSC[1-<node_num>] C +MESHFLAG:OK']
-  - - 'MSSC SSC[1-<node_num>] mesh -Q -o 1'
-    - ['P SSC[1-<node_num>] C MESH_NETWORK']
-  - - 'MSSC SSC[1-<node_num>] mesh -Q -o 3'
-    - ['P SSC[1-<node_num>] C +MESH_CONFIG:ALL']
   - - 'MSSC SSC[1-<node_num>] ram'
     - ['P SSC[1-<node_num>] C +FREEHEAP:']
+#  - - 'MSSC SSC[1-<node_num>] mesh -Q -o 1'
+#    - ['P SSC[1-<node_num>] C MESH_NETWORK']
 
-.mesh_get_device_mac: &mesh_get_device_mac
+.mesh_get_all_dut_mac: &mesh_get_all_dut_mac
   LIST_MERGE:
     - - 'MSSC SSC[1-<node_num>] mac'
       - ['R SSC[1-<node_num>] A <device_mac>:\+STAMAC:(.+)\r\n']
 
-.mesh_check_get_tree: &mesh_check_get_tree
+.mesh_check_tree_num: &mesh_check_tree_num
   LIST_MERGE:
-    - - 'MSSC SSC[1-<node_num>] mac'
-      - ['P SSC[1-<node_num>] A <device_mac>:\+STAMAC:(.+)\r\n']
     - - 'MSSC SSC[1-<node_num>] mesh -Q -o 2'
-      - ['P SSC[1-<node_num>] T <node_num>']
+      - ['P SSC[1-<node_num>] T topo']
     - - 'MESHTREE'
-      - ['P PC_COM RE "MESHTREE:%%s%20nodes"%%(<node_num>)']
+      - ['R PC_COM RE "MESHTREE:%%s"%%(<tree_node_num>)']
 
-.mesh_check_tree_stable: &mesh_check_tree_stable
+.mesh_tree_stably: &mesh_tree_stably
   LIST_MERGE:
-    - - 'DELAY 10'
-      - ['']
-    - - 'SSC MNODE(0) mesh -Q -o 1 -t 10'
-      - ['R MNODE(0) C MESH_STABLE_CHECK:PASS']
+    - - 'SSC MNODE(0) mesh -Q -o 1 -t <stable_check_time>'
+      - ['P MNODE(0) RE "MESH_NETWORK:1,%%s"%%(<node_num>)', 'P MNODE(0) C MESH_STABLE_CHECK:PASS']
 
-.reboot_all: &reboot_all
+.deinit_mesh: &deinit_mesh
   LIST_MERGE:
-    - - 'MSSC SSC[1-<node_num>] reboot'
-      - ['P SSC[1-<node_num>] C !!!ready!!!']
+    - - 'MSSC SSC[1-<node_num>] mesh -I -o 1'
+      - ['P SSC[1-<node_num>] C +MESH:DEINITED']
 
-.force_reboot: &force_reboot
+.mesh_force_reboot: &mesh_force_reboot
   LIST_MERGE:
-    - - 'FPOWERON SSC[1-<node_num>]'
-      - ['']
-    - - 'DELAY 1'
-      - ['']
     - - 'MSSC SSC[1-<node_num>] restore'
       - ['P SSC[1-<node_num>] C !!!ready!!!']
 
-.all_nodes_mesh_config: &all_nodes_mesh_config
+.mesh_config_all_duts: &mesh_config_all_duts
   LIST_MERGE:
-    - - 'MSSC SSC[1-<node_num>] mesh -I'
-      - ['P SSC[1-<node_num>] C +MESH:INITED']
-    - - 'MSSC SSC[1-<node_num>] mesh -A -o 12 -t <duration_ms> -c <cnx_rssi> -l <select_rssi> -f <switch_rssi> -b <backoff_rssi>'
-      - ['P SSC[1-<node_num>] C +MESH_SET_PARENT_SWITCH:OK']
-    - - 'MSSC SSC[1-<node_num>] mesh -A -o 14 -t <threshold_high> -c <threshold_medium> -l <threshold_low>'
-      - ['P SSC[1-<node_num>] C +MESH_RSSI_THRESHOLD:OK']
-    - - 'MSSC SSC[1-<node_num>] mesh -A -o 9 -t <auth_mode> -s <map_password>'
-      - ['P SSC[1-<node_num>] C +MESH_SET_AP_AUTH_MODE:OK']
-    - - 'MSSC SSC[1-<node_num>] mesh -P -g <mesh_id> -s <ap_ssid> -p <ap_password> -n <ap_channel> -m <max_connect> -y <max_layer>'
-      - ['P SSC[1-<node_num>] C +MESH:CONFIG,OK']
+    - - 'MSSC SSC[1-<node_num>] meshset -M -o 0 -t <map_auth_mode> -e <map_password> -l 10'
+      - ['P SSC[1-<node_num>] C +MESHSET:MAP_AUTH,OK']
+    - - 'MSSC SSC[1-<node_num>] meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+        <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i <ie_encrypt>'
+      - ['P SSC[1-<node_num>] C +MESHSET:CFG,OK']
+    - - 'MSSC SSC[1-<node_num>] meshset -L -o 0 -l <max_layer>'
+      - ['P SSC[1-<node_num>] C +MESHSET:MLAYER,OK']
+    - - 'MSSC SSC[1-<node_num>] meshset -W -o 0 -t <duration_ms> -n <cnx_rssi> -l <select_rssi> -i <switch_rssi> -k <backoff_rssi>'
+      - ['P SSC[1-<node_num>] C +MESHSET:SWITCH,OK']
+    - - 'MSSC SSC[1-<node_num>] meshset -K -o 0 -i <allow_roots>'
+      - ['P SSC[1-<node_num>] C +MESHSET:ALLOW_ROOTS,OK']
+    - - 'MSSC SSC[1-<node_num>] meshset -J -o 0 -t <assoc_expire>'
+      - ['P SSC[1-<node_num>] C +MESHSET:ASSOC,OK']
 
-.root_do_connect: &root_do_connect
+.mesh_set_same_ssid_softap: &mesh_set_same_ssid_softap
   LIST_MERGE:
-    - - 'SOC SOC1 LISTEN <test_tcp_port1> <pc_ip>'
-      - ['R SOC_COM L OK']
-    - - 'SSC MNODE(0) mesh -S -o 0 -i <pc_ip> -t <test_tcp_port1>'
-      - ['P MNODE(0) C +CONNECT,OK']
-      - ['P SOC1 C +ACCEPT']
-    - - 'SOC SOC1 MACCEPT GSOC1'
-      - ['R SOC_COM L OK']
+    - - 'MSSC SSC[1-3] op -S -o 2'
+      - ['P SSC[1-3] C +MODE:OK']
+    - - 'MSSC SSC[1-3] ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum> -n
+        [<router_channel>,<router_channel>,<wrong_channel>]'
+      - ['P SSC[1-3] C +SAP:OK']
 
 initial condition:
-- tag: ENABLED_1
+- tag: MESH_DEINIT_STA
   <<: *MESH_INIT_COND
-  initial condition detail: if mesh tree not exist, start one node first, then start others, after mesh network
-    established, root connect server
+  initial condition detail: all DUTs with mesh not inited, station mode
   check cmd set:
   - ''
-  - *mesh_check_get_tree
-  - *mesh_check_tree_stable
-  - *root_do_connect
+  - - MSSC SSC[1-<node_num>] mesh -Q
+    - - P SSC[1-<node_num>] C MESH_STATE_NONE
+  - - MSSC SSC[1-<node_num>] op -S -o 1
+    - - P SSC[1-<node_num>] C +MODE:OK
+  - *mesh_get_all_dut_mac
   restore cmd set:
   - ''
-  - *reboot_all
-  - *all_nodes_mesh_config
-  - - SSC SSC1 mesh -T
-    - - P SSC1 C +MESH:START,OK
-  - - DELAY 10
-    - - P SSC1 C MESH_EVENT_CONNECTED
-  - - SSC SSC[2-<node_num>] mesh -T
-    - - P SSC[2-<node_num>] C +MESH:START,OK
-  - - DELAY <delay_time>
-    - - ''
-  - *mesh_check_get_tree
-  - *mesh_check_tree_stable
-  - *root_do_connect
+  - - MSSC SSC[1-<node_num>] mesh -I -o 1
+    - - P SSC[1-<node_num>] C +MESH_DEINITED
+  - - MSSC SSC[1-<node_num>] op -S -o 1
+    - - P SSC[1-<node_num>] C +MODE:OK
+  - *mesh_get_all_dut_mac
   force restore cmd set:
   - ''
-  - *force_reboot
-  - *all_nodes_mesh_config
-  - - SSC SSC1 mesh -T
-    - - P SSC1 C +MESH:START,OK
-  - - DELAY 10
-    - - P SSC1 C MESH_EVENT_CONNECTED
-  - - SSC SSC[2-<node_num>] mesh -T
-    - - P SSC[2-<node_num>] C +MESH:START,OK
-  - - DELAY <delay_time>
-    - - ''
-  - *mesh_check_get_tree
-  - *mesh_check_tree_stable
-  - *root_do_connect
-- tag: ENABLED_2
+#  - - MSSC SSC[1-<node_num>] reboot
+  - - FREBOOT SSC[1-<node_num>]
+    - - P SSC[1-<node_num>] C !!!ready!!!
+  - *mesh_get_all_dut_mac
+- tag: MESH_INIT1
   <<: *MESH_INIT_COND
-  initial condition detail: if mesh tree not exist, start all nodes together
+  initial condition detail: DUTs with mesh network already established, router....
   check cmd set:
   - ''
-  - *mesh_check_get_tree
-  - *mesh_check_tree_stable
+  - *mesh_get_all_dut_mac
+  - - VALUE <tree_node_num> <node_num>
+    - - R PC_COM L OK
+  - *mesh_check_tree_num
+  - *mesh_tree_stably
+  - - MSSC SSC[1-<node_num>] mesh -Q -o 3
+    - - P SSC[1-<node_num>] RE "MID,%%s"%%(<mesh_id>)
+      - P SSC[1-<node_num>] RE "MROUTER,%%s"%%(<router_ssid>)
+      - P SSC[1-<node_num>] RE "SWITCH_PARENT,%%s"%%(<duration_ms>)
+      - P SSC[1-<node_num>] C NO_SPECIFIC_SETTINGS
   restore cmd set:
   - ''
-  - *reboot_all
-  - *all_nodes_mesh_config
+  - - MSSC SSC[1-<node_num>] mesh -I -o 1
+    - - P SSC[1-<node_num>] C MESH_DEINITED
+  - - MSSC SSC[1-<node_num>] op -S -o 1
+    - - P SSC[1-<node_num>] C +MODE:OK
+  - *mesh_get_all_dut_mac
+  - - MSSC SSC[1-<node_num>] mesh -I
+    - - P SSC[1-<node_num>] C +MESH:INIT,OK
+  - *mesh_config_all_duts
   - - MSSC SSC[1-<node_num>] mesh -T
     - - P SSC[1-<node_num>] C +MESH:START,OK
   - - DELAY <delay_time>
     - - ''
-  - *mesh_check_get_tree
-  - *mesh_check_tree_stable
+  - - VALUE <tree_node_num> <node_num>
+    - - R PC_COM L OK
+  - *mesh_check_tree_num
+  - *mesh_tree_stably
   force restore cmd set:
   - ''
-  - *force_reboot
-  - *all_nodes_mesh_config
+  - - MSSC SSC[1-<node_num>] reboot
+    - - P SSC[1-<node_num>] C !!!ready!!!
+  - *mesh_get_all_dut_mac
+  - - MSSC SSC[1-<node_num>] mesh -I
+    - - P SSC[1-<node_num>] C +MESH:INIT,OK
+  - *mesh_config_all_duts
   - - MSSC SSC[1-<node_num>] mesh -T
     - - P SSC[1-<node_num>] C +MESH:START,OK
   - - DELAY <delay_time>
     - - ''
-  - *mesh_check_get_tree
-  - *mesh_check_tree_stable
-- tag: ENABLED_3
+  - - VALUE <tree_node_num> <node_num>
+    - - R PC_COM L OK
+  - *mesh_check_tree_num
+  - *mesh_tree_stably
+- tag: MESH_INIT_SWITCH
   <<: *MESH_INIT_COND
-  initial condition detail: all mesh nodes configed but not started
+  initial condition detail: 3 duts in softAP mode with same ssid/password, all duts establish network
   check cmd set:
   - ''
-  - - ASSERT
-    - - ''
+  - - SSC SSC[1-3] ap -Q
+    - - P SSC[1-3] RE "RE "APCONFIG:%%s"%%(<target_ssid>)
+  - - MSSC SSC[4-<node_num>] mac
+    - -  R SSC[4-<node_num>] A <device_mac>:\+STAMAC:(.+)\r\n
+  - - VALUE <tree_node_num> <node_num>-3
+    - - R PC_COM L OK
+  - - MSSC SSC[4-<node_num>] mesh -Q -o 2
+    - - P SSC[4-<node_num>] T topo
+  - - MESHTREE
+    - - R PC_COM RE "TREE_TOTAL_NODES:%%s"%%(<tree_node_num>)
+  - - MSSC SSC[4-<node_num>] mesh -Q -o 3
+      - P SSC[4-<node_num>] RE "MROUTER,%%s"%%(<target_ssid>)
+  - - DELAY 5
+    - - P PC_COM C +DELAYDONE
+      - P SSC[4-<node_num>] NC MESH_EVENT_DISCONNECTED
   restore cmd set:
   - ''
-  - *reboot_all
-  - *all_nodes_mesh_config
-  - *mesh_get_device_mac
+  - - ASSERT
+    - - ''
   force restore cmd set:
   - ''
-  - *force_reboot
-  - *all_nodes_mesh_config
-  - *mesh_get_device_mac
-- tag: DISABLED_1
+  - - MSSC SSC[1-<node_num>] reboot
+    - - P SSC[1-<node_num>] C !!!ready!!!
+  - *mesh_get_all_dut_mac
+  - *mesh_set_same_ssid_softap
+  - - MSSC SSC[4-<node_num>] mesh -I
+    - - P SSC[4-<node_num>] C +MESH:INIT,OK
+  - - MSSC SSC[4-<node_num>] meshset -M -o 0 -t <map_auth_mode> -e <map_password> -l 10
+    - - P SSC[4-<node_num>] C +MESHSET:MAP_AUTH,OK
+  - - MSSC SSC[4-<node_num>] meshset -G -o 0 -m <mesh_id> -s <target_ssid> -p <target_password> -n <try_channel> -h 1 -t
+      <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC[4-<node_num>] C +MESHSET:CFG,OK
+  - - MSSC SSC[4-<node_num>] meshset -L -o 0 -l <max_layer>
+    - - P SSC[4-<node_num>] C +MESHSET:MLAYER,OK
+  - - MSSC SSC[4-<node_num>] meshset -W -o 0 -t <duration_ms> -n <cnx_rssi> -l <select_rssi> -i <switch_rssi> -k <backoff_rssi>
+    - - P SSC[4-<node_num>] C +MESHSET:SWITCH,OK
+  - - MSSC SSC[4-<node_num>] meshset -K -o 0 -i <allow_roots>
+    - - P SSC[4-<node_num>] C +MESHSET:ALLOW_ROOTS,OK
+  - - MSSC SSC[4-<node_num>] mesh -T
+    - - P SSC[4-<node_num>] C +MESH:START,OK
+  - - DELAY <delay_time>
+    - - ''
+  - - VALUE <tree_node_num> <node_num>-3
+    - - R PC_COM L OK
+  - - MSSC SSC[4-<node_num>] mesh -Q -o 2
+    - - P SSC[4-<node_num>] T topo
+  - - MESHTREE
+    - - R PC_COM RE "TREE_TOTAL_NODES:%%s"%%(<tree_node_num>)
+  - - DELAY 10
+    - - P PC_COM C +DELAYDONE
+      - P SSC[4-<node_num>] NC MESH_EVENT_DISCONNECTED
+- tag: MESH_NO_ROUTER
   <<: *MESH_INIT_COND
-  initial condition detail: all mesh node in softap+sta mode, disable all mesh node
-  restore post cmd set:
-  - ''
+  initial condition detail: DUTs with mesh network already established, router....
   check cmd set:
   - ''
+  - *mesh_get_all_dut_mac
+  - - VALUE <tree_node_num> <node_num>
+    - - R PC_COM L OK
+  - *mesh_check_tree_num
+  - *mesh_tree_stably
+  - - MSSC SSC[1-<node_num>] mesh -Q -o 3
+    - - P SSC[1-<node_num>] RE "MID,%%s"%%(<mesh_id>)
+      - P SSC[1-<node_num>] C NO_ROUTER
+  restore cmd set:
+  - ''
   - - ASSERT
     - - ''
+  force restore cmd set:
+  - ''
+  - - ASSERT
+    - - ''
+- tag: MESH_STABLE
+  <<: *MESH_INIT_COND
+  initial condition detail: DUTs with mesh network already established and stable, never restore
+  check cmd set:
+  - ''
+  - *mesh_get_all_dut_mac
+  - - MSSC SSC[1-<node_num>] mesh -Q -o 2
+    - - P SSC[1-<node_num>] T topo
+  - - MESHTREE stable
+    - - P PC_COM RE "MESHTREE:%%s%20nodes"%%(<node_num>)
   restore cmd set:
   - ''
-  - *reboot_all
-  - - MSSC SSC[1-<node_num>] op -S -o 3
-    - - P SSC[1-<node_num>] C +MODE:OK
-  - - MSSC SSC[1-<node_num>] sta -D
-    - - P SSC[1-<node_num>] C +QAP:OK
-  - *mesh_get_device_mac
+  - - ASSERT
+    - - ''
   force restore cmd set:
   - ''
-  - *force_reboot
-  - - MSSC SSC[1-<node_num>] op -S -o 3
-    - - P SSC[1-<node_num>] C +MODE:OK
-  - - MSSC SSC[1-<node_num>] sta -D
-    - - P SSC[1-<node_num>] C +QAP:OK
-  - *mesh_get_device_mac
+  - - ASSERT
+    - - ''
index 30e07fc46bc0006c11de8590c8ffe9d4844eccf0..b7b64b0e1e9e1db8fd1b8caeddb6fadec8529f45 100644 (file)
-test cases:
-- CI ready: 'Yes'
-  ID: MESH_COMM_0101
+.MESH_COMM_CASE: &MESH_COMM_CASE
   SDK: ESP32_IDF
   Test App: SSC_MESH
   auto test: 'Yes'
   category: Function
+  execution time: 0.0
+  module: Mesh
+  sub module: Communication
+  version: v1 (2018-08-15)
+  level: Integration
+  allow fail: ''
+  initial condition: MESH_INIT1
+  CI ready: 'NO'
+
+.throughput_cmd_set: &throughput_cmd_set
+  LIST_MERGE:
+    - - 'bcn_interval = [None]'
+      - ['']
+    - - 'test_cycles = 2'
+      - ['']
+    - - 'send_len = [1460, 1024, 512, 256]'
+      - ['']
+    - - 'measure_time_sec = 30'
+      - ['']
+    - - 'send_interval = [0, 100]'
+    - - 'send_interval = [0, 100]'
+      - ['']
+    - - 'send_type = "ucast"'
+      - ['']
+    - - 'send_flag = 2'
+      - ['']
+
+
+.mesh_config_all_duts_no_router: &mesh_config_all_duts_no_router
+  LIST_MERGE:
+    - - 'SSC SSC1 meshset -T -o 0 -t 1'
+      - ['P SSC1 C +MESHSET:TYPE,OK']
+    - - 'MSSC SSC[2-<node_num>] meshset -X -o 0 -i 1'
+      - ['P SSC[2-<node_num>] C +MESHSET:FIX_ROOT,OK']
+    - - 'MSSC SSC[1-<node_num>] meshset -M -o 0 -t <map_auth_mode> -e <map_password> -l 10'
+      - ['P SSC[1-<node_num>] C +MESHSET:MAP_AUTH,OK']
+    - - 'SSC SSC[1-<node_num>] meshset -G -o 0 -m <mesh_id> -n <router_channel> -t <max_connect> -e
+        <map_password> -i <ie_encrypt>'
+      - ['P SSC[1-<node_num>] C +MESHSET:CFG,OK']
+
+
+.root_do_connect: &root_do_connect
+  LIST_MERGE:
+    - - 'SOC SOC1 LISTEN <test_tcp_port1> <pc_ip>'
+      - ['R SOC_COM L OK']
+    - - 'SSC MNODE(0) mesh -S -o 0 -i <pc_ip> -t <test_tcp_port1>'
+      - ['P MNODE(0) C +CONNECT,OK', 'P SOC1 C ACCEPT']
+    - - 'SOC SOC1 MACCEPT GSOC1'
+      - ['R SOC_COM L OK']
+
+test cases:
+- ID: MESH_COMM_0101
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0) meshsend -S -d <MNODE(0)_mac> -l 1000 -c 20 -b 20 -f 2
+     - - P MNODE(0) C +MESHTXPKT,OK C +MESHSEND,OK C +MESHRXPKT,OK
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. root send ucast to self
+  summary: no-child root send ucast to self with default parameters
+  CI ready: 'Yes'
+  test environment: SSC_T1_MESH1
+  test point 1: basic function
+  test point 2: ucast meshsend test
+- ID: MESH_COMM_0102
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0) meshsend -S -d <MNODE(0)_mac> -l 1000 -c 20 -b 20 -f 2
+     - - P MNODE(0) C +MESHTXPKT,OK C +MESHSEND,OK C +MESHRXPKT,OK
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. root send ucast to self
+  summary: root send ucast to self with default parameters
+  CI ready: 'Yes'
+  test environment: SSC_T3_MESH1
+  test point 1: basic function
+  test point 2: ucast meshsend test
+- ID: MESH_COMM_0103
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0) meshsend -S -d <MNODE(0,0)_mac> -l 1000 -c 20 -b 20 -f 2
+    - - P MNODE(0) C +MESHTXPKT,OK C +MESHSEND,OK
+      - P MNODE(0,0) C +MESHRXPKT,OK
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. root send ucast to L2
+  summary: root send ucast to L2 with default parameters
+  CI ready: 'Yes'
+  test environment: SSC_T3_MESH1
+  test point 1: basic function
+  test point 2: ucast meshsend test
+- ID: MESH_COMM_0104
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0) meshsend -S -d <MNODE(0,0,0)_mac> -l 1000 -c 20 -b 20 -f 2
+    - - P MNODE(0) C +MESHTXPKT,OK C +MESHSEND,OK
+      - P MNODE(0,0,0) C +MESHRXPKT,OK
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. root send ucast to L3
+  summary: root send ucast to L3 with default parameters
+  CI ready: 'Yes'
+  test environment: SSC_T12_MESH1
+  test point 1: basic function
+  test point 2: ucast meshsend test
+- ID: MESH_COMM_0105
+  <<: *MESH_COMM_CASE
   cmd set:
   - ''
   - - SSC MNODE(0) meshsend -S -d <MNODE(0,-1)_mac> -l 1000 -c 20 -b 20 -f 2
-    - - P MNODE(0) C +MESHSEND,OK
-      - P MNODE(0,-1) C +MESHRXPKT:OK
-  execution time: 0.0
+    - - P MNODE(0) C +MESHTXPKT,OK C +MESHSEND,OK
+      - P MNODE(0,-1) C +MESHRXPKT,OK
   expected result: |-
     1. succeed
-    2. succeed
-    3. succeed
-    4. succeed
-  initial condition: ENABLED_2
-  level: Integration
-  module: Mesh
   steps: |-
-    1. mesh init
-    2. mesh config
-    3. mesh start
-    4. root send unicast to leaf
-  sub module: Communication
-  summary: root send unicast to leaf
-  test environment: SSC_T50_1
+    1. root send ucast to leaf
+  summary: root send ucast to leaf with default parameters
+  CI ready: 'NO'
+  test environment: SSC_T12_MESH1
   test point 1: basic function
-  test point 2: unicast test
-  version: v1 (2017-7-20)
-- CI ready: 'Yes'
-  ID: MESH_COMM_0106
-  SDK: ESP32_IDF
-  Test App: SSC_MESH
-  auto test: 'Yes'
-  category: Function
+  test point 2: ucast meshsend test
+- ID: MESH_COMM_0106
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0,0) meshsend -S -d <MNODE(0)_mac> -l 1000 -c 20 -b 20 -f 2
+    - - P MNODE(0,0) C +MESHSEND,OK C +MESHTXPKT,OK
+      - P MNODE(0) C +MESHRXPKT,OK
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. L2 send unicast to root
+  summary: L2 send unicast to root with default parameters
+  CI ready: 'Yes'
+  test environment: SSC_T3_MESH1
+  test point 1: basic function
+  test point 2: ucast meshsend test
+- ID: MESH_COMM_0107
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0,0) meshsend -S -d <MNODE(0,1)_mac> -l 1000 -c 20 -b 20 -f 2
+    - - P MNODE(0,0) C +MESHSEND,OK C +MESHTXPKT,OK
+      - P MNODE(0,1) C +MESHRXPKT,OK
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. L2 send unicast to brother
+  summary: L2 send unicast to brother with default parameters
+  CI ready: 'Yes'
+  test environment: SSC_T3_MESH1
+  test point 1: basic function
+  test point 2: ucast meshsend test
+- ID: MESH_COMM_0108
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0,0) meshsend -S -d <MNODE(0,0,0)_mac> -l 1000 -c 20 -b 20 -f 2
+    - - P MNODE(0,0) C +MESHSEND,OK C +MESHTXPKT,OK
+      - P MNODE(0,0,0) C +MESHRXPKT,OK
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. L2 send unicast to L3
+  summary: L2 send unicast to L3 with default parameters
+  CI ready: 'NO'
+  test environment: SSC_T12_MESH1
+  test point 1: basic function
+  test point 2: ucast meshsend test
+- ID: MESH_COMM_0109
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0,0) meshsend -S -d <MNODE(0,1)_mac> -l 1000 -c 20 -b 20 -f 2
+    - - P MNODE(0,0) C +MESHSEND,OK C +MESHTXPKT,OK
+      - P MNODE(0,1) C +MESHRXPKT,OK
+  - - DELAY 3
+    - - ''
+  - - SSC MNODE(0,0) meshsend -S -d <MNODE(0,1)_mac> -l 1000 -c 20 -b 20 -f 2
+    - - P MNODE(0,0) C +MESHSEND,OK C +MESHTXPKT,OK
+      - P MNODE(0,1) C +MESHRXPKT,OK
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. L2 send unicast to brother
+  summary: L2 send unicast to brother, delay 3s, send again
+  CI ready: 'Yes'
+  test environment: SSC_T3_MESH1
+  test point 1: basic function
+  test point 2: ucast meshsend test
+- ID: MESH_COMM_0110
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0,0,0) meshsend -S -d <MNODE(0)_mac> -l 1000 -c 100 -b 20 -f 2
+    - - P MNODE(0,0,0) C +MESHTXPKT,OK C +MESHSEND,OK
+      - P MNODE(0) C +MESHRXPKT,OK
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. L3 send unicast to root
+  summary: L3 send unicast to root with default parameters
+  CI ready: 'Yes'
+  test environment: SSC_T12_MESH1
+  test point 1: basic function
+  test point 2: ucast meshsend test
+- ID: MESH_COMM_0111
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0,0,0) meshsend -S -d <MNODE(0,0)_mac> -l 1000 -c 100 -b 20 -f 2
+    - - P MNODE(0,0,0) C +MESHTXPKT,OK C +MESHSEND,OK
+      - P MNODE(0,0) C +MESHRXPKT,OK
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. L3 send unicast to L2
+  summary: L3 send unicast to L2 with default parameters
+  CI ready: 'Yes'
+  test environment: SSC_T12_MESH1
+  test point 1: basic function
+  test point 2: ucast meshsend test
+- ID: MESH_COMM_0112
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0,0,0) meshsend -S -d <MNODE(0,0,0)_mac> -l 1000 -c 100 -b 20 -f 2
+    - - P MNODE(0,0,0) C +MESHTXPKT,OK C +MESHSEND,OK
+      - P MNODE(0,0,0) C +MESHRXPKT,OK
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. L3 send unicast to self
+  summary: L3 send unicast to self with default parameters
+  CI ready: 'NO'
+  test environment: SSC_T12_MESH1
+  test point 1: basic function
+  test point 2: ucast meshsend test
+- ID: MESH_COMM_0113
+  <<: *MESH_COMM_CASE
   cmd set:
   - ''
   - - SSC MNODE(0,-1) meshsend -S -d <MNODE(0)_mac> -l 1000 -c 20 -b 20 -f 2
-    - - P MNODE(0,-1) C +MESHSEND,OK
-      - P MNODE(0) C +MESHRXPKT:OK
-  execution time: 0.0
+    - - P MNODE(0,-1) C +MESHSEND,OK C +MESHTXPKT,OK
+      - P MNODE(0) C +MESHRXPKT,OK
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. leaf send unicast to root
+  summary: leaf send unicast to root with default parameters
+  CI ready: 'NO'
+  test environment: SSC_T12_MESH1
+  test point 1: basic function
+  test point 2: ucast meshsend test
+- ID: MESH_COMM_0114
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0,-1) meshsend -S -d <MNODE(0,-1)_mac> -l 1000 -c 20 -b 20 -f 2
+    - - P MNODE(0,-1) C +MESHSEND,OK C +MESHRXPKT,OK C +MESHTXPKT,OK
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. leaf send unicast to itself
+  summary: leaf send unicast to itself with default parameters
+  CI ready: 'NO'
+  test environment: SSC_T12_MESH1
+  test point 1: basic function
+  test point 2: ucast meshsend test
+- ID: MESH_COMM_0115
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0,-1) meshsend -S -d <MNODE(0,1)_mac> -l 1000 -c 20 -b 20 -f 2
+    - - P MNODE(0,-1) C +MESHSEND,OK C +MESHTXPKT,OK
+      - P MNODE(0,1) C +MESHRXPKT,OK
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. leaf send unicast to another L2 node
+  summary: leaf send unicast to another l2 node with default parameters
+  CI ready: 'Yes'
+  test environment: SSC_T12_MESH1
+  test point 1: basic function
+  test point 2: ucast meshsend test
+- ID: MESH_COMM_0116
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0,-1) meshsend -S -d <MNODE(0,0,0)_mac> -l 1000 -c 20 -b 20 -f 2
+    - - P MNODE(0,-1) C +MESHSEND,OK C +MESHTXPKT,OK
+      - P MNODE(0,0,0) C +MESHRXPKT,OK
   expected result: |-
     1. succeed
+  steps: |-
+    1. leaf send unicast to another L3 node
+  summary: leaf send unicast to another L3 node with default parameters
+  CI ready: 'NO'
+  test environment: SSC_T12_MESH1
+  test point 1: basic function
+  test point 2: ucast meshsend test
+- ID: MESH_COMM_0117
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0) meshsend -S -d <MNODE(0,0)_mac> -l 1460 -c 20 -b 20 -f 8
+    - - P MNODE(0) C +MESHTXPKT,OK C +MESHSEND,OK
+      - P MNODE(0) C TODS_PKT,OK
+  - - SSC MNODE(0) meshsend -S -d <MNODE(0,0)_mac> -l 1460 -c 20 -b 20 -f 4
+    - - P MNODE(0) C +MESHTXPKT,OK C +MESHSEND,OK
+      - P MNODE(0,0) C +MESHRXPKT,OK
+  - - SSC MNODE(0) meshsend -S -d <MNODE(0,0)_mac> -l 1460 -c 20 -b 20 -f 0
+    - - P MNODE(0) C +MESHTXPKT,FAIL C +MESHSEND,OK
+  expected result: |-
+    1. fail
     2. succeed
-    3. succeed
-    4. succeed
-  initial condition: ENABLED_1
-  level: Integration
-  module: Mesh
+    3. fail
   steps: |-
-    1. mesh init
-    2. mesh config
-    3. mesh start
-    4. leaf send unicast to root
-  sub module: Communication
-  summary: leaf send unicast to root
-  test environment: SSC_T50_1
+    1. root send unicast to L2 with flag TODS
+    2. root send unicast to L2 with flag FROMDS
+    3. root send unicast to L2 without flag set
+  summary: root send unicast to L2 with different flag
+  CI ready: 'Yes'
+  test environment: SSC_T3_MESH1
   test point 1: basic function
-  test point 2: unicast test
-  version: v1 (2017-7-20)
-- CI ready: 'Yes'
-  ID: MESH_COMM_0116
-  SDK: ESP32_IDF
-  Test App: SSC
-  auto test: 'Yes'
-  category: Function
+  test point 2: ucast meshsend test
+- ID: MESH_COMM_0118
+  <<: *MESH_COMM_CASE
   cmd set:
   - ''
-  - - SSC MNODE(0,-1) meshsend -S -d <MNODE(0,1)_mac> -l 1000 -c 100 -f 2
-    - - P MNODE(0,-1) C +MESHTXPKT:OK C +MESHSEND,OK
-      - P MNODE(0,1) C +MESHRXPKT:OK
-  - - DELAY 5
+  - - SSC MNODE(0,0) meshsend -S -d <MNODE(0)_mac> -l 1460 -c 20 -b 20 -f 8
+    - - P MNODE(0,0) C +MESHTXPKT,OK C +MESHSEND,OK
+      - P MNODE(0) C +MESHRXPKT,OK
+  - - SSC MNODE(0,0) meshsend -S -d <MNODE(0)_mac> -l 1460 -c 20 -b 20 -f 4
+    - - P MNODE(0,0) C +MESHTXPKT,FAIL C +MESHSEND,OK
+  - - SSC MNODE(0,0) meshsend -S -d <MNODE(0)_mac> -l 1460 -c 20 -b 20 -f 0
+    - - P MNODE(0,0) C +MESHTXPKT,FAIL C +MESHSEND,OK
+  expected result: |-
+    1. succeed
+    2. fail
+    3. fail
+  steps: |-
+    1. L2 send unicast to root with flag TODS
+    1. L2 send unicast to root with flag FROMDS
+    1. L2 send unicast to root without flag set
+  summary: node send unicast upward to root with different flag
+  CI ready: 'Yes'
+  test environment: SSC_T3_MESH1
+  test point 1: basic function
+  test point 2: ucast meshsend test
+- ID: MESH_COMM_0119
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - LOOP 4 1 "[0,1,2,3]"
     - - ''
-  - - SSC MNODE(0,-1) meshsend -S -d <MNODE(0,1)_mac> -l 1000 -c 10 -f 2
-    - - P MNODE(0,-1) C +MESHTXPKT:OK C +MESHSEND,OK
-      - P MNODE(0,1) C +MESHRXPKT:OK
+  - - SSC MNODE(0,0) meshsend -S -d <MNODE(0)_mac> -l 1460 -c 20 -b 20 -f 2 -p {%d}
+    - - P MNODE(0,0) C +MESHTXPKT,OK C +MESHSEND,OK
+      - P MNODE(0) C +MESHRXPKT,OK
   expected result: |-
     1. succeed
-    2. succeed
-    3. succeed
-    4. succeed
-  initial condition: ENABLED_2
-  level: Integration
-  module: Mesh
   steps: |-
-    1. mesh init
-    2. mesh config
-    3. mesh start
-    4. root send unicast to others
-  sub module: Communication
-  summary: fluid control test when node send packets upward
-  test environment: SSC_T50_1
+    1. L2 send unicast to root with differet protocal
+  summary: node send unicast with differet protocal
+  CI ready: 'NO'
+  test environment: SSC_T3_MESH1
   test point 1: basic function
-  test point 2: unicast test
-  version: v1 (2017-7-20)
-- CI ready: 'Yes'
-  ID: MESH_COMM_0210
-  SDK: ESP32_IDF
-  Test App: SSC_MESH
-  auto test: 'Yes'
-  category: Function
+  test point 2: ucast meshsend test
+- ID: MESH_COMM_0120
+  <<: *MESH_COMM_CASE
   cmd set:
   - ''
-  - - SSC MNODE(0) meshsend -S -d <MNODE(0,0)_mac> -l 1460 -c 20 -b 20 -f 4
-    - - P MNODE(0) C +MESHTXPKT:OK C +MESHSEND,OK
-      - P MNODE(0,0) C +MESHRXPKT:OK
-  execution time: 0.0
+  - - LOOP 4 1 "[0,1,2,3]"
+    - - ''
+  - - SSC MNODE(0) meshsend -S -d <MNODE(0,0)_mac> -l 1460 -c 20 -b 20 -f 2 -p {%d}
+    - - P MNODE(0) C +MESHTXPKT,OK C +MESHSEND,OK
+      - P MNODE(0,0) C +MESHRXPKT,OK
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. root send unicast to L2 with differet protocal
+  summary: root send unicast with differet protocal
+  CI ready: 'NO'
+  test environment: SSC_T3_MESH1
+  test point 1: basic function
+  test point 2: ucast meshsend test
+- ID: MESH_COMM_0121
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0) meshsend -S -d <MNODE(0,0)_mac> -l 1460 -c 20 -b 20 -f 2 -t 0
+    - - P MNODE(0) C +MESHTXPKT,OK
+      - P MNODE(0,0) C +MESHRXPKT,OK
+  - - SSC MNODE(0) meshsend -S -d <MNODE(0,0)_mac> -l 1460 -c 20 -b 20 -f 2 -t 1
+    - - P MNODE(0) C +MESHTXPKT,OK
+  - - SSC MNODE(0) meshsend -S -d <MNODE(0,0)_mac> -l 1460 -c 20 -b 20 -f 2 -t 2
+    - - P MNODE(0) C +MESHTXPKT,OK
+      - P MNODE(0,0) C +MESHRXPKT,OK
+  - - SSC MNODE(0,0) meshsend -S -d <MNODE(0)_mac> -l 1460 -c 20 -b 20 -f 2 -t 2
+    - - P MNODE(0,0) C +MESHTXPKT,FAIL
+  - - SSC MNODE(0,0) meshsend -S -d <MNODE(0)_mac> -l 1460 -c 20 -b 20 -f 2 -t 0
+    - - P MNODE(0,0) C +MESHTXPKT,FAIL
   expected result: |-
     1. succeed
     2. succeed
     3. succeed
     4. succeed
-  initial condition: ENABLED_1
-  level: Integration
-  module: Mesh
+    5. succeed
   steps: |-
-    1. mesh init
-    2. mesh config
-    3. mesh start
-    4. root send unicast
-  sub module: Communication
-  summary: root send unicast downward with flag=FROMDS
-  test environment: SSC_T50_1
+    1. root send unicast to L2 with tos = P2P
+    2. root send unicast to L2 with tos = E2E
+    3. root send unicast to L2 with tos = DEF
+    4. L2 send unicast to root with tos = DEF
+    5. L2 send unicast to root with tos = P2P
+  summary: node send unicast with different tos
+  CI ready: 'Yes'
+  test environment: SSC_T3_MESH1
   test point 1: basic function
-  test point 2: meshsend parameter check
-  version: v1 (2017-7-20)
-- CI ready: 'Yes'
-  ID: MESH_COMM_0902
-  SDK: ESP32_IDF
-  Test App: SSC_MESH
-  auto test: 'Yes'
-  category: Function
+  test point 2: ucast meshsend test
+- ID: MESH_COMM_0122
+  <<: *MESH_COMM_CASE
   cmd set:
   - ''
-  - - SSC MNODE(0,0,0) mesh -D -o 0 -g <MNODE(0)_mac>
-    - - P MNODE(0,0,0) C +MESH_ADDR_LIST_ADD
-  - - SSC MNODE(0,0,0) mesh -D -o 0 -g <MNODE(0,0)_mac>
-    - - P MNODE(0,0,0) C +MESH_ADDR_LIST_ADD
-  - - SSC MNODE(0,0,0) meshsend -P -p 0 -t 7 -l 12
-    - - P MNODE(0,0,0) C +MESHSEND:OPTION,1
-  - - SSC MNODE(0,0,0) meshsend -S -w 1 -d 01:00:5E:00:00:00 -c 10 -b 20 -f
-      2
-    - - P MNODE(0,0,0) C +MESHTXPKT:ERROR C +MESHSEND,OK
-      - P MNODE(0,0) NC +MESHRXPKT:OK
-  - - SSC MNODE(0,0,0) meshsend -S -w 1 -d 01:00:5E:00:00:00 -l 0 -c 10 -b 20 -f
-      2
-    - - P MNODE(0,0,0) C +MESHTXPKT:ERROR C +MESHSEND,OK
-      - P MNODE(0,0) NC +MESHRXPKT:OK
-  - - SSC MNODE(0,0,0) meshsend -S -w 1 -d 01:00:5E:00:00:00 -l 1000 -c 10 -b 20 -f
-      2
-    - - P MNODE(0,0,0) C +MESHTXPKT:OK C +MESHSEND,OK
-      - P MNODE(0) C +MESHRXPKT:OK
-  - - SSC MNODE(0,0,0) meshsend -S -w 1 -d 01:00:5E:00:00:00 -l 1460 -c 10 -b 20 -f
-      2
-    - - P MNODE(0,0,0) C +MESHTXPKT:ERROR C +MESHSEND,OK
-  execution time: 0.0
+  - - SSC MNODE(0) meshsend -S -d <MNODE(0,0)_mac> -l 1460 -c 20 -b 20 -t 0 -p 1 -f 4
+    - - P MNODE(0) C +MESHTXPKT,OK C +MESHSEND,OK
+      - P MNODE(0,0) C +MESHRXPKT,OK
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. root send unicast to L2 with flag=FROMDS, protocal=HTTP, tos=P2P
+  summary: root send unicast with flag=FROMDS, protocal=HTTP, tos=P2P
+  CI ready: 'Yes'
+  test environment: SSC_T3_MESH1
+  test point 1: basic function
+  test point 2: ucast meshsend test
+- ID: MESH_COMM_0123
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0) meshsend -S -d <MNODE(0,0)_mac> -l 1460 -c 20 -b 20 -f 4 -p 1
+      -t 1
+    - - P MNODE(0) C +MESHTXPKT,FAIL
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. root send unicast to L2 with flag=FROMDS, protocal=HTTP, tos=E2E
+  summary: root send unicast with flag=FROMDS, protocal=HTTP and tos=E2E
+  CI ready: 'Yes'
+  test environment: SSC_T3_MESH1
+  test point 1: basic function
+  test point 2: ucast meshsend test
+- ID: MESH_COMM_0124
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0,0) meshsend -S -d <MNODE(0)_mac> -l 1460 -c 20 -b 20 -f 8 -p 1 -t 0
+    - - P MNODE(0) C +MESHRXPKT,OK
+      - P MNODE(0,0) C +MESHTXPKT,OK C +MESHSEND,OK
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. L2 send unicast to root with flag=TODS, protocal=HTTP, tos=P2P
+  summary: node send unicast to root with flag=TODS, protocal=HTTP and tos=P2P
+  CI ready: 'NO'
+  test environment: SSC_T3_MESH1
+  test point 1: basic function
+  test point 2: ucast meshsend test
+- ID: MESH_COMM_0125
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0,0) meshsend -S -d <MNODE(0)_mac> -l 1460 -c 20 -b 20 -f 8 -p 1 -t 1
+    - - P MNODE(0,0) C +MESHTXPKT,FAIL
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. L2 send unicast to root with flag=TODS, protocal=HTTP, tos=E2E
+  summary: node send unicast to root with flag=TODS, protocal=HTTP and tos=E2E
+  CI ready: 'NO'
+  test environment: SSC_T3_MESH1
+  test point 1: basic function
+  test point 2: ucast meshsend test
+- ID: MESH_COMM_0126
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0) meshsend -S -d 01:00:5E:00:00:00 -l 1460 -c 20 -b 20 -f 8
+    - - P MNODE(0) C TODS_PKT,OK C +MESHTXPKT,OK C +MESHSEND,OK
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. root send unicast with multicast address
+  summary: root send unicast with multicast address wtth flag TODS
+  CI ready: 'Yes'
+  test environment: SSC_T12_MESH1
+  test point 1: basic function
+  test point 2: ucast meshsend test
+- ID: MESH_COMM_0127
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0) meshsend -S -d <MNODE(0,0)_mac> -l 1000 -c 20 -b 20 -f 2
+    - - P MNODE(0) C +MESHSEND,OK
+      - P MNODE(0,0) C +MESHRXPKT,OK
+  - - SSC MNODE(0,0) meshsend -S -d <MNODE(0)_mac> -l 1000 -c 20 -b 20 -f 2
+      - - P MNODE(0,0) C +MESHSEND,OK
+        - P MNODE(0) C +MESHRXPKT,OK
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. meshsend unicast between two nodes
+  summary: meshsend unicast test between diffent nodes
+  CI ready: 'NO'
+  test environment: SSC_T3_MESH1
+  test point 1: basic function
+  test point 2: ucast meshsend test
+- ID: MESH_COMM_0128
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC SSC[1-<node_num>] mesh -I
+    - - P SSC[1-<node_num>] C +MESH:INIT,OK
+  - *mesh_config_all_duts_no_router
+  - - SSC SSC[1-<node_num>] mesh -T
+    - - P SSC[1-<node_num>] C +MESH:START,OK
+  - - DELAY <delay_time>
+    - - ''
+  - - SSC SSC[1-<node_num>] mesh -Q -o 2
+    - - P SSC[1-<node_num>] T topo
+  - - MESHTREE
+    - - R PC_COM RE "MESHTREE:%%s"%%(<node_num>)
+  - - SSC MNODE(0) meshsend -S -d <MNODE(0,0)_mac> -l 1000 -c 20 -b 20 -f 2
+    - - P MNODE(0) C +MESHSEND,OK
+      - P MNODE(0,0) C +MESHRXPKT,OK
+  - - SSC MNODE(0) meshsend -S -d <server_mac> -l 1000 -c 20 -b 20 -f 8
+    - - P MNODE(0) C +MESHTXPKT,OK C +MESHSEND,OK
+      - P MNODE(0) C TODS_PKT,OK
+  - - SSC MNODE(0,0) meshsend -S -d <MNODE(0)_mac> -l 1000 -c 20 -b 20 -f 2
+    - - P MNODE(0,0) C +MESHSEND,OK
+      - P MNODE(0) C +MESHRXPKT,OK
+  - - SSC MNODE(0,0) meshsend -S -d <server_mac> -l 1000 -c 20 -b 20 -f 8
+    - - P MNODE(0,0) C +MESHTXPKT,OK C +MESHSEND,OK
+      - P MNODE(0) C TODS_PKT,OK
   expected result: |-
     1. succeed
     2. succeed
     3. succeed
     4. succeed
-  initial condition: ENABLED_1
-  level: Integration
-  module: Mesh
+    5. succeed
   steps: |-
-    1. mesh init
-    2. mesh config
-    3. mesh start
-    4. node send multicast with different length
-  sub module: Communication
-  summary: node send multicast with different length
-  test environment: SSC_T50_1
+    1. set all duts to establish no router network
+    2. layer1 send package to layer2
+    3. layer1 send package to DS
+    4. layer2 send package to layer1
+    5. layer2 send package to DS
+  summary: no router network, meshsend unicast test
+  initial condition: MESH_DEINIT_STA
+  CI ready: 'Yes'
+  test environment: SSC_T3_MESH1
+  test point 1: basic function
+  test point 2: ucast meshsend test
+- ID: MESH_COMM_0129
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0) meshsend -S -d <mesh_id2> -l 1000 -c 20 -b 20 -f 2
+    - - P MNODE(0) C +MESHSEND,OK C +MESHTXPKT,FAIL
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. root send unicast with inexistent dst_addr
+  summary: root send unicast with inexistent dst_addr
+  CI ready: 'Yes'
+  test environment: SSC_T12_MESH1
+  test point 1: basic function
+  test point 2: ucast meshsend test
+- ID: MESH_COMM_0130
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0) meshsend -S -d <MNODE(0,0)_mac> -l 0 -c 20 -b 20 -f 2
+    - - P MNODE(0) C +MESHTXPKT,FAIL C +MESHSEND,OK
+      - P MNODE(0,0) NC +MESHRXPKT,OK
+  - - SSC MNODE(0) meshsend -S -d <MNODE(0,0)_mac> -l 64 -c 20 -b 20 -f 2
+    - - P MNODE(0) C +MESHTXPKT,OK C +MESHSEND,OK
+      - P MNODE(0,0) C +MESHRXPKT,OK
+  - - SSC MNODE(0) meshsend -S -d <MNODE(0,0)_mac> -l 1460 -c 20 -b 20 -f 2
+    - - P MNODE(0) C +MESHTXPKT,OK C +MESHSEND,OK
+      - P MNODE(0,0) C +MESHRXPKT,OK
+  - - SSC MNODE(0) meshsend -S -d <MNODE(0,0)_mac> -l 1600 -c 20 -b 20 -f 2
+    - - P MNODE(0) C +MESHTXPKT,FAIL C +MESHSEND,OK
+      - P MNODE(0,0) NC +MESHRXPKT,OK
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. root send unicast to another node with different length
+  summary: node send unicast to another node with different length
+  CI ready: 'Yes'
+  test environment: SSC_T3_MESH1
+  test point 1: basic function
+  test point 2: ucast meshsend test
+- ID: MESH_COMM_0131
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0) meshsend -S -d <MNODE(0,-1)_mac> -l 1460 -c 20 -b 20 -f <temp_value>
+    - - P MNODE(0) C +MESHTXPKT,FAIL
+  - - ASSERT
+    - - ''
+  expected result: |-
+    1. fail
+  steps: |-
+    1. root send unicast to leaf with invalid flag value
+  summary: (ASSERT) root send unicast with invalid flag value
+  CI ready: 'NO'
+  test environment: SSC_T3_MESH1
+  test point 1: basic function
+  test point 2: ucast meshsend test
+- ID: MESH_COMM_0132
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0) meshsend -S -d <MNODE(0,-1)_mac> -l 1460 -c 20 -b 20 -p <temp_value>
+    - - P MNODE(0) C +MESHTXPKT,FAIL
+  - - ASSERT
+    - - ''
+  expected result: |-
+    1. fail
+  steps: |-
+    1. root send unicast to leaf with invalid proto value
+  summary: (ASSERT) root send unicast with invalid proto value
+  CI ready: 'NO'
+  test environment: SSC_T12_MESH1
+  test point 1: basic function
+  test point 2: ucast meshsend test
+- ID: MESH_COMM_0133
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0) meshsend -S -d <MNODE(0,-1)_mac> -l 1460 -c 20 -b 20 -t <temp_value>
+    - - P MNODE(0) C +MESHTXPKT,FAIL
+  - - ASSERT
+    - - ''
+  expected result: |-
+    1. fail
+  steps: |-
+    1. root send unicast to leaf with invalid tos value
+  summary: (ASSERT) root send unicast with invalid tos value
+  CI ready: 'NO'
+  test environment: SSC_T12_MESH1
   test point 1: basic function
-  test point 2: meshsend parameter check
-  version: v1 (2017-7-20)
+  test point 2: ucast meshsend test
+- ID: MESH_COMM_0134
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0,-1) meshsend -S -l 1460 -c 10 -b 100 -f 10
+    - - P MNODE(0) C +MESHRXPKT,OK
+      - P MNODE(0,-1) C +MESHTXPKT,OK C +MESHSEND,OK
+      - P MNODE(0,0) NC +MESHRXPKT,OK
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. leaf send unicast without dst_addr
+  summary: leaf send unicast without dst_addr but with flag=P2P|TODS (to root)
+  CI ready: 'Yes'
+  test environment: SSC_T12_MESH1
+  test point 1: basic function
+  test point 2: ucast meshsend test
+- ID: MESH_COMM_0135
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0,0) meshsend -S -d <MNODE(0)_mac> -l 1460 -c 200 -b 20 -f 2
+    - - P MNODE(0) C +MESHRXPKT,OK
+  - - DELAY 2
+    - - ''
+  - - SSC MNODE(0,0) meshsend -D
+    - - P MNODE(0,0) C +MESHSEND:STOP,OK
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. L2 send packets to root
+    2. stop L2 send task
+  summary: stop send task when node send packets to root
+  CI ready: 'Yes'
+  test environment: SSC_T3_MESH1
+  test point 1: basic function
+  test point 2: ucast meshsend test
+- ID: MESH_COMM_0136
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0) meshsend -S -d <MNODE(0,0)_mac> -l 1460 -c 200 -b 20 -f 2
+    - - ''
+  - - DELAY 2
+    - - ''
+  - - SSC MNODE(0) meshsend -D
+    - - P MNODE(0) C +MESHSEND:STOP,OK
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. root send packets to L2
+    2. stop root send task
+  summary: stop send task when root send packets to L2
+  CI ready: 'NO'
+  test environment: SSC_T3_MESH1
+  test point 1: basic function
+  test point 2: ucast meshsend test
+- ID: MESH_COMM_0137
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0,-1) reboot
+    - - P MNODE(0,-1) C !!!ready!!!
+  - - DELAY 15
+    - - ''
+  - - SSC MNODE(0) meshsend -S -d <MNODE(0,-1)_mac> -l 1000 -c 20 -b 20 -f 2
+    - - P MNODE(0) C +MESHTXPKT,FAIL C +MESHSEND,OK
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. disable a node
+    2. root send unicast to this node
+  summary: root send unicast to disabled node
+  CI ready: 'Yes'
+  test environment: SSC_T12_MESH1
+  test point 1: basic function
+  test point 2: ucast meshsend test
+- ID: MESH_COMM_0138
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0) meshsend -S -d <MNODE(0,-1)_mac> -l 1000 -c 20 -b 20 -f 2
+    - - ''
+  - - SSC MNODE(0,-1) mesh -I -o 1
+    - - P MNODE(0,-1) C +MESH:DEINIT,OK
+      - P MNODE(0) C +MESHTXPKT,FAIL C +MESHSEND,OK
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. root send unicast to leaf
+    2. leaf deinit
+  summary: root send unicast to deinited node
+  CI ready: 'NO'
+  test environment: SSC_T12_MESH1
+  test point 1: basic function
+  test point 2: ucast meshsend test
+- ID: MESH_COMM_0139
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0) meshsend -P -p 1
+    - - P MNODE(0) C +DELETE_MESHOPT
+  - - SSC MNODE(0) mesh -D -o 0 -g <MNODE(0,0)_mac>
+    - - P MNODE(0) C +MESH_ADDR_LIST_ADD
+  - - SSC MNODE(0) mesh -D -o 0 -g <MNODE(0,0,0)_mac>
+    - - P MNODE(0) C +MESH_ADDR_LIST_ADD
+  - - SSC MNODE(0) meshsend -P -p 0 -t 7 -l 12
+    - - P MNODE(0) C +MESHSEND:OPTION,1
+  - - SSC MNODE(0) meshsend -S -w 1 -d ff:ff:ff:ff:ff:ff -l 1000 -c 20 -b 20 -f 2
+    - - P MNODE(0) C +MESHSEND,OK C +MESHTXPKT,OK
+      - P SSC[1-<node_num>] C +MESHRXPKT,OK
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. root send broadcast packet with multicast option
+    2. todo
+  summary: root send broadcast packet with multicast option
+  CI ready: 'NO'
+  test environment: SSC_T12_MESH1
+  test point 1: basic function
+  test point 2: ucast meshsend test
+- ID: MESH_COMM_0140
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0) meshsend -P -p 1
+    - - P MNODE(0) C +DELETE_MESHOPT
+  - - SSC MNODE(0) mesh -D -o 0 -g <MNODE(0,0,0)_mac>
+    - - P MNODE(0) C +MESH_ADDR_LIST_ADD
+  - - SSC MNODE(0) mesh -D -o 0 -g <MNODE(0,1)_mac>
+    - - P MNODE(0) C +MESH_ADDR_LIST_ADD
+  - - SSC MNODE(0) meshsend -P -p 0 -t 7 -l 12
+    - - P MNODE(0) C +MESHSEND:OPTION,1
+  - - SSC MNODE(0) meshsend -S -w 1 -d <MNODE(0,0)_mac> -l 1000 -c 20 -b 20 -f 2
+    - - P MNODE(0) C +MESHSEND,OK C +MESHTXPKT,FAIL
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. root send multicast to L2/L3 with unicast addr
+  summary: root send packet with unicast addr and multicast option
+  CI ready: 'Yes'
+  test environment: SSC_T12_MESH1
+  test point 1: basic function
+  test point 2: ucast meshsend test
+- ID: MESH_COMM_0141
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - MSSC SSC[1-<node_num>] meshsend -S -d <MNODE(0)_mac> -l 1460 -c 50 -b 200 -f 2
+    - - ''
+  - - DELAY 50
+    - - P SSC[1-<node_num>] C +MESHTXPKT,OK +MESHSEND,OK
+  - - SSC SSC[1-<node_num>] mesh -Q -o 2
+    - - R SSC[1-<node_num>] T topo
+  - - MESHTREE
+    - - R PC_COM RE "MESHTREE:%%s%20nodes"%%(<node_num>)
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. all nodes send unicast to root
+    1. check mesh network
+  summary: all nodes send unicast to root,check mesh network
+  CI ready: 'Yes'
+  test environment: SSC_T12_MESH1
+  test point 1: basic function
+  test point 2: ucast meshsend test
+- ID: MESH_COMM_0142
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0,0) meshsend -S -d <server_mac> -l 1460 -c 200 -b 50 -f 8
+    - - ''
+  - - DELAY 2
+    - - ''
+  - - SSC MNODE(0,0) meshsend -D
+    - - P MNODE(0,0) C +MESHSEND:STOP,OK
+  - - DELAY 10
+    - - ''
+  - - SSC MNODE(0,0) meshsend -S -d <server_mac> -l 1460 -c 100 -b 100 -f 8
+    - - P MNODE(0,0) C +MESHSEND,OK
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. L2 send unicast to server
+    2. L2 meshsend stop
+    3. delay 10s,L2 send unicast to server again
+  summary: node send unicast to server with stop
+  CI ready: 'No'
+  test environment: SSC_T3_MESH1
+  test point 1: basic function
+  test point 2: ucast meshsend test
+- ID: MESH_COMM_0201
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0) meshsend -P -p 1
+    - - P MNODE(0) C +DELETE_MESHOPT
+  - - SSC MNODE(0) mesh -D -o 0 -g <MNODE(0)_mac>
+    - - P MNODE(0) C +MESH_ADDR_LIST_ADD
+  - - SSC MNODE(0) meshsend -P -p 0 -t 7 -l 6
+    - - P MNODE(0) C +MESHSEND:OPTION,1
+  - - SSC MNODE(0) meshsend -S -w 1 -d 01:00:5E:00:00:00 -l 1200 -c 20 -b 20 -f 2
+    - - P MNODE(0) C +MESHSEND,OK C +MESHTXPKT,OK C +MESHRXPKT,OK
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. root send multicast to root
+  summary: no-child root send multicast to root with default parameters
+  CI ready: 'Yes'
+  test environment: SSC_T1_MESH1
+  test point 1: basic function
+  test point 2: multicast test
+- ID: MESH_COMM_0202
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0) meshsend -P -p 1
+    - - P MNODE(0) C +DELETE_MESHOPT
+  - - SSC MNODE(0) mesh -D -o 0 -g <MNODE(0)_mac>
+    - - P MNODE(0) C +MESH_ADDR_LIST_ADD
+  - - SSC MNODE(0) meshsend -P -p 0 -t 7 -l 6
+    - - P MNODE(0) C +MESHSEND:OPTION,1
+  - - SSC MNODE(0) meshsend -S -w 1 -d 01:00:5E:00:00:00 -l 1200 -c 20 -b 20 -f 2
+    - - P MNODE(0) C +MESHSEND,OK C +MESHTXPKT,OK C +MESHRXPKT,OK
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. root send multicast to root
+  summary:  root send multicast to root with default parameters
+  CI ready: 'NO'
+  test environment: SSC_T3_MESH1
+  test point 1: basic function
+  test point 2: multicast test
+- ID: MESH_COMM_0203
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0) meshsend -P -p 1
+    - - P MNODE(0) C +DELETE_MESHOPT
+  - - SSC MNODE(0) mesh -D -o 0 -g <MNODE(0,0)_mac>
+    - - P MNODE(0) C +MESH_ADDR_LIST_ADD
+  - - SSC MNODE(0) mesh -D -o 0 -g <MNODE(0,0,0)_mac>
+    - - P MNODE(0) C +MESH_ADDR_LIST_ADD
+  - - SSC MNODE(0) meshsend -P -p 0 -t 7 -l 12
+    - - P MNODE(0) C +MESHSEND:OPTION,1
+  - - SSC MNODE(0) meshsend -S -w 1 -d 01:00:5E:00:00:00 -l 1000 -c 20 -b 20 -f 2
+    - - P MNODE(0) C +MESHSEND,OK C +MESHTXPKT,OK
+      - P MNODE(0,0) C +MESHRXPKT,OK
+      - P MNODE(0,0,0) C +MESHRXPKT,OK
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. root send multicast to L2/L3
+  summary: root send multicast to L2/L3 with default parameters
+  CI ready: 'Yes'
+  test environment: SSC_T12_MESH1
+  test point 1: basic function
+  test point 2: multicast test
+- ID: MESH_COMM_0204
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0,0) meshsend -P -p 1
+    - - P MNODE(0,0) C +DELETE_MESHOPT
+  - - SSC MNODE(0,0) mesh -D -o 0 -g <MNODE(0,0)_mac>
+    - - P MNODE(0,0) C +MESH_ADDR_LIST_ADD
+  - - SSC MNODE(0,0) meshsend -P -p 0 -t 7 -l 12
+    - - P MNODE(0,0) C +MESHSEND:OPTION,1
+  - - SSC MNODE(0,0) meshsend -S -w 1 -d 01:00:5E:00:00:00 -l 1000 -c 20 -b 20 -f
+      2
+    - - P MNODE(0,0) C +MESHSEND,OK C +MESHTXPKT,OK C +MESHRXPKT,OK
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. L2 send multicast to itself
+  summary: L2 send multicast to itself with default parameters
+  CI ready: 'NO'
+  test environment: SSC_T3_MESH1
+  test point 1: basic function
+  test point 2: multicast test
+- ID: MESH_COMM_0205
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0,0) meshsend -P -p 1
+    - - P MNODE(0,0) C +DELETE_MESHOPT
+  - - SSC MNODE(0,0) mesh -D -o 0 -g <MNODE(0)_mac>
+    - - P MNODE(0,0) C +MESH_ADDR_LIST_ADD
+  - - SSC MNODE(0,0) mesh -D -o 0 -g <MNODE(0,0,0)_mac>
+    - - P MNODE(0,0) C +MESH_ADDR_LIST_ADD
+  - - SSC MNODE(0,0) meshsend -P -p 0 -t 7 -l 12
+    - - P MNODE(0,0) C +MESHSEND:OPTION,1
+  - - SSC MNODE(0,0) meshsend -S -w 1 -d 01:00:5E:00:00:00 -l 1000 -c 20 -b 20 -f
+      2
+    - - P MNODE(0,0) C +MESHSEND,OK C +MESHTXPKT,OK
+      - P MNODE(0) C +MESHRXPKT,OK
+      - P MNODE(0,0,0) C +MESHRXPKT,OK
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. L2 send multicast to L1/L3
+  summary: L2 send multicast to L1/L3 with default parameters
+  CI ready: 'Yes'
+  test environment: SSC_T12_MESH1
+  test point 1: basic function
+  test point 2: multicast test
+- ID: MESH_COMM_0206
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0,0,0) meshsend -P -p 1
+    - - P MNODE(0,0,0) C +DELETE_MESHOPT
+  - - SSC MNODE(0,0,0) mesh -D -o 0 -g <MNODE(0)_mac>
+    - - P MNODE(0,0,0) C +MESH_ADDR_LIST_ADD
+  - - SSC MNODE(0,0,0) mesh -D -o 0 -g <MNODE(0,0)_mac>
+    - - P MNODE(0,0,0) C +MESH_ADDR_LIST_ADD
+  - - SSC MNODE(0,0,0) meshsend -P -p 0 -t 7 -l 12
+    - - P MNODE(0,0,0) C +MESHSEND:OPTION,1
+  - - SSC MNODE(0,0,0) meshsend -S -w 1 -d 01:00:5E:00:00:00 -l 1000 -c 20 -b 20 -f
+      2
+    - - P MNODE(0,0,0) C +MESHSEND,OK C +MESHTXPKT,OK
+      - P MNODE(0,0) C +MESHRXPKT,OK
+      - P MNODE(0) C +MESHRXPKT,OK
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. L3 send multicast to L1/L2
+  summary: L3 send multicast to L1/L2 with default parameters
+  CI ready: 'NO'
+  test environment: SSC_T12_MESH1
+  test point 1: basic function
+  test point 2: multicast test
+- ID: MESH_COMM_0207
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0,0,0) meshsend -P -p 1
+    - - P MNODE(0,0,0) C +DELETE_MESHOPT
+  - - SSC MNODE(0,0,0) mesh -D -o 0 -g <MNODE(0,0,0)_mac>
+    - - P MNODE(0,0,0) C +MESH_ADDR_LIST_ADD
+  - - SSC MNODE(0,0,0) meshsend -P -p 0 -t 7 -l 6
+    - - P MNODE(0,0,0) C +MESHSEND:OPTION,1
+  - - SSC MNODE(0,0,0) meshsend -S -w 1 -d 01:00:5E:00:00:00 -l 1000 -c 20 -b 20 -f
+      2
+    - - P MNODE(0,0,0) C +MESHSEND,OK C +MESHTXPKT,OK C +MESHRXPKT,OK
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. L3 send multicast to itself
+  summary: L3 send multicast to itself with default parameters
+  CI ready: 'NO'
+  test environment: SSC_T12_MESH1
+  test point 1: basic function
+  test point 2: multicast test
+- ID: MESH_COMM_0208
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0,0) meshsend -P -p 1
+    - - P MNODE(0,0) C +DELETE_MESHOPT
+  - - SSC MNODE(0,0) mesh -D -o 0 -g <MNODE(0)_mac>
+    - - P MNODE(0,0) C +MESH_ADDR_LIST_ADD
+  - - SSC MNODE(0,0) mesh -D -o 0 -g <MNODE(0,0)_mac>
+    - - P MNODE(0,0) C +MESH_ADDR_LIST_ADD
+  - - SSC MNODE(0,0) meshsend -P -p 0 -t 7 -l 12
+    - - P MNODE(0,0) C +MESHSEND:OPTION,1
+  - - SSC MNODE(0,0) meshsend -S -w 1 -d 01:00:5E:00:00:00 -l 1000 -c 20 -b 20 -f
+      2
+    - - P MNODE(0,0) C +MESHSEND,OK C +MESHTXPKT,OK C +MESHRXPKT,OK
+      - P MNODE(0) C +MESHRXPKT,OK
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. L2 send multicast to itself/root
+  summary: L2 send multicast to root/itself with default parameters
+  CI ready: 'Yes'
+  test environment: SSC_T6_MESH1
+  test point 1: basic function
+  test point 2: multicast test
+- ID: MESH_COMM_0209
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0,0,0) meshsend -P -p 1
+    - - P MNODE(0,0,0) C +DELETE_MESHOPT
+  - - SSC MNODE(0,0,0) mesh -D -o 0 -g <MNODE(0)_mac>
+    - - P MNODE(0,0,0) C +MESH_ADDR_LIST_ADD
+  - - SSC MNODE(0,0,0) mesh -D -o 0 -g <MNODE(0,0)_mac>
+    - - P MNODE(0,0,0) C +MESH_ADDR_LIST_ADD
+  - - SSC MNODE(0,0,0) mesh -D -o 0 -g <MNODE(0,0,0)_mac>
+    - - P MNODE(0,0,0) C +MESH_ADDR_LIST_ADD
+  - - SSC MNODE(0,0,0) meshsend -P -p 0 -t 7 -l 18
+    - - P MNODE(0,0,0) C +MESHSEND:OPTION,1
+  - - SSC MNODE(0,0,0) meshsend -S -w 1 -d 01:00:5E:00:00:00 -l 1000 -c 20 -b 20 -f
+      2
+    - - P MNODE(0,0,0) C +MESHSEND,OK C +MESHTXPKT,OK C +MESHRXPKT,OK
+      - P MNODE(0) C +MESHRXPKT,OK
+      - P MNODE(0,0) C +MESHRXPKT,OK
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. L3 send multicast to itself/L1/L2
+  summary: L3 send multicast to itself/L1/L2 with default parameters
+  CI ready: 'Yes'
+  test environment: SSC_T12_MESH1
+  test point 1: basic function
+  test point 2: multicast test
+- ID: MESH_COMM_0210
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0) meshsend -P -p 1
+    - - P MNODE(0) C +DELETE_MESHOPT
+  - - SSC MNODE(0) mesh -D -o 0 -g <MNODE(0,0)_mac>
+    - - P MNODE(0) C +MESH_ADDR_LIST_ADD
+  - - SSC MNODE(0) mesh -D -o 0 -g <MNODE(0,0)_mac>
+    - - P MNODE(0) C +MESH_ADDR_LIST_ADD
+  - - SSC MNODE(0) meshsend -P -p 0 -t 7 -l 12
+    - - P MNODE(0) C +MESHSEND:OPTION,1
+  - - SSC MNODE(0) meshsend -S -w 1 -d 01:00:5E:00:00:00 -l 1000 -c 10 -b 20 -f 2
+    - - P MNODE(0) C +MESHTXPKT,OK C +MESHSEND,OK
+      - P MNODE(0,0) C +MESHRXPKT,OK
+  - - DELAY 5
+    - ''
+  - - SSC MNODE(0,0) mesh -Q -o 6
+    - - P MNODE(0,0) RE \+MESH_RECV_CNT:\d+,
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. root send multicast with duplicate mac list in option list
+  summary: root send multicast with duplicate mac list in option list
+  CI ready: 'Yes'
+  test environment: SSC_T12_MESH1
+  test point 1: basic function
+  test point 2: multicast test
+- ID: MESH_COMM_0211
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0,0,0) meshsend -P -p 1
+    - - P MNODE(0,0,0) C +DELETE_MESHOPT
+  - - SSC MNODE(0,0,0) mesh -D -o 0 -g <MNODE(0)_mac>
+    - - P MNODE(0,0,0) C +MESH_ADDR_LIST_ADD
+  - - SSC MNODE(0,0,0) mesh -D -o 0 -g <MNODE(0)_mac>
+    - - P MNODE(0,0,0) C +MESH_ADDR_LIST_ADD
+  - - SSC MNODE(0,0,0) meshsend -P -p 0 -t 7 -l 12
+    - - P MNODE(0,0,0) C +MESHSEND:OPTION,1
+  - - SSC MNODE(0,0,0) meshsend -S -w 1 -d 01:00:5E:00:00:00 -l 1000 -c 10 -b 20 -f
+      2
+    - - P MNODE(0,0,0) C +MESHTXPKT,OK C +MESHSEND,OK
+      - P MNODE(0) C +MESHRXPKT,OK
+  - - DELAY 5
+    - ''
+  - - SSC MNODE(0) mesh -Q -o 6
+    - - P MNODE(0) RE \+MESH_RECV_CNT:\d+,
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. L3 send multicast with duplicate mac list in option list
+  summary: L3 send multicast with duplicate mac list in option list
+  CI ready: 'NO'
+  test environment: SSC_T12_MESH1
+  test point 1: basic function
+  test point 2: multicast test
+- ID: MESH_COMM_0212
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0,0,0) meshsend -P -p 1
+    - - P MNODE(0,0,0) C +DELETE_MESHOPT
+  - - SSC MNODE(0,0,0) mesh -D -o 0 -g <MNODE(0)_mac>
+    - - P MNODE(0,0,0) C +MESH_ADDR_LIST_ADD
+  - - SSC MNODE(0,0,0) mesh -D -o 0 -g <MNODE(0,0)_mac>
+    - - P MNODE(0,0,0) C +MESH_ADDR_LIST_ADD
+  - - SSC MNODE(0,0,0) meshsend -P -p 0 -t 7 -l 12
+    - - P MNODE(0,0,0) C +MESHSEND:OPTION,1
+  - - SSC MNODE(0,0,0) meshsend -S -w 1 -d 01:00:5E:00:00:00 -l 0 -c 10 -b 20 -f 2
+    - - P MNODE(0,0,0) C +MESHTXPKT,FAIL C +MESHSEND,OK
+      - P MNODE(0,0) NC +MESHRXPKT,OK
+  - - SSC MNODE(0,0,0) meshsend -S -w 1 -d 01:00:5E:00:00:00 -l 1000 -c 10 -b 20 -f 2
+    - - P MNODE(0,0,0) C +MESHTXPKT,OK C +MESHSEND,OK
+      - P MNODE(0) C +MESHRXPKT,OK
+  - - SSC MNODE(0,0,0) meshsend -S -w 1 -d 01:00:5E:00:00:00 -l 1460 -c 10 -b 20 -f 2
+    - - P MNODE(0,0,0) C +MESHTXPKT,FAIL C +MESHSEND,OK
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. L3 send multicast with different length
+  summary: node send multicast with different length
+  CI ready: 'NO'
+  test environment: SSC_T12_MESH1
+  test point 1: basic function
+  test point 2: multicast test
+- ID: MESH_COMM_0301
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0) meshsend -S -d ff:ff:ff:ff:ff:ff -l 1460 -c 10 -b 20 -f 2
+    - - P MNODE(0) C +MESHSEND,OK
+  expected result: |-
+    1. succeed
+  steps: |-
+    2. root send broadcast
+  summary: no-child root send broadcast with default parameters
+  CI ready: 'NO'
+  test environment: SSC_T1_MESH1
+  test point 1: basic function
+  test point 2: broadcast test
+- ID: MESH_COMM_0302
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0) meshsend -S -d ff:ff:ff:ff:ff:ff -l 1460 -c 10 -b 20 -f 2
+    - - P MNODE(0) C +MESHSEND,OK C +MESHTXPKT,OK
+      - P SSC[1-<node_num>] C +MESHRXPKT,OK
+  expected result: |-
+    1. succeed
+  steps: |-
+    2. root send broadcast
+  summary: root send broadcast with default parameters
+  CI ready: 'Yes'
+  test environment: SSC_T12_MESH1
+  test point 1: basic function
+  test point 2: broadcast test
+- ID: MESH_COMM_0303
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0,0) meshsend -S -d ff:ff:ff:ff:ff:ff -l 1460 -c 10 -b 20 -f 2
+    - - P MNODE(0,0) C +MESHSEND,OK C +MESHTXPKT,OK
+      - P SSC[1-<node_num>] C +MESHRXPKT,OK
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. L2 send broadcast
+  summary: L2 send broadcast with default parameters
+  CI ready: 'Yes'
+  test environment: SSC_T12_MESH1
+  test point 1: basic function
+  test point 2: broadcast test
+- ID: MESH_COMM_0304
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0,0,0) meshsend -S -d ff:ff:ff:ff:ff:ff -l 1460 -c 10 -b 20 -f 2
+    - - P MNODE(0,0,0) C +MESHSEND,OK C +MESHTXPKT,OK
+      - P SSC[1-<node_num>] C +MESHRXPKT,OK
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. L3 send broadcast
+  summary: L3 send broadcast with default parameters
+  CI ready: 'NO'
+  test environment: SSC_T12_MESH1
+  test point 1: basic function
+  test point 2: broadcast test
+- ID: MESH_COMM_0305
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0,-1) meshsend -S -d ff:ff:ff:ff:ff:ff -l 1460 -c 10 -b 20 -f 2
+    - - P MNODE(0,-1) C +MESHSEND,OK C +MESHTXPKT,OK
+      - P SSC[1-<node_num>] C +MESHRXPKT,OK
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. leaf send broadcast
+  summary: leaf send broadcast with default parameters
+  CI ready: 'Yes'
+  test environment: SSC_T12_MESH1
+  test point 1: basic function
+  test point 2: broadcast test
+- ID: MESH_COMM_0401
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0) meshsend -S -d <server_mac> -l 1000 -c 20 -b 20 -f 8
+    - - P MNODE(0) C +MESHTXPKT,OK C +MESHSEND,OK
+      - P MNODE(0) C TODS_PKT,OK
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. root send ucast to server
+  summary: root send ucast tods server with default parameters
+  CI ready: 'Yes'
+  test environment: SSC_T3_MESH1
+  test point 1: basic function
+  test point 2: meshsend tods and fromds test
+- ID: MESH_COMM_0402
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0,-1) meshsend -S -d <server_mac> -l 1000 -c 20 -b 20 -f 8
+    - - P MNODE(0,-1) C +MESHTXPKT,OK C +MESHSEND,OK
+      - P MNODE(0) C TODS_PKT,OK
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. leaf send unicast to server
+  summary: leaf send unicast tods server with default parameters
+  CI ready: 'Yes'
+  test environment: SSC_T12_MESH1
+  test point 1: basic function
+  test point 2: meshsend tods and fromds test
+- ID: MESH_COMM_0403
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0,0) meshsend -S -d <server_mac> -l 1000 -c 20 -b 20 -f 8
+    - - P MNODE(0,0) C +MESHTXPKT,OK C +MESHSEND,OK
+      - P MNODE(0) C TODS_PKT,OK
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. L2 send multicast to server
+  summary: L2 send unicast tods server with default parameters
+  CI ready: 'Yes'
+  test environment: SSC_T3_MESH1
+  test point 1: basic function
+  test point 2: meshsend tods and fromds test
+- ID: MESH_COMM_0404
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0) meshsend -P -p 1
+    - - P MNODE(0) C +DELETE_MESHOPT
+  - - SSC MNODE(0) mesh -D -o 0 -g <server_mac>
+    - - P MNODE(0) C +MESH_ADDR_LIST_ADD
+  - - SSC MNODE(0) meshsend -P -p 0 -t 7 -l 6
+    - - P MNODE(0) C +MESHSEND:OPTION,1
+  - - SSC MNODE(0) meshsend -S -w 1 -d 01:00:5E:00:00:00 -l 1200 -c 20 -b 20 -f 2
+    - - P MNODE(0) C +MESHSEND,OK C +MESHTXPKT,FAIL
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. root send multicast to server
+  summary: root send multicast to server with default parameters
+  CI ready: 'NO'
+  test environment: SSC_T3_MESH1
+  test point 1: basic function
+  test point 2: meshsend tods and fromds test
+- ID: MESH_COMM_0405
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0,0) meshsend -P -p 1
+    - - P MNODE(0,0) C +DELETE_MESHOPT
+  - - SSC MNODE(0,0) mesh -D -o 0 -g <server_mac>
+    - - P MNODE(0,0) C +MESH_ADDR_LIST_ADD
+  - - SSC MNODE(0,0) meshsend -P -p 0 -t 7 -l 6
+    - - P MNODE(0,0) C +MESHSEND:OPTION,1
+  - - SSC MNODE(0,0) meshsend -S -w 1 -d 01:00:5E:00:00:00 -l 1200 -c 20 -b 20 -f 2
+    - - P MNODE(0,0) C +MESHSEND,OK C +MESHTXPKT,OK
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. L2 send multicast to server
+  summary: L2 send multicast to server with default parameters
+  CI ready: 'NO'
+  test environment: SSC_T3_MESH1
+  test point 1: basic function
+  test point 2: meshsend tods and fromds test
+- ID: MESH_COMM_0406
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0,-1) meshsend -P -p 1
+    - - P MNODE(0,-1) C +DELETE_MESHOPT
+  - - SSC MNODE(0,-1) mesh -D -o 0 -g <server_mac>
+    - - P MNODE(0,-1) C +MESH_ADDR_LIST_ADD
+  - - SSC MNODE(0,-1) meshsend -P -p 0 -t 7 -l 6
+    - - P MNODE(0,-1) C +MESHSEND:OPTION,1
+  - - SSC MNODE(0,-1) meshsend -S -w 1 -d 01:00:5E:00:00:00 -l 1200 -c 20 -b 20 -f 2
+    - - P MNODE(0,-1) C +MESHSEND,OK C +MESHTXPKT,OK
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. leaf send multicast to server
+  summary: leaf send multicast to server with default parameters
+  CI ready: 'NO'
+  test environment: SSC_T12_MESH1
+  test point 1: basic function
+  test point 2: meshsend tods and fromds test
+- ID: MESH_COMM_0407
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - *root_do_connect
+  - - SSC MNODE(0) mesh -Q -o 9
+    - - P MNODE(0) C +CLEAR_COUNT
+  - - SOC GSOC1 MSEND <MNODE(0)_mac> <server_mac> 1460 10 200
+    - - P SOC_COM C MESHSEND:OK
+      - P MNODE(0) C +MESHRXPKT,OK
+  - - DELAY 5
+    - ''
+  - - SSC MNODE(0) mesh -Q -o 6
+    - - P MNODE(0) RE \+MESH_RECV_CNT:\d+,
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. server send unicast to root
+  summary: server send unicast to root with common package
+  test environment: SSC_T3_MESH2
+  test point 1: basic function
+  test point 2: meshsend tods and fromds test
+- ID: MESH_COMM_0408
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - *root_do_connect
+  - - MESHOPT string <option_list> "070c00" <MNODE(0)_mac> <MNODE(0,0)_mac>
+    - - R PC_COM C +MESHOPT:OK
+  - - SOC GSOC1 MSEND 01:00:5E:00:00:00 <server_mac> 1000 10 200 <option_list>
+    - - P SOC_COM C MESHSEND:OK
+      - P MNODE(0,0) C +MESHRXPKT,OK
+      - P MNODE(0) C +MESHRXPKT,OK
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. server send multicast to node
+  summary: server send multicast to node
+  test environment: SSC_T12_MESH2
+  test point 1: basic function
+  test point 2: meshsend tods and fromds test
+- ID: MESH_COMM_0409
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - *root_do_connect
+  - - SOC GSOC1 MSEND ff:ff:ff:ff:ff:ff <server_mac> 100 10 200
+    - - P SOC_COM C MESHSEND:OK
+      - P MNODE(0) C +MESHRXPKT,OK
+      - P MNODE(0,0) C +MESHRXPKT,OK
+      - P MNODE(0,0,0) C +MESHRXPKT,OK
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. server send broadcast
+  summary: server send broadcast
+  test environment: SSC_T12_MESH2
+  test point 1: basic function
+  test point 2: meshsend tods and fromds test
+- ID: MESH_COMM_0410
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC SSC[1-2] mesh -I
+    - - P SSC[1-2] C +MESH:INIT,OK
+  - - SSC SSC1 meshset -T -o 0 -t 3
+    - - P SSC1 C +MESHSET:TYPE,OK
+  - - SSC SSC[1-2] meshset -G -o 0 -m <mesh_id2> -s <router_ssid> -p <router_password> -n <router_channel> -t
+        <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC[1-2] C +MESHSET:CFG,OK
+  - - SSC SSC[1-2] mesh -I
+    - - P SSC[1-2] C +MESH:INIT,OK
+  - - SSC SSC[1-2] mesh -T
+    - - P SSC[1-2] C +MESH:START,OK
+  - - DELAY 10
+    - - ''
+  - - SSC SSC[1-2] mesh -Q -o 2
+    - - P SSC[1-2] T topo
+  - - MESHTREE
+    - - R PC_COM C MESHTREE:2%20nodes
+  - - SSC SSC2 meshsend -S -d <SSC1_mac> -l 1000 -c 20 -b 20 -f 2
+    - - P SSC2 C +MESHSEND,OK
+      - P SSC1 C +MESHRXPKT,OK
+  - - SSC SSC1 meshsend -S -d <SSC2_mac> -l 1000 -c 20 -b 20 -f 2
+    - - P SSC1 C +MESHSEND,OK
+      - P SSC2 C +MESHRXPKT,OK
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+  steps: |-
+    1. set one leaf node ssc1 and a normal node ssc2
+    2. ssc2 send package to ssc1
+    3. ssc1 send package to ssc2
+  summary: normal node send unicast to leaf type node, leaf type node send unicast to normal root
+  initial condition: MESH_DEINIT_STA
+  CI ready: 'Yes'
+  test environment: SSC_T3_MESH1
+  test point 1: basic function
+  test point 2: meshsend tods and fromds test
+- ID: MESH_COMM_0501
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0) mesh -Q -o 10
+    - - P MNODE(0) C +ROUTETABLE,OK
+  - - SSC MNODE(0) meshsend -S -w 2 -l 1000 -c 20 -b 20 -f 2
+     - - P MNODE(0) C +MESHTXPKT,OK C +MESHSEND,OK
+       - P SSC[1-<node_num>] C +MESHRXPKT,OK
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. root table send test
+  summary: root table send test with default parameters
+  CI ready: 'Yes'
+  test environment: SSC_T12_MESH1
+  test point 1: basic function
+  test point 2: table send test
+- ID: MESH_COMM_0502
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0,0) mesh -Q -o 10
+    - - P MNODE(0,0) C +ROUTETABLE,OK
+  - - SSC MNODE(0,0) meshsend -S -w 2 -l 1000 -c 20 -b 20 -f 2
+     - - P MNODE(0,0) C +MESHTXPKT,OK C +MESHSEND,OK
+       - P MNODE(0,0) C +MESHRXPKT,OK
+       - P MNODE(0,0,0) C +MESHRXPKT,OK
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+    4. succeed
+  steps: |-
+    1. mesh init
+    2. mesh config
+    3. mesh start
+    4. L2 table send test
+  summary: L2 table send test with default parameters
+  CI ready: 'Yes'
+  test environment: SSC_T12_MESH1
+  test point 1: basic function
+  test point 2: table send test
+- ID: MESH_COMM_0601
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC SSC[1-<node_num>] mesh -I
+    - - P SSC[1-<node_num>] C +MESH:INIT,OK
+  - - SSC SSC[1-<node_num>] meshset -G -o 0 -m <mesh_id2> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i 0
+    - - P SSC[1-<node_num>] C +MESHSET:CFG,OK
+  - - SSC SSC[1-<node_num>] mesh -T
+    - - P SSC[1-<node_num>] C +MESH:START,OK
+  - - DELAY <delay_time>
+    - - ''
+  - - SSC SSC[1-<node_num>] mesh -Q -o 2
+    - - R SSC[1-<node_num>] T topo
+  - - MESHTREE
+    - - R PC_COM RE "MESHTREE:%%s%20nodes"%%(<node_num>)
+  - - SSC MNODE(0) meshsend -S -d <MNODE(0,-1)_mac> -l 1460 -c 20 -b 20 -f 2
+    - - P MNODE(0) C +MESHTXPKT,OK C +MESHSEND,OK
+      - P MNODE(0,-1) C +MESHRXPKT,OK
+  - - SSC MNODE(0,-1) meshsend -S -d <MNODE(0)_mac> -l 1460 -c 20 -b 20 -f 2
+    - - P MNODE(0,-1) C +MESHTXPKT,OK C +MESHSEND,OK
+      - P MNODE(0) C +MESHRXPKT,OK
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+  steps: |-
+    1. mesh init
+    2. mesh config: beacon_encrypt=True
+    3. mesh start
+    4. root send unicast to L2 and leaf with beacon_encrypt=0
+  summary: unicast send test after network established with beacon_encrypt=0
+  initial condition: MESH_DEINIT_STA
+  CI ready: 'NO'
+  test environment: SSC_T6_MESH1
+  test point 1: basic function
+  test point 2: mixed meshsend test
+- ID: MESH_COMM_0602
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC SSC[1-<node_num>] mesh -I
+    - - P SSC[1-<node_num>] C +MESH:INIT,OK
+  - - SSC SSC[1-<node_num>] meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+          <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i 1
+    - - P SSC[1-<node_num>] C +MESHSET:CFG,OK
+  - - SSC SSC[1-<node_num>] mesh -T
+    - - P SSC[1-<node_num>] C +MESH:START,OK
+  - - DELAY <delay_time>
+    - - ''
+  - - VALUE <tree_node_num> <node_num>
+      - - R PC_COM L OK
+  - - SSC SSC[1-<node_num>] mesh -Q -o 2
+    - - R SSC[1-<node_num>] T topo
+  - - MESHTREE
+    - - R PC_COM RE "MESHTREE:%%s"%%(<tree_node_num>)
+  - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip>
+    - - R SOC_COM L OK
+  - - SSC MNODE(0) mesh -S -o 0 -i <pc_ip> -t <test_tcp_port1>
+    - - P MNODE(0) C +CONNECT,OK, P SOC1 C ACCEPT
+  - - SOC SOC1 MACCEPT GSOC1
+    - - R SOC_COM L OK
+  - - SOC GSOC1 MSEND <MNODE(0)_mac> <ap_mac> 1460 10 200
+    - - P SOC_COM C MESHSEND,OK
+      - P MNODE(0) C +MESHRXPKT,OK
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+    4. succeed
+  steps: |-
+    1. mesh init
+    2. mesh config: set assoc_encrypt=True
+    3. mesh start
+    4. server send unicast to root with assoc_encrypt=True
+  summary: server send unicast to root after network established with beacon_encrypt=1
+  initial condition: MESH_DEINIT_STA
+  CI ready: 'NO'
+  test environment: SSC_T12_MESH2
+  test point 1: basic function
+  test point 2: mixed meshsend test
+- ID: MESH_COMM_0701
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0,0,0) meshsend -S -d <MNODE(0)_mac> -l 1000 -c 100 -b 20 -f 2
+    - - P MNODE(0,0,0) C +MESHTXPKT,OK
+      - P MNODE(0) C +MESHRXPKT,OK
+  - - SSC MNODE(0,0) reboot
+    - - P MNODE(0,0) C !!!ready!!!
+      - P MNODE(0,0,0) C +MESHTXPKT,FAIL C +MESHSEND,OK
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. L3 node send unicast to root
+    2. disable the parent node
+  summary: disable parent node when node send unicast to root
+  CI ready: 'Yes'
+  test environment: SSC_T12_MESH1
+  test point 1: abnormal user
+  test point 2: destory network
+- ID: MESH_COMM_0702
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0,0) meshsend -S -d <MNODE(0,1)_mac> -l 1000 -c 100 -b 50 -f 2
+    - - P MNODE(0,0) C +MESHTXPKT,OK
+  - - DELAY 1
+    - - ''
+  - - SSC MNODE(0) reboot
+    - - P MNODE(0) C !!!ready!!!
+  - - DELAY 5
+      - P MNODE(0,0) C MESHTXPKT,FAIL C +MESHSEND,OK
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. L2 node send unicast to its' brother node
+    2. disable its' parent node
+  summary: disable parent node when L2 node send unicast to its' brother node
+  CI ready: 'Yes'
+  test environment: SSC_T3_MESH1
+  test point 1: abnormal user
+  test point 2: destory network
+- ID: MESH_COMM_0703
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0,0,0) meshsend -S -d <MNODE(0,0,1)_mac> -l 1000 -c 100 -b 20 -f 2
+    - - P MNODE(0,0,0) C +MESHTXPKT,OK
+  - - SSC MNODE(0,0) reboot
+    - - P MNODE(0,0) C !!!ready!!!
+  - - DELAY 5
+    - - P MNODE(0,0,0) C +MESHTXPKT,FAIL C +MESHSEND,OK
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. L3 node send unicast to its' brother node
+    2. disable its' parent node
+  summary: disable parent node when L3 node send unicast to its' brother node
+  CI ready: 'Yes'
+  test environment: SSC_T12_MESH1
+  test point 1: abnormal user
+  test point 2: destory network
+- ID: MESH_COMM_0704
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0) mesh -R -o 1
+    - - P MNODE(0) C +MESHRX:STOP,OK
+  - - SSC MNODE(0,0) meshsend -S -d <MNODE(0)_mac> -l 1460 -c 20 -b 20 -f 2
+    - - ''
+  - - DELAY 3
+    - - P PC_COM C DELAYDONE
+      - P MNODE(0,0) C +MESHTXPKT,OK NC +MESHSEND,OK
+      - P MNODE(0) NC +MESHRXPKT,OK
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. disable recv task on root
+    2. L2 node send unicast to root
+  summary: disable a node recv task, another node send unicast to the node
+  CI ready: 'Yes'
+  test environment: SSC_T3_MESH1
+  test point 1: abnormal user
+  test point 2: destory network
+- ID: MESH_COMM_0705
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0) meshsend -S -d <MNODE(0,0)_mac> -l 1460 -c 100 -b 20 -f 2
+    - - P MNODE(0) C +MESHTXPKT,OK
+      - P MNODE(0,0) C +MESHRXPKT,OK
+  - - SSC MNODE(0,0) mesh -R -o 1
+    - - P MNODE(0,0) C +MESHRX:STOP,OK
+      - P MNODE(0) C +MESHTXPKT,OK C +MESHSEND,OK
+  - - SSC MNODE(0,0) mesh -R
+    - - P MNODE(0,0) C +MESHRXPKT,OK
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. root node send unicast to L2
+    2. disable L2 recv task
+  summary: disable recv task while another node send unicast to the node
+  CI ready: 'NO'
+  test environment: SSC_T3_MESH1
+  test point 1: abnormal user
+  test point 2: destory network
+- ID: MESH_COMM_0706
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - *root_do_connect
+  - - SOC GSOC1 MSEND <MNODE(0)_mac> <server_mac> 1000 50 200
+    - - ''
+  - - SSC MNODE(0) mesh -R -o 1
+    - - P MNODE(0) C +MESHRX:STOP,OK
+  - - DELAY 30
+    - - ''
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. disable the recv task while server sending unicast to the node
+  summary: disable recv task while server sending unicast to the node
+  CI ready: 'NO'
+  test environment: SSC_T3_MESH2
+  test point 1: abnormal user
+  test point 2: destory network
+- ID: MESH_COMM_0707
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - *root_do_connect
+  - - SSC SSC[1-<node_num>] meshsend -S -d <server_mac> -l 1460 -c 100 -b 20 -f 8
+    - - P SSC[1-<node_num>] C +MESHTXPKT,OK
+      - P MNODE(0) C TODS_PKT,OK
+  - - SSC MNODE(0) reboot
+    - - P MNODE(0) C !!!ready!!!
+  - - DELAY <delay_time>
+    - - ''
+  - - MSSC SSC[1-<node_num>] mesh -Q -o 2
+    - - P SSC[1-<node_num>] T topo
+  - - MESHTREE
+    - - R PC_COM RE "MESHTREE:%%s%20nodes"%%(<node_num-1>)
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. all nodes send unicast to server
+    2. disable root
+  summary: disable root when all nodes send unicast to server
+  CI ready: 'NO'
+  test environment: SSC_T12_MESH2
+  test point 1: abnormal user
+  test point 2: destory network
+- ID: MESH_COMM_0708
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC SSC[1-<node_num>] meshsend -S -d <MNODE(0)_mac> -l 1460 -c 100 -b 20 -f 2
+    - - ''
+  - - SSC MNODE(0) reboot
+    - - P MNODE(0) C !!!ready!!!
+  - - DELAY <delay_time>
+    - - ''
+  - - MSSC SSC[1-<node_num>] mesh -Q -o 2
+    - - P SSC[1-<node_num>] T topo
+  - - MESHTREE
+    - - R PC_COM RE "MESHTREE:%%s%20nodes"%%(<node_num-1>)
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. all nodes send unicast to root
+    2. disable root
+  summary: disable root when all nodes send unicast to root
+  CI ready: 'NO'
+  test environment: SSC_T12_MESH1
+  test point 1: abnormal user
+  test point 2: destory network
+- ID: MESH_COMM_0709
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0) meshsend -S -d <MNODE(0,0)_mac> -l 1460 -c 2000 -b 20 -f 2
+    - - P MNODE(0) C +MESHTXPKT,OK
+  - - DELAY 2
+    - - ''
+  - - SSC MNODE(0,0) mesh -T -o 1
+    - - P MNODE(0,0) C +MESH:STOP,OK
+      - P MNODE(0) C +MESHTXPKT,OK
+    - - SSC MNODE(0) meshsend -D
+    - - P MNODE(0) C +MESHSEND:STOP,OK
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. root send packets to L2
+    2. disable the recv node when root send packets
+  summary: recv node disable when root send packets to node
+  CI ready: 'NO'
+  test environment: SSC_T3_MESH1
+  test point 1: abnormal user
+  test point 2: destory network
+- ID: MESH_COMM_0710
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0,0) meshsend -S -d <MNODE(0)_mac> -l 1460 -c 2000 -b 20 -f 2
+    - - ""
+  - - DELAY 2
+    - - ''
+  - - SSC MNODE(0) reboot
+    - - P MNODE(0) C !!!ready!!!
+      - P MNODE(0,0) C +MESHTXPKT,FAIL
+  - - SSC MNODE(0,0) meshsend -D
+    - - P MNODE(0,0) C +MESHSEND:STOP,OK
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. L2 send packets to root
+    2. disable the recv node when root send packets
+  summary: recv node disable when L2 send packets to the node
+  CI ready: 'NO'
+  test environment: SSC_T3_MESH1
+  test point 1: abnormal user
+  test point 2: destory network
+- ID: MESH_COMM_0711
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0,0) meshsend -S -d <server_mac> -l 1460 -c 2000 -b 20 -f 8
+    - - P MNODE(0,0) C +MESHTXPKT,OK
+  - - DELAY 2
+    - - ''
+  - - SSC MNODE(0) mesh -R -o 1
+    - - P MNODE(0) C +MESHRX:STOP,OK
+  - - DELAY 5
+    - - P PC_COM C DELAYDONE
+      - P MNODE(0,0) NC +MESHTXPKT,FAIL
+  - - SSC MNODE(0) mesh -R
+    - - P MNODE(0) C +MESHRX:START,OK
+  - - SSC MNODE(0,0) meshsend -D
+    - - P MNODE(0,0) C +MESHSEND:STOP,OK
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. L2 send packets to server
+    2. server close when L2 send packets to server
+  summary: server close when node send packets to server
+  CI ready: 'NO'
+  test environment: SSC_T3_MESH1
+  test point 1: abnormal user
+  test point 2: destory network
+- ID: MESH_COMM_0712
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - *root_do_connect
+  - - SSC MNODE(0) meshsend -S -d <server_mac> -l 1460 -c 2000 -b 20 -f 8
+    - - ''
+  - - DELAY 2
+    - - ''
+  - - SOC GSOC1 CLOSE
+    - - P MNODE(0) C +TCPSOC:CLOSED
+  - - DELAY 5
+    - - P PC_COM C DELAYDONE
+      - P MNODE(0) C +MESHTXPKT,OK NC +MESHTXPKT,FAIL
+  - - SSC MNODE(0) meshsend -D
+    - - P MNODE(0) C +MESHSEND:STOP,OK
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. root send packets to server
+    2. server close when root send packets to server
+  summary: server close when root send packets to server
+  CI ready: 'NO'
+  test environment: SSC_T3_MESH2
+  test point 1: abnormal user
+  test point 2: destory network
+- ID: MESH_COMM_0713
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - *root_do_connect
+  - - SSC MNODE(0,0,0) meshsend -S -d <server_mac> -l 1460 -c 2000 -b 20 -f 8
+    - - ""
+  - - DELAY 2
+    - - ''
+  - - SOC GSOC1 CLOSE
+    - - P MNODE(0) C +TCPSOC:CLOSED
+  - - DELAY 5
+    - - P PC_COM C DELAYDONE
+      - P MNODE(0,0,0) C +MESHTXPKT,OK NC +MESHTXPKT,FAIL
+  - - SSC MNODE(0,0,0) meshsend -D
+    - - P MNODE(0,0,0) C +MESHSEND:STOP,OK
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. root disconnect with server when L3 send packets to server
+  summary: root disconnect with server when L3 send packets to server
+  CI ready: 'NO'
+  test environment: SSC_T12_MESH2
+  test point 1: abnormal user
+  test point 2: destory network
+- ID: MESH_COMM_0714
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+  - *root_do_connect
+  - - SSC MNODE(0) meshsend -S -d <server_mac> -l 1460 -c 2000 -b 100 -f 8
+    - - ''
+  - - DELAY 2
+    - - ''
+  - - SSC MNODE(0) mesh -S -o 1
+    - - ''
+  - - DELAY 5
+    - - P PC_COM C DELAYDONE
+      - P MNODE(0) C +TCPSOC:CLOSED C +CONNECTSTOP,OK C +MESHTXPKT,OK NC +MESHTXPKT,FAIL
+  - - SSC MNODE(0) meshsend -D
+    - - P MNODE(0) C +MESHSEND:STOP,OK
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. root disconnect with server when root send packets to server
+  summary: root disconnect with server when root send packets to server
+  CI ready: 'NO'
+  test environment: SSC_T3_MESH2
+  test point 1: abnormal user
+  test point 2: destory network
+- ID: MESH_COMM_0715
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - ''
+#  - *root_do_connect
+  - - SSC MNODE(0,0) meshsend -S -d <server_mac> -l 1460 -c 100 -b 50 -f 8
+    - - P MNODE(0,0) C +MESHTXPKT,OK
+      - P MNODE(0) C TODS_PKT,OK
+  - - SSC MNODE(0) mesh -R -o 1
+    - - P MNODE(0) C +MESHRX:STOP,OK
+  - - DELAY 10
+    - - P PC_COM C DELAYDONE
+      - P MNODE(0,0) NC +MESHSEND,OK
+  - - SSC MNODE(0) mesh -R
+    - - P MNODE(0) C +MESHRX:START,OK C TODS_PKT,OK
+      - P MNODE(0,0) C +MESHSEND,OK
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. L2 send packets to server
+    2. server stop recv when node send packets to server
+  summary: root stop recv when node send packets to server
+  CI ready: 'NO'
+  test environment: SSC_T3_MESH1
+  test point 1: abnormal user
+  test point 2: destory network
+- ID: MESH_COMM_5001
+  <<: *MESH_COMM_CASE
+  category: Stress
+  cmd set:
+  - ''
+  - - MSSC SSC[1-<node_num>] meshsend -S -d <MNODE(0)_mac> -l 1460 -c 50 -b 200 -f 2
+    - - ''
+  - - DELAY 50
+    - - P SSC[1-<node_num>] C +MESHTXPKT,OK +MESHSEND,OK
+  - - SSC SSC[1-<node_num>] mesh -Q -o 2
+    - - R SSC[1-<node_num>] T topo
+  - - MESHTREE
+    - - R PC_COM RE "MESHTREE:%%s%20nodes"%%(<node_num>)
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. all nodes send unicast to root
+    1. check mesh network
+  summary: all nodes(T50) send unicast to root,check mesh network
+  CI ready: 'NO'
+  test environment: SSC_T50_MESH1
+  test point 1: meshsend stress
+  test point 2: meshsend ucast/mcast/bcast stress test
+- ID: MESH_COMM_5002
+  <<: *MESH_COMM_CASE
+  category: Stress
+  cmd set:
+  - ''
+  - - MSSC SSC[1-<node_num>] meshsend -S -d <server_mac> -l 1460 -c 30 -b 200 -f 8
+    - - ''
+  - - DELAY 50
+    - - P SSC[1-<node_num>] C +MESHTXPKT,OK C +MESHSEND,OK
+  - - SSC SSC[1-<node_num>] mesh -Q -o 2
+    - - R SSC[1-<node_num>] T topo
+  - - MESHTREE
+    - - R PC_COM RE "MESHTREE:%%s%20nodes"%%(<node_num>)
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. all nodes send unicast to server
+    2. check mesh network
+  summary: all nodes send unicast to server,check mesh network
+  CI ready: 'NO'
+  test environment: SSC_T50_MESH1
+  test point 1: meshsend stress
+  test point 2: meshsend ucast/mcast/bcast stress test
+- ID: MESH_COMM_5003
+  <<: *MESH_COMM_CASE
+  category: Stress
+  cmd set:
+  - MeshStress/MeshStressSend
+  - - test_time = 60
+    - - ''
+  - - node_send_type = "unicast"
+    - - ''
+  - - node_send_delay = 500
+    - - ''
+  - - server_send_flag = True
+    - - ''
+  - - server_send_type = "broadcast"
+    - - ''
+  - - server_send_delay = 500
+    - - ''
+  execution time: 1.0
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. all nodes send unicast to random target, server sending broadcast
+  summary: All node send unicast to random nodes, server sending broadcast
+  CI ready: 'NO'
+  test environment: SSC_T50_MESH1
+  test point 1: meshsend stress
+  test point 2: meshsend ucast/mcast/bcast stress test
+- ID: MESH_COMM_5004
+  <<: *MESH_COMM_CASE
+  category: Stress
+  cmd set:
+  - MeshStress/MeshStressSend
+  - - test_time = 60
+    - - ''
+  - - node_send_type = "unicast"
+    - - ''
+  - - node_send_delay = 500
+    - - ''
+  - - server_send_flag = False
+    - - ''
+  execution time: 1.0
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. all nodes send unicast to random target
+  summary: All node send unicast to random nodes
+  CI ready: 'NO'
+  test environment: SSC_T50_MESH1
+  test point 1: meshsend stress
+  test point 2: meshsend ucast/mcast/bcast stress test
+- ID: MESH_COMM_5005
+  <<: *MESH_COMM_CASE
+  category: Stress
+  cmd set:
+  - MeshStress/MeshTableSend
+  - - source_addr = "MNODE(0)"
+    - - ''
+  - - send_counts = 1000
+    - - ''
+  - - check_timeout = 60
+    - - ''
+  - - send_delay = 0
+    - - ''
+  - - send_flag = 18
+    - - ''
+  - - packet_type = 1
+    - - ''
+  comment: Mesh Stress
+  execution time: 1.0
+  expected result:
+    1. succeed
+    2. succeed
+    3. succeed
+  steps:
+    1. established mesh network
+    2. node send packets to its mesh table
+    3. check send/recv time and lose rate
+  summary: root send unicast to its' mesh table, calculate the send/recv time and lose rate
+  CI ready: 'NO'
+  test environment: SSC_T50_MESH1
+  test point 1: meshsend stress
+  test point 2: meshsend ucast/mcast/bcast stress test
+- ID: MESH_COMM_5006
+  <<: *MESH_COMM_CASE
+  category: Stress
+  cmd set:
+  - MeshStress/MeshTableSend
+  - - source_addr = "MNODE(0,0)"
+    - - ''
+  - - send_counts = 1000
+    - - ''
+  - - check_timeout = 60
+    - - ''
+  - - send_delay = 0
+    - - ''
+  - - send_flag = 18
+    - - ''
+  - - packet_type = 1
+    - - ''
+  comment: Mesh Stress
+  execution time: 1.0
+  expected result:
+    1. succeed
+    2. succeed
+    3. succeed
+  steps:
+    1. established mesh network
+    2. L2 send packets to its mesh table
+    3. check send/recv time and lose rate
+  summary: L2 send unicast to its' mesh table, calculate the send/recv time and lose rate
+  CI ready: 'NO'
+  test environment: SSC_T50_MESH1
+  test point 1: meshsend stress
+  test point 2: meshsend ucast/mcast/bcast stress test
+- ID: MESH_COMM_5007
+  <<: *MESH_COMM_CASE
+  category: Stress
+  cmd set:
+  - MeshStress/MeshTableSend
+  - - source_addr = "MNODE(0,0,0)"
+    - - ''
+  - - send_counts = 1000
+    - - ''
+  - - check_timeout = 60
+    - - ''
+  - - send_delay = 0
+    - - ''
+  - - send_flag = 18
+    - - ''
+  - - packet_type = 1
+    - - ''
+  comment: Mesh Stress
+  execution time: 1.0
+  expected result:
+    1. succeed
+    2. succeed
+    3. succeed
+  steps:
+    1. established mesh network
+    2. L3 send packets to its mesh table
+    3. check send/recv time and lose rate
+  summary: L3 send unicast to its' mesh table, calculate the send/recv time and lose rate
+  CI ready: 'NO'
+  test environment: SSC_T50_MESH1
+  test point 1: meshsend stress
+  test point 2: meshsend ucast/mcast/bcast stress test
+- ID: MESH_COMM_5008
+  <<: *MESH_COMM_CASE
+  category: Stress
+  cmd set:
+  - MeshStress/MeshMixture
+  - - test_time = 720
+    - - ''
+  - - send_delay = 100
+    - - ''
+  - - unicast_addr = "random"
+    - - ''
+  comment: Mesh Stress
+  execution time: 1.0
+  expected result:
+    1. succeed
+    2. succeed
+    3. succeed
+  steps:
+    1. established mesh network
+    2. delay some time,send unicast with random address
+    3. check mesh network
+  summary: mesh mixture stress test
+  CI ready: 'NO'
+  test environment: SSC_T50_MESH1
+  test point 1: meshsend stress
+  test point 2: meshsend ucast/mcast/bcast stress test
+- ID: MESH_COMM_6001
+  <<: *MESH_COMM_CASE
+  category: Performance
+  cmd set:
+  - MeshStress/MeshSendReceive
+  - *throughput_cmd_set
+  - - sender = ['MNODE(0)']
+    - - ''
+  - - receiver = ['MNODE(0)']
+    - - ''
+  comment: L1 send packet to L1
+  execution time: 0.5
+  expected result:
+    1. succeed
+  steps:
+    1. calculate throughput and packet loss rate
+  summary: L1 send packet to L1(T3), calculate throughput and packet loss rate
+  CI ready: 'NO'
+  test environment: SSC_T3_MESH1
+  test point 1: meshsend performance
+  test point 2: ucast/mcast/bcast throughput and packetloss
+- ID: MESH_COMM_6002
+  <<: *MESH_COMM_CASE
+  category: Performance
+  cmd set:
+  - MeshStress/MeshSendReceive
+  - *throughput_cmd_set
+  - - sender = ['MNODE(0)']
+    - - ''
+  - - receiver = ['MNODE(0)']
+    - - ''
+  comment: L1 send packet to L1
+  execution time: 0.5
+  expected result:
+    1. succeed
+  steps:
+    1. calculate throughput and packet loss rate
+  summary: L1 send packet to L1(T50), calculate throughput and packet loss rate
+  CI ready: 'NO'
+  test environment: SSC_T50_MESH1
+  test point 1: meshsend performance
+  test point 2: ucast/mcast/bcast throughput and packetloss
+- ID: MESH_COMM_6003
+  <<: *MESH_COMM_CASE
+  category: Performance
+  cmd set:
+  - MeshStress/MeshSendReceive
+  - *throughput_cmd_set
+  - - sender = ['MNODE(0)']
+    - - ''
+  - - receiver = ['MNODE(0,0)']
+    - - ''
+  comment: L1 send packet to L2
+  execution time: 0.5
+  expected result:
+    1. succeed
+  steps:
+    1. calculate throughput and packet loss rate
+  summary: L1 send packet to L2(T3), calculate throughput and packet loss rate
+  CI ready: 'NO'
+  test environment: SSC_T3_MESH1
+  test point 1: meshsend performance
+  test point 2: ucast/mcast/bcast throughput and packetloss
+- ID: MESH_COMM_6004
+  <<: *MESH_COMM_CASE
+  category: Performance
+  cmd set:
+  - MeshStress/MeshSendReceive
+  - *throughput_cmd_set
+  - - sender = ['MNODE(0)']
+    - - ''
+  - - receiver = ['MNODE(0,0)']
+    - - ''
+  comment: L1 send packet to L2
+  execution time: 0.5
+  expected result:
+    1. succeed
+  steps:
+    1. calculate throughput and packet loss rate
+  summary: L1 send packet to L2(T50), calculate throughput and packet loss rate
+  CI ready: 'NO'
+  test environment: SSC_T50_MESH1
+  test point 1: meshsend performance
+  test point 2: ucast/mcast/bcast throughput and packetloss
+- ID: MESH_COMM_6005
+  <<: *MESH_COMM_CASE
+  category: Performance
+  cmd set:
+  - MeshStress/MeshSendReceive
+  - *throughput_cmd_set
+  - - sender = ['MNODE(0)']
+    - - ''
+  - - receiver = ['MNODE(0,0,0)']
+    - - ''
+  comment: L1 send packet to L3
+  execution time: 0.5
+  expected result:
+    1. succeed
+  steps:
+    1. calculate throughput and packet loss rate
+  summary: L1 send packet to L3, calculate throughput and packet loss rate
+  CI ready: 'NO'
+  test environment: SSC_T50_MESH1
+  test point 1: meshsend performance
+  test point 2: ucast/mcast/bcast throughput and packetloss
+- ID: MESH_COMM_6006
+  <<: *MESH_COMM_CASE
+  category: Performance
+  cmd set:
+  - MeshStress/MeshSendReceive
+  - *throughput_cmd_set
+  - - sender = ['MNODE(0)']
+    - - ''
+  - - receiver = ['MNODE(0,0,0,0)']
+    - - ''
+  comment: L1 send packet to L4
+  execution time: 0.5
+  expected result:
+    1. succeed
+  steps:
+    1. calculate throughput and packet loss rate
+  summary: L1 send packet to L4, calculate throughput and packet loss rate
+  CI ready: 'NO'
+  test environment: SSC_T50_MESH1
+  test point 1: meshsend performance
+  test point 2: ucast/mcast/bcast throughput and packetloss
+- ID: MESH_COMM_6007
+  <<: *MESH_COMM_CASE
+  category: Performance
+  cmd set:
+  - MeshStress/MeshSendReceive
+  - *throughput_cmd_set
+  - - sender = ['MNODE(0,0)']
+    - - ''
+  - - receiver = ['MNODE(0)']
+    - - ''
+  comment: L2 send packet to L1
+  execution time: 0.5
+  expected result:
+    1. succeed
+  steps:
+    1. calculate throughput and packet loss rate
+  summary: L2 send packet to L1, calculate throughput and packet loss rate
+  CI ready: 'NO'
+  test environment: SSC_T50_MESH1
+  test point 1: meshsend performance
+  test point 2: ucast/mcast/bcast throughput and packetloss
+- ID: MESH_COMM_6008
+  <<: *MESH_COMM_CASE
+  category: Performance
+  cmd set:
+  - MeshStress/MeshSendReceive
+  - *throughput_cmd_set
+  - - sender = ['MNODE(0,0)']
+    - - ''
+  - - receiver = ['MNODE(0,0,0)']
+    - - ''
+  comment: L2 send packet to L3
+  execution time: 0.5
+  expected result:
+    1. succeed
+  steps:
+    1. calculate throughput and packet loss rate
+  summary: L2 send packet to L3, calculate throughput and packet loss rate
+  CI ready: 'NO'
+  test environment: SSC_T50_MESH1
+  test point 1: meshsend performance
+  test point 2: ucast/mcast/bcast throughput and packetloss
+- ID: MESH_COMM_6009
+  <<: *MESH_COMM_CASE
+  category: Performance
+  cmd set:
+  - MeshStress/MeshSendReceive
+  - *throughput_cmd_set
+  - - sender = ['MNODE(0,0)']
+    - - ''
+  - - receiver = ['MNODE(0,0,0,0)']
+    - - ''
+  comment: L2 send packet to L4
+  execution time: 0.5
+  expected result:
+    1. succeed
+  steps:
+    1. calculate throughput and packet loss rate
+  summary: L2 send packet to L4, calculate throughput and packet loss rate
+  CI ready: 'NO'
+  test environment: SSC_T50_MESH1
+  test point 1: meshsend performance
+  test point 2: ucast/mcast/bcast throughput and packetloss
+- ID: MESH_COMM_6010
+  <<: *MESH_COMM_CASE
+  category: Performance
+  cmd set:
+  - MeshStress/MeshSendReceive
+  - *throughput_cmd_set
+  - - sender = ['MNODE(0,0,0)']
+    - - ''
+  - - receiver = ['MNODE(0)']
+    - - ''
+  comment: L3 send packet to L1
+  execution time: 0.5
+  expected result:
+    1. succeed
+  steps:
+    1. calculate throughput and packet loss rate
+  summary: L3 send packet to L1, calculate throughput and packet loss rate
+  CI ready: 'NO'
+  test environment: SSC_T50_MESH1
+  test point 1: meshsend performance
+  test point 2: ucast/mcast/bcast throughput and packetloss
+- ID: MESH_COMM_6012
+  <<: *MESH_COMM_CASE
+  category: Performance
+  cmd set:
+  - MeshStress/MeshSendReceive
+  - *throughput_cmd_set
+  - - sender = ['MNODE(0,0,0)']
+    - - ''
+  - - receiver = ['MNODE(0,0)']
+    - - ''
+  comment: L3 send packet to L2
+  execution time: 0.5
+  expected result:
+    1. succeed
+  steps:
+    1. calculate throughput and packet loss rate
+  summary: L3 send packet to L2, calculate throughput and packet loss rate
+  CI ready: 'NO'
+  test environment: SSC_T50_MESH1
+  test point 1: meshsend performance
+  test point 2: ucast/mcast/bcast throughput and packetloss
+- ID: MESH_COMM_6013
+  <<: *MESH_COMM_CASE
+  category: Performance
+  cmd set:
+  - MeshStress/MeshSendReceive
+  - *throughput_cmd_set
+  - - sender = ['MNODE(0,0,0)']
+    - - ''
+  - - receiver = ['MNODE(0,0,0,0)']
+    - - ''
+  comment: L3 send packet to L4
+  execution time: 0.5
+  expected result:
+    1. succeed
+  steps:
+    1. calculate throughput and packet loss rate
+  summary: L3 send packet to L4, calculate throughput and packet loss rate
+  CI ready: 'NO'
+  test environment: SSC_T50_MESH1
+  test point 1: meshsend performance
+  test point 2: ucast/mcast/bcast throughput and packetloss
+- ID: MESH_COMM_6014
+  <<: *MESH_COMM_CASE
+  category: Performance
+  cmd set:
+  - MeshStress/MeshSendReceive
+  - *throughput_cmd_set
+  - - sender = ['MNODE(0,0,0,0)']
+    - - ''
+  - - receiver = ['MNODE(0)']
+    - - ''
+  comment: L4 send packet to L1
+  execution time: 0.5
+  expected result:
+    1. succeed
+  steps:
+    1. calculate throughput and packet loss rate
+  summary: L4 send packet to L1, calculate throughput and packet loss rate
+  CI ready: 'NO'
+  test environment: SSC_T50_MESH1
+  test point 1: meshsend performance
+  test point 2: ucast/mcast/bcast throughput and packetloss
+- ID: MESH_COMM_6015
+  <<: *MESH_COMM_CASE
+  category: Performance
+  cmd set:
+  - MeshStress/MeshSendReceive
+  - *throughput_cmd_set
+  - - sender = ['MNODE(0,0,0,0)']
+    - - ''
+  - - receiver = ['MNODE(0,0)']
+    - - ''
+  comment: L4 send packet to L2
+  execution time: 0.5
+  expected result:
+    1. succeed
+  steps:
+    1. calculate throughput and packet loss rate
+  summary: L4 send packet to L2, calculate throughput and packet loss rate
+  CI ready: 'NO'
+  test environment: SSC_T50_MESH1
+  test point 1: meshsend performance
+  test point 2: ucast/mcast/bcast throughput and packetloss
+- ID: MESH_COMM_6016
+  <<: *MESH_COMM_CASE
+  category: Performance
+  cmd set:
+  - MeshStress/MeshSendReceive
+  - *throughput_cmd_set
+  - - sender = ['MNODE(0,0,0,0)']
+    - - ''
+  - - receiver = ['MNODE(0,0,0)']
+    - - ''
+  comment: L4 send packet to L3
+  execution time: 0.5
+  expected result:
+    1. succeed
+  steps:
+    1. calculate throughput and packet loss rate
+  summary: L4 send packet to L3, calculate throughput and packet loss rate
+  CI ready: 'NO'
+  test environment: SSC_T50_MESH1
+  test point 1: meshsend performance
+  test point 2: ucast/mcast/bcast throughput and packetloss
+- ID: MESH_COMM_6017
+  <<: *MESH_COMM_CASE
+  category: Performance
+  cmd set:
+  - MeshStress/MeshSendReceive
+  - *throughput_cmd_set
+  - - sender = ['MNODE(0,0)']
+    - - ''
+  - - receiver = ['MNODE(0,1)']
+    - - ''
+  comment: L2 send packet to its brother
+  execution time: 0.5
+  expected result:
+    1. succeed
+  steps:
+    1. calculate throughput and packet loss rate
+  summary: L2 send packet to its brother, calculate throughput and packet loss rate
+  CI ready: 'NO'
+  test environment: SSC_T50_MESH1
+  test point 1: meshsend performance
+  test point 2: ucast/mcast/bcast throughput and packetloss
+- ID: MESH_COMM_6018
+  <<: *MESH_COMM_CASE
+  category: Performance
+  cmd set:
+  - MeshStress/MeshSendReceive
+  - *throughput_cmd_set
+  - - sender = ['MNODE(0,0,0)']
+    - - ''
+  - - receiver = ['MNODE(0,0,1)']
+    - - ''
+  comment: L3 send packet to its brother
+  execution time: 0.5
+  expected result:
+    1. succeed
+  steps:
+    1. calculate throughput and packet loss rate
+  summary: L3 send packet to its brother, calculate throughput and packet loss rate
+  CI ready: 'NO'
+  test environment: SSC_T50_MESH1
+  test point 1: meshsend performance
+  test point 2: ucast/mcast/bcast throughput and packetloss
+- ID: MESH_COMM_6019
+  <<: *MESH_COMM_CASE
+  category: Performance
+  cmd set:
+  - MeshStress/MeshSendReceive
+  - *throughput_cmd_set
+  - - sender = ['MNODE(0,0,0)']
+    - - ''
+  - - receiver = ['MNODE(0,1)']
+    - - ''
+  comment: L3 send packet to its uncle
+  execution time: 0.5
+  expected result:
+    1. succeed
+  steps:
+    1. calculate throughput and packet loss rate
+  summary: L3 send packet to its uncle, calculate throughput and packet loss rate
+  CI ready: 'NO'
+  test environment: SSC_T50_MESH1
+  test point 1: meshsend performance
+  test point 2: ucast/mcast/bcast throughput and packetloss
+- ID: MESH_COMM_6020
+  <<: *MESH_COMM_CASE
+  category: Performance
+  cmd set:
+  - MeshStress/MeshSendReceive
+  - *throughput_cmd_set
+  - - sender = ['MNODE(0)']
+    - - ''
+  - - receiver = ['MNODE(0,0)', 'MNODE(0,1)']
+    - - ''
+  comment: L1 send packet to two L2
+  execution time: 0.5
+  expected result:
+    1. succeed
+  steps:
+    1. calculate throughput and packet loss rate
+  summary: L1 send packet to two L2 node, calculate throughput and packet loss rate
+  CI ready: 'NO'
+  test environment: SSC_T50_MESH1
+  test point 1: meshsend performance
+  test point 2: ucast/mcast/bcast throughput and packetloss
+- ID: MESH_COMM_6021
+  <<: *MESH_COMM_CASE
+  category: Performance
+  cmd set:
+  - MeshStress/MeshSendReceive
+  - *throughput_cmd_set
+  - - sender = ['MNODE(0)']
+    - - ''
+  - - receiver = ['MNODE(l2)']
+    - - ''
+  comment: L1 send packet to all L2
+  execution time: 0.5
+  expected result:
+    1. succeed
+  steps:
+    1. calculate throughput and packet loss rate
+  summary: L1 send packet to all L2, calculate throughput and packet loss rate
+  CI ready: 'NO'
+  test environment: SSC_T50_MESH1
+  test point 1: meshsend performance
+  test point 2: ucast/mcast/bcast throughput and packetloss
+- ID: MESH_COMM_6022
+  <<: *MESH_COMM_CASE
+  category: Performance
+  cmd set:
+  - MeshStress/MeshSendReceive
+  - *throughput_cmd_set
+  - - sender = ['MNODE(0)']
+    - - ''
+  - - receiver = ['MNODE(l3)']
+    - - ''
+  comment: L1 send packet to all L3
+  execution time: 0.5
+  expected result:
+    1. succeed
+  steps:
+    1. calculate throughput and packet loss rate
+  summary: L1 send packet to all L3, calculate throughput and packet loss rate
+  CI ready: 'NO'
+  test environment: SSC_T50_MESH1
+  test point 1: meshsend performance
+  test point 2: ucast/mcast/bcast throughput and packetloss
+- ID: MESH_COMM_6023
+  <<: *MESH_COMM_CASE
+  category: Performance
+  cmd set:
+  - MeshStress/MeshSendReceive
+  - *throughput_cmd_set
+  - - sender = ['MNODE(l2)']
+    - - ''
+  - - receiver = ['MNODE(0)']
+    - - ''
+  comment: all L2 send packet to L1
+  execution time: 0.5
+  expected result:
+    1. succeed
+  steps:
+    1. calculate throughput and packet loss rate
+  summary: all L2 send packet to L1, calculate throughput and packet loss rate
+  CI ready: 'NO'
+  test environment: SSC_T50_MESH1
+  test point 1: meshsend performance
+  test point 2: ucast/mcast/bcast throughput and packetloss
+- ID: MESH_COMM_6024
+  <<: *MESH_COMM_CASE
+  category: Performance
+  cmd set:
+  - MeshStress/MeshSendReceive
+  - *throughput_cmd_set
+  - - sender = ['MNODE(0)']
+    - - ''
+  - - receiver = []
+    - - ''
+  comment: L1 send packet to table
+  execution time: 0.5
+  expected result:
+    1. succeed
+  steps:
+    1. calculate throughput and packet loss rate
+  summary: L1 send packet to table, calculate throughput and packet loss rate
+  CI ready: 'NO'
+  test environment: SSC_T50_MESH1
+  test point 1: meshsend performance
+  test point 2: ucast/mcast/bcast throughput and packetloss
+- ID: MESH_COMM_6025
+  <<: *MESH_COMM_CASE
+  category: Performance
+  cmd set:
+  - MeshStress/MeshSendReceive
+  - *throughput_cmd_set
+  - - sender = ['MNODE(0,0)']
+    - - ''
+  - - receiver = []
+    - - ''
+  comment: L2 send packet to table
+  execution time: 0.5
+  expected result:
+    1. succeed
+  steps:
+    1. calculate throughput and packet loss rate
+  summary: L2 send packet to table, calculate throughput and packet loss rate
+  CI ready: 'NO'
+  test environment: SSC_T50_MESH1
+  test point 1: meshsend performance
+  test point 2: ucast/mcast/bcast throughput and packetloss
+- ID: MESH_COMM_6026
+  <<: *MESH_COMM_CASE
+  category: Performance
+  cmd set:
+  - MeshStress/MeshSendReceive
+  - *throughput_cmd_set
+  - - sender = ['MNODE(0)']
+    - - ''
+  - - receiver = ['MNODE(0,0,*)']
+    - - ''
+  comment: L2 send packet to L2's table
+  execution time: 0.5
+  expected result:
+    1. succeed
+  steps:
+    1. calculate throughput and packet loss rate
+  summary: L2 send packet to L2's table, calculate throughput and packet loss rate
+  CI ready: 'NO'
+  test environment: SSC_T50_MESH1
+  test point 1: meshsend performance
+  test point 2: ucast/mcast/bcast throughput and packetloss
+- ID: MESH_COMM_6027
+  <<: *MESH_COMM_CASE
+  category: Performance
+  cmd set:
+  - MeshStress/MeshSendReceive
+  - *throughput_cmd_set
+  - - sender = ['!MNODE(0)']
+    - - ''
+  - - receiver = ['MNODE(0)']
+    - - ''
+  comment: non-L1 send packet to L1
+  execution time: 0.5
+  expected result:
+    1. succeed
+  steps:
+    1. calculate throughput and packet loss rate
+  summary: all nodes except root send packet to L1, calculate throughput and packet loss rate
+  CI ready: 'NO'
+  test environment: SSC_T50_MESH1
+  test point 1: meshsend performance
+  test point 2: ucast/mcast/bcast throughput and packetloss
+- ID: MESH_COMM_6028
+  <<: *MESH_COMM_CASE
+  category: Performance
+  cmd set:
+  - MeshStress/MeshSendReceive
+  - *throughput_cmd_set
+  - - sender = ['MNODE(0)']
+    - - ''
+  - - send_type = 'bcast'
+    - - ''
+  comment: L1 send broadcast
+  execution time: 0.5
+  expected result:
+    1. succeed
+  steps:
+    1. calculate throughput and packet loss rate
+  summary: L1 send broadcast, calculate throughput and packet loss rate
+  CI ready: 'NO'
+  test environment: SSC_T50_MESH1
+  test point 1: meshsend performance
+  test point 2: ucast/mcast/bcast throughput and packetloss
+- ID: MESH_COMM_6029
+  <<: *MESH_COMM_CASE
+  category: Performance
+  cmd set:
+  - MeshStress/MeshSendReceive
+  - *throughput_cmd_set
+  - - sender = ['MNODE(0,0)']
+    - - ''
+  - - send_type = 'bcast'
+    - - ''
+  comment: L2 send broadcast
+  execution time: 0.5
+  expected result:
+    1. succeed
+  steps:
+    1. calculate throughput and packet loss rate
+  summary: L2 send broadcast, calculate throughput and packet loss rate
+  CI ready: 'NO'
+  test environment: SSC_T50_MESH1
+  test point 1: meshsend performance
+  test point 2: ucast/mcast/bcast throughput and packetloss
+- ID: MESH_COMM_6030
+  <<: *MESH_COMM_CASE
+  category: Performance
+  cmd set:
+  - MeshStress/MeshSendReceive
+  - *throughput_cmd_set
+  - - sender = ['MNODE(0,0,0)']
+    - - ''
+  - - send_type = 'bcast'
+    - - ''
+  comment: L3 send broadcast
+  execution time: 0.5
+  expected result:
+    1. succeed
+  steps:
+    1. calculate throughput and packet loss rate
+  summary: L3 send broadcast, calculate throughput and packet loss rate
+  CI ready: 'NO'
+  test environment: SSC_T50_MESH1
+  test point 1: meshsend performance
+  test point 2: ucast/mcast/bcast throughput and packetloss
+- ID: MESH_COMM_6101
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - MeshStress/MeshSendRecv
+  - - test_time = 1
+    - - ''
+  - - source_adde_list = ["MNODE(0)", "MNODE(0,0)", "MNODE(0,0,0)", "MNODE(0,0,0,0)", "MNODE(0,0,0,0,0)", "MNODE(0,-1)"]
+    - - ''
+  - - dst_addr_list = ["MNODE(0)", "MNODE(0,0)", "MNODE(0,0,0)", "MNODE(0,0,0,0)", "MNODE(0,0,0,0,0)", "MNODE(0,-1)"]
+    - - ''
+  - - send_delay = 500
+    - - ''
+  - - send_counts = 10 # reduce counts to 10
+    - - ''
+  - - loss_rate_standard = 0.5
+    - - ''
+  execution time: 1.0
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. node send unicast to another node
+    2. calculate send/recv time and loss rate
+  summary: calculate send/recv time and loss rate between different nodes
+  CI ready: 'NO'
+  test environment: SSC_T50_MESH1
+  test point 1: meshsend performance
+  test point 2: ucast/mcast/bcast delaytime and packetloss
+- ID: MESH_COMM_6102
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - MeshStress/MeshSendRecv
+  - - test_time = 1
+    - - ''
+  - - source_adde_list = ["GSOC1"]
+    - - ''
+  - - dst_addr_list = ["MNODE(0)", "MNODE(0,0)", "MNODE(0,0,0)", "MNODE(0,0,0,0)", "MNODE(0,0,0,0,0)", "MNODE(0,-1)"]
+    - - ''
+  - - send_delay = 500
+    - - ''
+  - - send_counts = 10 # reduce counts to 10
+    - - ''
+  - - loss_rate_standard = 0.5
+    - - ''
+  execution time: 1.0
+  expected result: |-
+    1. succeed
+    2. calculate packet send/recv time
+  steps: |-
+    1. server send unicast to differet nodes
+    2. calculate send/recv time and loss rate
+  summary: calculate send/recv time and loss rate between server send unicast to different nodes
+  CI ready: 'NO'
+  test environment: SSC_T50_MESH1
+  test point 1: meshsend performance
+  test point 2: ucast/mcast/bcast delaytime and packetloss
+- ID: MESH_COMM_6103
+  <<: *MESH_COMM_CASE
+  cmd set:
+  - MeshStress/MeshSendRecv
+  - - test_time = 1
+    - - ''
+  - - source_adde_list = ["MNODE(0)", "MNODE(0,0)", "MNODE(0,0,0)", "MNODE(0,0,0,0)", "MNODE(0,0,0,0,0)", "MNODE(0,-1)"]
+    - - ''
+  - - dst_addr_list = ["GSOC1"]
+    - - ''
+  - - send_delay = 500
+    - - ''
+  - - send_counts = 10 # reduce counts to 10
+    - - ''
+  - - loss_rate_standard = 0.5
+    - - ''
+  execution time: 1.0
+  expected result: |-
+    1. succeed
+    2. calculate packet send/recv time
+  steps: |-
+    1. differet nodes send unicast to server
+    2. calculate send/recv time and loss rate
+  summary: calculate send/recv time and loss rate between different node and server
+  CI ready: 'NO'
+  test environment: SSC_T50_MESH1
+  test point 1: meshsend performance
+  test point 2: ucast/mcast/bcast delaytime and packetloss
index 35243d59f4564dfdd6e4f2d70fad8cdbf13be9b1..0c2f011c5141b4e33f100ea6e64f47c155a127b1 100644 (file)
-test cases:
-- CI ready: 'Yes'
-  ID: MESH_EST_0106
+.MESH_CASE: &MESH_CASE
   SDK: ESP32_IDF
   Test App: SSC_MESH
   auto test: 'Yes'
   category: Function
+  test point 1: self organized function
+  initial condition: MESH_DEINIT_STA
+  test environment: SSC_T50_MESH1
+  execution time: 0.0
+  module: Mesh
+  sub module: Establish
+  version: v1 (2018-08-15)
+  CI ready: 'No'
+  level: Integration
+  allow fail: ''
+
+.mesh_init_all_duts: &mesh_init_all_duts
+  LIST_MERGE:
+    - - 'MSSC SSC[1-<node_num>] mesh -I'
+      - ['P SSC[1-<node_num>] C +MESH:INIT,OK']
+
+.mesh_start_all_duts: &mesh_start_all_duts
+  LIST_MERGE:
+    - - 'MSSC SSC[1-<node_num>] mesh -T'
+      - ['P SSC[1-<node_num>] C +MESH:START,OK']
+
+.mesh_config_all_duts: &mesh_config_all_duts
+  LIST_MERGE:
+    - - 'MSSC SSC[1-<node_num>] meshset -M -o 0 -t <map_auth_mode> -e <map_password> -l 10'
+      - ['P SSC[1-<node_num>] C +MESHSET:MAP_AUTH,OK']
+    - - 'MSSC SSC[1-<node_num>] meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+        <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i <ie_encrypt>'
+      - ['P SSC[1-<node_num>] C +MESHSET:CFG,OK']
+    - - 'MSSC SSC[1-<node_num>] meshset -L -o 0 -l <max_layer>'
+      - ['P SSC[1-<node_num>] C +MESHSET:MLAYER,OK']
+    - - 'MSSC SSC[1-<node_num>] meshset -W -o 0 -t <duration_ms> -n <cnx_rssi> -l <select_rssi> -i <switch_rssi> -k <backoff_rssi>'
+      - ['P SSC[1-<node_num>] C +MESHSET:SWITCH,OK']
+    - - 'MSSC SSC[1-<node_num>] meshset -K -o 0 -i <allow_roots>'
+      - ['P SSC[1-<node_num>] C +MESHSET:ALLOW_ROOTS,OK']
+    - - 'MSSC SSC[1-<node_num>] meshset -J -o 0 -t <assoc_expire>'
+      - ['P SSC[1-<node_num>] C +MESHSET:ASSOC,OK']
+
+.mesh_config_all_duts_no_router: &mesh_config_all_duts_no_router
+  LIST_MERGE:
+    - - 'SSC SSC1 meshset -T -o 0 -t 1'
+      - ['P SSC1 C +MESHSET:TYPE,OK']
+    - - 'MSSC SSC[2-<node_num>] meshset -X -o 0 -i 1'
+      - ['P SSC[2-<node_num>] C +MESHSET:FIX_ROOT,OK']
+    - - 'MSSC SSC[1-<node_num>] meshset -M -o 0 -t <map_auth_mode> -e <map_password> -l 10'
+      - ['P SSC[1-<node_num>] C +MESHSET:MAP_AUTH,OK']
+    - - 'SSC SSC[1-<node_num>] meshset -G -o 0 -m <mesh_id> -n <router_channel> -t <max_connect> -e
+        <map_password> -i <ie_encrypt>'
+      - ['P SSC[1-<node_num>] C +MESHSET:CFG,OK']
+    - - 'MSSC SSC[1-<node_num>] meshset -L -o 0 -l <max_layer>'
+      - ['P SSC[1-<node_num>] C +MESHSET:MLAYER,OK']
+    - - 'MSSC SSC[1-<node_num>] meshset -W -o 0 -t <duration_ms> -n <cnx_rssi> -l <select_rssi> -i <switch_rssi> -k <backoff_rssi>'
+      - ['P SSC[1-<node_num>] C +MESHSET:SWITCH,OK']
+    - - 'MSSC SSC[1-<node_num>] meshset -K -o 0 -i <allow_roots>'
+      - ['P SSC[1-<node_num>] C +MESHSET:ALLOW_ROOTS,OK']
+    - - 'MSSC SSC[1-<node_num>] meshset -J -o 0 -t <assoc_expire>'
+      - ['P SSC[1-<node_num>] C +MESHSET:ASSOC,OK']
+
+.mesh_config_dut1: &mesh_config_dut1
+  LIST_MERGE:
+    - - 'SSC SSC1 meshset -M -o 0 -t <map_auth_mode> -e <map_password> -l 10'
+      - ['P SSC1 C +MESHSET:MAP_AUTH,OK']
+    - - 'SSC SSC1 meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+        <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i <ie_encrypt>'
+      - ['P SSC1 C +MESHSET:CFG,OK']
+    - - 'SSC SSC meshset -L -o 0 -l <max_layer>'
+      - ['P SSC1 C +MESHSET:MLAYER,OK']
+    - - 'SSC SSC1 meshset -W -o 0 -t <duration_ms> -n <cnx_rssi> -l <select_rssi> -i <switch_rssi> -k <backoff_rssi>'
+      - ['P SSC1 C +MESHSET:SWITCH,OK']
+    - - 'SSC SSC1 meshset -K -o 0 -i <allow_roots>'
+    - - 'SSC SSC1 meshset -K -o 0 -i <allow_roots>'
+      - ['P SSC1 C +MESHSET:ALLOW_ROOTS,OK']
+    - - 'SSC SSC1 meshset -J -o 0 -t <assoc_expire>'
+      - ['P SSC1 C +MESHSET:ASSOC,OK']
+
+.mesh_config_dut1_no_router: &mesh_config_dut1_no_router
+  LIST_MERGE:
+    - - 'SSC SSC1 meshset -T -o 0 -t 1'
+      - ['P SSC1 C +MESHSET:TYPE,OK']
+    - - 'SSC SSC1 meshset -M -o 0 -t <map_auth_mode> -e <map_password> -l 10'
+      - ['P SSC1 C +MESHSET:MAP_AUTH,OK']
+    - - 'SSC SSC1 meshset -G -o 0 -m <mesh_id> -n <router_channel> -t <max_connect> -e
+        <map_password> -i <ie_encrypt>'
+      - ['P SSC1 C +MESHSET:CFG,OK']
+    - - 'SSC SSC1 meshset -L -o 0 -l <max_layer>'
+      - ['P SSC1 C +MESHSET:MLAYER,OK']
+    - - 'SSC SSC1 meshset -W -o 0 -t <duration_ms> -n <cnx_rssi> -l <select_rssi> -i <switch_rssi> -k <backoff_rssi>'
+      - ['P SSC1 C +MESHSET:SWITCH,OK']
+    - - 'SSC SSC1 meshset -K -o 0 -i <allow_roots>'
+    - - 'SSC SSC1 meshset -K -o 0 -i <allow_roots>'
+      - ['P SSC1 C +MESHSET:ALLOW_ROOTS,OK']
+    - - 'SSC SSC1 meshset -J -o 0 -t <assoc_expire>'
+      - ['P SSC1 C +MESHSET:ASSOC,OK']
+
+.mesh_config_cs_duts: &mesh_config_cs_duts
+  LIST_MERGE:
+    - - 'MSSC SSC[4-<node_num>] meshset -M -o 0 -t <map_auth_mode> -e <map_password> -l 10'
+      - ['P SSC[4-<node_num>] C +MESHSET:MAP_AUTH,OK']
+    - - 'MSSC SSC[4-<node_num>] meshset -G -o 0 -m <mesh_id> -s <target_ssid> -p <target_password> -n <try_channel> -h 1 -t
+        <max_connect> -e <map_password> -i <ie_encrypt>'
+      - ['P SSC[4-<node_num>] C +MESHSET:CFG,OK']
+    - - 'MSSC SSC[4-<node_num>] meshset -L -o 0 -l <max_layer>'
+      - ['P SSC[4-<node_num>] C +MESHSET:MLAYER,OK']
+    - - 'MSSC SSC[4-<node_num>] meshset -W -o 0 -t <duration_ms> -n <cnx_rssi> -l <select_rssi> -i <switch_rssi> -k <backoff_rssi>'
+      - ['P SSC[4-<node_num>] C +MESHSET:SWITCH,OK']
+    - - 'MSSC SSC[4-<node_num>] meshset -K -o 0 -i <allow_roots>'
+      - ['P SSC[4-<node_num>] C +MESHSET:ALLOW_ROOTS,OK']
+    - - 'MSSC SSC[4-<node_num>] meshset -J -o 0 -t 15'
+      - ['P SSC[4-<node_num>] C +MESHSET:ASSOC,OK']
+
+.mesh_check_tree_num: &mesh_check_tree_num
+  LIST_MERGE:
+    - - 'MSSC SSC[1-<node_num>] mesh -Q -o 2'
+      - ['P SSC[1-<node_num>] T topo']
+    - - 'MESHTREE'
+      - ['R PC_COM RE "MESHTREE:%%s"%%(<tree_node_num>)']
+
+.mesh_tree_stably: &mesh_tree_stably
+  LIST_MERGE:
+    - - 'SSC MNODE(0) mesh -Q -o 1 -t <stable_check_time>'
+      - ['R MNODE(0) C MESH_STABLE_CHECK:PASS']
+
+.est_performance_cmd_set: &est_performance_cmd_set
+  LIST_MERGE:
+    - - 'test_counts = 15'
+      - ['']
+    - - 'start_number_list = [0]'
+      - ['']
+    - - 'ie_encrypt = True'
+      - ['']
+    - - 'establish_fail_time = 1200'
+      - ['']
+    - - 'assoc_time = 20'
+      - ['']
+    - - 'stable_time = 120'
+      - ['']
+    - - 'map_encrypt = True'
+      - ['']
+    - - 'destroy_mode = "deinit"'
+      - ['']
+
+test cases:
+- ID: MESH_EST_0101
+  <<: *MESH_CASE
   cmd set:
   - ''
-  - - SSC SSC[1-<node_num>] mesh -I
-    - - P SSC[1-<node_num>] C +MESH:INITED
-  - - SSC SSC[1-<node_num>] mesh -A -o 7 -t 25
-    - - P SSC[1-<node_num>] C +MESH_SET_TX_POWER:OK
-  - - SSC SSC[1-<node_num>] mesh -P -g <mesh_id> -s <ap_ssid> -p <ap_password> -n <ap_channel> -m <max_connect> -y <max_layer>
-    - - P SSC[1-<node_num>] C +MESH:CONFIG,OK
-  - - SSC SSC[1-<node_num>] mesh -T
-    - - P SSC[1-<node_num>] C +MESH:START
-  - - DELAY <delay_time>
+  - - SSC SSC1 mesh -I
+    - - P SSC1 C +MESH:INIT,OK
+  - - SSC SSC1 meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n 15 -t <max_connect>
+    - - R SSC1 C +MESHSET:CFG,FAIL
+  - - SSC SSC1 meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n <router_channel> -t 11
+    - - R SSC1 C +MESHSET:CFG,FAIL
+  - - SSC SSC1 meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n <router_channel> -t 0
+    - - R SSC1 C +MESHSET:CFG,FAIL
+  - - SSC SSC1 meshset -G -o 0 -m <mesh_id> -n <router_channel> -t <max_connect>
+    - - R SSC1 C +MESHSET:CFG,FAIL
+  - - SSC SSC1 meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC1 C +MESHSET:CFG,OK
+  - - SSC SSC1 meshset -G -o 1
+    - - P SSC1 RE "MESH_ID,%%s"%%(<mesh_id>)
+      - P SSC1 C +MESHGET:CFG,OK
+  expected result: |-
+    1. fail
+    2. fail
+    3. fail
+    4. fail
+    5. succeed
+  steps: |-
+    1. mesh init
+    2. set config with channel 15
+    3. set config with max_connection 0 / 11
+    4. set config without router ssid
+    5. set/get valid config
+  test environment: SSC_T1_MESH1
+  summary: mesh set/get config before mesh start
+  test point 2: mesh configuration test
+  CI ready: 'Yes'
+- ID: MESH_EST_0102
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC1 mesh -I
+    - - P SSC1 C +MESH:INIT,OK
+  - - SSC SSC1 meshset -S -o 0 -t 0
+    - - P SSC1 C +MESHSET:SCAN_TIME,FAIL
+  - - SSC SSC1 meshset -S -o 0 -t 2000
+    - - P SSC1 C +MESHSET:SCAN_TIME,FAIL
+  - - SSC SSC1 meshset -S -o 0 -t 500
+    - - P SSC1 C +MESHSET:SCAN_TIME,OK
+  - - SSC SSC1 meshset -S -o 1
+    - - P SSC1 C +MESHGET:SCAN_TIME,OK,500
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+  steps: |-
+    1. mesh init
+    2. set invalid scan time
+    3. set/get valid scan time
+  test environment: SSC_T1_MESH1
+  summary: mesh set/get passive scan time before mesh start
+  test point 2: mesh configuration test
+  CI ready: 'Yes'
+- ID: MESH_EST_0103
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC1 mesh -I
+    - - P SSC1 C +MESH:INIT,OK
+  - - SSC SSC1 meshset -Q -o 0 -i 15
+    - - P SSC1 C +MESHSET:QSIZE,FAIL
+  - - SSC SSC1 meshset -Q -o 0 -i 40
+    - - P SSC1 C +MESHSET:QSIZE,OK
+  - - SSC SSC1 meshset -Q -o 1
+    - - P SSC1 C +MESHGET:QSIZE,OK,40
+  expected result: |-
+    1. succeed
+    2. fail
+    3. succeed
+  steps: |-
+    1. mesh init
+    2. set invalid qsize
+    3. set/get valid qsize
+  test environment: SSC_T1_MESH1
+  summary: mesh set/get qsize before mesh start
+  test point 2: mesh configuration test
+  CI ready: 'Yes'
+- ID: MESH_EST_0104
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC1 mesh -I
+    - - P SSC1 C +MESH:INIT,OK
+  - - SSC SSC1 meshset -P -o 0 -n 0
+    - - P SSC1 C +MESHSET:PERCENT,FAIL
+  - - SSC SSC1 meshset -P -o 0 -n 110
+    - - P SSC1 C +MESHSET:PERCENT,FAIL
+  - - SSC SSC1 meshset -P -o 0 -n 100
+    - - P SSC1 C +MESHSET:PERCENT,OK
+  - - SSC SSC1 meshset -P -o 1
+    - - P SSC1 C +MESHGET:PERCENT,OK,1
+  expected result: |-
+    1. succeed
+    2. fail
+    3. succeed
+  steps: |-
+    1. mesh init
+    2. set invalid vote percentage
+    3. set/get valid vote percentage
+  test environment: SSC_T1_MESH1
+  summary: mesh set/get vote percentage before mesh start
+  test point 2: mesh configuration test
+  CI ready: 'Yes'
+- ID: MESH_EST_0105
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC1 mesh -I
+    - - P SSC1 C +MESH:INIT,OK
+#  - - SSC SSC1 meshset -Z -x 1 -o 0 -t 300 -l 3000
+#    - - P SSC1 C +MESHSET:ANNOUNCE,FAIL
+#  - - SSC SSC1 meshset -Z -x 1 -o 0 -t 500 -l 1000
+#    - - P SSC1 C +MESHSET:ANNOUNCE,FAIL
+  - - SSC SSC1 meshset -Z -x 1 -o 0 -t 500 -l 3000
+    - - P SSC1 C +MESHSET:ANNOUNCE,OK
+  - - SSC SSC1 meshset -Z -x 1 -o 1
+    - - P SSC1 C +MESHGET:ANNOUNCE,OK,500,3000
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+  steps: |-
+    1. mesh init
+    2. set invalid announce interval
+    3. set/get valid announce interval
+  test environment: SSC_T1_MESH1
+  summary: mesh set/get announce interval before mesh start
+  test point 2: mesh configuration test
+  CI ready: 'Yes'
+- ID: MESH_EST_0106
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC1 mesh -I
+    - - P SSC1 C +MESH:INIT,OK
+  - - SSC SSC1 meshset -J -o 0 -t 9
+    - - P SSC1 C +MESHSET:ASSOC,FAIL
+  - - SSC SSC1 meshset -J -o 0 -t 10
+    - - P SSC1 C +MESHSET:ASSOC,OK
+  - - SSC SSC1 meshset -J -o 1
+    - - P SSC1 C +MESHGET:ASSOC,OK,10
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+  steps: |-
+    1. mesh init
+    2. set invalid assoc expire
+    3. set/get valid assoc expire
+  test environment: SSC_T1_MESH1
+  summary: mesh set/get assoc expire before mesh start
+  test point 2: mesh configuration test
+  CI ready: 'Yes'
+- ID: MESH_EST_0107 #TODO: support max_layer>127
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC1 mesh -I
+    - - P SSC1 C +MESH:INIT,OK
+  - - SSC SSC1 meshset -L -o 0 -l 0
+    - - P SSC1 C +MESHSET:MLAYER,FAIL
+  - - SSC SSC1 meshset -L -o 0 -l -1
+    - - P SSC1 C +MESHSET:MLAYER,FAIL
+  - - SSC SSC1 meshset -L -o 0 -l 65537
+    - - P SSC1 C +MESHSET:MLAYER,FAIL
+#  - - SSC SSC1 meshset -L -o 0 -l 26
+#    - - P SSC1 C +MESHSET:MLAYER,FAIL
+  - - SSC SSC1 meshset -L -o 0 -l 1
+    - - P SSC1 C +MESHSET:MLAYER,OK
+  - - SSC SSC1 meshset -L -o 1
+    - - P SSC1 C +MESHGET:MLAYER,OK,1
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+  steps: |-
+    1. mesh init
+    2. set invalid max_layer
+    3. set/get valid max_layer
+  test environment: SSC_T1_MESH1
+  summary: mesh set/get max_lay test
+  test point 2: mesh configuration test
+  CI ready: 'Yes'
+- ID: MESH_EST_0108 #TODO: map_password can only be set in esp_mesh_set_config
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC1 mesh -I
+    - - P SSC1 C +MESH:INIT,OK
+  - - SSC SSC1 meshset -M -o 0 -t <map_auth_mode> -e <map_password> -l 10
+    - - P SSC1 C +MESHSET:MAP_AUTH,OK
+  - - SSC SSC1 meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC1 C +MESHSET:CFG,OK
+  - - SSC SSC1 meshset -o 0 -L -l 2
+    - - P SSC1 C +MESHSET:MLAYER,OK
+  - - SSC SSC1 meshset -P -o 0 -n 60
+    - - P SSC1 C +MESHSET:PERCENT,OK
+  - - SSC SSC1 meshset -o 0 -J -t 20
+    - - P SSC1 C +MESHSET:ASSOC,OK
+  - - SSC SSC1 meshset -o 0 -K -i 1
+    - - P SSC1 C +MESHSET:ALLOW_ROOTS,OK
+  - - SSC SSC1 meshset -S -o 0 -t 500
+    - - P SSC1 C +MESHSET:SCAN_TIME,OK
+  - - SSC SSC1 meshset -W -o 0 -t <duration_ms> -n <cnx_rssi> -l <select_rssi> -i <switch_rssi> -k <backoff_rssi>
+    - - P SSC1 C +MESHSET:SWITCH,OK
+  - - SSC SSC1 meshset -H -o 0 -t <threshold_high> -i <threshold_medium> -l <threshold_low>
+    - - P SSC1 C +MESHSET:THRESHOLD,OK
+  - - SSC SSC1 mesh -T
+    - - P SSC1 C +MESH:START,OK
+  - - DELAY 10
+    - - P SSC1 C MESH_EVENT_CONNECTED,1 C MESH_EVENT_ROOT_GOT_IP
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+  steps: |-
+    1. mesh init
+    2. set invalid max_layer
+    3. set/get valid max_layer
+  test environment: SSC_T1_MESH1
+  summary: mesh set all configurations in order
+  test point 2: mesh configuration test
+  CI ready: 'Yes'
+- ID: MESH_EST_0110
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC[1-2] mesh -I
+    - - P SSC[1-2] C +MESH:INIT,OK
+  - - SSC SSC[1-2] meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC[1-2] C +MESHSET:CFG,OK
+  - - SSC SSC[1-2] meshset -o 0 -L -l 1
+    - - P SSC[1-2] C +MESHSET:MLAYER,OK
+  - - SSC SSC[1-2] mesh -T
+    - - P SSC[1-2] C +MESH:START,OK
+  - - DELAY 10
+    - - P SSC[1-2] C MESH_EVENT_CONNECTED,1 C MESH_EVENT_ROOT_GOT_IP
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+  steps: |-
+    1. config two duts with max_lay = 0
+    2. start mesh
+    3. check .....
+  test environment: SSC_T2_MESH1
+  summary: two duts establish mesh network with max layer = 1
+  test point 2: mesh configuration test
+  CI ready: 'Yes'
+- ID: MESH_EST_0111
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC[1-2] mesh -I
+    - - P SSC[1-2] C +MESH:INIT,OK
+  - - SSC SSC[1-2] meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -e [<map_password>,<temp_string>] -i 0
+    - - P SSC[1-2] C +MESHSET:CFG,OK
+  - - SSC SSC1 mesh -T
+    - - P SSC1 C +MESH:START,OK
+  - - DELAY 10
+    - - P SSC1 C MESH_EVENT_CONNECTED,1 C MESH_EVENT_ROOT_GOT_IP
+  - - SSC SSC2 mesh -T
+    - - P SSC2 C +MESH:START,OK
+  - - DELAY 20
+    - - P PC_COM C DELAYDONE
+      - P SSC2 NC MESH_EVENT_CONNECTED
+      - P SSC1 NC MESH_EVENT_CHILD_CONNECTED
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+  steps: |-
+    1. config two duts with different map_password and ie not encrypted
+    2. start mesh
+    3. check not connected
+  test environment: SSC_T2_MESH1
+  summary: two duts establish mesh network with different map_password
+  test point 2: mesh configuration test
+  CI ready: 'Yes'
+- ID: MESH_EST_0112
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC[1-2] mesh -I
+    - - P SSC[1-2] C +MESH:INIT,OK
+  - - SSC SSC[1-2] meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i [0,1]
+    - - P SSC[1-2] C +MESHSET:CFG,OK
+  - - SSC SSC[1-2] mesh -T
+    - - P SSC[1-2] C +MESH:START,OK
+  - - DELAY 10
+    - - P SSC[1-2] C MESH_EVENT_CONNECTED,1 C MESH_EVENT_ROOT_GOT_IP
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+  steps: |-
+    1. config two duts with different ie_encrypt
+    2. start mesh
+    3. check both connected with router
+  test environment: SSC_T2_MESH1
+  summary: two duts establish mesh network with different ie_encrypt
+  test point 2: mesh configuration test
+  CI ready: 'Yes'
+- ID: MESH_EST_0113
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC[1-2] mesh -I
+    - - P SSC[1-2] C +MESH:INIT,OK
+  - - SSC SSC[1-2] meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      [<router_channel>,<wrong_channel>] -b <router_bssid> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC[1-2] C +MESHSET:CFG,OK
+  - - SSC SSC[1-2] mesh -T
+    - - P SSC[1-2] C +MESH:START,OK
+  - - DELAY 10
+    - - P SSC1 C MESH_EVENT_CONNECTED,1 C MESH_EVENT_ROOT_GOT_IP
+      - P SSC2 C MESH_EVENT_NO_PARENT_FOUND
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+  steps: |-
+    1. config two duts with different channel
+    2. start mesh
+    3. check dut1 connected and dut2 disconnected
+  test environment: SSC_T2_MESH1
+  summary: two duts establish mesh network with different channel
+  test point 2: mesh configuration test
+  CI ready: 'No'
+  #TODO: not work after v3.3
+- ID: MESH_EST_0114
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC[1-2] mesh -I
+    - - P SSC[1-2] C +MESH:INIT,OK
+  - - SSC SSC[1-2] meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC[1-2] C +MESHSET:CFG,OK
+  - - SSC SSC[1-2] meshset -o 0 -L -l [2,1]
+    - - P SSC[1-2] C +MESHSET:MLAYER,OK
+  - - SSC SSC1 mesh -T
+    - - P SSC1 C +MESH:START,OK
+  - - DELAY 10
+    - - P SSC1 C MESH_EVENT_CONNECTED,1 C MESH_EVENT_ROOT_GOT_IP
+  - - SSC SSC2 mesh -T
+    - - P SSC2 C +MESH:START,OK
+  - - DELAY 60
+    - - ''
+  - - SSC SSC[1-2] mesh -Q -o 2
+    - - P SSC[1-2] T topo
+  - - ASSERT
     - - ''
-  - - SSC SSC[1-<node_num>] mesh -Q -o 2
-    - - R SSC[1-<node_num>] T <node_num>
-  - - MESHTREE
-    - - R PC_COM RE "MESHTREE:%%s%20nodes"%%(<node_num>)
-  execution time: 0.0
   expected result: |-
     1. succeed
     2. succeed
     3. succeed
-  initial condition: DISABLED_1
-  level: Integration
-  module: Mesh
+    4. succeed
+  steps: |-
+    1. config two duts with different max_layer [2,1]
+    2. start dut1(max_layer=2) first
+    3. dut1 connected with router then start dut2(max_layer=1)
+    4. check .....
+  test environment: SSC_T2_MESH1
+  summary: (ASSERT) two duts establish mesh network with different max_layer[2,1]
+  test point 2: mesh configuration test
+  CI ready: 'No'
+  auto test: 'No'
+- ID: MESH_EST_0115
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC[1-3] mesh -I
+    - - P SSC[1-3] C +MESH:INIT,OK
+  - - SSC SSC[1-3] meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t 1 -e <map_password> -i <ie_encrypt>
+    - - P SSC[1-3] C +MESHSET:CFG,OK
+  - - SSC SSC[1-3] meshset -o 0 -L -l 2
+    - - P SSC[1-3] C +MESHSET:MLAYER,OK
+  - - SSC SSC1 mesh -T
+    - - P SSC1 C +MESH:START,OK
+  - - SSC SSC1 mesh -Q -o 3
+    - - ''
+  - - DELAY 5
+    - - P SSC1 C MESH_EVENT_CONNECTED,1 C MESH_EVENT_ROOT_GOT_IP
+  - - SSC SSC2 mesh -T
+    - - P SSC2 C +MESH:START,OK
+      - P SSC2 C MESH_EVENT_CONNECTED,2
+  - - SSC SSC3 mesh -T
+    - - P SSC3 C +MESH:START,OK
+  - - SSC SSC[1-3] mesh -Q -o 3
+    - - ''
+  - - DELAY 10
+    - - P SSC3 C MESH_EVENT_NO_PARENT_FOUND
+  - - DELAY 60
+    - - ''
+  - - SSC SSC[1-3] mesh -Q -o 2
+    - - P SSC[1-3] T topo
+# TODO: check more?
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+    4. succeed
+  steps: |-
+    1. config 3 duts with different max_layer=2 and max_connect=1
+    2. start dut1(max_layer=2) first
+    3. dut1 connected with router then start dut2(max_layer=1)
+    3. dut1 connected with router then start dut2(max_layer=1)
+    4. check .....
+  test environment: SSC_T3_MESH1
+  summary: 3 duts establish mesh network with max_connection 1 and max_layer 2
+  test point 2: mesh configuration test
+  CI ready: 'No'
+- ID: MESH_EST_0201
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC1 mesh -I
+    - - P SSC1 C +MESH:INIT,OK
+  - - SSC SSC1 meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC1 C +MESHSET:CFG,OK
+  - - SSC SSC1 mesh -T
+    - - P SSC1 C +MESH:START,OK
+  - - DELAY 10
+    - - P SSC1 C MESH_EVENT_CONNECTED,1 C MESH_EVENT_ROOT_GOT_IP
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+    4. succeed
   steps: |-
     1. mesh init
     2. mesh config
     3. mesh start
-  sub module: Network Establish
-  summary: set node with different tx power, then establish network
-  test environment: SSC_T50_1
-  test point 1: basic function
-  test point 2: mesh config
-  version: v1 (2017-7-20)
-- CI ready: 'Yes'
-  ID: MESH_EST_0313
-  SDK: ESP32_IDF
-  Test App: SSC_MESH
-  auto test: 'Yes'
-  category: Function
+    4. check mesh connected and layer is 1
+  test environment: SSC_T1_MESH1
+  summary: dut1 establish mesh network with simple configuration
+  test point 2: network establish test
+  CI ready: 'Yes'
+- ID: MESH_EST_0202
+  <<: *MESH_CASE
   cmd set:
   - ''
-  - - SSC SSC[1-<node_num>] mesh -I
-    - - P SSC[1-<node_num>] C +MESH:INITED
-  - - SSC SSC[1-<node_num>] mesh -P -g <mesh_id> -s <ap_ssid> -p <ap_password> -n
-      <ap_channel> -m <max_connect> -y <max_layer>
-    - - P SSC[1-<node_num>] C +MESH:CONFIG,OK
-  - - SSC SSC[1-2] mesh -T
-    - - P SSC[1-2] C +MESH:START
-  - - DELAY 30
+  - - LOOP 2 6 "[2,3]"
     - - ''
-  - - SSC SSC[1-2] mesh -Q -o 2
-    - - R SSC[1-2] T 2
-  - - MESHTREE
-    - - R PC_COM C MESHTREE:2%20nodes
-  - - SSC MNODE(0) reboot
-    - - P MNODE(0) C !!!ready!!!
-      - P MNODE(0,0) C MESH_EVENT_DISCONNECTED
+  - - SSC SSC1 reboot
+    - - P SSC1 C !!!ready!!!
+  - - SSC SSC1 op -S -o {%d}
+    - - P SSC1 C +MODE:OK
+  - - SSC SSC1 mesh -I
+    - - P SSC1 C +MESH:INIT,OK
+  - - SSC SSC1 meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC1 C +MESHSET:CFG,OK
+  - - SSC SSC1 mesh -T
+    - - P SSC1 C +MESH:START,OK
   - - DELAY 10
-    - - P MNODE(0,0) C MESH_EVENT_CONNECTED,1
-  execution time: 0.0
+    - - P SSC1 C MESH_EVENT_CONNECTED,1 C MESH_EVENT_ROOT_GOT_IP
   expected result: |-
     1. succeed
     2. succeed
     3. succeed
     4. succeed
-  initial condition: DISABLED_1
-  level: Integration
-  module: Mesh
+    5. succeed
   steps: |-
-    1. switch to sta+softap mode
+    1. set wifi op_mode (AP/APSTA)
     2. mesh init
     3. mesh config
     4. mesh start
-  sub module: Network Establish
-  summary: 2 nodes do mesh network establish,then reboot root
-  test environment: SSC_T50_1
-  test point 1: basic function
-  test point 2: mesh network establish
-  version: v1 (2017-7-20)
-- CI ready: 'Yes'
-  ID: MESH_EST_0317
-  SDK: ESP32_IDF
-  Test App: SSC_MESH
-  auto test: 'Yes'
-  category: Function
+    5. check mesh connected and layer is 1
+  test environment: SSC_T1_MESH1
+  summary: dut1 start mesh in different wifi mode (AP/APSTA)
+  test point 2: network establish test
+  CI ready: 'No'
+#TODO: add case: start mesh with station connected
+- ID: MESH_EST_0203 #TODO: which step call wifi scan
+  <<: *MESH_CASE
   cmd set:
   - ''
-  - - SSC SSC[1-<node_num>] mesh -I
-    - - P SSC[1-<node_num>] C +MESH:INITED
-  - - SSC SSC[1-<node_num>] mesh -P -g <mesh_id> -s <ap_ssid> -p <ap_password> -n
-      <ap_channel> -m 1 -y 15
-    - - P SSC[1-<node_num>] C +MESH:CONFIG,OK
-  - - SSC SSC[1-15] mesh -T
-    - - P SSC[1-15] C +MESH:START
-  - - DELAY <delay_time>
-    - - ''
-  - - SSC SSC[1-15] mesh -Q -o 2
-    - - R SSC[1-15] T 15
-  - - MESHTREE
-    - - R PC_COM C MESHTREE:15%20nodes
-  execution time: 0.0
+  - - SSC SSC1 sta -S
+    - - P SSC1 C +SCAN_DONE:OK
+  - - SSC SSC1 mesh -I
+    - - P SSC1 C +MESH:INIT,OK
+  - - SSC SSC1 meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC1 C +MESHSET:CFG,OK
+  - - SSC SSC1 mesh -T
+    - - P SSC1 C +MESH:START,OK
+  - - DELAY 10
+    - - P SSC1 C MESH_EVENT_CONNECTED,1 C MESH_EVENT_ROOT_GOT_IP
   expected result: |-
     1. succeed
     2. succeed
     3. succeed
     4. succeed
     5. succeed
-  initial condition: DISABLED_1
-  level: Integration
-  module: Mesh
   steps: |-
-    1. switch to sta+softap mode
+    1. wifi scan
     2. mesh init
-    3. mesh config: set mesh layer=15
-    4. start 15 nodes
-    5. check mesh tree
-  sub module: Network Establish
-  summary: set special mesh tree which layer=15
-  test environment: SSC_T50_1
-  test point 1: basic function
-  test point 2: mesh network establish
-  version: v1 (2017-7-20)
-- CI ready: 'No'
-  ID: MESH_EST_0404
-  SDK: ESP32_IDF
-  Test App: SSC_MESH
-  auto test: 'Yes'
-  category: Function
+    3. mesh config
+    4. mesh start
+    5. check mesh connected and layer is 1
+  test environment: SSC_T1_MESH1
+  summary: dut1 start mesh during wifi scan
+  test point 2: network establish test
+  CI ready: 'No'
+- ID: MESH_EST_0204
+  <<: *MESH_CASE
   cmd set:
   - ''
-  - - SSC MNODE(0) reboot
-    - - P MNODE(0) C !!!ready!!!
-  - - DELAY 2
-    - - ''
-  - - SSC MNODE(0) mesh -I
-    - - P MNODE(0) C +MESH:INITED
-  - - SSC MNODE(0) mesh -A -o 9 -t <auth_mode> -s <map_password>
-    - - P MNODE(0) C +MESH_SET_AP_AUTH_MODE:OK C +MESH_SET_AP_AUTH_PWD:OK
-  - - SSC MNODE(0) mesh -P -g <mesh_id> -s <ap_ssid> -p <ap_password> -n
-      <ap_channel> -m <max_connect> -y <max_layer>
-    - - P MNODE(0) C +MESH:CONFIG,OK
-  - - SSC MNODE(0) mesh -T
-    - - P MNODE(0) C +MESH:START
-  - - DELAY <delay_time>
-    - - ''
-  - - SSC SSC[1-<node_num>] mesh -Q -o 2
-    - - R SSC[1-<node_num>] T <node_num>
-  - - MESHTREE
-    - - R PC_COM RE "MESHTREE:%%s%20nodes"%%(<node_num>)
-  execution time: 0.0
+  - - SSC SSC1 sta -C -s <router_ssid> -p <router_password>
+    - - P SSC1 C +JAP:CONNECTED
+  - - SSC SSC1 mesh -I
+    - - P SSC1 C +MESH:INIT,OK
+  - - SSC SSC1 meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC1 C +MESHSET:CFG,OK
+  - - SSC SSC1 mesh -T
+    - - P SSC1 C +MESH:START,OK
+  - - DELAY 10
+    - - P SSC1 C MESH_EVENT_CONNECTED,1 C MESH_EVENT_ROOT_GOT_IP
   expected result: |-
     1. succeed
     2. succeed
     3. succeed
     4. succeed
     5. succeed
-  initial condition: ENABLED_2
-  level: Integration
-  module: Mesh
+  steps: |-
+    1. connect to router
+    2. mesh init
+    3. mesh config
+    4. mesh start
+    5. check mesh connected and layer is 1
+  test environment: SSC_T1_MESH1
+  summary: dut1 start mesh after wifi connected with router
+  test point 2: network establish test
+  CI ready: 'Yes'
+#TODO: start during connecting to router
+- ID: MESH_EST_0205
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC1 mesh -I
+    - - P SSC1 C +MESH:INIT,OK
+  - - SSC SSC1 meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC1 C +MESHSET:CFG,OK
+  - - SSC SSC1 mesh -T
+    - - P SSC1 C +MESH:START,OK
+  - - DELAY 10
+    - - P SSC1 C MESH_EVENT_CONNECTED,1 C MESH_EVENT_ROOT_GOT_IP
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+    4. succeed
   steps: |-
     1. mesh init
-    2. mesh config
+    2. mesh config with max_layer 1
     3. mesh start
-    4. save value
-    5. all nodes reboot
-  sub module: Network Establish
-  summary: after network is establish, disable root,wait some time, start the root node again
-  test environment: SSC_T50_1
-  test point 1: basic function
-  test point 2: mesh network re-establish
-  version: v1 (2017-7-20)
-- CI ready: 'No'
-  ID: MESH_EST_0405
-  SDK: ESP32_IDF
-  Test App: SSC_MESH
-  auto test: 'Yes'
-  category: Function
+    4. check mesh connected and layer is 1
+  test environment: SSC_T1_MESH1
+  summary: dut1 start mesh with max layer 1, establish mesh network
+  test point 2: network establish test
+  CI ready: 'No'
+- ID: MESH_EST_0206
+  <<: *MESH_CASE
   cmd set:
   - ''
-  - - SSC MNODE(0) reboot
-    - - P MNODE(0) C !!!ready!!!
-  - - DELAY <delay_time>
+  - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip>'
+    - - P SOC_COM L OK
+  - - SSC MNODE(0) mesh -S -o 0 -i <pc_ip> -t <test_tcp_port1>
+    - - P MNODE(0) C +CONNECT,OK
+      - P SOC1 C ACCEPT
+  - - SOC SOC1 MACCEPT GSOC1
+    - - P SOC_COM L OK
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. mesh network already established
+    2. root connect to TCP server
+  initial condition: MESH_INIT1
+  test environment: SSC_T1_MESH2
+  summary: dut1 establish mesh network, then root connect to TCP server
+  test point 2: network establish test
+  CI ready: 'Yes'
+- ID: MESH_EST_0207
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC[1-2] mesh -I
+    - - P SSC[1-2] C +MESH:INIT,OK
+  - - SSC SSC[1-2] meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC[1-2] C +MESHSET:CFG,OK
+  - - SSC SSC[1-2] mesh -T
+    - - P SSC[1-2] C +MESH:START,OK
+  - - DELAY 60
     - - ''
-  - - SSC SSC[1-<node_num>] mesh -Q -o 2
-    - - R SSC[1-<node_num>] T <node_num>
-  - - MESHTREE
-    - - R PC_COM RE "MESHTREE:%%s%20nodes"%%(<node_num-1>)
-  execution time: 0.0
+  - - VALUE <tree_node_num> <node_num>
+    - - R PC_COM L OK
+  - *mesh_check_tree_num
+  - *mesh_tree_stably
   expected result: |-
     1. succeed
     2. succeed
     3. succeed
     4. succeed
-    5. succeed
-  initial condition: ENABLED_2
-  level: Integration
-  module: Mesh
   steps: |-
     1. mesh init
     2. mesh config
     3. mesh start
-    4. save value
-    5. all nodes reboot
-  sub module: Network Establish
-  summary: after network is establish, disable root, check mesh network
-  test environment: SSC_T50_1
-  test point 1: basic function
-  test point 2: mesh network re-establish
-  version: v1 (2017-7-20)
+    4. check mesh tree established and stable
+  test environment: SSC_T2_MESH1
+  summary: two duts start mesh together to establish mesh network
+  test point 2: network establish test
+  CI ready: 'Yes'
+- ID: MESH_EST_0208
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC[1-2] mesh -I
+    - - P SSC[1-2] C +MESH:INIT,OK
+  - - SSC SSC[1-2] meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i 0
+    - - P SSC[1-2] C +MESHSET:CFG,OK
+  - - SSC SSC[1-2] mesh -T
+    - - P SSC[1-2] C +MESH:START,OK
+  - - DELAY 60
+    - - ''
+  - - VALUE <tree_node_num> <node_num>
+    - - R PC_COM L OK
+  - *mesh_check_tree_num
+  - *mesh_tree_stably
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+    4. succeed
+  steps: |-
+    1. mesh init
+    2. mesh config without ie_encrypt
+    3. mesh start
+    4. check mesh tree established and stable
+  test environment: SSC_T2_MESH1
+  summary: two duts start mesh without ie_encrypt, establish mesh network
+  test point 2: network establish test
+  CI ready: 'Yes'
+- ID: MESH_EST_0209
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC[1-2] mesh -I
+    - - P SSC[1-2] C +MESH:INIT,OK
+  - - SSC SSC[1-2] meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -i <ie_encrypt>
+    - - P SSC[1-2] C +MESHSET:CFG,OK
+  - - SSC SSC[1-2] mesh -T
+    - - P SSC[1-2] C +MESH:START,OK
+  - - DELAY 60
+    - - ''
+  - - VALUE <tree_node_num> <node_num>
+    - - R PC_COM L OK
+  - *mesh_check_tree_num
+  - *mesh_tree_stably
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+    4. succeed
+  steps: |-
+    1. mesh init
+    2. mesh config without map_password
+    3. mesh start
+    4. check mesh tree established and stable
+  test environment: SSC_T2_MESH1
+  summary: two duts start mesh without map_password, establish mesh network
+  test point 2: network establish test
+  CI ready: 'Yes'
+- ID: MESH_EST_0210
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC[1-2] mesh -I
+    - - P SSC[1-2] C +MESH:INIT,OK
+  - - SSC SSC[1-2] meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC[1-2] C +MESHSET:CFG,OK
+  - - SSC SSC1 mesh -T
+    - - P SSC1 C +MESH:START,OK
+  - - DELAY 10
+    - - P SSC1 C MESH_EVENT_CONNECTED,1 C MESH_EVENT_ROOT_GOT_IP
+  - - SSC SSC2 mesh -T
+    - - P SSC2 C +MESH:START,OK C MESH_EVENT_CONNECTED,2
+      - P SSC1 C MESH_EVENT_CHILD_CONNECTED
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+    4. succeed
+  steps: |-
+    1. start mesh on dut1
+    2. dut1 connected with router
+    3. start mesh on dut2
+    4. dut2 connected with dut1
+  test environment: SSC_T2_MESH1
+  summary: dut2 start mesh after dut1 connected, establish mesh network
+  test point 2: network establish test
+  CI ready: 'Yes'
+- ID: MESH_EST_0211
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC[1-2] mesh -I
+    - - P SSC[1-2] C +MESH:INIT,OK
+  - - SSC SSC[1-2] meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC[1-2] C +MESHSET:CFG,OK
+  - - SSC SSC1 mesh -T
+    - - P SSC1 C +MESH:START,OK
+  - - DELAY 10
+    - - P SSC1 C MESH_EVENT_CONNECTED,1 C MESH_EVENT_ROOT_GOT_IP
+  - - DELAY 10 30
+    - - ''
+  - - SSC SSC2 mesh -T
+    - - P SSC2 C +MESH:START,OK C MESH_EVENT_CONNECTED,2
+      - P SSC1 C MESH_EVENT_CHILD_CONNECTED
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+    4. succeed
+  steps: |-
+    1. start mesh on dut1
+    2. dut1 connected with router
+    3. delay some time then start mesh on dut2
+    4. dut2 connected with dut1
+  test environment: SSC_T2_MESH1
+  summary: dut2 start mesh after dut1 connected more than 10s, establish mesh network
+  test point 2: network establish test
+  CI ready: 'Yes'
+- ID: MESH_EST_0212
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC[1-2] mesh -I
+    - - P SSC[1-2] C +MESH:INIT,OK
+  - - SSC SSC[1-2] meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC[1-2] C +MESHSET:CFG,OK
+  - - SSC SSC[1-2] meshset -o 0 -L -l 1
+    - - P SSC[1-2] C +MESHSET:MLAYER,OK
+  - - SSC SSC[1-2] mesh -T
+    - - P SSC[1-2] C +MESH:START,OK
+  - - DELAY 60
+    - - ''
+  - - ASSERT
+    - - ''
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+  steps: |-
+    1. config two duts with max_lay = 1
+    2. start mesh
+    3. check .....
+  sub module: Establish
+  test environment: SSC_T2_MESH1
+  summary: (ASSERT) 2 duts start mesh with max_layer=1, establish mesh network
+  test point 2: network establish test
+  CI ready: 'No'
+  auto test: 'No'
+- ID: MESH_EST_0213
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - MSSC SSC[1-12] mesh -I
+    - - P SSC[1-12] C +MESH:INIT,OK
+  - - MSSC SSC[1-12] meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t 10 -e <map_password> -i <ie_encrypt>
+    - - P SSC[1-12] C +MESHSET:CFG,OK
+  - - MSSC SSC[1-12] meshset -o 0 -L -l 2
+    - - P SSC[1-12] C +MESHSET:MLAYER,OK
+  - - MSSC SSC[1-11] mesh -T
+    - - P SSC[1-11] C +MESH:START,OK
+  - - DELAY 60
+    - - ''
+  - - VALUE <tree_node_num> <node_num>-1
+    - - R PC_COM L OK
+  - *mesh_check_tree_num
+  - *mesh_tree_stably
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+  steps: |-
+    1. config 11 duts with max_layer=2 and mac_connection=10
+    2. 11 duts start mesh
+    3. check mesh network establish
+  sub module: Establish
+  test environment: SSC_T12_MESH1
+  summary: establish special mesh_network with max_lay=2 and max_connection=10
+  test point 2: network establish test
+  CI ready: 'No'
+- ID: MESH_EST_0214
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - MSSC SSC[1-7] mesh -I
+    - - P SSC[1-7] C +MESH:INIT,OK
+  - - MSSC SSC[1-7] meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t 2 -e <map_password> -i <ie_encrypt>
+    - - P SSC[1-7] C +MESHSET:CFG,OK
+  - - MSSC SSC[1-7] meshset -o 0 -L -l 3
+    - - P SSC[1-7] C +MESHSET:MLAYER,OK
+  - - MSSC SSC[1-7] mesh -T
+    - - P SSC[1-7] C +MESH:START,OK
+  - - DELAY 60
+    - - ''
+  - - VALUE <tree_node_num> 7
+    - - R PC_COM L OK
+  - *mesh_check_tree_num
+  - *mesh_tree_stably
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+  steps: |-
+    1. config 7 duts with max_lay=3 and max_connection=2
+    2. 7 duts start mesh
+    3. check mesh network establish
+  sub module: Establish
+  test environment: SSC_T12_MESH1
+  summary: set max_conn=2 and max_layer=3, establish full mesh tree
+  test point 2: network establish test
+  CI ready: 'No'
+# TODO: full tree, destroy and re-establish
+- ID: MESH_EST_0215
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - MSSC SSC[1-25] mesh -I
+    - - P SSC[1-25] C +MESH:INIT,OK
+  - - MSSC SSC[1-25] meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t 1 -e <map_password> -i <ie_encrypt>
+    - - P SSC[1-25] C +MESHSET:CFG,OK
+  - - MSSC SSC[1-25] meshset -o 0 -L -l 25
+    - - P SSC[1-25] C +MESHSET:MLAYER,OK
+  - - MSSC SSC[1-25] mesh -T
+    - - P SSC[1-25] C +MESH:START,OK
+  - - DELAY 120
+    - - ''
+  - - VALUE <tree_node_num> 25
+    - - R PC_COM L OK
+  - *mesh_check_tree_num
+  - *mesh_tree_stably
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+  steps: |-
+    1. config 25 duts with max_connection=1
+    2. 25 duts start mesh
+    3. check mesh network establish
+  test environment: SSC_T50_MESH1
+  summary: establish special mesh_network with max_connection=1 and max_layer=25
+  test point 2: network establish test
+  CI ready: 'Yes'
+- ID: MESH_EST_0216
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - MSSC SSC[1-<node_num>] mesh -I
+    - - P SSC[1-<node_num>] C +MESH:INIT,OK
+  - - MSSC SSC[1-<node_num>] meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC[1-<node_num>] C +MESHSET:CFG,OK
+  - - MSSC SSC[1-<node_num>] meshset -o 0 -L -l <max_layer>
+    - - P SSC[1-<node_num>] C +MESHSET:MLAYER,OK
+  - - MSSC SSC[1-<node_num>] mesh -T
+    - - P SSC[1-<node_num>] C +MESH:START,OK
+  - - DELAY 60
+    - - ''
+  - - VALUE <tree_node_num> <node_num>
+    - - R PC_COM L OK
+  - *mesh_check_tree_num
+  - *mesh_tree_stably
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+  steps: |-
+    1. config all duts with simple configuration
+    2. all duts start mesh
+    3. check mesh network establish
+  test environment: SSC_T50_MESH1
+  summary: multiple nodes establish mesh_network simple configuration
+  test point 2: network establish test
+  CI ready: 'Yes'
+
+- ID: MESH_EST_0301
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0) reboot
+    - - P MNODE(0) C !!!ready!!!
+      - P MNODE(0,0) C MESH_EVENT_DISCONNECTED
+  - - DELAY 5
+    - - P MNODE(0,0) C MESH_EVENT_CONNECTED,1 C MESH_EVENT_ROOT_GOT_IP
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. reboot root
+    2. layer2 disconnected and then become new root
+  initial condition: MESH_INIT1
+  test environment: SSC_T2_MESH1
+  summary: 2 duts establish mesh network, then reboot root
+  test point 2: network destroy test
+  CI ready: 'Yes'
+- ID: MESH_EST_0302
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0,0) mesh -I -o 1
+    - - P MNODE(0,0) C MESH:DEINIT,OK
+      - P MNODE(0) C MESH_EVENT_CHILD_DISCONNECTED
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. layer2 stop mesh
+    2. root find child leave
+  initial condition: MESH_INIT1
+  test environment: SSC_T2_MESH1
+  summary: 2 duts establish mesh network, then layer2 stop mesh
+  test point 2: network destroy test
+  CI ready: 'Yes'
+- ID: MESH_EST_0303
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - FREBOOT MNODE(0)
+    - - P MNODE(0) C !!!ready!!!
+  - - DELAY 5
+    - - P MNODE(0,0) C MESH_EVENT_DISCONNECTED
+  - - DELAY 15
+    - - P MNODE(0,0) C MESH_EVENT_CONNECTED,1 C MESH_EVENT_ROOT_GOT_IP
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. power reset root
+    2. layer2 disconnected and then become new root
+  initial condition: MESH_INIT1
+  test environment: SSC_T2_MESH1
+  summary: 2 duts establish mesh network, then power reset root
+  test point 2: network destroy test
+  CI ready: 'Yes'
+- ID: MESH_EST_0304
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - FREBOOT MNODE(0)
+    - - P MNODE(0) C !!!ready!!!
+  - - SSC MNODE(0) op -S -o 2
+    - - P MNODE(0) C +MODE:OK
+      - P MNODE(0,0) C MESH_EVENT_DISCONNECTED
+  - - DELAY 15
+    - - P MNODE(0,0) C MESH_EVENT_CONNECTED,1
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. power reset root and
+    2. layer2 disconnected and then become new root
+  initial condition: MESH_INIT1
+  test environment: SSC_T2_MESH1
+  summary: 2 duts establish mesh network, power reset root and switch to softAP mode
+  test point 2: network destroy test
+  CI ready: 'Yes'
+- ID: MESH_EST_0305
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0) mesh -V -o 2
+    - - P MNODE(0) C MESH:SAVE,OK
+  - - FREBOOT MNODE(0)
+    - - P MNODE(0) C !!!ready!!!
+  - - SSC MNODE(0) mesh -T -o 2
+    - - P MNODE(0) C MESH:START,OK
+  - - DELAY 10
+    - - P MNODE(0) C MESH_EVENT_CONNECTED,1
+      - P MNODE(0,0) C MESH_EVENT_CONNECTED,2
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. root set auto start mesh and power reboot
+    2. it become root again and the other node join
+  initial condition: MESH_INIT1
+  test environment: SSC_T2_MESH1
+  summary: 2 duts establish mesh network, root restart mesh, it still root
+  test point 2: network destroy test
+  CI ready: 'No'
+  #TODO: root still root after restart will not run on CI
+- ID: MESH_EST_0306
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - FREBOOT MNODE(0,0)
+    - - P MNODE(0,0) C !!!ready!!!
+      - P MNODE(0) C MESH_EVENT_CHILD_DISCONNECTED
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. power reset layer2
+    2. root find child leave
+  initial condition: MESH_INIT1
+  test environment: SSC_T2_MESH1
+  summary: 2 duts establish mesh network, then power reset layer2
+  test point 2: network destroy test
+  CI ready: 'Yes'
+- ID: MESH_EST_0307
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0) mesh -I -o 1
+    - - P MNODE(0) C MESH:DEINIT,OK
+  - - DELAY <delay_time>
+    - - ''
+  - - VALUE <tree_node_num> <node_num>-1
+    - - R PC_COM L OK
+  - *mesh_check_tree_num
+  - *mesh_tree_stably
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. root mesh stop
+    2. others re-establish network
+  initial condition: MESH_INIT1
+  test environment: SSC_T50_MESH1
+  summary: multiple nodes, root mesh stop
+  test point 2: network destroy test
+  CI ready: 'Yes'
+- ID: MESH_EST_0308
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0) reboot
+    - - P MNODE(0) C !!!ready!!!
+  - - DELAY <delay_time>
+    - - ''
+  - - VALUE <tree_node_num> <node_num>-1
+    - - R PC_COM L OK
+  - *mesh_check_tree_num
+  - *mesh_tree_stably
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. reboot root
+    2. others re-establish network
+  initial condition: MESH_INIT1
+  test environment: SSC_T50_MESH1
+  summary: multiple nodes, reboot root
+  test point 2: network destroy test
+  CI ready: 'No'
+- ID: MESH_EST_0309
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - FREBOOT MNODE(0)
+    - - P MNODE(0) C !!!ready!!!
+  - - DELAY <delay_time>
+    - - ''
+  - - VALUE <tree_node_num> <node_num>-1
+    - - R PC_COM L OK
+  - *mesh_check_tree_num
+  - *mesh_tree_stably
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. power reboot root
+    2. others re-establish network
+  initial condition: MESH_INIT1
+  test environment: SSC_T50_MESH1
+  summary: multiple nodes, power reboot root
+  test point 2: network destroy test
+  CI ready: 'Yes'
+- ID: MESH_EST_0310
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0) mesh -V -o 2
+    - - P MNODE(0) C MESH:SAVE,OK
+  - - FREBOOT MNODE(0)
+    - - P MNODE(0) C !!!ready!!!
+  - - SSC MNODE(0) mesh -T -o 2
+    - - P MNODE(0) C MESH:START,OK
+  - - DELAY 10
+    - - P MNODE(0) C MESH_EVENT_CONNECTED,1 C MESH_EVENT_ROOT_GOT_IP
+  - - DELAY <delay_time>
+    - - ''
+  - - VALUE <tree_node_num> <node_num>
+    - - R PC_COM L OK
+  - *mesh_check_tree_num
+  - *mesh_tree_stably
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. root set auto start mesh and power reboot
+    2. it become root again and the other node join
+  initial condition: MESH_INIT1
+  test environment: SSC_T50_MESH1
+  summary: multiple nodes establish mesh network, root restart mesh, it still root
+  test point 2: network destroy test
+  CI ready: 'No'
+- ID: MESH_EST_0311
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0,0) mesh -I -o 1
+    - - P MNODE(0,0) C MESH:DEINIT,OK
+  - - DELAY <delay_time>
+    - - ''
+  - - VALUE <tree_node_num> <node_num>-1
+    - - R PC_COM L OK
+  - *mesh_check_tree_num
+  - *mesh_tree_stably
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. one of layer2 nodes mesh deinit
+    2. others re-establish network
+  initial condition: MESH_INIT1
+  test environment: SSC_T50_MESH1
+  summary: multiple nodes, one of layer2 nodes mesh deinit
+  test point 2: network destroy test
+  CI ready: 'No'
+- ID: MESH_EST_0313
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0,0) reboot
+    - - P MNODE(0,0) C !!!ready!!!
+  - - DELAY <delay_time>
+    - - ''
+  - - VALUE <tree_node_num> <node_num>-1
+    - - R PC_COM L OK
+  - *mesh_check_tree_num
+  - *mesh_tree_stably
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. reboot one of layer2 nodes
+    2. others re-establish network
+  initial condition: MESH_INIT1
+  test environment: SSC_T50_MESH1
+  summary: multiple nodes, reboot one of layer2 nodes
+  test point 2: network destroy test
+  CI ready: 'No'
+- ID: MESH_EST_0314
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - FREBOOT MNODE(0,0)
+    - - P MNODE(0,0) C !!!ready!!!
+  - - DELAY <delay_time>
+    - - ''
+  - - VALUE <tree_node_num> <node_num>-1
+    - - R PC_COM L OK
+  - *mesh_check_tree_num
+  - *mesh_tree_stably
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. reboot one of layer2 nodes
+    2. others re-establish network
+  initial condition: MESH_INIT1
+  test environment: SSC_T50_MESH1
+  summary: multiple nodes, power reset one of layer2 nodes
+  test point 2: network destroy test
+  CI ready: 'No'
+- ID: MESH_EST_0315
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0,-1) mesh -I -o 1
+    - - P MNODE(0,-1) C MESH:DEINIT,OK
+  - - DELAY <delay_time>
+    - - ''
+  - - VALUE <tree_node_num> <node_num>-1
+    - - R PC_COM L OK
+  - *mesh_check_tree_num
+  - *mesh_tree_stably
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. one of leaf nodes mesh stop
+    2. others re-establish network
+  initial condition: MESH_INIT1
+  test environment: SSC_T50_MESH1
+  summary: multiple nodes, one of leaf nodes mesh stop
+  test point 2: network destroy test
+  CI ready: 'No'
+- ID: MESH_EST_0316
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0,-1) reboot
+    - - P MNODE(0,-1) C !!!ready!!!
+  - - DELAY <delay_time>
+    - - ''
+  - - VALUE <tree_node_num> <node_num>-1
+    - - R PC_COM L OK
+  - *mesh_check_tree_num
+  - *mesh_tree_stably
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. reboot one of leaf nodes
+    2. others re-establish network
+  initial condition: MESH_INIT1
+  test environment: SSC_T50_MESH1
+  summary: multiple nodes, reboot one of leaf nodes
+  test point 2: network destroy test
+  CI ready: 'No'
+- ID: MESH_EST_0317
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - FREBOOT MNODE(0,-1)
+    - - P MNODE(0,-1) C !!!ready!!!
+  - - DELAY <delay_time>
+    - - ''
+  - - VALUE <tree_node_num> <node_num>-1
+    - - R PC_COM L OK
+  - *mesh_check_tree_num
+  - *mesh_tree_stably
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. reboot one of leaf nodes
+    2. others re-establish network
+  initial condition: MESH_INIT1
+  test environment: SSC_T50_MESH1
+  summary: multiple nodes, power reset one of leaf nodes
+  test point 2: network destroy test
+  CI ready: 'No'
+- ID: MESH_EST_0318
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0) mesh -V -o 2
+    - - P MNODE(0) C MESH:SAVE,OK
+  - - SSC MNODE(0) reboot
+    - - P MNODE(0) C !!!ready!!!
+  - - SSC MNODE(0) mesh -T -o 2
+    - - P MNODE(0) C MESH:START,OK
+  - - DELAY 10
+    - - P MNODE(0) C MESH_EVENT_CONNECTED,1
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. root restart mesh with same configuration
+    2. re-establish network
+  initial condition: MESH_INIT1
+  test environment: SSC_T50_MESH1
+  summary: multiple nodes, root reboot and start mesh, it still root
+  test point 2: network destroy test
+  CI ready: 'No'
+- ID: MESH_EST_0319
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0) mesh -V -o 2
+    - - P MNODE(0) C MESH:SAVE,OK
+  - - FREBOOT MNODE(0)
+    - - P MNODE(0) C !!!ready!!!
+  - - SSC MNODE(0) mesh -T -o 2
+    - - P MNODE(0) C MESH:START,OK
+  - - DELAY 10
+    - - P MNODE(0) C MESH_EVENT_CONNECTED,1
+  - - DELAY <delay_time>
+    - - ''
+  - - VALUE <tree_node_num> <node_num>
+    - - R PC_COM L OK
+  - *mesh_check_tree_num
+  - *mesh_tree_stably
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. root restart mesh with same configuration
+    2. re-establish network
+  initial condition: MESH_INIT1
+  test environment: SSC_T50_MESH1
+  summary: multiple nodes, root power reset and start mesh, it still root
+  test point 2: network destroy test
+  CI ready: 'No'
+- ID: MESH_EST_0320
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0) mesh -V -o 2
+    - - P MNODE(0) C MESH:SAVE,OK
+  - - SSC MNODE(0) reboot
+    - - P MNODE(0) C !!!ready!!!
+  - - DELAY 1 5
+    - - ''
+  - - SSC MNODE(0) mesh -T -o 2
+    - - P MNODE(0) C MESH:START,OK
+  - - DELAY <delay_time>
+    - - ''
+  - - VALUE <tree_node_num> <node_num>
+    - - R PC_COM L OK
+  - *mesh_check_tree_num
+  - *mesh_tree_stably
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. root restart mesh with same configuration
+    2. re-establish network
+  initial condition: MESH_INIT1
+  test environment: SSC_T50_MESH1
+  summary: multiple nodes, root reboot and wait some time, then start mesh
+  test point 2: network destroy test
+  CI ready: 'No'
+- ID: MESH_EST_0321
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC1 op -S -o 2
+    - - P SSC1 C +MODE:OK
+  - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -n <router_channel> -t <target_auth_enum>
+    - - R SSC1 C +SAP:OK
+  - - SSC SSC2 mesh -I
+    - - P SSC2 C +MESH:INIT,OK
+  - - SSC SSC2 meshset -G -o 0 -m <mesh_id> -s <target_ssid> -p <target_password> -n
+      <router_channel> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC2 C +MESHSET:CFG,OK
+  - - SSC SSC2 mesh -T
+    - - P SSC2 C +MESH:START,OK
+      - P SSC2 C MESH_EVENT_CONNECTED,1
+  - - FREBOOT SSC1
+    - - P SSC1 C !!!ready!!!
+  - - DELAY 10
+    - - P SSC2 C MESH_EVENT_DISCONNECTED
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. set dut2 ap mode, dut1 start mesh and connect to dut2
+    2. power reset dut2 (station mode), check dut1 disconnected
+  initial condition: MESH_DEINIT_STA
+  test environment: SSC_T2_MESH1
+  summary: power off router, check root disconnected
+  test point 2: network destroy test
+  CI ready: 'Yes'
+- ID: MESH_EST_0322
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC1 op -S -o 2
+    - - P SSC1 C +MODE:OK
+  - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -n <router_channel> -t <target_auth_enum>
+    - - R SSC1 C +SAP:OK
+  - - SSC SSC2 mesh -I
+    - - P SSC2 C +MESH:INIT,OK
+  - - SSC SSC2 meshset -G -o 0 -m <mesh_id> -s <target_ssid> -p <target_password> -n
+      <router_channel> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC2 C +MESHSET:CFG,OK
+  - - SSC SSC2 mesh -T
+    - - P SSC2 C +MESH:START,OK
+      - P SSC2 C MESH_EVENT_CONNECTED,1
+  - - FREBOOT SSC1
+    - - P SSC1 C !!!ready!!!
+  - - DELAY 10
+    - - P SSC2 C MESH_EVENT_DISCONNECTED
+  - - DELAY 30
+    - - ''
+  - - SSC SSC1 op -S -o 2
+    - - P SSC1 C +MODE:OK
+      - P SSC2 C MESH_EVENT_CONNECTED,1
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. set dut2 ap mode, dut1 start mesh and connect to dut2
+    2. power reset dut2 (station mode), check dut1 disconnected
+  initial condition: MESH_DEINIT_STA
+  test environment: SSC_T2_MESH1
+  summary: power off router for a while, check root connected
+  test point 2: network destroy test
+  CI ready: 'No'
+- ID: MESH_EST_0323
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC1 op -S -o 2
+    - - P SSC1 C +MODE:OK
+  - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -n <router_channel> -t <target_auth_enum>
+    - - R SSC1 C +SAP:OK
+  - - SSC SSC2 mesh -I
+    - - P SSC2 C +MESH:INIT,OK
+  - - SSC SSC2 meshset -G -o 0 -m <mesh_id> -s <target_ssid> -p <target_password> -n
+      <router_channel> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC2 C +MESHSET:CFG,OK
+  - - SSC SSC2 mesh -T
+    - - P SSC2 C +MESH:START,OK
+      - P SSC2 C MESH_EVENT_CONNECTED,1
+  - - SSC SSC1 ap -K -a 1
+    - - P SSC1 C +AP:KICK
+      - P SSC2 C MESH_EVENT_DISCONNECTED C MESH_EVENT_CONNECTED
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. set dut2 ap mode, dut1 start mesh and connect to dut2
+    2. router deauth root, check dut1 disconnected then connected
+  initial condition: MESH_DEINIT_STA
+  test environment: SSC_T2_MESH1
+  summary: router deauth root, check root disconnected then connected
+  test point 2: network destroy test
+  CI ready: 'Yes'
+#TODO: waive root
+- ID: MESH_EST_0324
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0) mesh -W -o 0 -t 100
+    - - P MNODE(0) C +MESH:VOTE,OK
+  - - DELAY 1 3
+    - - ''
+  - - FREBOOT MNODE(0)
+    - - P MNODE(0) C !!!ready!!!
+  - - DELAY <delay_time>
+    - - ''
+  - - VALUE <tree_node_num> <node_num>-1
+    - - R PC_COM L OK
+  - *mesh_check_tree_num
+  - *mesh_tree_stably
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. waive_root and power reset root
+    2. re-establish network
+  initial condition: MESH_INIT1
+  test environment: SSC_T50_MESH1
+  summary: multiple nodes, root waive vote after network established, then power reboot root
+  test point 2: network destroy test
+  CI ready: 'No'
+- ID: MESH_EST_0501 #TODO: support layer>127
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - MSSC SSC[1-<node_num>] mesh -I
+    - - P SSC[1-<node_num>] C +MESH:INIT,OK
+  - - MSSC SSC[1-<node_num>] meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC[1-<node_num>] C +MESHSET:CFG,OK
+  - - MSSC SSC[1-<node_num>] meshset -o 0 -L -l 1000
+    - - P SSC[1-<node_num>] C +MESHSET:MLAYER,OK
+  - - MSSC SSC[1-<node_num>] mesh -T
+    - - P SSC[1-<node_num>] C +MESH:START,OK
+  - - DELAY <delay_time>
+    - - ''
+  - - VALUE <tree_node_num> <node_num>
+    - - R PC_COM L OK
+  - *mesh_check_tree_num
+  - *mesh_tree_stably
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+  steps: |-
+    1. config all duts with max_connection=1 and max_layer>127
+    2. all duts start mesh
+    3. check mesh network establish
+  sub module: Establish
+  test environment: SSC_T50_MESH1
+  summary: (chain) establish mesh_network with max_connection=1 and max_layer>127
+  test point 2: chain topology test
+  CI ready: 'No'
+  auto test: 'No'
+- ID: MESH_EST_0502 #TODO: support layer>127
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - MSSC SSC[1-<node_num>] mesh -I
+    - - P SSC[1-<node_num>] C +MESH:INIT,OK
+  - - MSSC SSC[1-<node_num>] meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t 1 -e <map_password> -i <ie_encrypt>
+    - - P SSC[1-<node_num>] C +MESHSET:CFG,OK
+  - - MSSC SSC[1-<node_num>] meshset -o 0 -L -l 1000
+    - - P SSC[1-<node_num>] C +MESHSET:MLAYER,OK
+  - - MSSC SSC[1-<node_num>] mesh -T
+    - - P SSC[1-<node_num>] C +MESH:START,OK
+  - - DELAY <delay_time>
+    - - ''
+  - - VALUE <tree_node_num> <node_num>
+    - - R PC_COM L OK
+  - *mesh_check_tree_num
+  - *mesh_tree_stably
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+  steps: |-
+    1. config all duts with max_layer>127
+    2. all duts start mesh
+    3. check mesh network establish
+  sub module: Establish
+  test environment: SSC_T50_MESH1
+  summary: (chain) establish mesh_network with max_layer>127
+  test point 2: chain topology test
+  CI ready: 'No'
+  auto test: 'No'
+- ID: MESH_EST_0503 #TODO: support layer>127
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC[1-2] mesh -I
+    - - P SSC[1-2] C +MESH:INIT,OK
+  - - SSC SSC[1-2] meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC[1-2] C +MESHSET:CFG,OK
+  - - SSC SSC[1-2] meshset -o 0 -L -l [127,128]
+    - - P SSC[1-2] C +MESHSET:MLAYER,OK
+  - - SSC SSC[1-2] mesh -T
+    - - P SSC[1-2] C +MESH:START,OK
+  - - DELAY 60
+    - - ''
+  - - VALUE <tree_node_num> <node_num>
+    - - R PC_COM L OK
+  - *mesh_check_tree_num
+  - *mesh_tree_stably
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+  steps: |-
+    1. set a node with max_layer 127 and another 128
+    2. 2 duts start mesh
+    3. check mesh network establish
+  sub module: Establish
+  test environment: SSC_T2_MESH1
+  summary: (chain) set a node with max_layer 126 and another 127, establish mesh_network
+  test point 2: chain topology test
+  CI ready: 'No'
+  auto test: 'No'
+- ID: MESH_EST_0504 #TODO: support layer>127
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - MSSC SSC[1-<node_num>] mesh -I
+    - - P SSC[1-<node_num>] C +MESH:INIT,OK
+  - - MSSC SSC[1-<node_num>] meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t 1 -e <map_password> -i <ie_encrypt>
+    - - P SSC[1-<node_num>] C +MESHSET:CFG,OK
+  - - MSSC SSC[1-<node_num>] meshset -o 0 -L -l 1000
+    - - P SSC[1-<node_num>] C +MESHSET:MLAYER,OK
+  - - MSSC SSC[1-<node_num>] mesh -T
+    - - P SSC[1-<node_num>] C +MESH:START,OK
+  - - DELAY <delay_time>
+    - - ''
+  - - VALUE <tree_node_num> <node_num>
+    - - R PC_COM L OK
+  - *mesh_check_tree_num
+  - *mesh_tree_stably
+  - - ASSERT
+    - - ''
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+  steps: |-
+    1. config all duts with max_layer>127
+    2. all duts start mesh
+    3. check mesh network establish
+    4. reboot root, others re-establish mesh network
+  sub module: Establish
+  test environment: SSC_T50_MESH1
+  summary: (chain) (ASSERT) establis mesh_network first, then reboot root
+  test point 2: chain topology test
+  CI ready: 'No'
+  auto test: 'No'
+- ID: MESH_EST_0505 #TODO: support layer>127
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - MSSC SSC[1-<node_num>] mesh -I
+    - - P SSC[1-<node_num>] C +MESH:INIT,OK
+  - - MSSC SSC[1-<node_num>] meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t 1 -e <map_password> -i <ie_encrypt>
+    - - P SSC[1-<node_num>] C +MESHSET:CFG,OK
+  - - MSSC SSC[1-<node_num>] meshset -o 0 -L -l 1000
+    - - P SSC[1-<node_num>] C +MESHSET:MLAYER,OK
+  - - MSSC SSC[1-<node_num>] mesh -T
+    - - P SSC[1-<node_num>] C +MESH:START,OK
+  - - DELAY <delay_time>
+    - - ''
+  - - VALUE <tree_node_num> <node_num>
+    - - R PC_COM L OK
+  - *mesh_check_tree_num
+  - *mesh_tree_stably
+  - - ASSERT
+    - - ''
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+  steps: |-
+    1. config all duts with max_layer>127
+    2. all duts start mesh
+    3. check mesh network establish
+    4. reboot leaf, others re-establish mesh network
+  sub module: Establish
+  test environment: SSC_T50_MESH1
+  summary: (chain) (ASSERT) establis mesh_network first, then reboot leaf
+  test point 2: chain topology test
+  CI ready: 'No'
+  auto test: 'No'
+- ID: MESH_EST_0601
+  <<: *MESH_CASE
+  cmd set:
+  - MeshStress/MeshChannelSwitch
+  - - 'simple_test = True'
+    - ['']
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. channel switch function test
+  sub module: Establish
+  test environment: SSC_T6_MESH1
+  summary: (channel switch) channel switch function test
+  test point 2: channel switch test
+  CI ready: 'No'
+  auto test: 'Yes'
+- ID: MESH_EST_0602
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC[1-2] op -S -o 2
+    - - P SSC[1-2] C +MODE:OK
+  - - SSC SSC[1-2] ap -S -s <target_ssid> -p <target_password> -n [6,7] -t <target_auth_enum>
+    - - P SSC[1-2] C +SAP:OK
+  - - SSC SSC2 op -S -o 1
+    - - P SSC2 C +MODE:OK
+  - - MSSC SSC[4-<node_num>] mesh -I
+    - - P SSC[4-<node_num>] C +MESH:INIT,OK
+  - *mesh_config_cs_duts
+  - - MSSC SSC[4-<node_num>] mesh -T
+    - - P SSC[4-<node_num>] C +MESH:START,OK
+  - - DELAY <delay_time>
+    - - ''
+  - - VALUE <tree_node_num> <node_num>-3
+    - - R PC_COM L OK
+  - *mesh_check_tree_num
+  - - SSC SSC2 op -S -o 2
+    - - P SSC2 C +MODE:OK
+  - - SSC SSC1 op -S -o 1
+    - - P SSC1 C +MODE:OK
+  - - DELAY 30
+    - - P SSC2 C +SOFTAP:STACONNECTED
+  - - DELAY 20
+    - - ''
+  - *mesh_check_tree_num
+  - - MSSC SSC[4-<node_num>] channel -G
+    - - P SSC[4-<node_num>] C +CHANNEL:7
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. dut1,dut2 set esp32 softAP in different channel
+    2. dut[3-<node_num>] start mesh and connected with dut1
+    3. reboot dut1's softAP, check dut[3-<node_num>] connected with dut2
+  sub module: Establish
+  test environment: SSC_T50_MESH1
+  summary:  stop router1,mesh network switch to another channel router network
+  test point 2: channel switch test
+  CI ready: 'No'
+  auto test: 'Yes'
+- ID: MESH_EST_0603
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC[1-2] op -S -o 2
+    - - P SSC[1-2] C +MODE:OK
+  - - SSC SSC[1-2] ap -S -s <target_ssid> -p <target_password> -n [6,7] -t <target_auth_enum>
+    - - P SSC[1-2] C +SAP:OK
+  - - SSC SSC2 op -S -o 1
+    - - P SSC2 C +MODE:OK
+  - - MSSC SSC[4-<node_num>] mesh -I
+    - - P SSC[4-<node_num>] C +MESH:INIT,OK
+  - *mesh_config_cs_duts
+  - - MSSC SSC[4-<node_num>] mesh -T
+    - - P SSC[4-<node_num>] C +MESH:START,OK
+  - - DELAY <delay_time>
+    - - ''
+  - - VALUE <tree_node_num> <node_num>-3
+    - - R PC_COM L OK
+  - *mesh_check_tree_num
+  - - MSSC SSC2 op -S -o 2
+    - - P SSC2 C +MODE:OK
+  - - FREBOOT SSC1
+    - - P SSC1 C !!!ready!!!
+  - - DELAY 30
+    - - P SSC2 C +SOFTAP:STACONNECTED
+  - - DELAY 20
+    - - ''
+  - - MSSC SSC[4-<node_num>] channel -G
+    - - P SSC[4-<node_num>] C +CHANNEL:7
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. dut1,dut2 set esp32 softAP in different channel
+    2. dut[3-<node_num>] start mesh and connected with dut1
+    3. stop dut1's softAP, check dut[3-<node_num>] connected with dut2
+  sub module: Establish
+  test environment: SSC_T50_MESH1
+  summary:  power reset router1,mesh network switch to another channel router network
+  test point 2: channel switch test
+- ID: MESH_EST_0604
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC[1-2] op -S -o 2
+    - - P SSC[1-2] C +MODE:OK
+  - - SSC SSC[1-2] ap -S -s <target_ssid> -p <target_password> -n [6,7] -t <target_auth_enum>
+    - - P SSC[1-2] C +SAP:OK
+  - - SSC SSC2 op -S -o 1
+    - - P SSC2 C +MODE:OK
+  - - MSSC SSC[4-<node_num>] mesh -I
+    - - P SSC[4-<node_num>] C +MESH:INIT,OK
+  - *mesh_config_cs_duts
+  - - MSSC SSC[4-<node_num>] mesh -T
+    - - P SSC[4-<node_num>] C +MESH:START,OK
+  - - DELAY <delay_time>
+    - - ''
+  - - VALUE <tree_node_num> <node_num>-3
+    - - R PC_COM L OK
+  - *mesh_check_tree_num
+  - - SSC SSC2 op -S -o 2
+    - - P SSC2 C +MODE:OK
+  - - MSSC SSC[4-<node_num>] channel -G
+    - - P SSC[4-<node_num>] C +CHANNEL:6
+  - - SSC SSC2 mac
+    - - P SSC2 A <softap_mac>:\+APMAC:(.+)\r\n
+  - - SSC MNODE(0) mesh -H -m <softap_mac> -n 7 -t 10
+    - - P MNODE(0) C MESH:SWITCH_CHANNEL,OK
+  - - DELAY <delay_time>
+    - - P SSC2 C +SOFTAP:STACONNECTED
+  - - MSSC SSC[4-<node_num>] channel -G
+    - - P SSC[4-<node_num>] C +CHANNEL:7
+  - *mesh_check_tree_num
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+    4. succeed
+  steps: |-
+    1. dut[1-2]set esp32 softAP in channel [6,7]
+    2. dut[3-<node_num>] start mesh and connected with dut1
+    3. root switch channel to new channel 7
+    4. check dut[3-<node_num>] disconnected with dut1,connected to dut2,and switch to new channel
+  sub module: Establish
+  test environment: SSC_T50_MESH1
+  summary: root switch channel,mesh form old network switch to another channel router network
+  test point 2: channel switch test
+- ID: MESH_EST_0605
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC[1-3] op -S -o 2
+    - - P SSC[1-3] C +MODE:OK
+  - - SSC SSC[1-3] ap -S -s <target_ssid> -p <target_password> -n [1,6,11] -t <target_auth_enum>
+    - - P SSC[1-3] C +SAP:OK
+  - - MSSC SSC[4-<node_num>] mesh -I
+    - - P SSC[4-<node_num>] C +MESH:INIT,OK
+  - - MSSC SSC[4-<node_num>] meshset -M -o 0 -t <map_auth_mode> -e <map_password> -l 10
+    - - P SSC[4-<node_num>] C +MESHSET:MAP_AUTH,OK
+  - - MSSC SSC[4-<node_num>] meshset -G -o 0 -m <mesh_id> -s <target_ssid> -p <target_password> -n 1 -h 1 -t
+      <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC[4-<node_num>] C +MESHSET:CFG,OK
+  - - MSSC SSC[4-<node_num>] meshset -L -o 0 -l <max_layer>
+    - - P SSC[4-<node_num>] C +MESHSET:MLAYER,OK
+  - - MSSC SSC[4-<node_num>] meshset -W -o 0 -t <duration_ms> -n <cnx_rssi> -l <select_rssi> -i <switch_rssi> -k <backoff_rssi>
+    - - P SSC[4-<node_num>] C +MESHSET:SWITCH,OK
+  - - MSSC SSC[4-<node_num>] meshset -K -o 0 -i <allow_roots>
+    - - P SSC[4-<node_num>] C +MESHSET:ALLOW_ROOTS,OK
+  - - MSSC SSC[4-<node_num>] meshset -J -o 0 -t <assoc_expire>
+    - - P SSC[4-<node_num>] C +MESHSET:ASSOC,OK
+  - - MSSC SSC[4-<node_num>] mesh -T
+    - - P SSC[4-<node_num>] C +MESH:START,OK
+  - - VALUE <tree_node_num> <node_num>-3
+    - - R PC_COM L OK
+  - - DELAY <delay_time>
+    - - ''
+  - *mesh_check_tree_num
+  - - MSSC SSC[4-<node_num>] channel -G
+    - - P SSC[4-<node_num>] C +CHANNEL:1
+  - - SSC SSC1 op -S -o 1
+    - - P SSC1 C +MODE:OK
+  - - DELAY 60
+    - - ''
+  - - MSSC SSC[4-<node_num>] mesh -Q -o 2
+    - - P SSC[4-<node_num>] T topo
+  - - MESHTREE
+    - - R PC_COM RE "TREE_TOTAL_NODES:%%s"%%(<tree_node_num>) NC ROOT_CONFLICT
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+    4. succeed
+  steps: |-
+    1. dut[1-3]set esp32 softAP in channel [1,6,11]
+    2. dut[4-<node_num>] start mesh and connected with dut1
+    3. dut1 set sta mode
+    4. check dut[4-<node_num>] connected with router,and switch to new channel establish mesh network
+  sub module: Establish
+  test environment: SSC_T50_MESH1
+  summary: stop router1,mesh choice switch to another channel router establish network
+  test point 2: channel switch test
+- ID: MESH_EST_0606
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC[1-2] op -S -o 2
+    - - P SSC[1-2] C +MODE:OK
+  - - SSC SSC[1-2] ap -S -s <target_ssid> -p <target_password> -n [6,7] -t <target_auth_enum>
+    - - P SSC[1-2] C +SAP:OK
+  - - SSC SSC2 op -S -o 1
+    - - P SSC2 C +MODE:OK
+  - - MSSC SSC[4-<node_num>] mesh -I
+    - - P SSC[4-<node_num>] C +MESH:INIT,OK
+  - *mesh_config_cs_duts
+  - - MSSC SSC[4-<node_num>] mesh -T
+    - - P SSC[4-<node_num>] C +MESH:START,OK
+  - - DELAY <delay_time>
+    - - ''
+  - - VALUE <tree_node_num> <node_num>-3
+    - - R PC_COM L OK
+  - *mesh_check_tree_num
+  - - SSC SSC2 op -S -o 2
+    - - P SSC2 C +MODE:OK
+  - - SSC SSC1 op -S -o 1
+    - - P SSC1 C +MODE:OK
+  - - SSC MNODE(0) reboot
+    - - P MNODE(0) C !!!ready!!!
+  - - DELAY <delay_time>
+    - - P SSC2 C +SOFTAP:STACONNECTED
+  - - VALUE <tree_node_num> <tree_node_num>-1
+    - - R PC_COM L OK
+  - *mesh_check_tree_num
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. dut1,dut2 set esp32 softAP in different channel
+    2. dut[3-<node_num>] start mesh and connected with dut1
+    3. stop dut1's softAP and reboot root, check mesh switch channel and establish mesh network
+  sub module: Establish
+  test environment: SSC_T50_MESH1
+  summary:  stop dut1's softAP and reboot root, mesh choice switch to another channel router establish network
+  test point 2: channel switch test
+- ID: MESH_EST_0607
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC[1] op -S -o 2
+    - - P SSC[1] C +MODE:OK
+  - - SSC SSC[1] ap -S -s <target_ssid> -p <target_password> -n 6 -t <target_auth_enum>
+    - - P SSC[1] C +SAP:OK
+  - - MSSC SSC[4-<node_num>] mesh -I
+    - - P SSC[4-<node_num>] C +MESH:INIT,OK
+  - *mesh_config_cs_duts
+  - - MSSC SSC[4-<node_num>] mesh -T
+    - - P SSC[4-<node_num>] C +MESH:START,OK
+  - - DELAY <delay_time>
+    - - ''
+  - - VALUE <tree_node_num> <node_num>-3
+    - - R PC_COM L OK
+  - *mesh_check_tree_num
+  - - SSC SSC[1] ap -S -s <target_ssid> -p <target_password> -n 7 -t <target_auth_enum>
+    - - P SSC[1] C +SAP:OK
+  - - DELAY 30
+    - - P SSC1 C +SOFTAP:STACONNECTED
+  - - DELAY 20
+    - - ''
+  - - MSSC SSC[4-<node_num>] channel -G
+    - - P SSC[4-<node_num>] C +CHANNEL:7
+  - *mesh_check_tree_num
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. dut1,dut2 set esp32 softAP in different channel
+    2. dut[2-<node_num>] start mesh and connected with dut1
+    3. stop dut1's softAP and reboot root, check mesh switch channel and establish mesh network
+  sub module: Establish
+  test environment: SSC_T50_MESH1
+  summary:  router switch another channel, mesh choice switch to another channel  establish network
+  test point 2: channel switch test
+- ID: MESH_EST_0608
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - MSSC SSC[4-<node_num>] mesh -I
+    - - P SSC[4-<node_num>] C +MESH:INIT,OK
+  - - SSC SSC[4] meshset -T -o 0 -t 1
+    - - P SSC[4] C +MESHSET:TYPE,OK
+  - - MSSC SSC[5-<node_num>] meshset -X -o 0 -i 1
+    - - P SSC[5-<node_num>] C +MESHSET:FIX_ROOT,OK
+  - *mesh_config_cs_duts
+  - - MSSC SSC[4-<node_num>] mesh -T
+    - - P SSC[5-<node_num>] C +MESH:START,OK
+  - - DELAY <delay_time>
+    - - P SSC[5-<node_num>] C MESH_EVENT_CONNECTED
+  - - SSC SSC[1] op -S -o 2
+    - - P SSC[1] C +MODE:OK
+  - - SSC SSC[1] ap -S -s <target_ssid> -p <target_password> -n 7 -t <target_auth_enum>
+    - - P SSC[1] C +SAP:OK
+  - - DELAY <delay_time>
+    - - ''
+  - - MSSC SSC[4-<node_num>] channel -G
+    - - P SSC[4-<node_num>] C +CHANNEL:7
+  - - VALUE <tree_node_num> <node_num>-3
+    - - R PC_COM L OK
+  - *mesh_check_tree_num
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. no-router mesh network fix root
+    2. dut[4-<node_num>] start mesh and establish mesh network
+    3. dut1 set ap mode in diffent channel,check mesh switch channel and establish mesh network
+  sub module: Establish
+  test environment: SSC_T50_MESH1
+  summary:  mesh set fix root, choice switch to another channel link new router
+  test point 2: channel switch test
+- ID: MESH_EST_0609
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC[1-2] op -S -o 2
+    - - P SSC[1-2] C +MODE:OK
+  - - SSC SSC[1-2] ap -S -s <target_ssid> -p <target_password> -n [6,7] -t <target_auth_enum>
+    - - P SSC[1-2] C +SAP:OK
+  - - MSSC SSC[4-<node_num>] mesh -I
+    - - P SSC[4-<node_num>] C +MESH:INIT,OK
+  - - MSSC SSC[4-<node_num>] meshset -M -o 0 -t <map_auth_mode> -e <map_password> -l 10
+    - - P SSC[4-<node_num>] C +MESHSET:MAP_AUTH,OK
+  - - MSSC SSC[4-<node_num>] meshset -G -o 0 -m <mesh_id> -s <target_ssid> -p <target_password> -n 6 -h 1 -t
+      <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC[4-<node_num>] C +MESHSET:CFG,OK
+  - - MSSC SSC[4-<node_num>] meshset -L -o 0 -l <max_layer>
+    - - P SSC[4-<node_num>] C +MESHSET:MLAYER,OK
+  - - MSSC SSC[4-<node_num>] meshset -W -o 0 -t <duration_ms> -n <cnx_rssi> -l <select_rssi> -i <switch_rssi> -k <backoff_rssi>
+    - - P SSC[4-<node_num>] C +MESHSET:SWITCH,OK
+  - - MSSC SSC[4-<node_num>] meshset -K -o 0 -i <allow_roots>
+    - - P SSC[4-<node_num>] C +MESHSET:ALLOW_ROOTS,OK
+  - - MSSC SSC[4-<node_num>] meshset -J -o 0 -t <assoc_expire>
+    - - P SSC[4-<node_num>] C +MESHSET:ASSOC,OK
+  - - MSSC SSC[4-<node_num>] mesh -T
+    - - P SSC[4-<node_num>] C +MESH:START,OK
+  - - VALUE <tree_node_num> <node_num>-3
+    - - R PC_COM L OK
+  - - DELAY <delay_time>
+    - - ''
+  - *mesh_check_tree_num
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. set two router in different channel
+    2. all duts set channel to the first router
+    3. check mesh network connected with the first router
+  sub module: Establish
+  test environment: SSC_T50_MESH1
+  summary: two routers, set channel, establish network
+  test point 2: channel switch test
+- ID: MESH_EST_0610
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC[1-3] op -S -o 2
+    - - P SSC[1-3] C +MODE:OK
+  - - SSC SSC[1-3] ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum> -n
+        [<router_channel>,<router_channel>,<wrong_channel>]
+    - - P SSC[1-3] C +SAP:OK
+  - - MSSC SSC[4-<node_num>] mesh -I
+    - - P SSC[4-<node_num>] C +MESH:INIT,OK
+  - *mesh_config_cs_duts
+  - - MSSC SSC[4-<node_num>] mesh -T
+    - - P SSC[4-<node_num>] C +MESH:START,OK
+  - - DELAY <delay_time>
+    - - ''
+  - - VALUE <tree_node_num> <node_num>-3
+    - - R PC_COM L OK
+  - - MSSC SSC[4-<node_num>] mesh -Q -o 2
+    - - P SSC[4-<node_num>] T topo
+  - - MESHTREE
+    - - R PC_COM RE "TREE_TOTAL_NODES:%%s"%%(<tree_node_num>) NC ROOT_CONFLICT
+  - - DELAY 10
+    - - P PC_COM C +DELAYDONE
+      - P SSC[4-<node_num>] NC MESH_EVENT_DISCONNECTED
+  execution time: 2.0
+  expected result: |-
+    1. set router
+    2. check network establish
+  initial condition: MESH_DEINIT_STA
+  steps: |-
+    1. set three router with different channel
+    2. start all nodes to establish mesh network
+  summary: multiple router, establish mesh network
+  test point 2: channel switch test
+  test environment: SSC_T50_MESH1
+  CI ready: 'Yes'
+  auto test: 'Yes'
+- ID: MESH_EST_0611
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC[1-3] op -S -o 2
+    - - P SSC[1-3] C +MODE:OK
+  - - SSC SSC[1-3] ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum> -n
+        [<router_channel>,<router_channel>,<wrong_channel>]
+    - - P SSC[1-3] C +SAP:OK
+  - - SSC SSC[2-3] op -S -o 1
+    - - P SSC[2-3] C +MODE:OK
+  - - MSSC SSC[4-<node_num>] mesh -I
+    - - P SSC[4-<node_num>] C +MESH:INIT,OK
+  - *mesh_config_cs_duts
+  - - MSSC SSC[4-<node_num>] mesh -T
+    - - P SSC[4-<node_num>] C +MESH:START,OK
+  - - DELAY <delay_time>
+    - - ''
+  - - VALUE <tree_node_num> <node_num>-3
+    - - R PC_COM L OK
+  - - MSSC SSC[4-<node_num>] mesh -Q -o 2
+    - - P SSC[4-<node_num>] T topo
+  - - MESHTREE
+    - - R PC_COM RE "TREE_TOTAL_NODES:%%s"%%(<tree_node_num>) NC ROOT_CONFLICT
+  - - DELAY 10
+    - - P PC_COM C +DELAYDONE
+      - P SSC[4-<node_num>] NC MESH_EVENT_DISCONNECTED
+  - - SSC SSC[2-3] op -S -o 2
+    - - P SSC[2-3] C +MODE:OK
+  - - FREBOOT SSC1
+    - - P SSC1 C !!!ready!!!
+  - - DELAY <delay_time>
+    - - ''
+  - - SSC SSC[2-3] op -S -o 2
+    - - P SSC[2-3] C +MODE:OK
+  - - MSSC SSC[4-<node_num>] mesh -Q -o 2
+    - - P SSC[4-<node_num>] T topo
+  - - MESHTREE
+    - - R PC_COM RE "TREE_TOTAL_NODES:%%s"%%(<tree_node_num>) NC ROOT_CONFLICT
+  execution time: 2.0
+  expected result: |-
+    1. establish mesh network
+    2. power reset router and check restablish mesh network
+  initial condition: MESH_DEINIT_STA
+  steps: |-
+    1. establish mesh network with channel and bssid allow switch
+    2. power reset the the router, check the network connected with other router
+  summary: multiple router, network switch router
+  test point 2: channel switch test
+  test environment: SSC_T50_MESH1
+- ID: MESH_EST_0612
+  <<: *MESH_CASE
+  cmd set:
+  - MeshStress/MeshNetworkDestroy
+  - - 'destroy_nodes = "MNODE(*,)"'
+    - ['']
+  execution time: 2.0
+  expected result: |-
+    1. check the time spent
+    1. check the time spent
+  initial condition: MESH_INIT_SWITCH
+  steps: |-
+    1. enable all nodes establish network
+    2. reboot all roots after network established
+  summary: multiple router, reboot all roots after network established
+  test point 2: channel switch test
+  test environment: SSC_T50_MESH1
+- ID: MESH_EST_0613
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC1 op -S -o 2
+    - - P SSC1 C +MODE:OK
+  - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -n 6 -t <target_auth_enum>
+    - - P SSC1 C +SAP:OK
+  - - MSSC SSC[2-<node_num>] mesh -I
+    - - P SSC[2-<node_num>] C +MESH:INIT,OK
+  - - MSSC SSC[2-<node_num>] meshset -M -o 0 -t <map_auth_mode> -e <map_password> -l 10
+    - - P SSC[2-<node_num>] C +MESHSET:MAP_AUTH,OK
+  - - MSSC SSC[2-<node_num>] meshset -G -o 0 -m <mesh_id> -s <target_ssid> -p <target_password> -n 6 -h 0 -t
+      <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC[2-<node_num>] C +MESHSET:CFG,OK
+  - - MSSC SSC[2-<node_num>] meshset -L -o 0 -l <max_layer>
+    - - P SSC[2-<node_num>] C +MESHSET:MLAYER,OK
+  - - MSSC SSC[2-<node_num>] meshset -W -o 0 -t <duration_ms> -n <cnx_rssi> -l <select_rssi> -i <switch_rssi> -k <backoff_rssi>
+    - - P SSC[2-<node_num>] C +MESHSET:SWITCH,OK
+  - - MSSC SSC[2-<node_num>] meshset -K -o 0 -i <allow_roots>
+    - - P SSC[2-<node_num>] C +MESHSET:ALLOW_ROOTS,OK
+  - - MSSC SSC[2-<node_num>] meshset -J -o 0 -t <assoc_expire>
+    - - P SSC[2-<node_num>] C +MESHSET:ASSOC,OK
+  - - MSSC SSC[2-<node_num>] mesh -T
+    - - P SSC[2-<node_num>] C +MESH:START,OK
+  - - DELAY 60
+    - - P SSC[2-<node_num>] C MESH_EVENT_CONNECTED
+  - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -n 7 -t <target_auth_enum>
+    - - P SSC1 C +SAP:OK
+  - - DELAY 30
+    - - ''
+  - - MSSC SSC[2-<node_num>] channel -G
+    - - P SSC[2-<node_num>] C +CHANNEL:7
+  - - VALUE <tree_node_num> <node_num>-1
+    - - R PC_COM L OK
+  - *mesh_check_tree_num
+  - - SSC MNODE(0,0) reboot
+    - - P MNODE(0,0) C !!!ready!!!
+  - - DELAY 60
+    - - P MNODE(0,0,0) C MESH_EVENT_CONNECTED
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. dut1 set esp32 softAP in channel 6
+    2. dut[2-<node_num>] start mesh and connected with dut1
+    3. set dut1's softAP dfferent channel and reboot dut MNODE(0,0), check MNODE(0,0,0) CONNECTED
+  sub module: Establish
+  test environment: SSC_T50_MESH1
+  summary: mesh tree channel switch follow router,reboot layer2 check layer3
+  test point 2: channel switch test
+- ID: MESH_EST_0614
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC[1-2] op -S -o 2
+    - - P SSC[1-2] C +MODE:OK
+  - - SSC SSC[1-2] ap -S -s <target_ssid> -p <target_password> -n [6,7] -t <target_auth_enum> -h 1
+    - - P SSC[1-2] C +SAP:OK
+  - - SSC SSC2 op -S -o 1
+    - - P SSC2 C +MODE:OK
+  - - MSSC SSC[4-<node_num>] mesh -I
+    - - P SSC[4-<node_num>] C +MESH:INIT,OK
+  - *mesh_config_cs_duts
+  - - MSSC SSC[4-<node_num>] mesh -T
+    - - P SSC[4-<node_num>] C +MESH:START,OK
+  - - DELAY <delay_time>
+    - - ''
+  - - VALUE <tree_node_num> <node_num>-3
+    - - R PC_COM L OK
+  - *mesh_check_tree_num
+  - - MSSC SSC2 op -S -o 2
+    - - P SSC2 C +MODE:OK
+  - - SSC SSC1 op -S -o 1
+    - - P SSC1 C +MODE:OK
+  - - DELAY <delay_time>
+    - - P SSC2 C +SOFTAP:STACONNECTED
+  - - DELAY 20
+    - - ''
+  - - MSSC SSC[4-<node_num>] channel -G
+    - - P SSC[4-<node_num>] C +CHANNEL:7
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. dut1,dut2 set esp32 softAP in different channel
+    2. dut[3-<node_num>] start mesh and connected with dut1
+    3. stop dut1's softAP, check dut[3-<node_num>] connected with hide dut2
+  sub module: Establish
+  test environment: SSC_T50_MESH1
+  summary:  stop router1,mesh network switch to another channel hide router network
+  test point 2: channel switch test
+- ID: MESH_EST_0615
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC[1-3] op -S -o 2
+    - - P SSC[1-3] C +MODE:OK
+  - - SSC SSC[1-3] ap -S -s <target_ssid> -p <target_password> -n [1,6,11] -t <target_auth_enum> -h 1
+    - - P SSC[1-3] C +SAP:OK
+  - - SSC SSC[2-3] op -S -o 1
+    - - P SSC[2-3] C +MODE:OK
+  - - MSSC SSC[4-<node_num>] mesh -I
+    - - P SSC[4-<node_num>] C +MESH:INIT,OK
+  - - MSSC SSC[4-<node_num>] meshset -M -o 0 -t <map_auth_mode> -e <map_password> -l 10
+    - - P SSC[4-<node_num>] C +MESHSET:MAP_AUTH,OK
+  - - MSSC SSC[4-<node_num>] meshset -G -o 0 -m <mesh_id> -s <target_ssid> -p <target_password> -n 1 -h 1 -t
+      <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC[4-<node_num>] C +MESHSET:CFG,OK
+  - - MSSC SSC[4-<node_num>] meshset -L -o 0 -l <max_layer>
+    - - P SSC[4-<node_num>] C +MESHSET:MLAYER,OK
+  - - MSSC SSC[4-<node_num>] meshset -W -o 0 -t <duration_ms> -n <cnx_rssi> -l <select_rssi> -i <switch_rssi> -k <backoff_rssi>
+    - - P SSC[4-<node_num>] C +MESHSET:SWITCH,OK
+  - - MSSC SSC[4-<node_num>] meshset -K -o 0 -i <allow_roots>
+    - - P SSC[4-<node_num>] C +MESHSET:ALLOW_ROOTS,OK
+  - - MSSC SSC[4-<node_num>] meshset -J -o 0 -t <assoc_expire>
+    - - P SSC[4-<node_num>] C +MESHSET:ASSOC,OK
+  - - MSSC SSC[4-<node_num>] mesh -T
+    - - P SSC[4-<node_num>] C +MESH:START,OK
+  - - VALUE <tree_node_num> <node_num>-3
+    - - R PC_COM L OK
+  - - DELAY <delay_time>
+    - - ''
+  - *mesh_check_tree_num
+  - - MSSC SSC[4-<node_num>] channel -G
+    - - P SSC[4-<node_num>] C +CHANNEL:1
+  - - SSC SSC1 op -S -o 1
+    - - P SSC1 C +MODE:OK
+  - - SSC SSC[2-3] op -S -o 2
+    - - P SSC[2-3] C +MODE:OK
+  - - DELAY 60
+    - - ''
+  - - MSSC SSC[4-<node_num>] mesh -Q -o 2
+    - - P SSC[4-<node_num>] T topo
+  - - MESHTREE
+    - - R PC_COM RE "TREE_TOTAL_NODES:%%s"%%(<tree_node_num>) NC ROOT_CONFLICT
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+    4. succeed
+  steps: |-
+    1. dut[1-3]set esp32 softAP in channel [1,6,11]
+    2. dut[4-<node_num>] start mesh and connected with dut1
+    3. dut1 set sta mode
+    4. check dut[4-<node_num>] connected with router,and switch to new channel establish mesh network
+  sub module: Establish
+  test environment: SSC_T50_MESH1
+  summary: stop router1,mesh choice switch to another hide channel router establish network
+  test point 2: channel switch test
+- ID: MESH_EST_0616
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - MSSC SSC[1-<node_num>] mesh -I
+    - - P SSC[1-<node_num>] C +MESH:INIT,OK
+  - - SSC SSC[1-3] meshset -T -o 0 -t 1
+    - - P SSC[1-3] C +MESHSET:TYPE,OK
+  - - MSSC SSC[4-<node_num>] meshset -X -o 0 -i 1
+    - - P SSC[4-<node_num>] C +MESHSET:FIX_ROOT,OK
+  - - MSSC SSC[1-<node_num>] meshset -M -o 0 -t <map_auth_mode> -e <map_password> -l 10
+    - - P SSC[1-<node_num>] C +MESHSET:MAP_AUTH,OK
+  - - MSSC SSC[1-<node_num>] meshset -G -o 0 -m <mesh_id> -n 0 -h 1 -t
+      <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC[1-<node_num>] C +MESHSET:CFG,OK
+  - - MSSC SSC[1-<node_num>] meshset -L -o 0 -l <max_layer>
+    - - P SSC[1-<node_num>] C +MESHSET:MLAYER,OK
+  - - MSSC SSC[1-<node_num>] meshset -W -o 0 -t <duration_ms> -n <cnx_rssi> -l <select_rssi> -i <switch_rssi> -k <backoff_rssi>
+    - - P SSC[1-<node_num>] C +MESHSET:SWITCH,OK
+  - - MSSC SSC[1-<node_num>] meshset -K -o 0 -i <allow_roots>
+    - - P SSC[1-<node_num>] C +MESHSET:ALLOW_ROOTS,OK
+  - - MSSC SSC[1-<node_num>] meshset -J -o 0 -t <assoc_expire>
+    - - P SSC[1-<node_num>] C +MESHSET:ASSOC,OK
+  - - MSSC SSC[1-<node_num>] mesh -T
+    - - P SSC[1-<node_num>] C +MESH:START,OK
+  - - VALUE <tree_node_num> <node_num>
+    - - R PC_COM L OK
+  - - DELAY <delay_time>
+    - - ''
+  - - MSSC SSC[1-<node_num>] mesh -Q -o 2
+    - - P SSC[1-<node_num>] T topo
+  - - MESHTREE
+    - - R PC_COM RE "TREE_TOTAL_NODES:%%s"%%(<tree_node_num>)
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+  steps: |-
+    1. no-router mesh set three roots
+    2. dut[1-<node_num>] start mesh and establish mesh trees
+    3. check mesh trees
+  sub module: Establish
+  test environment: SSC_T50_MESH1
+  summary:  mesh no router and set three roots, establish trees and check
+  test point 2: channel switch test
+- ID: MESH_EST_0617
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - MSSC SSC[1-<node_num>] mesh -I
+    - - P SSC[1-<node_num>] C +MESH:INIT,OK
+  - - SSC SSC[1-2] meshset -T -o 0 -t 1
+    - - P SSC[1-2] C +MESHSET:TYPE,OK
+  - - MSSC SSC[3-<node_num>] meshset -X -o 0 -i 1
+    - - P SSC[3-<node_num>] C +MESHSET:FIX_ROOT,OK
+  - - MSSC SSC[1-<node_num>] meshset -M -o 0 -t <map_auth_mode> -e <map_password> -l 10
+    - - P SSC[1-<node_num>] C +MESHSET:MAP_AUTH,OK
+  - - MSSC SSC[1-<node_num>] meshset -G -o 0 -m <mesh_id> -n 0 -h 1 -t
+      <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC[1-<node_num>] C +MESHSET:CFG,OK
+  - - MSSC SSC[1-<node_num>] meshset -L -o 0 -l <max_layer>
+    - - P SSC[1-<node_num>] C +MESHSET:MLAYER,OK
+  - - MSSC SSC[1-<node_num>] meshset -W -o 0 -t <duration_ms> -n <cnx_rssi> -l <select_rssi> -i <switch_rssi> -k <backoff_rssi>
+    - - P SSC[1-<node_num>] C +MESHSET:SWITCH,OK
+  - - MSSC SSC[1-<node_num>] meshset -K -o 0 -i <allow_roots>
+    - - P SSC[1-<node_num>] C +MESHSET:ALLOW_ROOTS,OK
+  - - MSSC SSC[1-<node_num>] meshset -J -o 0 -t <assoc_expire>
+    - - P SSC[1-<node_num>] C +MESHSET:ASSOC,OK
+  - - MSSC SSC[1-<node_num>] mesh -T
+    - - P SSC[1-<node_num>] C +MESH:START,OK
+  - - VALUE <tree_node_num> <node_num>
+    - - R PC_COM L OK
+  - - DELAY <delay_time>
+    - - ''
+  - - MSSC SSC[1-<node_num>] mesh -Q -o 2
+    - - P SSC[1-<node_num>] T topo
+  - - MESHTREE
+    - - R PC_COM RE "TREE_TOTAL_NODES:%%s"%%(<tree_node_num>)
+  - - SSC SSC1 reboot
+    - - P SSC1 C !!!ready!!!
+  - - DELAY <delay_time>
+    - - ''
+  - - VALUE <tree_node_num> <node_num>-1
+    - - R PC_COM L OK
+  - *mesh_check_tree_num
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+  steps: |-
+    1. no-router mesh set two roots
+    2. dut[1-<node_num>] start mesh and establish mesh trees
+    3. reboot dut1,check establish mesh trees
+  sub module: Establish
+  test environment: SSC_T50_MESH1
+  summary:  mesh no router and set two roots, reboot one root establish tree and check mesh tree
+  test point 2: channel switch test
+- ID: MESH_EST_0618
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - MSSC SSC[1-<node_num>] mesh -I
+    - - P SSC[1-<node_num>] C +MESH:INIT,OK
+  - - SSC SSC[1] meshset -T -o 0 -t 1
+    - - P SSC[1] C +MESHSET:TYPE,OK
+  - - MSSC SSC[2-<node_num>] meshset -X -o 0 -i 1
+    - - P SSC[2-<node_num>] C +MESHSET:FIX_ROOT,OK
+  - - MSSC SSC[1-<node_num>] meshset -M -o 0 -t <map_auth_mode> -e <map_password> -l 10
+    - - P SSC[1-<node_num>] C +MESHSET:MAP_AUTH,OK
+  - - MSSC SSC[1-<node_num>] meshset -G -o 0 -m <mesh_id> -n 6 -h 1 -t
+      <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC[1-<node_num>] C +MESHSET:CFG,OK
+  - - MSSC SSC[1-<node_num>] meshset -L -o 0 -l <max_layer>
+    - - P SSC[1-<node_num>] C +MESHSET:MLAYER,OK
+  - - MSSC SSC[1-<node_num>] meshset -W -o 0 -t <duration_ms> -n <cnx_rssi> -l <select_rssi> -i <switch_rssi> -k <backoff_rssi>
+    - - P SSC[1-<node_num>] C +MESHSET:SWITCH,OK
+  - - MSSC SSC[1-<node_num>] meshset -K -o 0 -i <allow_roots>
+    - - P SSC[1-<node_num>] C +MESHSET:ALLOW_ROOTS,OK
+  - - MSSC SSC[1-<node_num>] meshset -J -o 0 -t <assoc_expire>
+    - - P SSC[1-<node_num>] C +MESHSET:ASSOC,OK
+  - - MSSC SSC[1-<node_num>] mesh -T
+    - - P SSC[1-<node_num>] C +MESH:START,OK
+  - - VALUE <tree_node_num> <node_num>
+    - - R PC_COM L OK
+  - - DELAY <delay_time>
+    - - ''
+  - *mesh_check_tree_num
+  - - SSC SSC1 mesh -T -o 1
+    - - P SSC1 C +MESH:STOP,OK
+  - - SSC SSC1 meshset -G -o 0 -m <mesh_id> -s <target_ssid> -p <target_password> -n 7 -h 1 -t
+      <max_connect> -e <map_password> -i <ie_encrypt>
+  - - SSC SSC1 mesh -T
+    - - P SSC1 C +MESH:START,OK
+  - - DELAY <delay_time>
+    - - ''
+  - - MSSC SSC[1-<node_num>] channel -G
+    - - P SSC[1-<node_num>] C +CHANNEL:7
+  - - VALUE <tree_node_num> <node_num>
+    - - R PC_COM L OK
+  - *mesh_check_tree_num
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+  steps: |-
+    1. no-router mesh set fix root
+    2. dut[1-<node_num>] start mesh and establish mesh trees
+    3. stop dut1 set another channel then start,check establish mesh trees
+  sub module: Establish
+  test environment: SSC_T50_MESH1
+  summary:  no router change root to another channel, establish tree and check mesh tree
+  test point 2: channel switch test
+- ID: MESH_EST_0619
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - MSSC SSC[1-<node_num>] mesh -I
+    - - P SSC[1-<node_num>] C +MESH:INIT,OK
+  - - SSC SSC[1] meshset -T -o 0 -t 1
+    - - P SSC[1] C +MESHSET:TYPE,OK
+  - - MSSC SSC[2-<node_num>] meshset -X -o 0 -i 1
+    - - P SSC[2-<node_num>] C +MESHSET:FIX_ROOT,OK
+  - - MSSC SSC[1-<node_num>] meshset -M -o 0 -t <map_auth_mode> -e <map_password> -l 10
+    - - P SSC[1-<node_num>] C +MESHSET:MAP_AUTH,OK
+  - - MSSC SSC[1-<node_num>] meshset -G -o 0 -m <mesh_id> -n 6 -h 1 -t
+      <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC[1-<node_num>] C +MESHSET:CFG,OK
+  - - MSSC SSC[1-<node_num>] meshset -L -o 0 -l <max_layer>
+    - - P SSC[1-<node_num>] C +MESHSET:MLAYER,OK
+  - - MSSC SSC[1-<node_num>] meshset -W -o 0 -t <duration_ms> -n <cnx_rssi> -l <select_rssi> -i <switch_rssi> -k <backoff_rssi>
+    - - P SSC[1-<node_num>] C +MESHSET:SWITCH,OK
+  - - MSSC SSC[1-<node_num>] meshset -K -o 0 -i <allow_roots>
+    - - P SSC[1-<node_num>] C +MESHSET:ALLOW_ROOTS,OK
+  - - MSSC SSC[1-<node_num>] meshset -J -o 0 -t <assoc_expire>
+    - - P SSC[1-<node_num>] C +MESHSET:ASSOC,OK
+  - - MSSC SSC[1-<node_num>] mesh -T
+    - - P SSC[1-<node_num>] C +MESH:START,OK
+  - - VALUE <tree_node_num> <node_num>
+    - - R PC_COM L OK
+  - - DELAY <delay_time>
+    - - ''
+  - *mesh_check_tree_num
+  - - SSC SSC1 mesh -H -n 7 -t 10
+    - - P SSC1 C MESH:SWITCH_CHANNEL,OK
+  - - DELAY <delay_time>
+    - - ''
+  - - MSSC SSC[1-<node_num>] channel -G
+    - - P SSC[1-<node_num>] C +CHANNEL:7
+  - - VALUE <tree_node_num> <node_num>
+    - - R PC_COM L OK
+  - *mesh_check_tree_num
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+  steps: |-
+    1. no-router mesh set fix root
+    2. dut[1-<node_num>] start mesh and establish mesh trees
+    3. dut1 call channel switch API to another channel,check establish mesh trees
+  sub module: Establish
+  test environment: SSC_T50_MESH1
+  summary:  no router root call channel switch API, establish tree and check mesh tree
+  test point 2: channel switch test
+- ID: MESH_EST_3001
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC1 meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -t <max_connect>
+    - - P SSC1 C +MESHSET:CFG,FAIL
+  - - SSC SSC1 mesh -I
+    - - P SSC1 C +MESH:INIT,OK
+  - - SSC SSC1 meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -t <max_connect>
+    - - P SSC1 C +MESHSET:CFG,OK
+  expected result: |-
+    1. fail
+    2. succeed
+  steps: |-
+    1. set config without init
+    2. init and set config
+  initial condition: MESH_DEINIT_STA
+  test environment: SSC_T1_MESH1
+  summary: mesh config without mesh init
+  test point 1: abnormal/special use
+  test point 2: mesh init/config/start test
+  CI ready: 'Yes'
+- ID: MESH_EST_3002
+  <<: *MESH_CASE
+  initial condition: MESH_DEINIT_STA
+  test environment: SSC_T1_MESH1
+  cmd set:
+  - ''
+  - - SSC SSC1 mesh -T
+    - - P SSC1 C +MESH:START,FAIL
+  - - SSC SSC1 mesh -I
+    - - P SSC1 C +MESH:INIT,OK
+  - - SSC SSC1 mesh -T
+    - - P SSC1 C +MESH:START,FAIL
+  expected result: |-
+    1. fail
+    2. fail
+  steps: |-
+    1. mesh start without init
+    2. mesh start without set config
+  summary: mesh start without init or config
+  test point 1: abnormal/special use
+  test point 2: mesh init/config/start test
+  CI ready: 'Yes'
+- ID: MESH_EST_3003
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC1 mesh -I
+    - - P SSC1 C +MESH:INIT,OK
+  - - SSC SSC1 meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC1 C +MESHSET:CFG,OK
+  - - SSC SSC1 mesh -T
+    - - P SSC1 C +MESH:START,OK
+  - - DELAY 1 10
+    - - ''
+  - - SSC SSC1 mesh -T
+    - - P SSC1 C +MESH:START,OK
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. mesh init/config
+    2. mesh start twice
+  test environment: SSC_T1_MESH1
+  summary: mesh start again after mesh start
+  test point 1: abnormal/special use
+  test point 2: mesh init/config/start test
+  CI ready: 'Yes'
+  #TODO: if start twice will connected successfully
+- ID: MESH_EST_3003
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC1 mesh -I
+    - - P SSC1 C +MESH:INIT,OK
+  - - SSC SSC1 meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <wrong_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC1 C +MESHSET:CFG,OK
+  - - SSC SSC1 mesh -T
+    - - P SSC1 C +MESH:START,OK
+  - - DELAY 10
+    - - P SSC1 C MESH_EVENT_NO_PARENT_FOUND
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+    4. succeed
+  steps: |-
+    1. mesh init
+    2. mesh config with wrong channel
+    3. mesh start
+    4. check parent not found
+  test environment: SSC_T1_MESH1
+  summary: mesh start with wrong router channel
+  test point 1: abnormal/special use
+  test point 2: mesh init/config/start test
+  CI ready: 'No'
+  #TODO: not work after v3.3
+- ID: MESH_EST_3004
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC1 mesh -I
+    - - R SSC1 C +MESH:INIT,OK
+  - - SSC SSC1 meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -t <max_connect>
+    - - P SSC1 C +MESHSET:CFG,OK
+  - - SSC SSC1 meshset -M -o 0 -t 8 -s <map_password> -l 10
+    - - P SSC1 C +MESHSET:MAP_AUTH,FAIL
+  - - SSC SSC1 meshset -M -o 0 -t 3 -s <map_password> -l 100
+    - - P SSC1 C +MESHSET:MAP_PWD,FAIL
+  - - SSC SSC1 meshset -E -o 0 -i 1 -s <temp_string> -l 100
+    - - P SSC1 C +MESHSET:MIE_KEY,FAIL
+  expected result: |-
+    1. succeed
+    2. fail
+    3. fail
+    3. fail
+  steps: |-
+    1. mesh init/config
+    2. set map_password with auth=8
+    3. set map_password with len>64
+    4. set ie_key with len>64
+  initial condition: MESH_DEINIT_STA
+  test environment: SSC_T1_MESH1
+  summary: mesh config with parameter value overflow
+  test point 1: abnormal/special use
+  test point 2: mesh init/config/start test
+  CI ready: 'Yes'
+- ID: MESH_EST_3005
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC1 mesh -I
+    - - P SSC1 C +MESH:INIT,OK
+  - - SSC SSC1 meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC1 C +MESHSET:CFG,OK
+  - - SSC SSC1 op -S -o 1
+    - - R SSC1 C +MODE:OK
+  - - SSC SSC1 mesh -T
+    - - P SSC1 C +MESH:START,OK
+  - - DELAY 10
+    - - P SSC1 C MESH_EVENT_CONNECTED,1 C MESH_EVENT_ROOT_GOT_IP
+  - - ASSERT
+    - - ''
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+    4. succeed
+  steps: |-
+    1. mesh init
+    2. mesh config and switch wifi op_mode to station
+    3. mesh start
+    4. check mesh connected and layer is 1
+  test environment: SSC_T1_MESH1
+  summary: (ASSERT) switch to station mode after mesh config
+  test point 1: abnormal/special use
+  test point 2: mesh init/config/start test
+  CI ready: 'No'
+  auto test: 'No'
+- ID: MESH_EST_3006
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC1 mesh -I
+    - - P SSC1 C +MESH:INIT,OK
+  - - SSC SSC1 meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC1 C +MESHSET:CFG,OK
+  - - SSC SSC1 op -S -o 2
+    - - R SSC1 C +MODE:OK
+  - - SSC SSC1 mesh -T
+    - - P SSC1 C +MESH:START,OK
+  - - DELAY 10
+    - - P SSC1 C MESH_EVENT_CONNECTED,1 C MESH_EVENT_ROOT_GOT_IP
+  - - ASSERT
+    - - ''
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+    4. succeed
+  steps: |-
+    1. mesh init
+    2. mesh config and switch wifi op_mode to station
+    3. mesh start
+    4. check mesh connected and layer is 1
+  test environment: SSC_T1_MESH1
+  summary: (ASSERT) switch to soft_ap mode after mesh config
+  test point 1: abnormal/special use
+  test point 2: mesh init/config/start test
+  CI ready: 'No'
+  auto test: 'No'
+- ID: MESH_EST_3007
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC1 mesh -I
+    - - P SSC1 C +MESH:INIT,OK
+  - - SSC SSC1 meshset -G -o 0 -m <mesh_id> -s <temp_string> -n <router_channel> -t <max_connect>
+    - - P SSC1 C +MESHSET:CFG,OK
+  - - SSC SSC1 mesh -T
+    - - P SSC1 C +MESH:START,OK
+  - - DELAY 10
+    - - P SSC1 C MESH_EVENT_NO_PARENT_FOUND
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+    4. succeed
+  steps: |-
+    1. mesh init
+    2. mesh config with inexistent router
+    3. mesh start
+    4. check mesh no parent found
+  test environment: SSC_T1_MESH1
+  summary: start mesh with inexistent router
+  test point 1: abnormal/special use
+  test point 2: mesh init/config/start test
+  CI ready: 'Yes'
+- ID: MESH_EST_3101
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0) sta -S
+    - - P MNODE(0) C +SCANDONE
+  - - DELAY 5
+    - - P PC_COM C DELAYDONE
+      - P MNODE(0) NC MESH_EVENT_SCAN_DONE
+  - - ASSERT
+    - - ''
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. establish mesh network
+    2. wifi scan and check no MESH_EVENT_SCAN_DONE
+  initial condition: MESH_INIT1
+  test environment: SSC_T2_MESH1
+  summary: (ASSERT) wifi scan on root without set self organized
+  test point 1: abnormal/special use
+  test point 2: use wifi api after mesh start
+  CI ready: 'No'
+  auto test: 'No'
+- ID: MESH_EST_3102
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0,0) sta -S
+    - - P MNODE(0,0) C +SCANDONE
+      - P MNODE(0,0) NC MESH_EVENT_SCAN_DONE
+  - - ASSERT
+    - - ''
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. establish mesh network
+    2. wifi scan and check no MESH_EVENT_SCAN_DONE
+  initial condition: MESH_INIT1
+  test environment: SSC_T2_MESH1
+  summary: (ASSERT) wifi scan on layer2 without set self organized
+  test point 1: abnormal/special use
+  test point 2: use wifi api after mesh start
+  CI ready: 'No'
+  auto test: 'No'
+- ID: MESH_EST_3103
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC1 mesh -I
+    - - P SSC1 C +MESH:INIT,OK
+  - - SSC SSC1 meshset -G -o 0 -m <mesh_id2> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC1 C +MESHSET:CFG,OK
+  - - SSC SSC1 mesh -T
+    - - P SSC1 C +MESH:START,OK
+  - - DELAY 1
+    - - ''
+  - - SSC SSC1 sta -S
+    - - P SSC1 C +SCANDONE
+      - P SSC1 NC MESH_EVENT_SCAN_DONE
+  - - ASSERT
+    - - ''
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. establish mesh network
+    2. wifi scan and check no MESH_EVENT_SCAN_DONE
+  initial condition: MESH_DEINIT_STA
+  test environment: SSC_T1_MESH1
+  summary: (ASSERT) wifi scan during mesh scan without set self organized
+  test point 1: abnormal/special use
+  test point 2: use wifi api after mesh start
+  CI ready: 'No'
+  auto test: 'No'
+- ID: MESH_EST_3104
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC2 mesh -I
+    - - P SSC2 C +MESH:INIT,OK
+  - - SSC SSC2 meshset -G -o 0 -m <mesh_id2> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC2 C +MESHSET:CFG,OK
+  - - SSC SSC2 mesh -T
+    - - P SSC2 C +MESH:START,OK
+  - - DELAY 5
+    - - P SSC2 C MESH_EVENT_CONNECTED,1 C MESH_EVENT_ROOT_GOT_IP
+  - - SSC SSC2 ap -Q
+    - - R SSC2 A <softap_ssid>:\+APCONFIG:(\w+)
+  - - SSC SSC1 sta -C -s <softap_ssid> -p <map_password>
+    - - P SSC1 C +JAP:DISCONNECTED
+  - - DELAY 10
+    - - P PC_COM C DELAYDONE
+      - P SSC1 NC +JAP:CONNECTED
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. dut2 start mesh
+    2. dut1 connect to dut2, check disconnected
+  initial condition: MESH_DEINIT_STA
+  test environment: SSC_T2_MESH1
+  summary: normal station can't connected with mesh root
+  test point 1: abnormal/special use
+  test point 2: use wifi api after mesh start
+  CI ready: 'Yes'
+#TODO: one(some) of the nodes set wrong password, establish----
+- ID: MESH_EST_2001
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC[1-2] mesh -I
+    - - P SSC[1-2] C +MESH:INIT,OK
+  - - SSC SSC[1-2] meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC[1-2] C +MESHSET:CFG,OK
+  - - SSC SSC1 meshset -U -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -b <router_bssid> -n
+      <router_channel> -t 1 -l 1
+    - - P SSC1 C +MESHSET:PARENT,OK
+  - - SSC SSC1 mesh -T
+    - - P SSC1 C +MESH:START,OK
+  - - DELAY 10
+    - - P SSC1 C MESH_EVENT_CONNECTED,1 C MESH_EVENT_ROOT_GOT_IP
+  - - SSC SSC2 mesh -T
+    - - P SSC2 C +MESH:START,OK C MESH_EVENT_CONNECTED,2
+      - P SSC1 C MESH_EVENT_CHILD_CONNECTED
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+    4. succeed
+  steps: |-
+    1. mesh init/config
+    2. dut1 set parent be router
+    3. start dut1 and check it connected with router
+    4. start dut2 and check it connected with dut1
+  test environment: SSC_T2_MESH1
+  summary: set dut1 parent as router with mesh_id, dut2 without set_parent, check dut2 connected with dut1
+  test point 1: manual network function
+  test point 2: set parent test
+  CI ready: 'Yes'
+- ID: MESH_EST_2002
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC[1-2] mesh -I
+    - - P SSC[1-2] C +MESH:INIT,OK
+  - - SSC SSC[1-2] meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC[1-2] C +MESHSET:CFG,OK
+  - - SSC SSC1 meshset -U -o 0 -s <router_ssid> -p <router_password> -b <router_bssid> -n
+      <router_channel> -t 1 -l 1
+    - - P SSC1 C +MESHSET:PARENT,OK
+  - - SSC SSC1 mesh -T
+    - - P SSC1 C +MESH:START,OK
+      - P SSC1 C MESH_EVENT_CONNECTED,1 C MESH_EVENT_ROOT_GOT_IP
+  - - SSC SSC2 mesh -T
+    - - P SSC2 C +MESH:START,OK C MESH_EVENT_CONNECTED,2
+      - P SSC1 C MESH_EVENT_CHILD_CONNECTED
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+    4. succeed
+  steps: |-
+    1. mesh init/config
+    2. set dut1 parent to router without mesh_id
+    3. start dut1 and check it connected with router
+    4. start dut2 and check it connected with dut1
+  test environment: SSC_T2_MESH1
+  summary: set dut1 parent to router without mesh_id, dut2 without set_parent, check dut2 connected with dut1
+  test point 1: manual network function
+  test point 2: set parent test
+  CI ready: 'Yes'
+- ID: MESH_EST_2003
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC[1-2] mesh -I
+    - - P SSC[1-2] C +MESH:INIT,OK
+  - - SSC SSC[1-2] meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC[1-2] C +MESHSET:CFG,OK
+  - - SSC SSC1 meshset -U -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -b <router_bssid> -n
+      <router_channel> -t 1 -l 1
+    - - P SSC1 C +MESHSET:PARENT,OK
+  - - SSC SSC2 mesh -T
+    - - P SSC2 C +MESH:START,OK
+  - - DELAY 10
+    - - P SSC2 C MESH_EVENT_CONNECTED,1 C MESH_EVENT_ROOT_GOT_IP
+  - - SSC SSC1 mesh -T
+    - - P SSC1 C +MESH:START,OK
+      - P SSC1 C MESH_EVENT_CONNECTED,1 C MESH_EVENT_ROOT_GOT_IP
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+    4. succeed
+  steps: |-
+    1. mesh init/config
+    2. set dut1 parent to router
+    3. start dut2 and check it connected with router
+    4. start dut1 and check it connected with router
+  test environment: SSC_T2_MESH1
+  summary: set dut1 parent to router, start dut1 with amother root already exists
+  test point 1: manual network function
+  test point 2: set parent test
+  CI ready: 'Yes'
+- ID: MESH_EST_2004
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC[1-2] mesh -I
+    - - P SSC[1-2] C +MESH:INIT,OK
+  - - SSC SSC[1-2] meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC[1-2] C +MESHSET:CFG,OK
+  - - SSC SSC1 mesh -T
+    - - P SSC1 C +MESH:START,OK
+      - P SSC1 C MESH_EVENT_CONNECTED,1 C MESH_EVENT_ROOT_GOT_IP
+  - - SSC SSC1 ap -Q
+    - - R SSC1 A <meshap_ssid>:\+APCONFIG:(\w+),
+  - - SSC SSC2 meshset -U -o 0 -m <mesh_id> -s <meshap_ssid> -p <map_password> -n <router_channel> -t 2 -l 2
+    - - P SSC2 C +MESHSET:PARENT,OK
+  - - SSC SSC2 mesh -T
+    - - P SSC2 C +MESH:START,OK C MESH_EVENT_CONNECTED,2
+      - P SSC1 C MESH_EVENT_CHILD_CONNECTED
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+    4. succeed
+  steps: |-
+    1. mesh init/config
+    2. set dut2 parent to dut1
+    3. start dut1 and check it connected with router
+    4. start dut2 and check it connected with dut1
+  test environment: SSC_T2_MESH1
+  summary: set dut2 parent to dut1(root), start dut2 after dut1 connected
+  test point 1: manual network function
+  test point 2: set parent test
+  CI ready: 'Yes'
+- ID: MESH_EST_2005
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC[1-2] mesh -I
+    - - P SSC[1-2] C +MESH:INIT,OK
+  - - SSC SSC[1-2] meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC[1-2] C +MESHSET:CFG,OK
+  - - SSC SSC1 mesh -T
+    - - P SSC1 C +MESH:START,OK
+      - P SSC1 C MESH_EVENT_CONNECTED,1 C MESH_EVENT_ROOT_GOT_IP
+  - - SSC SSC1 ap -Q
+    - - R SSC1 A <meshap_ssid>:\+APCONFIG:(\w+),
+  - - SSC SSC2 meshset -U -o 0 -s <meshap_ssid> -p <map_password> -n <router_channel> -t 2 -l 2
+    - - P SSC2 C +MESHSET:PARENT,OK
+  - - SSC SSC2 mesh -T
+    - - P SSC2 C +MESH:START,OK C MESH_EVENT_CONNECTED,2
+      - P SSC1 C MESH_EVENT_CHILD_CONNECTED
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+    4. succeed
+  steps: |-
+    1. mesh init/config
+    2. set dut2 parent to dut1 without mesh_id
+    3. start dut1 and check it connected with router
+    4. start dut2 and check it connected with dut1
+  test environment: SSC_T2_MESH1
+  summary: set dut2 parent to dut1(root) without mesh_id, start dut2 after dut1 connected
+  test point 1: manual network function
+  test point 2: set parent test
+  CI ready: 'Yes'
+- ID: MESH_EST_2006
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC[1-3] mesh -I
+    - - P SSC[1-3] C +MESH:INIT,OK
+  - - SSC SSC[1-3] meshset -G -o 0 -m [<mesh_id>,<mesh_id>,<mesh_id2>] -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC[1-3] C +MESHSET:CFG,OK
+  - - SSC SSC[1,3] mesh -T
+    - - P SSC[1,3] C +MESH:START,OK
+      - P SSC[1,3] C MESH_EVENT_CONNECTED,1 C MESH_EVENT_ROOT_GOT_IP
+  - - SSC SSC2 mesh -T
+    - - P SSC2 C +MESH:START,OK C MESH_EVENT_CONNECTED,2
+      - P SSC1 C MESH_EVENT_CHILD_CONNECTED
+  - - SSC SSC3 ap -Q
+    - - R SSC3 A <meshap_ssid>:\+APCONFIG:(\w+),
+  - - SSC SSC2 meshset -U -o 0 -m <mesh_id2> -s <meshap_ssid> -p <map_password> -n <router_channel> -t 2 -l 2
+    - - P SSC2 C +MESHSET:PARENT,OK C MESH_EVENT_CONNECTED,2
+      - P SSC1 C MESH_EVENT_CHILD_DISCONNECTED
+      - P SSC3 C MESH_EVENT_CHILD_CONNECTED
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+    4. succeed
+    5. succeed
+  steps: |-
+    1. mesh init/config
+    2. dut1,dut3 start mesh with different mesh id
+    3. dut2 connect to dut1 first
+    4. set dut2's parent to dut3
+    5. check dut2 leave dut1 and join dut3
+  test environment: SSC_T3_MESH1
+  summary: set one node's parent to another mesh network
+  test point 1: manual network function
+  test point 2: set parent test
+  CI ready: 'No'
+- ID: MESH_EST_2007
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC1 mesh -I
+    - - P SSC1 C +MESH:INIT,OK
+  - - SSC SSC1 meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC1 C +MESHSET:CFG,OK
+  - - SSC SSC1 mesh -T
+    - - P SSC1 C +MESH:START,OK
+      - P SSC1 C MESH_EVENT_CONNECTED,1 C MESH_EVENT_ROOT_GOT_IP
+  - - SSC SSC2 op -S -o 2
+    - - P SSC2 C +MODE:OK
+  - - SSC SSC2 ap -S -s <target_ssid> -n <router_channel>
+    - - P SSC2 C +SAP:OK
+  - - SSC SSC1 meshset -U -o 0 -s <target_ssid> -n <router_channel> -t 1 -l 1
+    - - P SSC1 C +MESHSET:PARENT,OK
+      - P SSC1 C MESH_EVENT_CONNECTED,1 C MESH_EVENT_ROOT_GOT_IP
+      - P SSC2 C +SOFTAP:STACONNECTED
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+    4. succeed
+  steps: |-
+    1. mesh init/config
+    2. dut1 start mesh and establish network
+    3. set dut2 softAP mode
+    4. set dut1's parent to dut2
+  test environment: SSC_T2_MESH1
+  summary: set ont node's parent to another Router after connected
+  test point 1: manual network function
+  test point 2: set parent test
+  CI ready: 'No'
+#- ID: MESH_EST_2008
+#  <<: *MESH_CASE
+#  cmd set:
+#  - ''
+#  - - SSC SSC[1-2] mesh -I
+#    - - P SSC[1-2] C +MESH:INIT,OK
+#  - - SSC SSC[1-2] meshset -G -o 0 -m <mesh_id> -s <temp_string> -n <router_channel> -t <max_connect> -i <ie_encrypt>
+#    - - P SSC[1-2] C +MESHSET:CFG,OK
+#  - - SSC SSC1 meshset -U -o 0 -s <temp_string> -n <router_channel> -t 1 -l 1
+#    - - P SSC1 C +MESHSET:PARENT,OK
+#  - - SSC SSC[1-2] mesh -T
+#    - - P SSC[1-2] C +MESH:START,OK
+#      - P SSC2 C MESH_EVENT_CONNECTED,2
+#      - P SSC1 C MESH_EVENT_CHILD_CONNECTED
+#  expected result: |-
+#    1. succeed
+#    2. succeed
+#    3. succeed
+#    4. succeed
+#  steps: |-
+#    1. mesh init/config
+#    2. dut1 set parent to inexist router
+#    3. start mesh
+#    4. check dut2 connected with dut1
+#  test environment: SSC_T2_MESH1
+#  summary: set one node's parent to inexist router and establish network
+#  test point 1: manual network function
+#  test point 2: set parent test
+#  CI ready: 'Yes'
+- ID: MESH_EST_2101
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC1 mesh -I
+    - - P SSC1 C +MESH:INIT,OK
+  - - SSC SSC1 meshset -T -o 0 -t 1
+    - - P SSC1 C +MESHSET:TYPE,OK
+  - - SSC SSC1 meshset -G -o 0 -m <mesh_id> -n <router_channel> -t <max_connect> -e
+        <map_password> -i <ie_encrypt>
+    - - P SSC1 C +MESHSET:CFG,OK
+  - - SSC SSC1 mesh -T
+    - - P SSC1 C +MESH:START,OK
+  - - SSC SSC1 mesh -Q -o 2
+    - - P SSC1 C IS_ROOT
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+  steps: |-
+    1. mesh init/config dut1 no-router and set type root
+    2. mesh start
+    3. check dut1 is root
+  test environment: SSC_T1_MESH1
+  summary: dut1 set type root, start mesh without router
+  test point 1: manual network function
+  test point 2: no-router function test
+  CI ready: 'Yes'
+- ID: MESH_EST_2102
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC1 mesh -I
+    - - P SSC1 C +MESH:INIT,OK
+  - - SSC SSC1 meshset -T -o 0 -t 1
+    - - P SSC1 C +MESHSET:TYPE,OK
+  - - SSC SSC1 meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC1 C +MESHSET:CFG,OK
+  - - SSC SSC1 mesh -T
+    - - P SSC1 C +MESH:START,OK
+      - P SSC1 C MESH_EVENT_CONNECTED,1 C MESH_EVENT_ROOT_GOT_IP
+  - - SSC SSC1 mesh -Q -o 2
+    - - P SSC1 C IS_ROOT
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+  steps: |-
+    1. mesh init/config dut1 set type root
+    2. mesh start
+    3. check dut1 connected with router and type root
+  test environment: SSC_T1_MESH1
+  summary: dut1 set type root, set router and start mesh
+  test point 1: manual network function
+  test point 2: no-router function test
+  CI ready: 'Yes'
+- ID: MESH_EST_2103
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC[1-2] mesh -I
+    - - P SSC[1-2] C +MESH:INIT,OK
+  - - SSC SSC1 meshset -T -o 0 -t 1
+    - - P SSC1 C +MESHSET:TYPE,OK
+  - - SSC SSC2 meshset -X -o 0 -i 1
+    - - P SSC2 C +MESHSET:FIX_ROOT,OK
+  - - SSC SSC[1-2] meshset -G -o 0 -m <mesh_id> -n <router_channel> -t <max_connect> -e
+        <map_password> -i <ie_encrypt>
+    - - P SSC[1-2] C +MESHSET:CFG,OK
+  - - SSC SSC[1-2] mesh -T
+    - - P SSC[1-2] C +MESH:START,OK
+      - P SSC2 C MESH_EVENT_CONNECTED,2
+      - P SSC1 C MESH_EVENT_CHILD_CONNECTED
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+  steps: |-
+    1. mesh init/config all duts no-router, set dut1 root
+    2. mesh start all duts
+    3. check mesh tree established and stably
+  test environment: SSC_T2_MESH1
+  summary: dut1 set type root, dut2 fix root, establish mesh network without router
+  test point 1: manual network function
+  test point 2: no-router function test
+  CI ready: 'Yes'
+- ID: MESH_EST_2104
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC[1-2] mesh -I
+    - - P SSC[1-2] C +MESH:INIT,OK
+  - - SSC SSC1 meshset -T -o 0 -t 1
+    - - P SSC1 C +MESHSET:TYPE,OK
+  - - SSC SSC1 meshset -G -o 0 -m <mesh_id> -n <router_channel> -t <max_connect> -e
+        <map_password> -i <ie_encrypt>
+    - - P SSC1 C +MESHSET:CFG,OK
+  - - SSC SSC2 meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC2 C +MESHSET:CFG,OK
+  - - SSC SSC[1-2] mesh -T
+    - - P SSC[1-2] C +MESH:START,OK
+      - P SSC2 C MESH_EVENT_CONNECTED,2
+      - P SSC1 C MESH_EVENT_CHILD_CONNECTED
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+  steps: |-
+    1. mesh init/config all duts no-router, set dut1 root
+    2. mesh start all duts
+    3. check mesh tree established and stably
+  test environment: SSC_T2_MESH1
+  summary: dut1 set type root without router, dut2 set router without set type, establish mesh network
+  test point 1: manual network function
+  test point 2: no-router function test
+  CI ready: 'No'
+- ID: MESH_EST_2105
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC1 mesh -I
+    - - P SSC1 C +MESH:INIT,OK
+  - - SSC SSC1 meshset -T -t 1
+    - - P SSC1 C +MESHSET:TYPE,OK
+  - - SSC SSC1 meshset -G -o 0 -m <mesh_id> -n <router_channel> -t <max_connect> -e
+        <map_password> -i <ie_encrypt>
+    - - P SSC1 C +MESHSET:CFG,OK
+  - - SSC SSC1 mesh -T
+    - - P SSC1 C +MESH:START,OK
+  - - DELAY 2 5
+    - - ''
+  - - SSC SSC1 mesh -I -o 1
+    - - P SSC1 C +MESH:DEINIT,OK
+  - - SSC SSC[1-2] mesh -I
+    - - P SSC[1-2] C +MESH:INIT,OK
+  - - SSC SSC1 meshset -T -o 1
+    - - P SSC1 C +MESHGET:TYPE,OK,0
+  - - SSC SSC[1-2] meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC[1-2] C +MESHSET:CFG,OK
+  - - SSC SSC2 mesh -T
+    - - P SSC2 C +MESH:START,OK
+  - - DELAY 5
+    - - P SSC2 C MESH_EVENT_CONNECTED,1 C MESH_EVENT_ROOT_GOT_IP
+  - - SSC SSC1 mesh -T
+    - - P SSC1 C +MESH:START,OK C MESH_EVENT_CONNECTED,2
+      - P SSC2 C MESH_EVENT_CHILD_CONNECTED
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+  steps: |-
+    1. start one dut with root leaf
+    2. check mesh type cleared after re-init mesh
+    3. start mesh and let this dut be layer2
+  test environment: SSC_T2_MESH1
+  summary: check mesh root type info cleared after mesh re-init
+  test point 1: manual network function
+  test point 2: no-router function test
+  CI ready: 'Yes'
+- ID: MESH_EST_2106
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - *mesh_init_all_duts
+  - *mesh_config_all_duts_no_router
+  - *mesh_start_all_duts
+  - - DELAY <delay_time>
+    - - ''
+  - - VALUE <tree_node_num> <node_num>
+    - - R PC_COM L OK
+  - *mesh_check_tree_num
+  - *mesh_tree_stably
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+  steps: |-
+    1. mesh init/config all duts no-router, set dut1 root
+    2. mesh start all duts
+    3. check mesh tree established and stably
+  test environment: SSC_T50_MESH1
+  summary: multiple nodes, establish mesh network without router
+  test point 1: manual network function
+  test point 2: no-router function test
+  CI ready: 'Yes'
+- ID: MESH_EST_2107
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - *mesh_init_all_duts
+  - *mesh_config_all_duts_no_router
+  - *mesh_start_all_duts
+  - - DELAY <delay_time>
+    - - ''
+  - - VALUE <tree_node_num> <node_num>
+    - - R PC_COM L OK
+  - *mesh_check_tree_num
+  - *mesh_tree_stably
+  - - SSC SSC1 reboot
+    - - P SSC1 C !!!ready!!!
+      - P MNODE(0,0) C MESH_EVENT_DISCONNECTED
+  - - DELAY 50
+    - - P SSC[2-<node_num>] C MESH_EVENT_NO_PARENT_FOUND
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+  steps: |-
+    1. establish mesh no-router network
+    2. root reboot
+    3. check others can't connected
+  test environment: SSC_T50_MESH1
+  summary: multiple nodes, establish mesh network without router, then root reboot
+  test point 1: manual network function
+  test point 2: no-router function test
+  CI ready: 'No'
+- ID: MESH_EST_2108
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC[1-2] mesh -I
+    - - P SSC[1-2] C +MESH:INIT,OK
+  - - SSC SSC1 meshset -T -o 0 -t 1
+    - - P SSC1 C +MESHSET:TYPE,OK
+  - - SSC SSC2 meshset -X -o 0 -i 1
+    - - P SSC2 C +MESHSET:FIX_ROOT,OK
+  - - SSC SSC[1-2] meshset -G -o 0 -m <mesh_id> -n <router_channel> -t <max_connect> -e
+        <map_password> -i <ie_encrypt>
+    - - P SSC[1-2] C +MESHSET:CFG,OK
+  - - MSSC SSC[1-2] meshset -A -n <scan_times> -t <vote_time> -l 15 -i <monitor_ie>
+    - - P SSC[1-2] C +MESHSET:ATTEMPTS,OK
+  - - SSC SSC[1-2] mesh -T
+    - - P SSC[1-2] C +MESH:START,OK
+      - P SSC2 C MESH_EVENT_CONNECTED,2
+  - - SSC SSC1 mesh -I -o 1
+    - - P SSC1 C +MESH:DEINIT,OK
+      - P SSC2 C MESH_EVENT_DISCONNECTED
+  - - DELAY 40
+    - - P SSC2 C MESH_EVENT_NO_PARENT_FOUND
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+  steps: |-
+    1. establish mesh no-router network
+    2. root deinit
+    3. check layer2 no parent found
+  test environment: SSC_T2_MESH1
+  summary: no-router, root deinit and check layer2 no parent found
+  test point 1: manual network function
+  test point 2: no-router function test
+  CI ready: 'No'
+- ID: MESH_EST_2109
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - *mesh_init_all_duts
+  - *mesh_config_all_duts_no_router
+  - - MSSC SSC[1-<node_num>] meshset -A -n <scan_times> -t <vote_time> -l 15 -i <monitor_ie>
+    - - P SSC[1-<node_num>] C +MESHSET:ATTEMPTS,OK
+  - *mesh_start_all_duts
+  - - DELAY <delay_time>
+    - - ''
+  - - VALUE <tree_node_num> <node_num>
+    - - R PC_COM L OK
+  - *mesh_check_tree_num
+  - *mesh_tree_stably
+  - - SSC SSC1 mesh -I -o 1
+    - - P SSC1 C +MESH:DEINIT,OK
+      - P MNODE(0,0) C MESH_EVENT_DISCONNECTED
+  - - DELAY 60
+    - - P MNODE(0,0) C MESH_EVENT_NO_PARENT_FOUND
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+  steps: |-
+    1. establish mesh no-router network
+    2. root deinit
+    3. check others can't connected
+  test environment: SSC_T6_MESH1
+  summary: multiple nodes, establish mesh network without router, then root deinit
+  test point 1: manual network function
+  test point 2: no-router function test
+  CI ready: 'No'
+- ID: MESH_EST_2110
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - *mesh_init_all_duts
+  - *mesh_config_all_duts_no_router
+  - *mesh_start_all_duts
+  - - DELAY <delay_time>
+    - - ''
+  - - VALUE <tree_node_num> <node_num>
+    - - R PC_COM L OK
+  - *mesh_check_tree_num
+  - *mesh_tree_stably
+  - - FREBOOT SSC1
+    - - P SSC1 C !!!ready!!!
+  - - SSC SSC1 mesh -I
+    - - P SSC1 C +MESH:INIT,OK
+  - *mesh_config_dut1_no_router
+  - - SSC SSC1 mesh -T
+    - - P SSC1 C +MESH:START,OK
+  - - DELAY <delay_time>
+    - - ''
+  - *mesh_check_tree_num
+  - *mesh_tree_stably
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+  steps: |-
+    1. establish mesh no-router network
+    2. root restart mesh
+    3. check mesh tree re-establish
+  test environment: SSC_T50_MESH1
+  summary: multiple nodes, establish mesh network without router, then root restart root and check mesh network re-establish
+  test point 1: manual network function
+  test point 2: no-router function test
+  CI ready: 'Yes'
+- ID: MESH_EST_2111
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - *mesh_init_all_duts
+  - *mesh_config_all_duts_no_router
+  - *mesh_start_all_duts
+  - - DELAY <delay_time>
+    - - ''
+  - - VALUE <tree_node_num> <node_num>
+    - - R PC_COM L OK
+  - *mesh_check_tree_num
+  - *mesh_tree_stably
+  - - SSC MNODE(0,0) reboot
+    - - P MNODE(0,0) C !!!ready!!!
+  - - DELAY <delay_time>
+    - - ''
+  - - VALUE <tree_node_num> <node_num>-1
+    - - R PC_COM L OK
+  - *mesh_check_tree_num
+  - *mesh_tree_stably
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+  steps: |-
+    1. establish mesh no-router network
+    2. one of the l2 nodes reboot
+    3. check mesh tree re-establish
+  test environment: SSC_T50_MESH1
+  summary: multiple nodes, establish mesh network without router, then reboot one of the l2 nodes
+  test point 1: manual network function
+  test point 2: no-router function test
+  CI ready: 'No'
+- ID: MESH_EST_2112
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC[1-3] mesh -I
+    - - P SSC[1-3] C +MESH:INIT,OK
+  - - SSC SSC[1-2] meshset -T -o 0 -t 1
+    - - P SSC[1-2] C +MESHSET:TYPE,OK
+  - - SSC SSC3 meshset -X -o 0 -i 1
+    - - P SSC3 C +MESHSET:FIX_ROOT,OK
+  - - SSC SSC[1-3] meshset -G -o 0 -m <mesh_id> -n <router_channel> -t <max_connect> -e
+        <map_password> -i <ie_encrypt>
+    - - P SSC[1-3] C +MESHSET:CFG,OK
+  - - SSC SSC[2-3] mesh -T
+    - - P SSC[2-3] C +MESH:START,OK
+      - P SSC3 C MESH_EVENT_CONNECTED,2
+  - - SSC SSC2 mesh -I -o 1
+    - - P SSC2 C +MESH:DEINIT,OK
+      - P SSC3 C MESH_EVENT_DISCONNECTED
+  - - SSC SSC1 mesh -T
+    - - P SSC1 C +MESH:START,OK
+      - P SSC3 C MESH_EVENT_CONNECTED,2
+      - P SSC1 C MESH_EVENT_CHILD_CONNECTED
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+  steps: |-
+    1. all duts set no-router, dut1 and dut2 is root, dut3 fix root
+    2. start dut2 and dut3 establish network
+    3. deinit dut2 and start dut1, dut3 disconencted with dut2 then connect to dut1
+  test environment: SSC_T3_MESH1
+  summary: set two no-router root, check node switch between two root
+  test point 1: manual network function
+  test point 2: no-router function test
+  CI ready: 'Yes'
+- ID: MESH_EST_2201
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - MSSC SSC1 mesh -I
+    - - P SSC1 C +MESH:INIT,OK
+  - - SSC SSC1 meshset -T -t 3
+    - - P SSC1 C +MESHSET:TYPE,OK
+  - - MSSC SSC1 meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC1 C +MESHSET:CFG,OK
+  - - MSSC SSC1 meshset -o 0 -L -l <max_layer>
+    - - P SSC1 C +MESHSET:MLAYER,OK
+  - - MSSC SSC1 mesh -T
+    - - P SSC1 C +MESH:START,OK
+  - - DELAY 10
+    - - P SSC1 C MESH_EVENT_NO_PARENT_FOUND
+  - - SSC SSC1 op -Q
+    - - P SSC1 C +CURMODE:1
+  - - LOOP 3 2 "[0,1,2]" "[0,1,2]"
+    - ''
+  - - SSC SSC1 sleep -S -t {%d}
+    - - P SSC1 C +SLEEP_MODE:OK
+  - - SSC SSC1 sleep -Q
+    - - P SSC1 C +CURMODE:{%d}
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+    4. succeed
+  steps: |-
+    1. start one dut with mesh type leaf
+    2. check not connect to Router
+    3. check station mode
+    4. check nonsleep/light/modem sleep mode setable
+  test environment: SSC_T1_MESH1
+  summary: start dut1 as leaf, check disconnected, station mode, and sleep mode setable
+  test point 1: manual network function
+  test point 2: standalone station test
+  CI ready: 'Yes'
+- ID: MESH_EST_2202
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC[1-2] mesh -I
+    - - P SSC[1-2] C +MESH:INIT,OK
+  - - SSC SSC1 meshset -T -t 3
+    - - P SSC1 C +MESHSET:TYPE,OK
+  - - SSC SSC[1-2] meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC[1-2] C +MESHSET:CFG,OK
+  - - SSC SSC[1-2] meshset -o 0 -L -l <max_layer>
+    - - P SSC[1-2] C +MESHSET:MLAYER,OK
+  - - SSC SSC1 mesh -T
+    - - P SSC1 C +MESH:START,OK
+  - - DELAY 15
+    - - ''
+  - - SSC SSC2 mesh -T
+    - - P SSC2 C +MESH:START,OK
+  - - DELAY 5
+    - - P SSC2 C MESH_EVENT_CONNECTED,1 C MESH_EVENT_ROOT_GOT_IP
+      - P SSC1 C MESH_EVENT_CONNECTED,2
+  - - SSC SSC1 op -Q
+    - - P SSC1 C +CURMODE:1
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+    4. succeed
+  steps: |-
+    1. first start one dut with mesh type leaf
+    2. then start the normal node
+    3. check if networking established
+    4. check wifo op mode station
+  test environment: SSC_T2_MESH1
+  summary: dut1 start mesh with type leaf, dut2 normal node, establish network
+  test point 1: manual network function
+  test point 2: standalone station test
+  CI ready: 'Yes'
+- ID: MESH_EST_2203
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC1 mesh -I
+    - - P SSC1 C +MESH:INIT,OK
+  - - SSC SSC1 meshset -T -t 3
+    - - P SSC1 C +MESHSET:TYPE,OK
+  - - SSC SSC1 meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC1 C +MESHSET:CFG,OK
+  - - SSC SSC1 mesh -T
+    - - P SSC1 C +MESH:START,OK
+  - - DELAY 3 10
+    - - ''
+  - - SSC SSC1 mesh -I -o 1
+    - - P SSC1 C +MESH:DEINIT,OK
+  - - SSC SSC1 mesh -I
+    - - P SSC1 C +MESH:INIT,OK
+  - - SSC SSC1 meshset -T -o 1
+    - - P SSC1 C +MESHGET:TYPE,OK,0
+  - - SSC SSC1 meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC1 C +MESHSET:CFG,OK
+  - - SSC SSC1 mesh -T
+    - - P SSC1 C +MESH:START,OK
+  - - DELAY 5
+    - - P SSC1 C MESH_EVENT_CONNECTED,1 C MESH_EVENT_ROOT_GOT_IP
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+    4. succeed
+  steps: |-
+    1. start one dut with type leaf
+    2. check mesh type cleared after re-init mesh
+    3. start mesh and connected with Router
+  test environment: SSC_T1_MESH1
+  summary: check mesh leaf type info cleared after mesh re-init
+  test point 1: manual network function
+  test point 2: standalone station test
+  CI ready: 'Yes'
+- ID: MESH_EST_2204
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - MSSC SSC[1-<node_num>] mesh -I
+    - - P SSC[1-<node_num>] C +MESH:INIT,OK
+  - - MSSC SSC[1-5] meshset -T -t 3
+    - - P SSC[1-5] C +MESHSET:TYPE,OK
+  - - MSSC SSC[1-<node_num>] meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC[1-<node_num>] C +MESHSET:CFG,OK
+  - - MSSC SSC[1-<node_num>] meshset -o 0 -L -l <max_layer>
+    - - P SSC[1-<node_num>] C +MESHSET:MLAYER,OK
+  - - MSSC SSC[1-<node_num>] mesh -T
+    - - P SSC[1-<node_num>] C +MESH:START,OK
+  - - DELAY <delay_time>
+    - - ''
+  - - VALUE <tree_node_num> <node_num>
+    - - R PC_COM L OK
+  - *mesh_check_tree_num
+  - *mesh_tree_stably
+  - - MSSC SSC[1-5] meshset -T -o 1
+    - - P SSC[1-5] C +MESHGET:TYPE,OK,3
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+    4. succeed
+  steps: |-
+    1. several duts set type leaf
+    2. all duts start mesh together
+    3. check if networking established
+    4. check leaf type nodes
+  test environment: SSC_T50_MESH1
+  summary: several duts set type leaf, all duts start mesh together
+  test point 1: manual network function
+  test point 2: standalone station test
+  CI ready: 'No'
+- ID: MESH_EST_2301
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0,0) meshset -D -m <mesh_id2>
+    - - P MNODE(0,0) C MESHSET:MESH_ID,OK
+      - P MNODE(0,0) C MESH_EVENT_DISCONNECTED
+  - - DELAY 10
+    - - P MNODE(0,0) C MESH_EVENT_CONNECTED,1 C MESH_EVENT_ROOT_GOT_IP
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. dynamic set mesh id
+  initial condition: MESH_INIT1
+  test environment: SSC_T2_MESH1
+  summary: dynamic set mesh id, check disconnected with parent
+  test point 1: manual network function
+  test point 2: dynamic set configuration
+  CI ready: 'Yes'
+  #TODO: v3.1 will not run dynamic cases on CI
+- ID: MESH_EST_2302
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0) meshset -D -m <mesh_id2>
+    - - P MNODE(0) C MESHSET:MESH_ID,OK
+      - P MNODE(0) C MESH_EVENT_CHILD_DISCONNECTED
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. root dynamic set mesh id
+  initial condition: MESH_INIT1
+  test environment: SSC_T2_MESH1
+  summary: root dynamic set mesh id, check child leave
+  test point 1: manual network function
+  test point 2: dynamic set configuration
+  CI ready: 'Yes'
+- ID: MESH_EST_2303
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0,0) meshset -D -m <mesh_id2>
+    - - P MNODE(0,0) C MESHSET:MESH_ID,OK
+      - P MNODE(0,0) C MESH_EVENT_CHILD_DISCONNECTED C MESH_EVENT_DISCONNECTED
+  - - DELAY 15
+    - - ''
+  - - SSC MNODE(0,0) mesh -Q -o 2
+    - - P MNODE(0,0) C IS_ROOT
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. layer2 dynamic set mesh id
+  initial condition: MESH_INIT1
+  test environment: SSC_T6_MESH1
+  summary: layer2 dynamic set mesh id, check disconnected and child leave
+  test point 1: manual network function
+  test point 2: dynamic set configuration
+  CI ready: 'Yes'
+- ID: MESH_EST_2304
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - MSSC SSC[1-<node_num>] mesh -I
+    - - P SSC[1-<node_num>] C +MESH:INIT,OK
+  - - MSSC SSC[1-<node_num>] meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -i 0
+    - - P SSC[1-<node_num>] C +MESHSET:CFG,OK
+  - - MSSC SSC[1-<node_num>] mesh -T
+    - - P SSC[1-<node_num>] C +MESH:START,OK
+  - - DELAY <delay_time>
+    - - ''
+  - - VALUE <tree_node_num> <node_num>
+    - - R PC_COM L OK
+  - *mesh_check_tree_num
+  - *mesh_tree_stably
+  - - SSC MNODE(0,0) meshset -D -m <mesh_id2>
+    - - P MNODE(0,0) C MESHSET:MESH_ID,OK
+      - P MNODE(0,0) C MESH_EVENT_CHILD_DISCONNECTED C MESH_EVENT_DISCONNECTED
+  - - DELAY 10
+    - - P MNODE(0,0) C MESH_EVENT_CONNECTED,1 C MESH_EVENT_ROOT_GOT_IP
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. root dynamic set mesh id
+  initial condition: MESH_DEINIT_STA
+  test environment: SSC_T6_MESH1
+  summary: layer2 dynamic set mesh id  without ie_encrypt, check disconnected and child leave
+  test point 1: manual network function
+  test point 2: dynamic set configuration
+  CI ready: 'Yes'
+- ID: MESH_EST_2305
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - MSSC SSC[1-2] mesh -I
+    - - P SSC[1-2] C +MESH:INIT,OK
+  - - MSSC SSC[1-2] meshset -G -o 0 -m [<mesh_id>,<mesh_id2>] -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC[1-2] C +MESHSET:CFG,OK
+  - - MSSC SSC2 mesh -T
+    - - P SSC2 C +MESH:START,OK
+      - P SSC2 C MESH_EVENT_CONNECTED,1 C MESH_EVENT_ROOT_GOT_IP
+  - - MSSC SSC1 mesh -T
+    - - P SSC1 C +MESH:START,OK
+  - - SSC SSC1 meshset -D -m <mesh_id2>
+    - - P SSC1 C MESHSET:MESH_ID,OK
+      - P SSC1 C MESH_EVENT_CONNECTED,2
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. layer2 dynamic set mesh id
+  initial condition: MESH_DEINIT_STA
+  test environment: SSC_T2_MESH1
+  summary: dynamic set mesh id on disconnected node, check connected
+  test point 1: manual network function
+  test point 2: dynamic set configuration
+  CI ready: 'Yes'
+- ID: MESH_EST_2306
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - MSSC SSC[1-2] mesh -I
+    - - P SSC[1-2] C +MESH:INIT,OK
+  - - MSSC SSC[1-2] meshset -G -o 0 -m [<mesh_id>,<mesh_id2>] -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC[1-2] C +MESHSET:CFG,OK
+  - - MSSC SSC1 mesh -T
+    - - P SSC1 C +MESH:START,OK
+  - - DELAY 10
+    - - P SSC1 C MESH_EVENT_CONNECTED,1 C MESH_EVENT_ROOT_GOT_IP
+  - - SSC SSC1 meshset -D -m <mesh_id2>
+    - - P SSC1 C MESHSET:MESH_ID,OK
+  - - MSSC SSC2 mesh -T
+    - - P SSC2 C +MESH:START,OK
+      - P SSC2 C MESH_EVENT_CONNECTED,2
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. layer2 dynamic set mesh id
+  initial condition: MESH_DEINIT_STA
+  test environment: SSC_T2_MESH1
+  summary: dynamic set mesh id on root, check new node join
+  test point 1: manual network function
+  test point 2: dynamic set configuration
+  CI ready: 'Yes'
+- ID: MESH_EST_2307
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - MSSC SSC[1-2] mesh -I
+    - - P SSC[1-2] C +MESH:INIT,OK
+  - - MSSC SSC[1-2] meshset -G -o 0 -m [<mesh_id>,<mesh_id2>] -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC[1-2] C +MESHSET:CFG,OK
+  - - MSSC SSC[1-2] mesh -T
+    - - P SSC[1-2] C +MESH:START,OK
+  - - DELAY 10
+    - - P SSC[1-2] C MESH_EVENT_CONNECTED,1 C MESH_EVENT_ROOT_GOT_IP
+  - - SSC SSC1 meshset -D -m <mesh_id2>
+    - - P SSC1 C MESHSET:MESH_ID,OK
+    - - P SSC1 C MESH_EVENT_DISCONNECTED
+  - - DELAY 5
+      - P SSC1 C MESH_EVENT_CONNECTED,2
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+  steps: |-
+    1. set 2 duts with different mesh_id, both root
+    2. dynamic set mesh id on dut1
+    3. dut1 disconnected with router and join the other network
+  initial condition: MESH_DEINIT_STA
+  test environment: SSC_T2_MESH1
+  summary: dynamic set mesh id on root, check disconnected and join new network
+  test point 1: manual network function
+  test point 2: dynamic set configuration
+  CI ready: 'Yes'
+- ID: MESH_EST_2308
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - MSSC SSC[1-<node_num>] mesh -I
+    - - P SSC[1-<node_num>] C +MESH:INIT,OK
+  - - MSSC SSC[1-<node_num>] meshset -G -o 0 -m <mesh_id2> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i 0
+    - - P SSC[1-<node_num>] C +MESHSET:CFG,OK
+  - - MSSC SSC[1-<node_num>] mesh -T
+    - - P SSC[1-<node_num>] C +MESH:START,OK
+  - - DELAY <delay_time>
+    - - ''
+  - - VALUE <tree_node_num> <node_num>
+    - - R PC_COM L OK
+  - *mesh_check_tree_num
+  - *mesh_tree_stably
+  - - SSC MNODE(0,0) meshset -E -i 1 -e <map_password> -l 10
+    - - P MNODE(0,0) C MESHSET:MIE_FUNC,OK C MESHSET:MIE_KEY,OK
+      - P MNODE(0,0) C MESH_EVENT_CHILD_DISCONNECTED C MESH_EVENT_DISCONNECTED
+  - - DELAY 15
+    - - ''
+  - - SSC MNODE(0,0) mesh -Q -o 2
+    - - P MNODE(0,0) C IS_ROOT
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. all duts establish mesh neetwork with ie_encrypt = 0
+    2. layer 2 dynamic set mesh ie encrypt
+    3. check layer2 disconnected with parent and then become root
+  initial condition: MESH_DEINIT_STA
+  test environment: SSC_T6_MESH1
+  summary: dynamic set mesh ie encrypt, check disconnected and child leave
+  test point 1: manual network function
+  test point 2: dynamic set configuration
+  CI ready: 'No'
+- ID: MESH_EST_2309
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - MSSC SSC[1-<node_num>] mesh -I
+    - - P SSC[1-<node_num>] C +MESH:INIT,OK
+  - - MSSC SSC[1-<node_num>] meshset -G -o 0 -m <mesh_id2> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i 1
+    - - P SSC[1-<node_num>] C +MESHSET:CFG,OK
+  - - MSSC SSC[1-<node_num>] mesh -T
+    - - P SSC[1-<node_num>] C +MESH:START,OK
+  - - DELAY <delay_time>
+    - - ''
+  - - VALUE <tree_node_num> <node_num>
+    - - R PC_COM L OK
+  - *mesh_check_tree_num
+  - *mesh_tree_stably
+  - - SSC MNODE(0,0) meshset -E -i 1 -e <temp_string> -l 10
+    - - P MNODE(0,0) C MESHSET:MIE_FUNC,OK C MESHSET:MIE_KEY,OK
+      - P MNODE(0,0) C MESH_EVENT_CHILD_DISCONNECTED C MESH_EVENT_DISCONNECTED
+  - - DELAY 15
+    - - ''
+  - - SSC MNODE(0,0) mesh -Q -o 2
+    - - P MNODE(0,0) C IS_ROOT
+  expected result: |-
+    1. succeed
+  steps: |-
+    1. all duts establish mesh neetwork with ie_encrypt = 1
+    2. layer 2 dynamic set mesh ie encrypt key
+    3. check layer2 disconnected with parent and then become root
+  initial condition: MESH_DEINIT_STA
+  test environment: SSC_T6_MESH1
+  summary: dynamic set mesh ie key, check disconnected and child leave
+  test point 1: manual network function
+  test point 2: dynamic set configuration
+  CI ready: 'Yes'
+- ID: MESH_EST_2310
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - MSSC SSC[1-2] mesh -I
+    - - P SSC[1-2] C +MESH:INIT,OK
+  - - MSSC SSC[1-2] meshset -G -o 0 -m <mesh_id2> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i [0,1]
+    - - P SSC[1-2] C +MESHSET:CFG,OK
+  - - SSC SSC1 mesh -T
+    - - P SSC1 C +MESH:START,OK
+  - - DELAY 10
+    - - P SSC1 C MESH_EVENT_CONNECTED,1 C MESH_EVENT_ROOT_GOT_IP
+  - - SSC SSC2 mesh -T
+    - - P SSC2 C +MESH:START,OK
+  - - SSC SSC2 meshset -E -i 0 -e <map_password> -l 10
+    - - P SSC2 C MESHSET:MIE_FUNC,OK C MESHSET:MIE_KEY,OK
+      - P SSC2 C MESH_EVENT_CONNECTED,2
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+    4. succeed
+  steps: |-
+    1. dut1 set ie_encrypt=0 and dut2 set ie encrypt=1
+    2. start dut1 to be root first
+    3. start dut2 and dynamic set mesh ie encrypt=0
+    4. check dut2 connected with dut1
+  initial condition: MESH_DEINIT_STA
+  test environment: SSC_T2_MESH1
+  summary: dynamic set mesh ie encrypt to 0, check connected
+  test point 1: manual network function
+  test point 2: dynamic set configuration
+  CI ready: 'Yes'
+- ID: MESH_EST_2311
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - MSSC SSC[1-2] mesh -I
+    - - P SSC[1-2] C +MESH:INIT,OK
+  - - MSSC SSC[1-2] meshset -G -o 0 -m <mesh_id2> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i [1,0]
+    - - P SSC[1-2] C +MESHSET:CFG,OK
+  - - SSC SSC1 mesh -T
+    - - P SSC1 C +MESH:START,OK
+  - - DELAY 10
+    - - P SSC1 C MESH_EVENT_CONNECTED,1 C MESH_EVENT_ROOT_GOT_IP
+  - - SSC SSC2 mesh -T
+    - - P SSC2 C +MESH:START,OK
+  - - SSC SSC2 meshset -E -i 1 -e <map_password> -l 10
+    - - P SSC2 C MESHSET:MIE_FUNC,OK C MESHSET:MIE_KEY,OK
+      - P SSC2 C MESH_EVENT_CONNECTED,2
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+    4. succeed
+  steps: |-
+    1. dut1 set ie_encrypt=1 and dut2 set ie encrypt=0
+    2. start dut1 to be root first
+    3. start dut2 and dynamic set mesh ie encrypt=1
+    4. check dut2 connected with dut1
+  initial condition: MESH_DEINIT_STA
+  test environment: SSC_T2_MESH1
+  summary: dynamic set mesh ie encrypt to 1, check connected
+  test point 1: manual network function
+  test point 2: dynamic set configuration
+  CI ready: 'Yes'
+- ID: MESH_EST_2312
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - MSSC SSC[1-2] mesh -I
+    - - P SSC[1-2] C +MESH:INIT,OK
+  - - MSSC SSC[1-2] meshset -G -o 0 -m <mesh_id2> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i 0
+    - - P SSC[1-2] C +MESHSET:CFG,OK
+  - - SSC SSC[1-2] meshset -E -i 1 -e [<map_password>,<temp_string>] -l 10
+    - - P SSC[1-2] C MESHSET:MIE_FUNC,OK C MESHSET:MIE_KEY,OK
+  - - SSC SSC1 mesh -T
+    - - P SSC1 C +MESH:START,OK
+  - - DELAY 10
+    - - P SSC1 C MESH_EVENT_CONNECTED,1 C MESH_EVENT_ROOT_GOT_IP
+  - - SSC SSC2 mesh -T
+    - - P SSC2 C +MESH:START,OK
+  - - SSC SSC2 meshset -E -i 1 -e <map_password> -l 10
+    - - P SSC2 C MESHSET:MIE_FUNC,OK C MESHSET:MIE_KEY,OK
+      - P SSC2 C MESH_EVENT_CONNECTED,2
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+  steps: |-
+    1. 2 duts config mesh with different ie_encrypt key
+    2. dut2 dynamic set mesh ie encrypt key after start
+    3. check dut2 connected with dut1
+  initial condition: MESH_DEINIT_STA
+  test environment: SSC_T2_MESH1
+  summary: dynamic set mesh ie key, check connected
+  test point 1: manual network function
+  test point 2: dynamic set configuration
+  CI ready: 'Yes'
+- ID: MESH_EST_2401
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC1 mesh -I
+    - - P SSC1 C +MESH:INIT,OK
+  - - SSC SSC1 meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC1 C +MESHSET:CFG,OK
+  - - SSC SSC1 mesh -T
+    - - P SSC1 C +MESH:START,OK
+  - - DELAY 1 2
+    - - ''
+  - - SSC SSC1 meshset -O -o 0 -n 0 -t 0
+    - - P SSC1 C +MESHSET:SELF_ORG,OK
+  - - SSC SSC1 sta -S -T
+    - - P SSC1 C MESH_EVENT_SCAN_DONE
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. dut1 start mesh then set self_organized(0,0)
+    2. wifi scan
+    2. check MESH_EVENT_SCAN_DONE on dut1
+  initial condition: MESH_DEINIT_STA
+  test environment: SSC_T1_MESH1
+  summary: set self_organized (0,0) and user scan after mesh start
+  test point 1: manual network function
+  test point 2: self_organized
+  CI ready: 'Yes'
+- ID: MESH_EST_2402
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC1 op -S -o 2
+    - - P SSC1 C +MODE:OK
+  - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -n <router_channel> -t <target_auth_enum>
+    - - R SSC1 C +SAP:OK
+  - - SSC SSC2 mesh -I
+    - - P SSC2 C +MESH:INIT,OK
+  - - SSC SSC2 meshset -G -o 0 -m <mesh_id> -s <target_ssid> -p <target_password> -n
+      <router_channel> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC2 C +MESHSET:CFG,OK
+  - - SSC SSC2 mesh -T
+    - - P SSC2 C +MESH:START,OK
+      - P SSC2 C MESH_EVENT_CONNECTED,1
+  - - SSC SSC1 reboot
+    - - P SSC1 C !!!ready!!!
+      - P SSC2 C MESH_EVENT_DISCONNECTE
+  - - SSC SSC2 meshset -O -o 0 -n 0 -t 0
+    - - P SSC2 C +MESHSET:SELF_ORG,OK
+  - - DELAY 1
+    - - P SSC2 C MESH_EVENT_STOP_RECONNECTION
+  - - SSC SSC2 sta -S -T
+    - - P SSC2 C MESH_EVENT_SCAN_DONE
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+  steps: |-
+    1. dut1 set AP, dut2 start mesh and connected with dut1
+    2. reboot dut1, dut2 disconnected with dut1
+    3. set self_organized(0,0) and then use scan (stop scan first)
+  initial condition: MESH_DEINIT_STA
+  test environment: SSC_T2_MESH1
+  summary: set self_organized (0,0) when root connecting to router
+  test point 1: manual network function
+  test point 2: self_organized
+  CI ready: 'Yes'
+  # TODO: discussion
+- ID: MESH_EST_2403
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC1 op -S -o 2
+    - - P SSC1 C +MODE:OK
+  - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -n <router_channel> -t <target_auth_enum>
+    - - R SSC1 C +SAP:OK
+  - - SSC SSC2 mesh -I
+    - - P SSC2 C +MESH:INIT,OK
+  - - SSC SSC2 meshset -G -o 0 -m <mesh_id> -s <target_ssid> -p <target_password> -n
+      <router_channel> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC2 C +MESHSET:CFG,OK
+  - - SSC SSC2 mesh -T
+    - - P SSC2 C +MESH:START,OK
+      - P SSC2 C MESH_EVENT_CONNECTED,1
+  - - SSC SSC1 reboot
+    - - P SSC1 C !!!ready!!!
+      - P SSC2 C MESH_EVENT_DISCONNECTE
+  - - SSC SSC1 meshset -O -o 0 -n 1 -t 1
+    - - P SSC1 C +MESHSET:SELF_ORG,OK
+  - - SSC SSC1 meshset -T -o 1
+    - - P SSC1 C MESHGET:TYPE,OK,0
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+  steps: |-
+    1. dut1 set AP, dut2 start mesh and connected with dut1
+    2. reboot dut1, dut2 disconnected with dut1
+    3. set self_organized(1,1) and check dut2 IDLE
+  initial condition: MESH_DEINIT_STA
+  test environment: SSC_T2_MESH1
+  summary: set self_organized (1,1) to give up root state
+  test point 1: manual network function
+  test point 2: self_organized
+  CI ready: 'Yes'
+- ID: MESH_EST_6001
+  <<: *MESH_CASE
+  category: Performance
+  cmd set:
+  - MeshStress/MeshEstablishTime
+  - *est_performance_cmd_set
+  execution time: 2.0
+  expected result: |-
+    1. check the time spent on mesh network establish
+  steps: |-
+    1. enable all nodes establish network
+  summary: performance test, start all nodes to establish network
+  test point 1: performance
+  test point 2: mesh network establish
+  test environment: SSC_T50_MESH1
+- ID: MESH_EST_6002
+  <<: *MESH_CASE
+  category: Performance
+  cmd set:
+  - MeshStress/MeshEstablishTime
+  - *est_performance_cmd_set
+  - - 'ie_encrypt = False'
+    - ['']
+  execution time: 2.0
+  expected result: |-
+    1. check the time spent on mesh network establish
+  steps: |-
+    1. enable all nodes establish network without mesh ie encrypted
+  summary: performance test, start all nodes to establish network without mesh ie encrypted
+  test point 1: performance
+  test point 2: mesh network establish
+  test environment: SSC_T50_MESH1
+- ID: MESH_EST_6003
+  <<: *MESH_CASE
+  category: Performance
+  cmd set:
+  - MeshStress/MeshEstablishTime
+  - *est_performance_cmd_set
+  - - 'map_encrypt = False'
+    - ['']
+  execution time: 2.0
+  expected result: |-
+    1. check the time spent on mesh network establish
+  steps: |-
+    1. enable all nodes establish network without mesh ap encrypted
+  summary: performance test, start all nodes to establish network without mesh ap encrypted
+  test point 1: performance
+  test point 2: mesh network establish
+  test environment: SSC_T50_MESH1
+- ID: MESH_EST_6004
+  <<: *MESH_CASE
+  category: Performance
+  cmd set:
+  - MeshStress/MeshEstablishTime
+  - *est_performance_cmd_set
+  - - 'map_encrypt = False'
+    - ['']
+  - - 'ie_encrypt = False'
+    - ['']
+  execution time: 2.0
+  expected result: |-
+    1. check the time spent on mesh network establish
+  steps: |-
+    1. enable all nodes establish network without map/mie encrypted
+  summary: performance test, start all nodes to establish network without map/mie encrypted
+  test point 1: performance
+  test point 2: mesh network establish
+  test environment: SSC_T50_MESH1
+- ID: MESH_EST_6005
+  <<: *MESH_CASE
+  category: Performance
+  cmd set:
+  - MeshStress/MeshEstablishTime
+  - *est_performance_cmd_set
+  - - 'default_switch_rssi = True'
+    - ['']
+  execution time: 2.0
+  expected result: |-
+    1. check the time spent on mesh network establish
+  steps: |-
+    1. enable all nodes establish network without default switch rssi
+  summary: performance test, start all nodes to establish network with default switch rssi
+  test point 1: performance
+  test point 2: mesh network establish
+  test environment: SSC_T50_MESH1
+- ID: MESH_EST_6101
+  <<: *MESH_CASE
+  category: Performance
+  cmd set:
+  - MeshStress/MeshEstablishTime
+  - *est_performance_cmd_set
+  - - 'destroy_nodes = ["MNODE(0)"]'
+    - ['']
+  execution time: 2.0
+  expected result: |-
+    1. check the time spent
+    1. check the time spent
+  initial condition: MESH_DEINIT_STA
+  steps: |-
+    1. enable all nodes establish network
+    2. destroy root after network established
+  summary: performance test, destroy root after network established
+  test point 1: performance
+  test point 2: mesh network re-establish
+  test environment: SSC_T50_MESH1
+- ID: MESH_EST_6102
+  <<: *MESH_CASE
+  category: Performance
+  cmd set:
+  - MeshStress/MeshEstablishTime
+  - *est_performance_cmd_set
+  - - 'destroy_nodes = ["MNODE(l2)"]'
+    - ['']
+  execution time: 2.0
+  expected result: |-
+    1. check the time spent
+    1. check the time spent
+  initial condition: MESH_DEINIT_STA
+  steps: |-
+    1. enable all nodes establish network
+    2. destroy root after network established
+  summary: performance test, destroy L2 nodes after network established
+  test point 1: performance
+  test point 2: mesh network re-establish
+  test environment: SSC_T50_MESH1
+- ID: MESH_EST_6103
+  <<: *MESH_CASE
+  category: Performance
+  cmd set:
+  - MeshStress/MeshEstablishTime
+  - *est_performance_cmd_set
+  - - 'destroy_nodes = ["MNODE(l1-l2)"]'
+    - ['']
+  execution time: 2.0
+  expected result: |-
+    1. check the time spent
+    1. check the time spent
+  initial condition: MESH_DEINIT_STA
+  steps: |-
+    1. enable all nodes establish network
+    2. destroy root after network established
+  summary: performance test, destroy root and L2 nodes after network established
+  test point 1: performance
+  test point 2: mesh network re-establish
+  test environment: SSC_T50_MESH1
+- ID: MESH_EST_6104
+  <<: *MESH_CASE
+  category: Performance
+  cmd set:
+  - MeshStress/MeshEstablishTime
+  - *est_performance_cmd_set
+  - - 'destroy_nodes = "RANDOM(10)"'
+    - ['']
+  execution time: 2.0
+  expected result: |-
+    1. check the time spent
+    1. check the time spent
+  initial condition: MESH_DEINIT_STA
+  steps: |-
+    1. enable all nodes establish network
+    2. destroy root after network established
+  summary: performance test, destroy random 10 nodes after network established
+  test point 1: performance
+  test point 2: mesh network re-establish
+  test environment: SSC_T50_MESH1
+- ID: MESH_EST_6105
+  <<: *MESH_CASE
+  category: Performance
+  cmd set:
+  - MeshStress/MeshEstablishTime
+  - *est_performance_cmd_set
+  - - 'destroy_nodes = "MNODE(0)"'
+    - ['']
+  - - 'restart_mesh = True'
+    - ['']
+  execution time: 2.0
+  expected result: |-
+    1. check the time spent
+    1. check the time spent
+  initial condition: MESH_DEINIT_STA
+  steps: |-
+    1. enable all nodes establish network
+    2. destroy root after network established
+  summary: performance test, root restart mesh after network established
+  test point 1: performance
+  test point 2: mesh network re-establish
+  test environment: SSC_T50_MESH1
+- ID: MESH_EST_6106
+  <<: *MESH_CASE
+  category: Performance
+  cmd set:
+  - MeshStress/MeshEstablishTime
+  - *est_performance_cmd_set
+  - - 'destroy_nodes = "MNODE(0)"'
+    - ['']
+  - - 'destroy_mode = "power"'
+    - ['']
+  - - 'restart_mesh = True'
+    - ['']
+  execution time: 2.0
+  expected result: |-
+    1. check the time spent
+    1. check the time spent
+  initial condition: MESH_DEINIT_STA
+  steps: |-
+    1. enable all nodes establish network
+    2. destroy root after network established
+  summary: performance test, power reset root and restart mesh after network established
+  test point 1: performance
+  test point 2: mesh network re-establish
+  test environment: SSC_T50_MESH1
+- ID: MESH_EST_6107
+  <<: *MESH_CASE
+  category: Performance
+  cmd set:
+  - MeshStress/MeshEstablishTime
+  - *est_performance_cmd_set
+  - - 'destroy_nodes = "RANDOM(10)"'
+    - ['']
+  - - 'destroy_mode = "power"'
+    - ['']
+  - - 'restart_mesh = True'
+    - ['']
+  execution time: 2.0
+  expected result: |-
+    1. check the time spent
+    1. check the time spent
+  initial condition: MESH_DEINIT_STA
+  steps: |-
+    1. enable all nodes establish network
+    2. destroy root after network established
+  summary: performance test, power reset random nodes and restart mesh after network established
+  test point 1: performance
+  test point 2: mesh network re-establish
+  test environment: SSC_T50_MESH1
+
+- ID: MESH_EST_5001
+  <<: *MESH_CASE
+  category: Stress
+  cmd set:
+  - MeshStress/MeshEstablishTime
+  - *est_performance_cmd_set
+  - - 'start_number_list = [1,0]'
+    - ['']
+  - - 'start_interval_sec = 15'
+    - ['']
+  execution time: 2.0
+  expected result: |-
+    1. check the time spent on mesh network establish
+  steps: |-
+    1. enable all nodes establish network without map/mie encrypted
+  summary: stress test, start one nodes to be root first, then start all others
+  test point 1: stress
+  test point 2: mesh network establish
+  test environment: SSC_T50_MESH1
+- ID: MESH_EST_5002
+  <<: *MESH_CASE
+  category: Stress
+  cmd set:
+  - MeshStress/MeshEstablishTime
+  - *est_performance_cmd_set
+  - - 'start_number_list = [1,0]'
+    - ['']
+  - - 'start_interval_sec = random.uniform(1,10)'
+    - ['']
+  execution time: 2.0
+  expected result: |-
+    1. check the time spent
+  steps: |-
+    1. enable all nodes establish
+  summary: stress test, start one nodes first, then start others
+  test point 1: stress
+  test point 2: mesh network establish
+  test environment: SSC_T50_MESH1
+- ID: MESH_EST_5002
+  <<: *MESH_CASE
+  category: Stress
+  cmd set:
+  - MeshStress/MeshEstablishTime
+  - *est_performance_cmd_set
+  - - 'allow_roots = False'
+    - ['']
+  execution time: 2.0
+  expected result: |-
+    1. check the time spent
+  steps: |-
+    1. enable all nodes establish
+  summary: stress test, start all nodes with allow_roots false
+  test point 1: stress
+  test point 2: mesh network establish
+  test environment: SSC_T50_MESH1
+- ID: MESH_EST_5003
+  <<: *MESH_CASE
+  category: Stress
+  cmd set:
+  - MeshStress/MeshEstablishTime
+  - *est_performance_cmd_set
+  - - 'start_number_list = [1,1,1,1,1,1,1,1,1,1,0]'
+    - ['']
+  - - 'start_interval_sec = random.uniform(1,5)'
+    - ['']
+  execution time: 2.0
+  expected result: |-
+    1. check the time spent
+  steps: |-
+    1. enable all nodes establish network
+  summary: stress test, start 10 nodes one by one, then start others
+  test point 1: stress
+  test point 2: mesh network establish
+  test environment: SSC_T50_MESH1
+- ID: MESH_EST_5004
+  <<: *MESH_CASE
+  category: Stress
+  cmd set:
+  - MeshStress/MeshEstablishTime
+  - *est_performance_cmd_set
+  - - 'start_number_list = [1,2,3,4,8,0]'
+    - ['']
+  - - 'start_interval_sec = random.uniform(1,5)'
+    - ['']
+  execution time: 2.0
+  expected result: |-
+    1. check the time spent on mesh network establish
+  steps: |-
+    1. enable all nodes establish network
+  summary: stress test, start [1,2,3,4,8] nodes with interval , then start others
+  test point 1: stress
+  test point 2: mesh network establish
+  test environment: SSC_T50_MESH1
+- ID: MESH_EST_5101
+  <<: *MESH_CASE
+  category: Stress
+  cmd set:
+  - MeshStress/MeshEstablishTime
+  - *est_performance_cmd_set
+  - - 'destroy_nodes = "MNODE(0)"'
+    - ['']
+  - - 'establish_fail_time = 1200'
+    - ['']
+  execution time: 2.0
+  expected result: |-
+    1. check the time spent
+    1. check the time spent
+  initial condition: MESH_DEINIT_STA
+  steps: |-
+    1. enable all nodes establish network
+    2. destroy root after network established
+  summary: stress test, destroy root after network established
+  test point 1: stress
+  test point 2: mesh network re-establish
+  test environment: SSC_T50_MESH1
+- ID: MESH_EST_5102
+  <<: *MESH_CASE
+  category: Stress
+  cmd set:
+  - MeshStress/MeshEstablishTime
+  - *est_performance_cmd_set
+  - - 'destroy_nodes = "MNODE(0)"'
+    - ['']
+  - - 'establish_fail_time = 1200'
+    - ['']
+  - - 'destroy_mode = "power"'
+    - ['']
+  execution time: 2.0
+  expected result: |-
+    1. check the time spent
+    1. check the time spent
+  initial condition: MESH_DEINIT_STA
+  steps: |-
+    1. enable all nodes establish network
+    2. destroy root after network established
+  summary: stress test, power reset root after network established
+  test point 1: stress
+  test point 2: mesh network re-establish
+  test environment: SSC_T50_MESH1
+- ID: MESH_EST_5103
+  <<: *MESH_CASE
+  category: Stress
+  cmd set:
+  - MeshStress/MeshEstablishTime
+  - *est_performance_cmd_set
+  - - 'destroy_nodes = "MNODE(0)"'
+    - ['']
+  - - 'establish_fail_time = 1200'
+    - ['']
+  - - 'destroy_mode = "power"'
+    - ['']
+  - - 'restart_mesh = True'
+    - ['']
+  execution time: 2.0
+  expected result: |-
+    1. check the time spent
+    1. check the time spent
+  initial condition: MESH_DEINIT_STA
+  steps: |-
+    1. enable all nodes establish network
+    2. destroy root after network established
+  summary: stress test, power reset root and restart mesh after network established
+  test point 1: stress
+  test point 2: mesh network re-establish
+  test environment: SSC_T50_MESH1
+- ID: MESH_EST_5103
+  <<: *MESH_CASE
+  category: Stress
+  cmd set:
+  - MeshStress/MeshEstablishTime
+  - *est_performance_cmd_set
+  - - 'destroy_nodes = "RANDOM(10)"'
+    - ['']
+  execution time: 2.0
+  expected result: |-
+    1. check the time spent
+    1. check the time spent
+  initial condition: MESH_DEINIT_STA
+  steps: |-
+    1. enable all nodes establish network
+    2. destroy random 10 nodes after network established
+  summary: stress test, destroy random 10 nodes after network established
+  test point 1: stress
+  test point 2: mesh network re-establish
+  test environment: SSC_T50_MESH1
+- ID: MESH_EST_5104
+  <<: *MESH_CASE
+  category: Stress
+  cmd set:
+  - MeshStress/MeshEstablishTime
+  - *est_performance_cmd_set
+  - - 'destroy_nodes = "RANDOM(10)"'
+    - ['']
+  - - 'destroy_mode = "power"'
+    - ['']
+  execution time: 2.0
+  expected result: |-
+    1. check the time spent
+    1. check the time spent
+  initial condition: MESH_DEINIT_STA
+  steps: |-
+    1. enable all nodes establish network
+    2. power reset 10 nodes after network established
+  summary: stress test, power reset 10 nodes after network established
+  test point 1: stress
+  test point 2: mesh network re-establish
+  test environment: SSC_T50_MESH1
+- ID: MESH_EST_5105
+  <<: *MESH_CASE
+  category: Stress
+  cmd set:
+  - MeshStress/MeshEstablishTime
+  - *est_performance_cmd_set
+  - - 'destroy_nodes = "RANDOM(10)"'
+    - ['']
+  - - 'destroy_mode = "power"'
+    - ['']
+  - - 'restart_mesh = True'
+    - ['']
+  execution time: 2.0
+  expected result: |-
+    1. check the time spent
+    1. check the time spent
+  initial condition: MESH_DEINIT_STA
+  steps: |-
+    1. enable all nodes establish network
+    2. power reset random 10 nodes and restart after network established
+  summary: stress test, power reset random 10 nodes and restart after network established
+  test point 1: stress
+  test point 2: mesh network re-establish
+  test environment: SSC_T50_MESH1
+- ID: MESH_EST_5106
+  <<: *MESH_CASE
+  category: Stress
+  cmd set:
+  - MeshStress/MeshNetworkDestroy
+  - - 'destroy_nodes = "RANDOM(10)"'
+    - ['']
+  execution time: 2.0
+  expected result: |-
+    1. check the time spent
+    1. check the time spent
+  initial condition: MESH_INIT_SWITCH
+  steps: |-
+    1. enable all nodes establish network
+    2. reboot random 10 nodes after network established
+  summary: multiple router, reboot random 10 nodes after network established
+  test point 1: stress
+  test point 2: channel switch test
+  test environment: SSC_T50_MESH1
diff --git a/components/idf_test/integration_test/TC_IT_MESH_MISC.yml b/components/idf_test/integration_test/TC_IT_MESH_MISC.yml
new file mode 100644 (file)
index 0000000..eabc765
--- /dev/null
@@ -0,0 +1,867 @@
+.MESH_CASE: &MESH_CASE
+  SDK: ESP32_IDF
+  Test App: SSC_MESH
+  auto test: 'Yes'
+  category: Function
+  test point 1: basic function
+  initial condition: MESH_DEINIT_STA
+  test environment: SSC_T50_MESH1
+  execution time: 0.0
+  module: Mesh
+  sub module: Misc
+  version: v1 (2018-08-15)
+  CI ready: 'No'
+  level: Integration
+  allow fail: ''
+
+.set_softap_dut1: &set_softap_dut1
+  LIST_MERGE:
+    - - 'SSC SSC1 op -S -o 2'
+      - ['P SSC1 C +MODE:OK']
+    - - 'SSC SSC1 ap -S -s <target_ssid> -p <target_password> -n <router_channel> -t <target_auth_enum>'
+      - ['P SSC1 C +SAP:OK']
+    - - 'SSC SSC1 dhcp -E -o 2'
+      - ['R SSC1 C +DHCP:AP,OK']
+    - - 'SSC SSC1 ip -S -o 2 -i 192.168.123.1'
+      - ['R SSC1 C +IP:OK']
+    - - 'SSC SSC1 dhcp -S -o 2'
+      - ['R SSC1 C +DHCP:AP,OK']
+
+test cases:
+- ID: MESH_MISC_0101
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC1 mesh -I
+    - - P SSC1 C +MESH:INIT,OK
+  - - SSC SSC1 meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC1 C +MESHSET:CFG,OK
+  - - SSC SSC1 mesh -I -o 1
+    - - P SSC1 C +MESH:DEINIT,OK
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. dut1 init/config mesh
+    2. dut1 deinit mesh
+  initial condition: MESH_DEINIT_STA
+  test environment: SSC_T1_MESH1
+  summary: 1 dut mesh deinit after mesh configured
+  test point 2: mesh deinit/stop test
+  CI ready: 'Yes'
+- ID: MESH_MISC_0102
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC1 mesh -I
+    - - P SSC1 C +MESH:INIT,OK
+  - - SSC SSC1 meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC1 C +MESHSET:CFG,OK
+  - - SSC SSC1 mesh -T
+    - - P SSC1 C +MESH:START,OK
+  - - DELAY 1 5
+    - - ''
+  - - SSC SSC1 mesh -I -o 1
+    - - P SSC1 C +MESH:DEINIT,OK
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. dut1 start mesh
+    2. dut1 deinit mesh
+  initial condition: MESH_DEINIT_STA
+  test environment: SSC_T1_MESH1
+  summary: 1 dut mesh deinit after mesh started
+  test point 2: mesh deinit/stop test
+  CI ready: 'Yes'
+- ID: MESH_MISC_0103
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - MSSC SSC[1-<node_num>] mesh -I
+    - - P SSC[1-<node_num>] C +MESH:INIT,OK
+  - - MSSC SSC[1-<node_num>] meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC[1-<node_num>] C +MESHSET:CFG,OK
+  - - MSSC SSC[1-<node_num>] mesh -T
+    - - P SSC[1-<node_num>] C +MESH:START,OK
+  - - DELAY 1 5
+    - - ''
+  - - MSSC SSC[1-<node_num>] mesh -T -o 1
+    - - P SSC[1-<node_num>] C +MESH:STOP,OK
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. dut1 start mesh
+    2. dut1 stop mesh
+  initial condition: MESH_DEINIT_STA
+  test environment: SSC_T6_MESH1
+  summary: 6 duts mesh stop after mesh started
+  test point 2: mesh deinit/stop test
+  CI ready: 'Yes'
+- ID: MESH_MISC_0104
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - MSSC SSC[1-<node_num>] mesh -T -o 2
+    - - P SSC[1-<node_num>] C +MESH:START,OK
+  - - DELAY <delay_time>
+    - - ''
+  - - MSSC SSC[1-<node_num>] mesh -Q -o 2
+    - - P SSC[1-<node_num>] T topo
+  - - MESHTREE
+    - - R PC_COM RE "MESHTREE:%%s"%%(<node_num>)
+  - - SSC MNODE(0) meshsend -S -d <MNODE(0,-1)_mac> -l 1000 -c 20 -b 20 -f 2
+    - - P MNODE(0) C +MESHTXPKT,OK C +MESHSEND,OK
+      - P MNODE(0,-1) C +MESHRXPKT,OK
+  - - SSC MNODE(0,-1) meshsend -S -d <server_mac> -l 1000 -c 20 -b 20 -f 8
+    - - P MNODE(0,-1) C +MESHTXPKT,OK C +MESHSEND,OK
+      - P MNODE(0) C TODS_PKT,OK
+  - - SSC MNODE(0) mesh -R -o 1
+    - - P MNODE(0) C +MESHRX:STOP,OK
+  - - SSC MNODE(0,-1) meshsend -S -d <server_mac> -l 1000 -c 100 -b 20 -f 8
+    - - ''
+  - - DELAY 10
+    - - P PC_COM C DELAYDONE
+      - P MNODE(0,-1) C +MESHTXPKT,OK NC +MESHTXPKT,FAIL NC +MESHSEND,OK
+  - - SSC MNODE(0) mesh -R -o 0
+    - - P MNODE(0) C +MESHRX:START,OK C TODS_PKT,OK
+      - P MNODE(0,-1) C +MESHSEND,OK
+  expected result: |-
+    1. restart mesh and establish network
+    2. root send packet to leaf
+    3. leaf send packet tods
+    4. stop recv task on root
+    5. leaf send packet tods, blocked
+    5. start recv task on root, leaf send out all packet
+  steps: |-
+    1. dut1 start mesh
+    2. dut1 stop mesh
+  initial condition: MESH_INIT1
+  test environment: SSC_T6_MESH1
+  summary: mesh restart and send packet test
+  test point 2: mesh deinit/stop test
+  CI ready: 'No'
+
+
+
+- ID: MESH_MISC_0201
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC1 mesh -I
+    - - P SSC1 C +MESH:INIT,OK
+  - - SSC SSC1 meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC1 C +MESHSET:CFG,OK
+  - - SSC SSC1 mesh -T
+    - - P SSC1 C +MESH:START,OK
+  - - DELAY 10
+    - - P SSC1 C MESH_EVENT_CONNECTED,1 C MESH_EVENT_ROOT_GOT_IP
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. start dut1 and connect to router
+    2. check MESH_EVENT_ROOT_GOT_IP
+  initial condition: MESH_DEINIT_STA
+  test environment: SSC_T1_MESH1
+  summary: MESH_EVENT_CHILD_CONNECTED and MESH_EVENT_ROOT_GOT_IP test
+  test point 2: mesh event test
+  CI ready: 'Yes'
+- ID: MESH_MISC_0202
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC[1-2] mesh -I
+    - - P SSC[1-2] C +MESH:INIT,OK
+  - - SSC SSC[1-2] meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC[1-2] C +MESHSET:CFG,OK
+  - - SSC SSC1 mesh -T
+    - - P SSC1 C +MESH:START,OK
+  - - DELAY 10
+    - - P SSC1 C MESH_EVENT_CONNECTED,1
+  - - SSC SSC2 mesh -T
+    - - P SSC2 C +MESH:START,OK C MESH_EVENT_CONNECTED,2
+      - P SSC1 C MESH_EVENT_CHILD_CONNECTED C MESH_EVENT_ROUTING_TABLE_ADD
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. start dut1 to be root first
+    2. start another and check event on dut1
+  initial condition: MESH_DEINIT_STA
+  test environment: SSC_T2_MESH1
+  summary: MESH_EVENT_CHILD_CONNECTED and MESH_EVENT_ROUTING_TABLE_ADD test
+  test point 2: mesh event test
+  CI ready: 'Yes'
+- ID: MESH_MISC_0203
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC[1-3] mesh -I
+    - - P SSC[1-3] C +MESH:INIT,OK
+  - - SSC SSC[1-3] meshset -G -o 0 -m <mesh_id2> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t 1 -e <map_password> -i <ie_encrypt>
+    - - P SSC[1-3] C +MESHSET:CFG,OK
+  - - SSC SSC[1-2] mesh -T
+    - - P SSC[1-2] C +MESH:START,OK
+  - - DELAY 10
+    - - P SSC[1-2] C MESH_EVENT_CONNECTED
+  - - SSC SSC3 mesh -T
+    - - P SSC3 C +MESH:START,OK C MESH_EVENT_CONNECTED,3
+      - P SSC[1-2] C MESH_EVENT_ROUTING_TABLE_ADD
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. set max_connect=1 and two duts start mesh and establish network
+    2. start another and check event on dut1
+  initial condition: MESH_DEINIT_STA
+  test environment: SSC_T3_MESH1
+  summary: MESH_EVENT_ROUTING_TABLE_ADD test (layer3 join)
+  test point 2: mesh event test
+  CI ready: 'Yes'
+#TODO: wrong password should not find MESH_EVENT_ROUTING_TABLE_ADD
+- ID: MESH_MISC_0205
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0,0) reboot
+    - - P MNODE(0,0) C !!!ready!!!
+      - P MNODE(0) C MESH_EVENT_CHILD_DISCONNECTED
+      - P MNODE(0) C MESH_EVENT_ROUTING_TABLE_REMOVE
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. reboot root
+    2. layer2 disconnected and then become new root
+  initial condition: MESH_INIT1
+  test environment: SSC_T2_MESH1
+  summary: MESH_EVENT_CHILD_DISCONNECTED and MESH_EVENT_ROUTING_TABLE_REMOVE test
+  test point 2: mesh event test
+  CI ready: 'Yes'
+- ID: MESH_MISC_0206
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - FREBOOT MNODE(0,0)
+    - - P MNODE(0,0) C !!!ready!!!
+  - - DELAY 10
+    - - P MNODE(0) C MESH_EVENT_CHILD_DISCONNECTED
+      - P MNODE(0) C MESH_EVENT_ROUTING_TABLE_REMOVE
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. reboot root
+    2. layer2 disconnected and then become new root
+  initial condition: MESH_INIT1
+  test environment: SSC_T2_MESH1
+  summary: MESH_EVENT_CHILD_DISCONNECTED and MESH_EVENT_ROUTING_TABLE_REMOVE test (power reset)
+  test point 2: mesh event test
+  CI ready: 'Yes'
+- ID: MESH_MISC_0207
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0,0) mesh -I -o 1
+    - - P MNODE(0,0) C MESH:DEINIT,OK
+      - P MNODE(0) C MESH_EVENT_CHILD_DISCONNECTED
+      - P MNODE(0) C MESH_EVENT_ROUTING_TABLE_REMOVE
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. reboot root
+    2. layer2 disconnected and then become new root
+  initial condition: MESH_INIT1
+  test environment: SSC_T2_MESH1
+  summary: MESH_EVENT_CHILD_DISCONNECTED and MESH_EVENT_ROUTING_TABLE_REMOVE test (mesh deinit)
+  test point 2: mesh event test
+  CI ready: 'Yes'
+- ID: MESH_MISC_0208
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0,0,0) reboot
+    - - P MNODE(0,0,0) C !!!ready!!!
+      - P MNODE(0,0) C MESH_EVENT_ROUTING_TABLE_REMOVE
+      - P MNODE(0) C MESH_EVENT_ROUTING_TABLE_REMOVE
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. reboot root
+    2. layer2 disconnected and then become new root
+  initial condition: MESH_INIT1
+  test environment: SSC_T12_MESH1
+  summary: MESH_EVENT_ROUTING_TABLE_REMOVE test (layer3 leave)
+  test point 2: mesh event test
+  CI ready: 'Yes'
+- ID: MESH_MISC_0209
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - LOOP 2 1 "[1,0]" "[1,0]"
+    - - ''
+  - - SSC MNODE(0) mesh -O -t {%d}
+    - - P MNODE(0) C +MESH_POST_STATE,OK
+      - P SSC[1-<node_num>] C MESH_EVENT_TODS_STATE,{%d}
+  - - SSC MNODE(0) mesh -O -t 0
+    - - P MNODE(0) C +MESH_POST_STATE,OK
+  - - DELAY 5
+    - - P PC_COM C DELAYDONE
+      - P SSC[1-<node_num>] NC MESH_EVENT_TODS_STATE
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+  steps: |-
+    1. establish mesh network
+    2. root post toDS state
+    3. check MESH_EVENT_TODS_STATE on all dut
+  initial condition: MESH_INIT1
+  test environment: SSC_T2_MESH1
+  summary: MESH_EVENT_TODS_STATE test when root post state
+  test point 2: mesh event test
+  CI ready: 'Yes'
+- ID: MESH_MISC_0210
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC[1-2] mesh -I
+    - - P SSC[1-2] C +MESH:INIT,OK
+  - - SSC SSC[1-2] meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC[1-2] C +MESHSET:CFG,OK
+  - - SSC SSC1 mesh -T
+    - - P SSC1 C +MESH:START,OK
+  - - DELAY 10
+    - - P SSC1 C MESH_EVENT_CONNECTED,1 C MESH_EVENT_ROOT_GOT_IP
+  - - SSC SSC1 mesh -O -t 1
+    - - P SSC1 C +MESH_POST_STATE,OK
+      - P SSC1 C MESH_EVENT_TODS_STATE,1
+  - - SSC SSC2 mesh -T
+    - - P SSC2 C +MESH:START,OK MESH_EVENT_CONNECTED,2
+      - P SSC2 C MESH_EVENT_TODS_STATE,1
+  - - SSC SSC1 reboot
+    - - P SSC2 C MESH_EVENT_DISCONNECTED
+      - P SSC2 C MESH_EVENT_NETWORK_STATE,1
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+  steps: |-
+    1. establish mesh network
+    2. root post toDS state
+    3. check MESH_EVENT_TODS_STATE on all dut
+  initial condition: MESH_DEINIT_STA
+  test environment: SSC_T2_MESH1
+  summary: MESH_EVENT_TODS_STATE test when layer2 connected and root disappear
+  test point 2: mesh event test
+  CI ready: 'Yes'
+  # TODO: not work on v3.1
+- ID: MESH_MISC_0211
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - LOOP 2 1 "[1,0]" "[1,0]"
+    - - ''
+  - - SSC MNODE(0) mesh -O -t {%d}
+    - - P MNODE(0) C +MESH_POST_STATE,OK
+      - P SSC[1-<node_num>] C MESH_EVENT_TODS_STATE,{%d}
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+  steps: |-
+    1. establish mesh network
+    2. root post toDS state
+    3. check MESH_EVENT_TODS_STATE on all duts
+  initial condition: MESH_INIT1
+  test environment: SSC_T50_MESH1
+  summary: multiple nodes, MESH_EVENT_TODS_STATE test
+  test point 2: mesh event test
+  CI ready: 'No'
+- ID: MESH_MISC_0212
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC1 mesh -I
+    - - P SSC1 C +MESH:INIT,OK
+  - - SSC SSC1 meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC1 C +MESHSET:CFG,OK
+  - - SSC SSC1 mesh -T
+    - - P SSC1 C MESH_EVENT_STARTED
+  - - DELAY 5
+    - - ''
+  - - SSC SSC1 mesh -T -o 1
+    - - P SSC1 C MESH_EVENT_STOPPED
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. dut1 start mesh
+    2. check MESH_EVENT_STARTED on dut1
+    2. dut1 stop mesh
+    2. check MESH_EVENT_STOPPED on dut1
+  initial condition: MESH_DEINIT_STA
+  test environment: SSC_T1_MESH1
+  summary: MESH_EVENT_STARTED and MESH_EVENT_STOPPED test
+  test point 2: mesh event test
+  CI ready: 'Yes'
+- ID: MESH_MISC_0213
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC1 mesh -I
+    - - P SSC1 C +MESH:INIT,OK
+  - - SSC SSC1 meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <wrong_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC1 C +MESHSET:CFG,OK
+  - - SSC SSC1 mesh -T
+    - - P SSC1 C +MESH:START,OK
+  - - DELAY 10
+    - - P SSC1 C MESH_EVENT_NO_PARENT_FOUND
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. dut1 start mesh
+    2. check MESH_EVENT_STARTED on dut1
+    2. dut1 stop mesh
+    2. check MESH_EVENT_STOPPED on dut1
+  initial condition: MESH_DEINIT_STA
+  test environment: SSC_T1_MESH1
+  summary: MESH_EVENT_NO_PARENT_FOUND test
+  test point 2: mesh event test
+  CI ready: 'Yes'
+- ID: MESH_MISC_0214
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC1 mesh -I
+    - - P SSC1 C +MESH:INIT,OK
+  - - SSC SSC1 meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC1 C +MESHSET:CFG,OK
+  - - SSC SSC1 meshset -O -o 0 -n 0 -t 0
+    - - P SSC1 C +MESHSET:SELF_ORG,OK
+  - - SSC SSC1 mesh -T
+    - - P SSC1 C +MESH:START,OK
+  - - SSC SSC1 sta -S -n <router_channel>
+    - - P SSC1 C MESH_EVENT_SCAN_DONE
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. dut1 start mesh self_organized=false
+    2. wifi scan
+    2. check MESH_EVENT_SCAN_DONE on dut1
+  initial condition: MESH_DEINIT_STA
+  test environment: SSC_T1_MESH1
+  summary: MESH_EVENT_SCAN_DONE test
+  test point 2: mesh event test
+  CI ready: 'No'
+  #TODO: need discussion
+- ID: MESH_MISC_0215
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0) mesh -W -o 1
+    - - P MNODE(0) C +MESH:VOTE,OK
+      - P SSC[1-<node_num>] C MESH_EVENT_VOTE_STARTED
+  - - DELAY 10
+    - - P SSC[1-<node_num>] C MESH_EVENT_VOTE_STOPPED
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. root vote
+    2. check all duts start vote
+  initial condition: MESH_INIT1
+  test environment: SSC_T6_MESH1
+  summary: MESH_EVENT_VOTE_STARTED and MESH_EVENT_VOTE_STOPPED test
+  test point 2: mesh event test
+  CI ready: 'No'
+- ID: MESH_MISC_0216
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0) mesh -W -o 1
+    - - P MNODE(0) C +MESH:VOTE,OK
+      - P SSC[1-<node_num>] C MESH_EVENT_VOTE_STARTED
+  - - SSC MNODE(0) reboot
+    - - P MNODE(0) !!!ready!!!
+  - - DELAY 30
+    - - ''
+  - - SSC SSC[1-<node_num>] mesh -W -o 2
+    - - P SSC[1-<node_num>] C VOTE_START_STOP_EQUAL
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. dut1 start mesh self_organized=false
+    2. wifi scan
+    2. check MESH_EVENT_SCAN_DONE on dut1
+  initial condition: MESH_INIT1
+  test environment: SSC_T50_MESH1
+  summary: multiple nodes, MESH_EVENT VOTE_STARTED and VOTE_STOPPED equal test
+  test point 2: mesh event test
+  CI ready: 'No'
+  #TODO: need discussion
+- ID: MESH_MISC_0217
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0) mesh -W -o 1
+    - - P MNODE(0) C +MESH:VOTE,OK
+      - P SSC[1-<node_num>] C MESH_EVENT_VOTE_STARTED
+  - - DELAY 10
+    - - P SSC[1-<node_num>] C MESH_EVENT_VOTE_STOPPED
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. root vote
+    2. check all duts start vote
+  initial condition: MESH_INIT1
+  test environment: SSC_T50_MESH1
+  summary: multiple nodes, MESH_EVENT_VOTE_STARTED and MESH_EVENT_VOTE_STOPPED test
+  test point 2: mesh event test
+- ID: MESH_MISC_0218
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0) meshset -X -o 0 -i 1
+    - - P MNODE(0) C +MESHSET:FIX_ROOT,OK
+      - P SSC[1-<node_num>] C MESH_EVENT_ROOT_FIXED,1
+  - - SSC MNODE(0) meshset -X -o 0 -i 0
+    - - P MNODE(0) C +MESHSET:FIX_ROOT,OK
+      - P SSC[1-<node_num>] C MESH_EVENT_ROOT_FIXED,0
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. set root fix on root
+    2. check all duts MESH_EVENT_ROOT_FIXED
+  initial condition: MESH_INIT1
+  test environment: SSC_T6_MESH1
+  summary: stable network, MESH_EVENT_ROOT_FIXED test
+  test point 2: mesh event test
+  CI ready: 'Yes'
+- ID: MESH_MISC_0219
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC[1-2] mesh -I
+    - - P SSC[1-2] C +MESH:INIT,OK
+  - - SSC SSC[1-2] meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC[1-2] C +MESHSET:CFG,OK
+  - - SSC SSC1 mesh -T
+    - - P SSC1 C +MESH:START,OK
+      - P SSC1 C MESH_EVENT_CONNECTED,1 C MESH_EVENT_ROOT_GOT_IP
+  - - SSC SSC1 meshset -X -o 0 -i 1
+    - - P SSC1 C +MESHSET:FIX_ROOT,OK C MESH_EVENT_ROOT_FIXED,1
+  - - SSC SSC2 mesh -T
+    - - P SSC2 C +MESH:START,OK
+      - P SSC2 C MESH_EVENT_CONNECTED,2 C MESH_EVENT_ROOT_FIXED,1
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+    4. succeed
+  steps: |-
+    1. set dut1 fix root first
+    2. dut2 connected with dut1
+    3. check MESH_EVENT_ROOT_FIXED on dut2
+  initial condition: MESH_DEINIT_STA
+  test environment: SSC_T2_MESH1
+  summary: MESH_EVENT_ROOT_FIXED when connected with parent
+  test point 2: mesh event test
+  CI ready: 'Yes'
+- ID: MESH_MISC_0220
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC MNODE(0) meshset -X -o 0 -i 1
+    - - P MNODE(0) C +MESHSET:FIX_ROOT,OK
+      - P SSC[1-<node_num>] C MESH_EVENT_ROOT_FIXED,1
+  - - SSC MNODE(0) meshset -X -o 0 -i 0
+    - - P MNODE(0) C +MESHSET:FIX_ROOT,OK
+      - P SSC[1-<node_num>] C MESH_EVENT_ROOT_FIXED,0
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. set root fix on root
+    2. check all duts MESH_EVENT_ROOT_FIXED
+  initial condition: MESH_INIT1
+  test environment: SSC_T50_MESH1
+  summary: multiple nodes, MESH_EVENT_ROOT_FIXED test
+  test point 2: mesh event test
+  CI ready: 'No'
+- ID: MESH_MISC_0221
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SSC SSC[1-2] mesh -I
+    - - P SSC[1-2] C +MESH:INIT,OK
+  - - SSC SSC[1-2] meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC[1-2] C +MESHSET:CFG,OK
+  - - SSC SSC1 mesh -T
+    - - P SSC1 C +MESH:START,OK
+      - P SSC1 C MESH_EVENT_CONNECTED,1 C MESH_EVENT_ROOT_GOT_IP
+  - - SSC SSC1 ap -Q
+    - - R SSC1 A <meshap_ssid>:\+APCONFIG:(\w+),
+  - - SSC SSC2 meshset -U -o 0 -m <mesh_id2> -s <meshap_ssid> -p <map_password> -n <router_channel> -t 2 -l 2
+    - - P SSC2 C +MESHSET:PARENT,OK
+  - - SSC SSC2 mesh -T
+    - - P SSC2 C +MESH:START,OK
+      - P SSC2 C MESH_EVENT_DISCONNECTED,103
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+    4. succeed
+  steps: |-
+    1. mesh init/config
+    2. start dut1 and check it connected with router
+    3. dut2 parent set to dut1 with wrong mesh_id
+    4. start dut2 and check disconnected rason DIFF_ID
+  test environment: SSC_T2_MESH1
+  summary: test MESH_EVENT_DISCONNECTED, reason DIFF_ID(103)
+  test point 2: mesh event test
+  CI ready: 'Yes'
+- ID: MESH_MISC_0301
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SOC SOC1 LISTEN <test_tcp_port1>
+    - - R SOC_COM L OK
+  - - SSC MNODE(0) soc -B -t TCP -p <test_tcp_port1>
+    - - P MNODE(0) A <sock_id>:\+BIND:(\d+),OK
+  - - SSC MNODE(0) soc -C -s <sock_id> -i <pc_ip> -p <test_tcp_port1>
+    - - P MNODE(0) RE \+CONNECT:\d+,OK
+  - - SOC SOC1 ACCEPT SOC2
+    - - R SOC_COM L OK
+  - - SSC MNODE(0) soc -S -s <sock_id> -l 1460 -n 10 -j 20
+    - - P MNODE(0) RE \+SEND:\d+,OK
+  - - SOC SOC2 SEND 1460
+    - - R MNODE(0) SL <sock_id>+1460
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. root connect to pc
+    2. root send pecket to pc
+  initial condition: MESH_INIT1
+  test environment: SSC_T1_MESH2
+  summary: use socket TCP between root and pc
+  test point 2: socket after mesh start
+- ID: MESH_MISC_0302
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
+    - - R SOC_COM L OK
+  - - SSC MNODE(0) ip -Q
+    - - P MNODE(0) A <sta_ip>:\+STAIP:(\d+.\d+.\d+.\d+)
+  - - SSC MNODE(0) soc -B -t UDP -i <sta_ip> -p <test_udp_port1>
+    - - P MNODE(0) A <sock1>:\+BIND:(\d+),OK
+  - - SSC MNODE(0) soc -S -s <sock1> -l 1460 -n 10 -i <pc_ip> -p <test_udp_port1> -j 20
+    - - P MNODE(0) RE \+SEND:\d+,OK
+      - P SOC1 UL 14600
+  - - DELAY 5
+    - ''
+  - - SOC SOC1 SENDTO 1460 <test_udp_port1> <sta_ip>
+    - - R MNODE(0) RE "RECVFROM:%%s,1460,%%s,%%u"%%(<sock1>,<pc_ip>,<test_udp_port1>)
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. root connect to pc
+    2. root send pecket to pc
+  initial condition: MESH_INIT1
+  test environment: SSC_T1_MESH2
+  summary: use socket UDP between root and pc
+  test point 2: socket after mesh start
+  CI ready: 'No'
+- ID: MESH_MISC_0303
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - *set_softap_dut1
+  - - SSC SSC2 mesh -I
+    - - P SSC2 C +MESH:INIT,OK
+  - - SSC SSC2 meshset -G -o 0 -m <mesh_id> -s <target_ssid> -p <target_password> -n
+      <router_channel> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC2 C +MESHSET:CFG,OK
+  - - SSC SSC2 mesh -T
+    - - P SSC2 C +MESH:START,OK
+      - P SSC2 C MESH_EVENT_CONNECTED,1 C MESH_EVENT_ROOT_GOT_IP
+  - - SSC SSC1 ip -Q
+    - - P SSC1 A <ssc1_ip>:\+APIP:(\d+.\d+.\d+.\d+)
+  - - SSC SSC[1-2] soc -T
+    - - P SSC[1-2] C +CLOSEALL
+  - - SSC SSC1 soc -B -t TCP -p <test_tcp_port1>
+    - - P SSC1 A <sock_id>:\+BIND:(\d+),OK
+  - - SSC SSC1 soc -L -s <sock_id>
+    - - P SSC1 RE \+LISTEN:\d+,OK
+  - - SSC SSC2 soc -B -t TCP
+    - - P SSC2 A <client_sock>:\+BIND:(\d+),OK
+  - - SSC SSC2 soc -C -s <client_sock> -i <ssc1_ip> -p <test_tcp_port1>
+    - - P SSC2 RE \+CONNECT:\d+,OK
+      - P SSC1 A <server_sock>:\+ACCEPT:(\d+)
+  - - SSC SSC1 soc -S -s <server_sock> -l 1460 -n 10
+    - - P SSC1 RE \+SEND:\d+,OK
+  - - SSC SSC2 soc -S -s <client_sock> -l 1460 -n 10
+    - - P SSC2 RE \+SEND:\d+,OK
+  expected result: |-
+    1. succeed
+    2. succeed
+  steps: |-
+    1. set dut1 softAP
+    2. dut2 start mesh and connect to dut1
+    3. use TCP between dut1 and dut2
+  initial condition: MESH_DEINIT_STA
+  test environment: SSC_T2_MESH1
+  summary: use socket TCP between root and esp32 softAP
+  test point 2: socket after mesh start
+  CI ready: 'Yes'
+- ID: MESH_MISC_0304
+  <<: *MESH_CASE
+  cmd set:
+  - ''
+  - *set_softap_dut1
+  - - SSC SSC2 mesh -I
+    - - P SSC2 C +MESH:INIT,OK
+  - - SSC SSC2 meshset -G -o 0 -m <mesh_id> -s <target_ssid> -p <target_password> -n
+      <router_channel> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC2 C +MESHSET:CFG,OK
+  - - SSC SSC2 mesh -T
+    - - P SSC2 C +MESH:START,OK
+      - P SSC2 C MESH_EVENT_CONNECTED,1 C MESH_EVENT_ROOT_GOT_IP
+  - - SSC SSC1 ip -Q
+    - - P SSC1 A <ssc1_ip>:\+APIP:(\d+.\d+.\d+.\d+)
+  - - SSC SSC2 ip -Q
+    - - P SSC2 A <ssc2_ip>:\+STAIP:(\d+.\d+.\d+.\d+)
+  - - SSC SSC[1-2] soc -T
+    - - P SSC[1-2] C +CLOSEALL
+  - - SSC SSC1 soc -B -t UDP -i <ssc1_ip> -p <test_udp_port1>
+    - - P SSC1 A <sock1>:\+BIND:(\d+),OK
+  - - SSC SSC2 soc -B -t UDP -i <ssc2_ip> -p <test_udp_port1>
+    - - P SSC2 A <sock2>:\+BIND:(\d+),OK
+  - - SSC SSC1 soc -S -s <sock1> -l 1460 -n 10 -i <ssc2_ip> -p <test_udp_port1>
+    - - P SSC1 RE \+SEND:\d+,OK
+  - - SSC SSC2 soc -S -s <sock2> -l 1460 -n 10 -i <ssc1_ip> -p <test_udp_port1>
+    - - P SSC2 RE \+SEND:\d+,OK
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+  steps: |-
+    1. set dut1 softAP
+    2. dut2 start mesh and connect to dut1
+    3. use UDP between dut1 and dut2
+  initial condition: MESH_DEINIT_STA
+  test environment: SSC_T2_MESH1
+  summary: use socket UDP between root and esp32 softAP
+  test point 2: socket after mesh start
+  CI ready: 'Yes'
+
+- ID: MESH_MISC_5001
+  <<: *MESH_CASE
+  category: Stress
+  cmd set:
+  - ''
+  - - SSC SSC1 ram
+    - - R SSC1 C +FREEHEAP
+  - - LOOP 300 8
+    - - ''
+  - - SSC SSC1 mesh -I
+    - - P SSC1 C +MESH:INIT,OK
+  - - SSC SSC1 meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC1 C +MESHSET:CFG,OK
+  - - SSC SSC1 mesh -T
+    - - P SSC1 C +MESH:START,OK
+  - - SSC SSC1 ram
+    - - R SSC1 C +FREEHEAP
+  - - DELAY 1 15
+    - - ''
+  - - SSC SSC1 mesh -T -o 1
+    - - P SSC1 C +MESH:STOP,OK
+  - - DELAY 2
+    - - ''
+  - - SSC SSC1 ram
+    - - R SSC1 C +FREEHEAP
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+    4. succeed
+    5. succeed
+    6. succeed
+    7. succeed
+  steps: |-
+    1. mesh init
+    2. mesh config
+    3. mesh start
+    4. check heap size
+    5. mesh stop
+    6. check heap size
+    7. loop
+  initial condition: MESH_DEINIT_STA
+  test environment: SSC_T1_MESH1
+  summary: cycle calling mesh_stop/mesh_start, check heap size
+  test point 2: mesh deinit/stop test
+- ID: MESH_MISC_5002
+  <<: *MESH_CASE
+  category: Stress
+  cmd set:
+  - ''
+  - - SSC SSC[1-6] ram
+    - - R SSC[1-6] C +FREEHEAP
+  - - LOOP 200 8
+    - - ''
+  - - SSC SSC[1-6] mesh -I
+    - - P SSC[1-6] C +MESH:INIT,OK
+  - - SSC SSC[1-6] meshset -G -o 0 -m <mesh_id> -s <router_ssid> -p <router_password> -n
+      <router_channel> -b <router_bssid> -t <max_connect> -e <map_password> -i <ie_encrypt>
+    - - P SSC[1-6] C +MESHSET:CFG,OK
+  - - SSC SSC[1-6] mesh -T
+    - - P SSC[1-6] C +MESH:START,OK
+  - - SSC SSC[1-6] ram
+    - - R SSC[1-6] C +FREEHEAP
+  - - DELAY 5 30
+    - - ''
+  - - SSC SSC[1-6] mesh -T -o 1
+    - - P SSC[1-6] C +MESH:STOP,OK
+  - - DELAY 2
+    - - ''
+  - - SSC SSC[1-6] ram
+    - - R SSC[1-6] C +FREEHEAP
+  expected result: |-
+    1. succeed
+    2. succeed
+    3. succeed
+    4. succeed
+  steps: |-
+    1. all duts start mesh
+    2. check heap size
+    3. mesh stop and check heap size
+    4. loop
+  initial condition: MESH_DEINIT_STA
+  test environment: SSC_T6_MESH1
+  summary: 6 duts cycle eatablish network and stop mesh, check heap size
+  test point 2: mesh deinit/stop test
index 969bae3984c717cf9aaaa2a889d701b3edda931b..c38164938755d1c21d5453e070ba90013676fd1d 100644 (file)
@@ -130,6 +130,20 @@ test environment:
     PC has 1 WiFi NIC.
     1 SSC DUT connect with PC by UART.
     AP todo IOT test are placed near SSC1.
+- tag: SSC_T1_MESH1
+  Special: Y
+  <<: *TEST_ENV
+  Target Count: 1
+  test environment detail: |-
+    1 SSC target connect with PC by UART.
+    A router with fixed channel nearby
+- tag: SSC_T1_MESH2
+  <<: *TEST_ENV
+  Special: Y
+  Target Count: 1
+  test environment detail: |-
+    1 SSC target connect with PC by UART.
+    PC has 1 wired NIC connected to a fixed channel Router.
 - tag: SSC_T1_InitData
   <<: *TEST_ENV
   Special: Y
@@ -287,6 +301,13 @@ test environment:
   test environment detail: |
     refer to figure.
     2 SSC DUT connect with PC by UART. Put 1 DUT board to temperature box.
+- tag: SSC_T2_MESH1
+  <<: *TEST_ENV
+  Special: Y
+  Target Count: 2
+  test environment detail: |-
+    2 SSC target connect with PC by UART.
+    A router with fixed channel nearby
 - tag: SSC_T3_1
   <<: *TEST_ENV
   Special: N
@@ -295,6 +316,12 @@ test environment:
     PC has 1 wired NIC connected to AP.
     PC has 1 WiFi NIC.
     3 SSC DUT connect with PC by UART.
+- tag: SSC_T3_2
+  <<: *TEST_ENV
+  Special: N
+  Target Count: 3
+  test environment detail: |-
+    3 SSC DUT connect with PC by UART.
 - tag: SSC_T3_PhyMode
   <<: *TEST_ENV
   PC OS: 'linux'
@@ -304,6 +331,20 @@ test environment:
     PC has one WiFi NIC support capture wlan packet using libpcap.
     Set 4 AP with (HT20, channel1), (HT20, channel2), (HT40, channel1), (HT40, channel2).
     Put 4 APs near SSC DUTs.
+- tag: SSC_T3_MESH1
+  <<: *TEST_ENV
+  Special: Y
+  Target Count: 3
+  test environment detail: |-
+    3 SSC target connect with PC by UART.
+    A router with fixed channel nearby
+- tag: SSC_T3_MESH2
+  <<: *TEST_ENV
+  Special: Y
+  Target Count: 3
+  test environment detail: |-
+    3 SSC target connect with PC by UART.
+    PC has 1 wired NIC connected to a fixed channel Router.
 - tag: SSC_T5_1
   <<: *TEST_ENV
   Target Count: 5
@@ -323,6 +364,20 @@ test environment:
     PC has 1 wired NIC connected to AP.
     PC has 1 WiFi NIC.
     6 SSC DUT connect with PC by UART.
+- tag: SSC_T6_MESH1
+  <<: *TEST_ENV
+  Special: Y
+  Target Count: 6
+  test environment detail: |-
+    6 SSC target connect with PC by UART.
+    A router with fixed channel nearby
+- tag: SSC_T6_MESH2
+  <<: *TEST_ENV
+  Special: Y
+  Target Count: 6
+  test environment detail: |-
+    6 SSC target connect with PC by UART.
+    PC has 1 wired NIC connected to a fixed channel Router.
 - tag: SSC_T1_DNS
   <<: *TEST_ENV
   Target Count: 1
@@ -336,6 +391,20 @@ test environment:
     PC has 1 wired NIC connect to Common AP.
     Several AP are placed near AT DUT.
     Several smart phone installed test APK are placed near SSC DUT.
+- tag: SSC_T12_MESH1
+  <<: *TEST_ENV
+  Special: Y
+  Target Count: 12
+  test environment detail: |-
+    12 SSC target connect with PC by UART.
+    A router with fixed channel nearby
+- tag: SSC_T12_MESH2
+  <<: *TEST_ENV
+  Special: Y
+  Target Count: 12
+  test environment detail: |-
+    12 SSC target connect with PC by UART.
+    PC has 1 wired NIC connected to a fixed channel Router.
 - tag: SSC_T20_1
   <<: *TEST_ENV
   Special: Y
@@ -360,6 +429,13 @@ test environment:
     PC has 1 wired NIC connected to AP.
     PC has 1 WiFi NIC.
     50 SSC DUT connect with PC by UART.
+- tag: SSC_T50_MESH1
+  <<: *TEST_ENV
+  Special: Y
+  Target Count: 50
+  test environment detail: |-
+    50 SSC target connect with PC by UART.
+    A router with fixed channel nearby
 - tag: SSC_T60_1
   <<: *TEST_ENV
   Special: Y
@@ -384,3 +460,15 @@ test environment:
     PC has 1 wired NIC connected to AP.
     PC has 1 WiFi NIC.
     100 SSC DUT connect with PC by UART.
+- tag: SSC_T50_MESH1
+  <<: *TEST_ENV
+  Special: Y
+  Target Count: 50
+  test environment detail: |-
+    50 SSC target connect with PC by UART.
+- tag: SSC_T100_MESH1
+  <<: *TEST_ENV
+  Special: Y
+  Target Count: 100
+  test environment detail: |-
+    100 SSC target connect with PC by UART.