diff --git a/ci-scripts/cls_log_mgt.py b/ci-scripts/cls_log_mgt.py index cf7b91d3c057468ad922804aaf95a4001ce37f06..905a105512213e0c8ad80e450931d2dd43de99c8 100644 --- a/ci-scripts/cls_log_mgt.py +++ b/ci-scripts/cls_log_mgt.py @@ -30,11 +30,15 @@ - +import logging import re import subprocess -import logging -import math +import sshconnection + +logging.basicConfig( + level=logging.DEBUG, + format="[%(asctime)s] %(name)s:%(levelname)s: %(message)s" +) class Log_Mgt: @@ -49,40 +53,25 @@ class Log_Mgt: #-----------------$ - def __CheckAvailSpace(self): + def __CheckUsedSpace(self): HOST=self.Username+'@'+self.IPAddress COMMAND="df "+ self.path ssh = subprocess.Popen(["ssh", "%s" % HOST, COMMAND],shell=False,stdout=subprocess.PIPE,stderr=subprocess.PIPE) result = ssh.stdout.readlines() s=result[1].decode('utf-8').rstrip()#result[1] is the second line with the results we are looking for - tmp=s.split() - return tmp[3] #return avail space from the line + used=s.split()[4] #get 4th field ex: 70% + m = re.match('^(\d+)\%',used) + if m is not None: + return int(m.group(1)) - def __GetOldestFile(self): - HOST=self.Username+'@'+self.IPAddress - COMMAND="ls -rtl "+ self.path #-rtl will bring oldest file on top - ssh = subprocess.Popen(["ssh", "%s" % HOST, COMMAND],shell=False,stdout=subprocess.PIPE,stderr=subprocess.PIPE) - result = ssh.stdout.readlines() - s=result[1].decode('utf-8').rstrip() - tmp=s.split() - return tmp[8]#return filename from the line + def __RemoveOldest(self): + mySSH = sshconnection.SSHConnection() + mySSH.open(self.IPAddress, self.Username, self.Password) + COMMAND='echo ' + self.Password + ' | sudo -S find ' + self.path + ' -type f -mtime +14 -delete' + mySSH.command(COMMAND,'\$',20) + mySSH.close() - def __AvgSize(self): - HOST=self.Username+'@'+self.IPAddress - COMMAND="ls -rtl "+ self.path - ssh = subprocess.Popen(["ssh", "%s" % HOST, COMMAND],shell=False,stdout=subprocess.PIPE,stderr=subprocess.PIPE) - result = ssh.stdout.readlines() - if len(result)>1: #at least 1 file present - total_size=0 - for i in range(1,len(result)): - s=result[i].decode('utf-8').rstrip() - tmp=s.split() - total_size+=int(tmp[4]) #get filesize - return math.floor(total_size/(len(result)-1)) #compute average file/artifact size - else:#empty,no files - return 0 - #-----------------$ #PUBLIC Methods$ @@ -90,17 +79,15 @@ class Log_Mgt: def LogRotation(self): - avail_space =int(self.__CheckAvailSpace())*1000 #avail space in target folder, initially displayed in Gb - avg_size=self.__AvgSize() #average size of artifacts in the target folder - logging.debug("Avail Space : " + str(avail_space) + " / Artifact Avg Size : " + str(avg_size)) - if avail_space < 50*avg_size: #reserved space is 50x artifact file ; oldest file will be deleted - oldestfile=self.__GetOldestFile() - HOST=self.Username+'@'+self.IPAddress - COMMAND="echo " + self.Password + " | sudo -S rm "+ self.path + "/" + oldestfile - logging.debug(COMMAND) - ssh = subprocess.Popen(["ssh", "%s" % HOST, COMMAND],shell=False,stdout=subprocess.PIPE,stderr=subprocess.PIPE) + used_space = self.__CheckUsedSpace() #avail space in target folder + if used_space > 80 : + logging.debug('\u001B[1;37;41m Used Disk > 80%, on ' + self.Username+'@'+self.IPAddress + '\u001B[0m') + logging.debug('\u001B[1;37;41m Removing Artifacts older than 14 days \u001B[0m') + self.__RemoveOldest() else: - logging.debug("Still some space left for artifacts storage") + logging.debug('Used Disk < 80%, on ' + self.Username+'@'+self.IPAddress +', no cleaning required') + + diff --git a/ci-scripts/cppcheck_suppressions.list b/ci-scripts/cppcheck_suppressions.list index f8438a4276aca187831d2dcf7d7150f57ea9250e..ff4cac20b375347454ecddef7e9dea6a9436c122 100644 --- a/ci-scripts/cppcheck_suppressions.list +++ b/ci-scripts/cppcheck_suppressions.list @@ -50,10 +50,6 @@ memleak:openair1/PHY/CODING/TESTBENCH/ltetest.c invalidPrintfArgType_sint:openair1/PHY/CODING/TESTBENCH/pdcch_test.c // //----------------------------------------------------------------------------- -// oaisim deprecated, remove? -doubleFree:openair3/TEST/oaisim_mme_list_benchmark.c -// -//----------------------------------------------------------------------------- // is itti analyzer deprecated nullPointer:common/utils/itti_analyzer/itti_analyzer.c nullPointerRedundantCheck:common/utils/itti_analyzer/libbuffers/buffers.c diff --git a/ci-scripts/datalog_rt_stats.2x2.yaml b/ci-scripts/datalog_rt_stats.2x2.yaml index 9e2b66862d6ab4cd53137c67695fe82fd4771a78..a93ef6aa8c879cee167e27360709511a1233ac97 100644 --- a/ci-scripts/datalog_rt_stats.2x2.yaml +++ b/ci-scripts/datalog_rt_stats.2x2.yaml @@ -4,16 +4,14 @@ Title : Processing Time (us) ColNames : - Metric - - Average - - Max - - Average vs Reference Deviation (Reference Value ; Acceptability Threshold) + - Average; Max; Count + - Average vs Reference Deviation (Reference Value; Acceptability Threshold) Ref : feprx : 120.0 feptx_prec : 8.0 feptx_ofdm : 50.0 feptx_total : 75.0 - L1 Tx processing thread 0 : 300.0 - L1 Tx processing thread 1 : 300.0 + L1 Tx processing : 300.0 DLSCH encoding : 230.0 L1 Rx processing : 175.0 PUSCH inner-receiver : 100.0 @@ -25,8 +23,7 @@ Threshold : feptx_prec : 1.25 feptx_ofdm : 1.25 feptx_total : 1.25 - L1 Tx processing thread 0 : 1.25 - L1 Tx processing thread 1 : 1.25 + L1 Tx processing : 1.25 DLSCH encoding : 1.25 L1 Rx processing : 1.25 PUSCH inner-receiver : 1.25 diff --git a/ci-scripts/datalog_rt_stats.default.yaml b/ci-scripts/datalog_rt_stats.default.yaml index a2d4768752250e35101d020598fd4d0da097e141..02a90c86f4e2fd7b97b408cebc89f122256e44ef 100644 --- a/ci-scripts/datalog_rt_stats.default.yaml +++ b/ci-scripts/datalog_rt_stats.default.yaml @@ -4,16 +4,14 @@ Title : Processing Time (us) ColNames : - Metric - - Average - - Max - - Average vs Reference Deviation (Reference Value ; Acceptability Threshold) + - Average; Max; Count + - Average vs Reference Deviation (Reference Value; Acceptability Threshold) Ref : feprx : 60.0 feptx_prec : 8.0 feptx_ofdm : 50.0 feptx_total : 75.0 - L1 Tx processing thread 0 : 300.0 - L1 Tx processing thread 1 : 300.0 + L1 Tx processing : 300.0 DLSCH encoding : 230.0 L1 Rx processing : 175.0 PUSCH inner-receiver : 100.0 @@ -25,8 +23,7 @@ Threshold : feptx_prec : 1.25 feptx_ofdm : 1.25 feptx_total : 1.25 - L1 Tx processing thread 0 : 1.25 - L1 Tx processing thread 1 : 1.25 + L1 Tx processing : 1.25 DLSCH encoding : 1.25 L1 Rx processing : 1.25 PUSCH inner-receiver : 1.25 diff --git a/ci-scripts/html.py b/ci-scripts/html.py index b172ffb71113b74dedbdf933545623933a85ed38..13a1ab869175175eb2c2fb102c0b4c367803d9c1 100644 --- a/ci-scripts/html.py +++ b/ci-scripts/html.py @@ -478,21 +478,19 @@ class HTMLManagement(): self.htmlFile.write(' </tr>\n') self.htmlFile.write(' <tr bgcolor = "#33CCFF" >\n') self.htmlFile.write(' <th colspan="3">'+ DataLog['ColNames'][0] +'</th>\n') - self.htmlFile.write(' <th>' + DataLog['ColNames'][1] + '</th>\n') - self.htmlFile.write(' <th>' + DataLog['ColNames'][2] + '</th>\n') - self.htmlFile.write(' <th colspan=' + str(1+self.htmlUEConnected) + '>'+ DataLog['ColNames'][3] +'</th>\n') + self.htmlFile.write(' <th colspan="2">' + DataLog['ColNames'][1] + '</th>\n') + self.htmlFile.write(' <th colspan=' + str(1+self.htmlUEConnected) + '>'+ DataLog['ColNames'][2] +'</th>\n') self.htmlFile.write(' </tr>\n') for k in DataLog['Data']: # TestRow self.htmlFile.write(' <tr>\n') self.htmlFile.write(' <td colspan="3" bgcolor = "lightcyan" >' + k + ' </td>\n') - self.htmlFile.write(' <td bgcolor = "lightcyan" >' + DataLog['Data'][k][0] + ' </td>\n') - self.htmlFile.write(' <td bgcolor = "lightcyan" >' + DataLog['Data'][k][1] + ' </td>\n') - if float(DataLog['Data'][k][2])> DataLog['Threshold'][k]: - self.htmlFile.write(' <th bgcolor = "red" >' + DataLog['Data'][k][2] + ' (Ref = ' + str(DataLog['Ref'][k]) + ' ; Thres = ' +str(DataLog['Threshold'][k])+') ' + '</th>\n') + self.htmlFile.write(' <td colspan="2" bgcolor = "lightcyan" >' + DataLog['Data'][k][0] + '; ' + DataLog['Data'][k][1] + '; ' + DataLog['Data'][k][2] + ' </td>\n') + if float(DataLog['Data'][k][3])> DataLog['Threshold'][k]: + self.htmlFile.write(' <th bgcolor = "red" >' + DataLog['Data'][k][3] + ' (Ref = ' + str(DataLog['Ref'][k]) + ' ; Thres = ' +str(DataLog['Threshold'][k])+') ' + '</th>\n') else: - self.htmlFile.write(' <th bgcolor = "green" ><font color="white">' + DataLog['Data'][k][2] + ' (Ref = ' + str(DataLog['Ref'][k]) + ' ; Thres = ' +str(DataLog['Threshold'][k])+') ' + '</th>\n') + self.htmlFile.write(' <th bgcolor = "green" ><font color="white">' + DataLog['Data'][k][3] + ' (Ref = ' + str(DataLog['Ref'][k]) + ' ; Thres = ' +str(DataLog['Threshold'][k])+') ' + '</th>\n') self.htmlFile.write(' </tr>\n') self.htmlFile.close() diff --git a/ci-scripts/ran.py b/ci-scripts/ran.py index 9bb2a816ab27086a89ac5958aea900152955650e..e5d0f10ee4ce6b9a785df156fc2bd824dc5369d2 100644 --- a/ci-scripts/ran.py +++ b/ci-scripts/ran.py @@ -1174,17 +1174,19 @@ class RANManagement(): datalog_rt_stats['Data']={} if len(real_time_stats)!=0: #check if dictionary is not empty for k in real_time_stats: - tmp=re.match(r'^(?P<metric>.*):\s+(?P<avg>\d+\.\d+) us;\s+\d+;\s+(?P<max>\d+\.\d+) us;',real_time_stats[k]) + tmp=re.match(r'^(?P<metric>.*):\s+(?P<avg>\d+\.\d+) us;\s+(?P<count>\d+);\s+(?P<max>\d+\.\d+) us;',real_time_stats[k]) if tmp is not None: metric=tmp.group('metric') avg=float(tmp.group('avg')) max=float(tmp.group('max')) - datalog_rt_stats['Data'][metric]=["{:.0f}".format(avg),"{:.0f}".format(max),"{:.2f}".format(avg/datalog_rt_stats['Ref'][metric])] + count=int(tmp.group('count')) + datalog_rt_stats['Data'][metric]=["{:.0f}".format(avg),"{:.0f}".format(max),"{:d}".format(count),"{:.2f}".format(avg/datalog_rt_stats['Ref'][metric])] #once all metrics are collected, store the data as a class attribute to build a dedicated HTML table afterward self.datalog_rt_stats=datalog_rt_stats #check if there is a fail => will render the test as failed for k in datalog_rt_stats['Data']: - if float(datalog_rt_stats['Data'][k][2])> datalog_rt_stats['Threshold'][k]: #condition for fail : avg/ref is greater than the fixed threshold + if float(datalog_rt_stats['Data'][k][3])> datalog_rt_stats['Threshold'][k]: #condition for fail : avg/ref is greater than the fixed threshold + logging.debug('\u001B[1;30;43m datalog_rt_stats metric ' + k + '=' + datalog_rt_stats['Data'][k][3] + ' > threshold ' + str(datalog_rt_stats['Threshold'][k]) + ' \u001B[0m') RealTimeProcessingIssue = True else: statMsg = 'No real time stats found in the log file\n' diff --git a/ci-scripts/stats_monitor_conf.yaml b/ci-scripts/stats_monitor_conf.yaml index 8760c067fccf2cd7cf7f8a7f10cae9547d863511..9a2ececd1833b93072844d6668a8120ecb50a307 100644 --- a/ci-scripts/stats_monitor_conf.yaml +++ b/ci-scripts/stats_monitor_conf.yaml @@ -20,8 +20,7 @@ gnb : feptx_prec: feptx_ofdm: feptx_total: - L1 Tx processing thread 0: - L1 Tx processing thread 1: + L1 Tx processing: DLSCH encoding: L1 Rx processing: PUSCH inner-receiver: @@ -40,12 +39,11 @@ gnb : rt.feptx_ofdm: rt.feptx_total: page3: - rt.L1 Tx processing thread 0: - rt.L1 Tx processing thread 1: + rt.L1 Tx processing: rt.DLSCH encoding: rt.L1 Rx processing: page4: rt.PUSCH inner-receiver: rt.PUSCH decoding: rt.DL & UL scheduling timing stats: - rt.UL Indication: \ No newline at end of file + rt.UL Indication: diff --git a/ci-scripts/xml_files/fr1_sa_quectel_162prb.xml b/ci-scripts/xml_files/fr1_sa_quectel_162prb.xml index 23cc6d25b8415bb7937007f197bc9d842e5b5b38..f756083ea6668bf28e64b1fc9d6c357b1410cc29 100644 --- a/ci-scripts/xml_files/fr1_sa_quectel_162prb.xml +++ b/ci-scripts/xml_files/fr1_sa_quectel_162prb.xml @@ -96,8 +96,8 @@ <testCase id="072000"> <class>Iperf</class> - <desc>iperf (DL/140Mbps/UDP)(60 sec)(single-ue profile)</desc> - <iperf_args>-u -b 140M -t 60</iperf_args> + <desc>iperf (DL/200Mbps/UDP)(60 sec)(single-ue profile)</desc> + <iperf_args>-u -b 200M -t 60</iperf_args> <direction>DL</direction> <id>nrmodule2_quectel</id> <iperf_packetloss_threshold>50</iperf_packetloss_threshold> diff --git a/ci-scripts/xml_files/fr1_sa_quectel_stages.xml b/ci-scripts/xml_files/fr1_sa_quectel_stages.xml index 3e497ede13caa63b094799b4d44a63406819cf92..0ab8bf6b0845f4a67f37196c84a61ca24ebc2483 100644 --- a/ci-scripts/xml_files/fr1_sa_quectel_stages.xml +++ b/ci-scripts/xml_files/fr1_sa_quectel_stages.xml @@ -42,6 +42,8 @@ 000001 071004 000001 + 071005 + 000001 011002 081000 </TestCaseRequestedList> @@ -148,7 +150,16 @@ <iperf_bitrate_threshold>90</iperf_bitrate_threshold> <iperf_profile>single-ue</iperf_profile> </testCase> - + <testCase id="071005"> + <class>Iperf</class> + <desc>iperf (DL/130Mbps/UDP)(30 sec)(single-ue profile)</desc> + <iperf_args>-u -b 130M -t 30</iperf_args> + <direction>DL</direction> + <id>nrmodule2_quectel</id> + <iperf_packetloss_threshold>50</iperf_packetloss_threshold> + <iperf_bitrate_threshold>50</iperf_bitrate_threshold> + <iperf_profile>single-ue</iperf_profile> + </testCase> <testCase id="081000"> diff --git a/cmake_targets/CMakeLists.txt b/cmake_targets/CMakeLists.txt index 7c60d316e101346c9da4ada2e9347440a4751d0a..ffc2e26dc5840e9e9dff7e0c82841f8705c08976 100644 --- a/cmake_targets/CMakeLists.txt +++ b/cmake_targets/CMakeLists.txt @@ -690,19 +690,13 @@ add_list1_option(NB_ANTENNAS_RX "4" "Number of antennas in reception" "1" "2" "4 add_list1_option(NB_ANTENNAS_TX "4" "Number of antennas in transmission" "1" "2" "4") #NOKIA config enhancement -set (CONFIG_ROOTDIR - ${OPENAIR_DIR}/common/config - ) -set (CONFIG_SOURCES +set (CONFIG_ROOTDIR ${OPENAIR_DIR}/common/config) +add_library(CONFIG_LIB ${CONFIG_ROOTDIR}/config_load_configmodule.c ${CONFIG_ROOTDIR}/config_userapi.c ${CONFIG_ROOTDIR}/config_cmdline.c - ) -set (CONFIG_LIBCONFIG_SOURCES - ${CONFIG_ROOTDIR}/libconfig/config_libconfig.c - ) -add_library(CONFIG_LIB ${CONFIG_SOURCES}) -add_library(params_libconfig MODULE ${CONFIG_LIBCONFIG_SOURCES} ) +) +add_library(params_libconfig MODULE ${CONFIG_ROOTDIR}/libconfig/config_libconfig.c) target_link_libraries(params_libconfig config) # shared library loader set (SHLIB_LOADER_SOURCES @@ -1161,15 +1155,6 @@ set(FSPT_MSG_LIB FSPT_MSG) message("fspt c dir is : ${FSPT_C_DIR}") include_directories (${FSPT_C_DIR}) -# add_library(ASYNC_IF -# ${OPENAIR2_DIR}/UTIL/ASYNC_IF/socket_link.c -# ${OPENAIR2_DIR}/UTIL/ASYNC_IF/link_manager.c -# ${OPENAIR2_DIR}/UTIL/ASYNC_IF/message_queue.c -# ${OPENAIR2_DIR}/UTIL/ASYNC_IF/ringbuffer_queue.c -# ) -# set(ASYNC_IF_LIB ASYNC_IF) -# include_directories(${OPENAIR2_DIR}/UTIL/ASYNC_IF) - set(PROTOBUF_LIB "protobuf-c") #set(PROTOBUF_LIB "protobuf") #for Cpp @@ -1180,55 +1165,19 @@ add_library(HASHTABLE ) include_directories(${OPENAIR_DIR}/common/utils/hashtable) -set(UTIL_SRC - # ${OPENAIR2_DIR}/UTIL/CLI/cli.c - # ${OPENAIR2_DIR}/UTIL/CLI/cli_cmd.c - # ${OPENAIR2_DIR}/UTIL/CLI/cli_server.c - ${OPENAIR2_DIR}/UTIL/FIFO/pad_list.c +add_library(UTIL ${OPENAIR2_DIR}/UTIL/LISTS/list.c ${OPENAIR2_DIR}/UTIL/LISTS/list2.c ${OPENAIR_DIR}/common/utils/LOG/log.c ${OPENAIR_DIR}/common/utils/LOG/vcd_signal_dumper.c ${OPENAIR2_DIR}/UTIL/MATH/oml.c - # ${OPENAIR2_DIR}/UTIL/MEM/mem_block.c - # ${OPENAIR2_DIR}/UTIL/OCG/OCG.c - # ${OPENAIR2_DIR}/UTIL/OCG/OCG_create_dir.c - # ${OPENAIR2_DIR}/UTIL/OCG/OCG_detect_file.c - # ${OPENAIR2_DIR}/UTIL/OCG/OCG_generate_report.c - # ${OPENAIR2_DIR}/UTIL/OCG/OCG_parse_filename.c - # ${OPENAIR2_DIR}/UTIL/OCG/OCG_parse_XML.c - # ${OPENAIR2_DIR}/UTIL/OCG/OCG_save_XML.c - # ${OPENAIR2_DIR}/UTIL/OMG/common.c - # ${OPENAIR2_DIR}/UTIL/OMG/grid.c - # ${OPENAIR2_DIR}/UTIL/OMG/job.c - # ${OPENAIR2_DIR}/UTIL/OMG/mobility_parser.c - # ${OPENAIR2_DIR}/UTIL/OMG/omg.c - # ${OPENAIR2_DIR}/UTIL/OMG/omg_hashtable.c - # ${OPENAIR2_DIR}/UTIL/OMG/rwalk.c - # ${OPENAIR2_DIR}/UTIL/OMG/rwp.c - # ${OPENAIR2_DIR}/UTIL/OMG/static.c - # ${OPENAIR2_DIR}/UTIL/OMG/steadystaterwp.c - # ${OPENAIR2_DIR}/UTIL/OMG/trace.c - # ${OPENAIR2_DIR}/UTIL/OMG/trace_hashtable.c ${OPENAIR2_DIR}/UTIL/OPT/probe.c - # ${OPENAIR2_DIR}/UTIL/OTG/otg_tx.c - # ${OPENAIR2_DIR}/UTIL/OTG/otg.c - # ${OPENAIR2_DIR}/UTIL/OTG/otg_kpi.c - # ${OPENAIR2_DIR}/UTIL/OTG/otg_models.c - # ${OPENAIR2_DIR}/UTIL/OTG/otg_form.c - # ${OPENAIR2_DIR}/UTIL/OTG/otg_rx.c - ) -add_library(UTIL ${UTIL_SRC}) -add_dependencies(UTIL rrc_flag) - -#set(OMG_SUMO_SRC -# ${OPENAIR2_DIR}/UTIL/OMG/client_traci_OMG.c -# ${OPENAIR2_DIR}/UTIL/OMG/id_manager.c -# ${OPENAIR2_DIR}/UTIL/OMG/sumo.c -# ${OPENAIR2_DIR}/UTIL/OMG/socket_traci_OMG.c -# ${OPENAIR2_DIR}/UTIL/OMG/storage_traci_OMG.c -# ) -#add_library(OMG_SUMO ${OMG_SUMO_SRC}) + ${OPENAIR_DIR}/common/utils/threadPool/thread-pool.c + ${OPENAIR_DIR}/common/utils/utils.c + ${OPENAIR_DIR}/common/utils/system.c + ${OPENAIR_DIR}/common/utils/backtrace.c + ${OPENAIR_DIR}/common/utils/time_meas.c +) set(SECU_OSA_SRC ${OPENAIR2_DIR}/UTIL/OSA/osa_key_deriver.c @@ -1491,7 +1440,6 @@ set(PHY_SRC_COMMON ${OPENAIR1_DIR}/PHY/TOOLS/signal_energy.c ${OPENAIR1_DIR}/PHY/TOOLS/dB_routines.c ${OPENAIR1_DIR}/PHY/TOOLS/sqrt.c - ${OPENAIR1_DIR}/PHY/TOOLS/time_meas.c ${OPENAIR1_DIR}/PHY/TOOLS/lut.c ) @@ -1628,7 +1576,6 @@ set(PHY_SRC_UE ${OPENAIR1_DIR}/PHY/TOOLS/signal_energy.c ${OPENAIR1_DIR}/PHY/TOOLS/dB_routines.c ${OPENAIR1_DIR}/PHY/TOOLS/sqrt.c - ${OPENAIR1_DIR}/PHY/TOOLS/time_meas.c ${OPENAIR1_DIR}/PHY/TOOLS/lut.c ${PHY_POLARSRC} ${PHY_SMALLBLOCKSRC} @@ -1682,7 +1629,6 @@ set(PHY_SRC_UE ${OPENAIR1_DIR}/PHY/TOOLS/signal_energy.c ${OPENAIR1_DIR}/PHY/TOOLS/dB_routines.c ${OPENAIR1_DIR}/PHY/TOOLS/sqrt.c - ${OPENAIR1_DIR}/PHY/TOOLS/time_meas.c ${OPENAIR1_DIR}/PHY/TOOLS/lut.c ${OPENAIR1_DIR}/PHY/INIT/nr_init_ue.c # ${OPENAIR1_DIR}/SIMULATION/NR_UE_PHY/unit_tests/src/pucch_uci_test.c @@ -1910,6 +1856,7 @@ set(NR_L2_SRC_UE ${NR_SDAP_SRC} ${NR_UE_RRC_DIR}/L2_interface_ue.c ${NR_UE_RRC_DIR}/main_ue.c + ${NR_RRC_DIR}/nr_rrc_config.c ${NR_UE_RRC_DIR}/rrc_UE.c ${NR_UE_RRC_DIR}/rrc_nsa.c ) @@ -2601,7 +2548,7 @@ add_library(minimal_lib ${OPENAIR_DIR}/common/utils/minimal_stub.c ${T_SOURCE} ) -target_link_libraries(minimal_lib pthread dl ${T_LIB} ${CONFIG_LIB}) +target_link_libraries(minimal_lib pthread dl ${T_LIB} CONFIG_LIB) add_executable(nfapi_test ${OPENAIR_DIR}/openair2/NR_PHY_INTERFACE/nfapi_5g_test.c @@ -2630,7 +2577,6 @@ add_executable(lte-softmodem ${OPENAIR_TARGETS}/RT/USER/lte-ru.c ${OPENAIR_TARGETS}/RT/USER/ru_control.c ${OPENAIR_TARGETS}/RT/USER/lte-softmodem.c - ${OPENAIR_DIR}/common/utils/threadPool/thread-pool.c ${OPENAIR_DIR}/executables/softmodem-common.c ${OPENAIR2_DIR}/ENB_APP/NB_IoT_interface.c ${OPENAIR1_DIR}/SIMULATION/TOOLS/taus.c @@ -2645,14 +2591,11 @@ add_executable(lte-softmodem ${OPENAIR1_DIR}/SIMULATION/ETH_TRANSPORT/multicast_link.c ${OPENAIR1_DIR}/SIMULATION/ETH_TRANSPORT/socket.c ${OPENAIR3_DIR}/NAS/UE/nas_ue_task.c - ${OPENAIR_DIR}/common/utils/utils.c - ${OPENAIR_DIR}/common/utils/system.c ${PHY_INTERFACE_DIR}/queue_t.c ${OPENAIR_DIR}/common/utils/lte/ue_power.c ${OPENAIR_DIR}/common/utils/lte/prach_utils.c ${XFORMSINTERFACE_SOURCE} ${T_SOURCE} - ${CONFIG_SOURCES} ${SHLIB_LOADER_SOURCES} ) add_dependencies(lte-softmodem rrc_flag s1ap_flag x2_flag oai_iqplayer) @@ -2665,14 +2608,13 @@ target_link_libraries (lte-softmodem -Wl,--end-group z dl) target_link_libraries (lte-softmodem ${LIBXML2_LIBRARIES}) -target_link_libraries (lte-softmodem pthread m ${CONFIG_LIB} rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} sctp ${PROTOBUF_LIB} ${CMAKE_DL_LIBS} ${LIBYAML_LIBRARIES}) +target_link_libraries (lte-softmodem pthread m CONFIG_LIB rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} sctp ${PROTOBUF_LIB} ${CMAKE_DL_LIBS} ${LIBYAML_LIBRARIES}) target_link_libraries (lte-softmodem ${LIB_LMS_LIBRARIES}) target_link_libraries (lte-softmodem ${T_LIB}) add_executable(ocp-enb ${OPENAIR_DIR}/executables/main-ocp.c - ${OPENAIR_DIR}/common/utils/threadPool/thread-pool.c ${OPENAIR_DIR}/executables/softmodem-common.c ${OPENAIR_DIR}/executables/main-fs6.c ${OPENAIR_DIR}/executables/transport_split.c @@ -2688,14 +2630,11 @@ add_executable(ocp-enb ${OPENAIR1_DIR}/SIMULATION/ETH_TRANSPORT/multicast_link.c ${OPENAIR1_DIR}/SIMULATION/ETH_TRANSPORT/socket.c ${OPENAIR3_DIR}/NAS/UE/nas_ue_task.c - ${OPENAIR_DIR}/common/utils/utils.c - ${OPENAIR_DIR}/common/utils/system.c ${OPENAIR_DIR}/common/utils/lte/ue_power.c ${OPENAIR_DIR}/common/utils/lte/prach_utils.c ${PHY_INTERFACE_DIR}/queue_t.c ${XFORMSINTERFACE_SOURCE} ${T_SOURCE} - ${CONFIG_SOURCES} ${SHLIB_LOADER_SOURCES} ) add_dependencies(ocp-enb rrc_flag s1ap_flag x2_flag oai_iqplayer coding params_libconfig rfsimulator) @@ -2707,7 +2646,7 @@ target_link_libraries (ocp-enb PHY_COMMON PHY PHY_RU LFDS L2 L2_LTE NFAPI_COMMON_LIB NFAPI_LIB MISC_NFAPI_LTE_LIB NFAPI_VNF_LIB NFAPI_PNF_LIB NFAPI_USER_LIB LFDS7 SIMU_COMMON ${RAL_LIB} ${NAS_UE_LIB} ITTI ${FLPT_MSG_LIB} ${ASYNC_IF_LIB} ${FLEXRAN_AGENT_LIB} ${FSPT_MSG_LIB} -Wl,--end-group z dl) -target_link_libraries (ocp-enb ${LIBXML2_LIBRARIES} pthread m ${CONFIG_LIBRARIES} rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} sctp ${PROTOBUF_LIB} ${CMAKE_DL_LIBS} ${LIBYAML_LIBRARIES} ${LIB_LMS_LIBRARIES} ${T_LIB}) +target_link_libraries (ocp-enb ${LIBXML2_LIBRARIES} pthread m CONFIG_LIB rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} sctp ${PROTOBUF_LIB} ${CMAKE_DL_LIBS} ${LIBYAML_LIBRARIES} ${LIB_LMS_LIBRARIES} ${T_LIB}) add_executable(oairu ${OPENAIR_TARGETS}/RT/USER/lte-ru.c @@ -2716,23 +2655,18 @@ add_executable(oairu ${OPENAIR_TARGETS}/ARCH/COMMON/record_player.c ${OPENAIR_DIR}/executables/softmodem-common.c ${OPENAIR_DIR}/openair1/SCHED/phy_procedures_lte_common.c - ${OPENAIR_DIR}/common/utils/threadPool/thread-pool.c ${OPENAIR_DIR}/executables/main_ru.c ${T_SOURCE} - ${OPENAIR_DIR}/common/utils/LOG/log.c - ${CONFIG_SOURCES} - ${OPENAIR_DIR}/common/utils/utils.c - ${OPENAIR_DIR}/common/utils/system.c ${OPENAIR_DIR}/common/utils/lte/prach_utils.c ${SHLIB_LOADER_SOURCES} ) target_link_libraries (oairu -Wl,--start-group SCHED_RU_LIB - PHY_COMMON PHY_RU + PHY_COMMON PHY_RU UTIL -Wl,--end-group z dl) -target_link_libraries (oairu pthread m ${CONFIG_LIB} rt ${CMAKE_DL_LIBS} ${T_LIB}) +target_link_libraries (oairu pthread m CONFIG_LIB rt ${CMAKE_DL_LIBS} ${T_LIB}) # lte-uesoftmodem is UE implementation @@ -2751,13 +2685,10 @@ add_executable(lte-uesoftmodem ${OPENAIR1_DIR}/SIMULATION/ETH_TRANSPORT/multicast_link.c ${OPENAIR1_DIR}/SIMULATION/ETH_TRANSPORT/socket.c ${OPENAIR3_DIR}/NAS/UE/nas_ue_task.c - ${OPENAIR_DIR}/common/utils/utils.c - ${OPENAIR_DIR}/common/utils/system.c ${OPENAIR_DIR}/common/utils/lte/ue_power.c ${OPENAIR_DIR}/common/utils/lte/prach_utils.c ${XFORMSINTERFACE_SOURCE} ${T_SOURCE} - ${CONFIG_SOURCES} ${SHLIB_LOADER_SOURCES} ) @@ -2775,7 +2706,7 @@ target_link_libraries (lte-uesoftmodem -Wl,--end-group z dl) target_link_libraries (lte-uesoftmodem ${LIBXML2_LIBRARIES}) -target_link_libraries (lte-uesoftmodem pthread m ${CONFIG_LIB} rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} sctp ${CMAKE_DL_LIBS} ${LIBYAML_LIBRARIES} ${ATLAS_LIBRARIES}) +target_link_libraries (lte-uesoftmodem pthread m CONFIG_LIB rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} sctp ${CMAKE_DL_LIBS} ${LIBYAML_LIBRARIES} ${ATLAS_LIBRARIES}) target_link_libraries (lte-uesoftmodem ${LIB_LMS_LIBRARIES}) target_link_libraries (lte-uesoftmodem ${T_LIB}) @@ -2788,7 +2719,6 @@ add_executable(nr-softmodem ${s1ap_h} # ${OPENAIR_BIN_DIR}/messages_xml.h ${OPENAIR_DIR}/executables/nr-gnb.c - ${OPENAIR_DIR}/common/utils/threadPool/thread-pool.c ${OPENAIR_DIR}/executables/nr-ru.c ${OPENAIR_DIR}/executables/nr-softmodem.c ${OPENAIR_DIR}/executables/softmodem-common.c @@ -2798,15 +2728,12 @@ add_executable(nr-softmodem ${OPENAIR2_DIR}/RRC/NAS/nas_config.c ${OPENAIR2_DIR}/RRC/NAS/rb_config.c ${OPENAIR1_DIR}/SIMULATION/ETH_TRANSPORT/netlink_init.c - ${OPENAIR_DIR}/common/utils/utils.c - ${OPENAIR_DIR}/common/utils/system.c ${OPENAIR_DIR}/common/utils/lte/ue_power.c ${OPENAIR_DIR}/common/utils/lte/prach_utils.c ${OPENAIR_DIR}/common/utils/nr/nr_common.c ${PHY_INTERFACE_DIR}/queue_t.c ${XFORMSINTERFACE_SOURCE} ${T_SOURCE} - ${CONFIG_SOURCES} ${SHLIB_LOADER_SOURCES} ${OPENAIR2_DIR}/ENB_APP/flexran_agent_ran_api_to_fix.c ) @@ -2820,52 +2747,12 @@ target_link_libraries (nr-softmodem -Wl,--end-group z dl) target_link_libraries (nr-softmodem ${LIBXML2_LIBRARIES}) -target_link_libraries (nr-softmodem pthread m ${CONFIG_LIB} rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} sctp ${XFORMS_LIBRARIES} ${PROTOBUF_LIB} ${CMAKE_DL_LIBS} ${LIBYAML_LIBRARIES} ${ATLAS_LIBRARIES}) +target_link_libraries (nr-softmodem pthread m CONFIG_LIB rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} sctp ${XFORMS_LIBRARIES} ${PROTOBUF_LIB} ${CMAKE_DL_LIBS} ${LIBYAML_LIBRARIES} ${ATLAS_LIBRARIES}) target_link_libraries (nr-softmodem ${LIB_LMS_LIBRARIES}) target_link_libraries (nr-softmodem ${T_LIB}) add_dependencies( nr-softmodem ldpc_orig ldpc_optim ldpc_optim8seg ldpc ) -add_executable(ocp-gnb - ${rrc_h} - ${nr_rrc_h} - ${s1ap_h} -# ${OPENAIR_BIN_DIR}/messages_xml.h - ${OPENAIR_DIR}/executables/ocp-gnb.c - ${OPENAIR_DIR}/common/utils/threadPool/thread-pool.c - ${OPENAIR_DIR}/executables/softmodem-common.c - ${OPENAIR1_DIR}/SIMULATION/TOOLS/taus.c - ${OPENAIR_TARGETS}/ARCH/COMMON/common_lib.c - ${OPENAIR_TARGETS}/ARCH/COMMON/record_player.c - ${OPENAIR2_DIR}/RRC/NAS/nas_config.c - ${OPENAIR2_DIR}/RRC/NAS/rb_config.c - ${OPENAIR1_DIR}/SIMULATION/ETH_TRANSPORT/netlink_init.c - ${OPENAIR_DIR}/common/utils/nr/nr_common.c - ${OPENAIR_DIR}/common/utils/utils.c - ${OPENAIR_DIR}/common/utils/system.c - ${PHY_INTERFACE_DIR}/queue_t.c - ${XFORMS_SOURCE_NR} - ${T_SOURCE} - ${CONFIG_SOURCES} - ${SHLIB_LOADER_SOURCES} - ${XFORMSINTERFACE_SOURCE} - ) - -target_link_libraries (ocp-gnb - -Wl,--start-group - UTIL HASHTABLE SCTP_CLIENT SCHED_LIB SCHED_RU_LIB SCHED_NR_LIB PHY_NR PHY PHY_COMMON PHY_NR_COMMON PHY_RU LFDS GTPV1U SECU_CN SECU_OSA - ITTI ${FLPT_MSG_LIB} ${ASYNC_IF_LIB} LFDS7 ${RAL_LIB} ${NAS_UE_LIB} RRC_LIB NR_RRC_LIB - NGAP_LIB NGAP_GNB S1AP_LIB S1AP_ENB L2_LTE_NR L2_NR MAC_NR_COMMON NFAPI_COMMON_LIB NFAPI_LIB NFAPI_VNF_LIB NFAPI_PNF_LIB NFAPI_USER_LIB - X2AP_LIB X2AP_ENB F1AP_LIB F1AP M2AP_LIB M2AP_ENB M3AP_LIB M3AP_ENB SIMU_COMMON - -Wl,--end-group z dl) - -target_link_libraries (ocp-gnb ${LIBXML2_LIBRARIES} ) -target_link_libraries (ocp-gnb pthread m ${CONFIG_LIB} rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} sctp ${XFORMS_LIBRARIES} ${PROTOBUF_LIB} ${CMAKE_DL_LIBS} ${LIBYAML_LIBRARIES} ${ATLAS_LIBRARIES}) -target_link_libraries (ocp-gnb ${LIB_LMS_LIBRARIES}) -target_link_libraries (ocp-gnb ${T_LIB}) -add_dependencies(ocp-gnb ldpc_orig ldpc_optim ldpc_optim8seg ldpc params_libconfig rfsimulator oai_usrpdevif rfsimulator nrscope) - - # nr-uesoftmodem is UE implementation ####################################### @@ -2873,7 +2760,6 @@ add_executable(nr-uesoftmodem ${rrc_h} ${s1ap_h} # ${OPENAIR_BIN_DIR}/messages_xml.h - ${OPENAIR_DIR}/common/utils/threadPool/thread-pool.c ${OPENAIR_DIR}/executables/nr-uesoftmodem.c ${OPENAIR_DIR}/executables/nr-ue.c ${OPENAIR_DIR}/executables/softmodem-common.c @@ -2885,13 +2771,9 @@ add_executable(nr-uesoftmodem ${OPENAIR2_DIR}/RRC/NAS/rb_config.c ${OPENAIR1_DIR}/SIMULATION/ETH_TRANSPORT/netlink_init.c ${OPENAIR3_DIR}/NAS/UE/nas_ue_task.c - ${OPENAIR_DIR}/common/utils/utils.c - ${OPENAIR_DIR}/common/utils/system.c ${OPENAIR_DIR}/common/utils/nr/nr_common.c ${XFORMSINTERFACE_SOURCE} ${T_SOURCE} - ${UTIL_SRC} - ${CONFIG_SOURCES} ${SHLIB_LOADER_SOURCES} ) @@ -2906,7 +2788,7 @@ target_link_libraries (nr-uesoftmodem -Wl,--end-group z dl) target_link_libraries (nr-uesoftmodem ${LIBXML2_LIBRARIES}) -target_link_libraries (nr-uesoftmodem pthread m ${CONFIG_LIB} rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} sctp ${XFORMS_LIBRARIES} ${CMAKE_DL_LIBS} ${LIBYAML_LIBRARIES} ${ATLAS_LIBRARIES}) +target_link_libraries (nr-uesoftmodem pthread m CONFIG_LIB rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} sctp ${XFORMS_LIBRARIES} ${CMAKE_DL_LIBS} ${LIBYAML_LIBRARIES} ${ATLAS_LIBRARIES}) target_link_libraries (nr-uesoftmodem ${LIB_LMS_LIBRARIES}) target_link_libraries (nr-uesoftmodem ${T_LIB}) @@ -2914,7 +2796,6 @@ add_dependencies( nr-uesoftmodem ldpc_orig ldpc_optim ldpc_optim8seg ldpc ) if (CUDA_FOUND) add_dependencies( nr-uesoftmodem ldpc_cuda) add_dependencies( nr-softmodem ldpc_cuda) - add_dependencies( ocp-gnb ldpc_cuda) endif (CUDA_FOUND) ###################################" # Addexecutables for tests @@ -2928,30 +2809,25 @@ endif (CUDA_FOUND) add_executable(dlsim_tm4 ${OPENAIR1_DIR}/SIMULATION/LTE_PHY/dlsim_tm4.c ${OPENAIR1_DIR}/PHY/TOOLS/lte_phy_scope_tm4.c - ${OPENAIR_DIR}/common/utils/system.c ${T_SOURCE} ) target_link_libraries (dlsim_tm4 -Wl,--start-group SIMU_COMMON SIMU UTIL SCHED_LIB SCHED_RU_LIB PHY LFDS ITTI -Wl,--end-group - pthread m rt ${CONFIG_LIB} ${ATLAS_LIBRARIES} ${T_LIB} + pthread m rt CONFIG_LIB ${ATLAS_LIBRARIES} ${T_LIB} ) add_executable(rftest ${OPENAIR_DIR}/openair1/PHY/TOOLS/calibration_test.c ${OPENAIR_DIR}/openair1/PHY/TOOLS/calibration_scope.c - ${OPENAIR_DIR}/common/utils/system.c ${OPENAIR_TARGETS}/ARCH/COMMON/common_lib.c ${OPENAIR_DIR}/executables/softmodem-common.c - ${CONFIG_SOURCES} ${SHLIB_LOADER_SOURCES} ) -target_link_libraries(rftest minimal_lib PHY_NR_COMMON pthread dl m forms ${T_LIB} ) +target_link_libraries(rftest minimal_lib CONFIG_LIB PHY_NR_COMMON UTIL pthread dl m forms ${T_LIB} ) add_executable(polartest ${OPENAIR1_DIR}/PHY/CODING/TESTBENCH/polartest.c - ${OPENAIR_DIR}/common/utils/backtrace.c ${OPENAIR_DIR}/common/utils/nr/nr_common.c - ${OPENAIR_DIR}/common/utils/system.c ${T_SOURCE} ${SHLIB_LOADER_SOURCES} ) @@ -2962,9 +2838,7 @@ target_link_libraries(polartest add_executable(smallblocktest ${OPENAIR1_DIR}/PHY/CODING/TESTBENCH/smallblocktest.c - ${OPENAIR_DIR}/common/utils/backtrace.c ${OPENAIR_DIR}/common/utils/nr/nr_common.c - ${OPENAIR_DIR}/common/utils/system.c ${T_SOURCE} ${SHLIB_LOADER_SOURCES} ) @@ -2994,11 +2868,7 @@ target_link_libraries(ldpctest add_executable(nr_dlschsim ${OPENAIR1_DIR}/SIMULATION/NR_PHY/dlschsim.c - ${OPENAIR_DIR}/common/utils/system.c ${OPENAIR_DIR}/common/utils/nr/nr_common.c - ${OPENAIR_DIR}/common/utils/utils.c - ${OPENAIR_DIR}/common/utils/threadPool/thread-pool.c - ${UTIL_SRC} ${T_SOURCE} ${SHLIB_LOADER_SOURCES} ) @@ -3009,11 +2879,7 @@ target_link_libraries(nr_dlschsim add_executable(nr_pbchsim ${OPENAIR1_DIR}/SIMULATION/NR_PHY/pbchsim.c - ${OPENAIR_DIR}/common/utils/system.c ${OPENAIR_DIR}/common/utils/nr/nr_common.c - ${OPENAIR_DIR}/common/utils/utils.c - ${OPENAIR_DIR}/common/utils/threadPool/thread-pool.c - ${UTIL_SRC} ${T_SOURCE} ${SHLIB_LOADER_SOURCES} ) @@ -3025,12 +2891,7 @@ target_link_libraries(nr_pbchsim #PUCCH ---> Prashanth add_executable(nr_pucchsim ${OPENAIR1_DIR}/SIMULATION/NR_PHY/pucchsim.c - ${OPENAIR_DIR}/common/utils/backtrace.c ${OPENAIR_DIR}/common/utils/nr/nr_common.c - ${OPENAIR_DIR}/common/utils/system.c - ${OPENAIR_DIR}/common/utils/utils.c - ${OPENAIR_DIR}/common/utils/threadPool/thread-pool.c - ${UTIL_SRC} ${T_SOURCE} ${SHLIB_LOADER_SOURCES} ) @@ -3041,17 +2902,13 @@ target_link_libraries(nr_pucchsim add_executable(nr_dlsim ${OPENAIR1_DIR}/SIMULATION/NR_PHY/dlsim.c - ${OPENAIR_DIR}/common/utils/utils.c - ${OPENAIR_DIR}/common/utils/system.c ${OPENAIR_DIR}/common/utils/nr/nr_common.c ${OPENAIR_DIR}/executables/softmodem-common.c ${OPENAIR2_DIR}/RRC/NAS/nas_config.c ${OPENAIR1_DIR}/SIMULATION/ETH_TRANSPORT/netlink_init.c ${NR_UE_RRC_DIR}/rrc_nsa.c ${NFAPI_USER_DIR}/nfapi.c - ${OPENAIR_DIR}/common/utils/threadPool/thread-pool.c ${PHY_INTERFACE_DIR}/queue_t.c - ${UTIL_SRC} ${T_SOURCE} ${SHLIB_LOADER_SOURCES} ) @@ -3063,17 +2920,13 @@ target_compile_definitions(nr_dlsim PUBLIC -DPHYSICAL_SIMULATOR) add_executable(nr_prachsim ${OPENAIR1_DIR}/SIMULATION/NR_PHY/prachsim.c - ${OPENAIR_DIR}/common/utils/utils.c - ${OPENAIR_DIR}/common/utils/system.c ${OPENAIR_DIR}/common/utils/nr/nr_common.c ${OPENAIR1_DIR}/SCHED_NR/phy_procedures_nr_common.c ${OPENAIR2_DIR}/RRC/NAS/nas_config.c ${OPENAIR1_DIR}/SIMULATION/ETH_TRANSPORT/netlink_init.c ${NR_UE_RRC_DIR}/rrc_nsa.c ${NFAPI_USER_DIR}/nfapi.c - ${OPENAIR_DIR}/common/utils/threadPool/thread-pool.c ${PHY_INTERFACE_DIR}/queue_t.c - ${UTIL_SRC} ${T_SOURCE} ${SHLIB_LOADER_SOURCES}) target_link_libraries(nr_prachsim @@ -3082,12 +2935,8 @@ target_link_libraries(nr_prachsim add_executable(nr_ulschsim ${OPENAIR1_DIR}/SIMULATION/NR_PHY/ulschsim.c - ${OPENAIR_DIR}/common/utils/threadPool/thread-pool.c - ${OPENAIR_DIR}/common/utils/utils.c - ${OPENAIR_DIR}/common/utils/system.c ${OPENAIR_DIR}/common/utils/nr/nr_common.c ${PHY_INTERFACE_DIR}/queue_t.c - ${UTIL_SRC} ${T_SOURCE} ${SHLIB_LOADER_SOURCES} ) @@ -3098,9 +2947,6 @@ target_link_libraries(nr_ulschsim add_executable(nr_ulsim ${OPENAIR1_DIR}/SIMULATION/NR_PHY/ulsim.c - ${OPENAIR_DIR}/common/utils/threadPool/thread-pool.c - ${OPENAIR_DIR}/common/utils/utils.c - ${OPENAIR_DIR}/common/utils/system.c ${OPENAIR_DIR}/common/utils/nr/nr_common.c ${OPENAIR_DIR}/executables/softmodem-common.c ${OPENAIR2_DIR}/RRC/NAS/nas_config.c @@ -3108,7 +2954,6 @@ add_executable(nr_ulsim ${NR_UE_RRC_DIR}/rrc_nsa.c ${NFAPI_USER_DIR}/nfapi.c ${PHY_INTERFACE_DIR}/queue_t.c - ${UTIL_SRC} ${T_SOURCE} ${SHLIB_LOADER_SOURCES} ) @@ -3122,58 +2967,21 @@ foreach(myExe dlsim dlsim_tm7 ulsim pbchsim scansim mbmssim pdcchsim pucchsim pr add_executable(${myExe} ${OPENAIR1_DIR}/SIMULATION/LTE_PHY/${myExe}.c - ${OPENAIR_DIR}/common/utils/threadPool/thread-pool.c - ${OPENAIR_DIR}/common/utils/backtrace.c - ${OPENAIR_DIR}/common/utils/system.c - ${OPENAIR_DIR}/common/utils/utils.c ${OPENAIR_DIR}/common/utils/lte/ue_power.c ${OPENAIR_DIR}/common/utils/lte/prach_utils.c ${OPENAIR1_DIR}/PHY/INIT/lte_param_init.c ${XFORMS_SOURCE} ${T_SOURCE} - ${CONFIG_SOURCES} ${SHLIB_LOADER_SOURCES} ${NFAPI_USER_DIR}/nfapi.c ) target_link_libraries (${myExe} -Wl,--start-group SIMU_COMMON SIMU UTIL SCHED_LIB SCHED_RU_LIB SCHED_UE_LIB PHY_COMMON PHY_NR_COMMON PHY PHY_UE PHY_RU LFDS ITTI LFDS7 -Wl,--end-group - pthread m rt ${CONFIG_LIB} ${ATLAS_LIBRARIES} ${XFORMS_LIBRARIES} ${T_LIB} dl + pthread m rt CONFIG_LIB ${ATLAS_LIBRARIES} ${XFORMS_LIBRARIES} ${T_LIB} dl ) endforeach(myExe) -add_executable(test_epc_generate_scenario - ${OPENAIR3_DIR}/TEST/EPC_TEST/generate_scenario.c - ${OPENAIR3_DIR}/TEST/EPC_TEST/generate_scenario.h - ${OPENAIR2_DIR}/ENB_APP/enb_config.h - ${OPENAIR2_DIR}/COMMON/commonDef.h - ${OPENAIR2_DIR}/COMMON/messages_def.h - ${OPENAIR3_DIR}/S1AP/s1ap_eNB_defs.h - ) -target_link_libraries (test_epc_generate_scenario - -Wl,--start-group RRC_LIB S1AP_LIB S1AP_ENB X2AP_LIB X2AP_ENB M2AP_LIB M2AP_ENB M3AP_LIB M3AP_ENB F1AP_LIB F1AP GTPV1U LIB_NAS_UE SECU_CN UTIL HASHTABLE SCTP_CLIENT MME_APP SCHED_LIB PHY LFDS ITTI L2 -Wl,--end-group pthread m rt crypt sctp ${LIBXML2_LIBRARIES} ${LIBXSLT_LIBRARIES} ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${CONFIG_LIB} - ) - -add_executable(test_epc_play_scenario - ${OPENAIR3_DIR}/TEST/EPC_TEST/play_scenario.c - ${OPENAIR3_DIR}/TEST/EPC_TEST/play_scenario_decode.c - ${OPENAIR3_DIR}/TEST/EPC_TEST/play_scenario_display.c - ${OPENAIR3_DIR}/TEST/EPC_TEST/play_scenario_fsm.c - ${OPENAIR3_DIR}/TEST/EPC_TEST/play_scenario_parse.c - ${OPENAIR3_DIR}/TEST/EPC_TEST/play_scenario_s1ap.c - ${OPENAIR3_DIR}/TEST/EPC_TEST/play_scenario_s1ap_compare_ie.c - ${OPENAIR3_DIR}/TEST/EPC_TEST/play_scenario_s1ap_eNB_defs.h - ${OPENAIR3_DIR}/TEST/EPC_TEST/play_scenario_sctp.c - ${OPENAIR3_DIR}/TEST/EPC_TEST/play_scenario.h - ${OPENAIR2_DIR}/COMMON/commonDef.h - ${OPENAIR2_DIR}/COMMON/messages_def.h - ) -target_include_directories(test_epc_play_scenario PUBLIC /usr/local/share/asn1c) -target_link_libraries (test_epc_play_scenario - -Wl,--start-group RRC_LIB S1AP_LIB X2AP_LIB X2AP_ENB M3AP_LIB M3AP_ENB F1AP_LIB F1AP GTPV1U LIB_NAS_UE SECU_CN UTIL HASHTABLE SCTP_CLIENT MME_APP SCHED_LIB PHY_NR_COMMON PHY_COMMON PHY PHY_UE LFDS ITTI -Wl,--end-group pthread m rt crypt sctp ${LIBXML2_LIBRARIES} ${LIBXSLT_LIBRARIES} ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${CONFIG_LIB} - ) - - #unitary tests for Core NEtwork pieces ################################# foreach(myExe s1ap @@ -3190,7 +2998,7 @@ foreach(myExe s1ap ${OPENAIR3_DIR}/TEST/test_${myExe}.c ) target_link_libraries (test_${myExe} - -Wl,--start-group SECU_CN UTIL LFDS -Wl,--end-group m rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${CONFIG_LIB} + -Wl,--start-group SECU_CN UTIL LFDS -Wl,--end-group m rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} CONFIG_LIB ) endforeach(myExe) @@ -3309,16 +3117,12 @@ add_executable(nr-ittisim ${OPENAIR2_DIR}/RRC/NAS/rb_config.c ${OPENAIR1_DIR}/SIMULATION/ETH_TRANSPORT/netlink_init.c ${OPENAIR3_DIR}/NAS/UE/nas_ue_task.c - ${OPENAIR_DIR}/common/utils/utils.c - ${OPENAIR_DIR}/common/utils/system.c ${OPENAIR_DIR}/common/utils/nr/nr_common.c - ${OPENAIR_DIR}/common/utils/threadPool/thread-pool.c ${OPENAIR_DIR}/common/utils/lte/ue_power.c ${OPENAIR_DIR}/common/utils/lte/prach_utils.c ${OPENAIR2_DIR}/ENB_APP/flexran_agent_ran_api_to_fix.c ${XFORMSINTERFACE_SOURCE} ${T_SOURCE} - ${CONFIG_SOURCES} ${SHLIB_LOADER_SOURCES} ) @@ -3332,7 +3136,7 @@ target_link_libraries (nr-ittisim -Wl,--end-group z dl) target_link_libraries (nr-ittisim ${LIBXML2_LIBRARIES}) -target_link_libraries (nr-ittisim pthread m ${CONFIG_LIB} rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${NETTLE_LIBRARIES} sctp ${XFORMS_LIBRARIES} ${PROTOBUF_LIB} ${CMAKE_DL_LIBS} ${LIBYAML_LIBRARIES} ${ATLAS_LIBRARIES}) +target_link_libraries (nr-ittisim pthread m CONFIG_LIB rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${NETTLE_LIBRARIES} sctp ${XFORMS_LIBRARIES} ${PROTOBUF_LIB} ${CMAKE_DL_LIBS} ${LIBYAML_LIBRARIES} ${ATLAS_LIBRARIES}) target_link_libraries (nr-ittisim ${LIB_LMS_LIBRARIES}) target_link_libraries (nr-ittisim ${T_LIB}) diff --git a/cmake_targets/autotests/test_case_list.xml b/cmake_targets/autotests/test_case_list.xml index 6450b642989a88e5939233c8bc3ef717165ac96b..7497fb419c4a50659e2fd3ff0a80bd2945a7d625 100755 --- a/cmake_targets/autotests/test_case_list.xml +++ b/cmake_targets/autotests/test_case_list.xml @@ -1093,17 +1093,18 @@ (Test8: 217 PRB 100 PDSCH-PRBs 110 PDSCH-Offset), (Test9: 106 PRBs 50 PDSCH-PRBs MCS Index 27), (Test10: 106 PRBs 50 PDSCH-PRBs MCS Index 16), - (Test11: HARQ test 25% TP (4 rounds), - (Test12: HARQ test 33% TP (3 rounds), - (Test13: HARQ test 50% TP (2 rounds), - (Test14: 3 PTRS, 8 Interpolated Symbols), - (Test15: 6 PTRS, 5 Interpolated Symbols), - (Test16: 11 PTRS, 0 Interpolated Symbols), - (Test17: Mapping type A, 2 DMRS Symbols), - (Test18: Mapping type A, 3 DMRS Symbols), - (Test19: Mapping type B, 4 DMRS Symbols), - (Test20: 4x4 MIMO, 1 Layer), - (Test21: 4x4 MIMO, 2 Layers)</desc> + (Test11: 106 MCS-TABLE 256 QAM MCS Index 26), + (Test12: HARQ test 25% TP (4 rounds), + (Test13: HARQ test 33% TP (3 rounds), + (Test14: HARQ test 50% TP (2 rounds), + (Test15: 3 PTRS, 8 Interpolated Symbols), + (Test16: 6 PTRS, 5 Interpolated Symbols), + (Test17: 11 PTRS, 0 Interpolated Symbols), + (Test18: Mapping type A, 2 DMRS Symbols), + (Test19: Mapping type A, 3 DMRS Symbols), + (Test20: Mapping type B, 4 DMRS Symbols), + (Test21: 4x4 MIMO, 1 Layer), + (Test22: 4x4 MIMO, 2 Layers)</desc> <pre_compile_prog></pre_compile_prog> <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> <compile_prog_args> --phy_simulators -c </compile_prog_args> @@ -1118,8 +1119,9 @@ -n100 -R217 -b100 -s5 -n100 -R217 -a80 -s5 -n100 -R217 -a110 -s5 -b100 - -n100 -e27 -s30 - -n100 -e16 -s10 + -n100 -e27 -s30 + -n100 -e16 -s10 + -n100 -q1 -e27 -s30 -n100 -s1 -t25 -n100 -s1 -t33 -n100 -s1 -t50 @@ -1131,7 +1133,7 @@ -n100 -s2 -U 2 1 3 -n10 -s20 -U 3 0 0 2 -gR -x1 -y4 -z4 -n10 -s20 -U 3 0 0 2 -gR -x2 -y4 -z4</main_exec_args> - <tags>nr_dlsim.test1 nr_dlsim.test2 nr_dlsim.test3 nr_dlsim.test4 nr_dlsim.test5 nr_dlsim.test6 nr_dlsim.test7 nr_dlsim.test8 nr_dlsim.test9 nr_dlsim.test10 nr_dlsim.test11 nr_dlsim.test12 nr_dlsim.test13 nr_dlsim.test14 nr_dlsim.test15 nr_dlsim.test16 nr_dlsim.test17 nr_dlsim.test18 nr_dlsim.test19 nr_dlsim.test20 nr_dlsim.test21</tags> + <tags>nr_dlsim.test1 nr_dlsim.test2 nr_dlsim.test3 nr_dlsim.test4 nr_dlsim.test5 nr_dlsim.test6 nr_dlsim.test7 nr_dlsim.test8 nr_dlsim.test9 nr_dlsim.test10 nr_dlsim.test11 nr_dlsim.test12 nr_dlsim.test13 nr_dlsim.test14 nr_dlsim.test15 nr_dlsim.test16 nr_dlsim.test17 nr_dlsim.test18 nr_dlsim.test19 nr_dlsim.test20 nr_dlsim.test21 nr_dlsim.test22</tags> <search_expr_true>PDSCH test OK</search_expr_true> <search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false> <nruns>3</nruns> diff --git a/common/utils/LOG/log.h b/common/utils/LOG/log.h index d73fc03ed93be535ef8a55f4f04c44932eb14111..1f19d5587818f50da9333a74eb8ff2d8986ac13d 100644 --- a/common/utils/LOG/log.h +++ b/common/utils/LOG/log.h @@ -473,130 +473,6 @@ int32_t write_file_matlab(const char *fname, const char *vname, void *data, int /* @}*/ -static __inline__ uint64_t rdtsc(void) { - uint32_t a, d; - __asm__ volatile ("rdtsc" : "=a" (a), "=d" (d)); - return (((uint64_t)d)<<32) | ((uint64_t)a); -} - -#define DEBUG_REALTIME 1 -#if DEBUG_REALTIME - -extern double cpuf; - -static inline uint64_t checkTCPU(int timeout, - char *file, - int line) -{ - static uint64_t __thread lastCPUTime=0; - static uint64_t __thread last=0; - uint64_t cur=rdtsc(); - struct timespec CPUt; - clock_gettime(CLOCK_THREAD_CPUTIME_ID, &CPUt); - uint64_t CPUTime=CPUt.tv_sec*1000*1000+CPUt.tv_nsec/1000; - double microCycles=(double)(cpuf*1000); - int duration=(int)((cur-last)/microCycles); - - if ( last!=0 && duration > timeout ) { - //struct timespec ts; - //clock_gettime(CLOCK_MONOTONIC, &ts); - printf("%s:%d lte-ue delay %d (exceed %d), CPU for this period: %lld\n", file, line, - duration, timeout, (long long)CPUTime-lastCPUTime ); - } - - last=cur; - lastCPUTime=CPUTime; - return cur; -} - -static inline unsigned long long checkT(int timeout, - char *file, - int line) -{ - static unsigned long long __thread last=0; - unsigned long long cur=rdtsc(); - int microCycles=(int)(cpuf*1000); - int duration=(int)((cur-last)/microCycles); - - if ( last!=0 && duration > timeout ) - printf("%s:%d lte-ue delay %d (exceed %d)\n", file, line, - duration, timeout); - - last=cur; - return cur; -} - -typedef struct m { - uint64_t iterations; - uint64_t sum; - uint64_t maxArray[11]; -} Meas; - -static inline void printMeas(char *txt, - Meas *M, - int period) -{ - if (M->iterations%period == 0 ) { - char txt2[512]; - sprintf(txt2,"%s avg=%" PRIu64 " iterations=%" PRIu64 " max=%" - PRIu64 ":%" PRIu64 ":%" PRIu64 ":%" PRIu64 ":%" PRIu64 ":%" PRIu64 ":%" PRIu64 ":%" PRIu64 ":%" PRIu64 ":%" PRIu64 "\n", - txt, - M->sum/M->iterations, - M->iterations, - M->maxArray[1],M->maxArray[2], M->maxArray[3],M->maxArray[4], M->maxArray[5], - M->maxArray[6],M->maxArray[7], M->maxArray[8],M->maxArray[9],M->maxArray[10]); -#if T_TRACER - LOG_W(PHY,"%s",txt2); -#else - printf("%s",txt2); -#endif - } -} - -static inline int cmpint(const void *a, - const void *b) -{ - uint64_t *aa=(uint64_t *)a; - uint64_t *bb=(uint64_t *)b; - return (int)(*aa-*bb); -} - -static inline void updateTimes(uint64_t start, - Meas *M, - int period, - char *txt) -{ - if (start!=0) { - uint64_t end=rdtsc(); - long long diff=(end-start)/(cpuf*1000); - M->maxArray[0]=diff; - M->sum+=diff; - M->iterations++; - qsort(M->maxArray, 11, sizeof(uint64_t), cmpint); - printMeas(txt,M,period); - } -} - -#define check(a) do { checkT(a,__FILE__,__LINE__); } while (0) -#define checkcpu(a) do { checkTCPU(a,__FILE__,__LINE__); } while (0) -#define initRefTimes(a) static __thread Meas a= {0} -#define pickTime(a) uint64_t a=rdtsc() -#define readTime(a) a -#define initStaticTime(a) static __thread uint64_t a={0} -#define pickStaticTime(a) do { a=rdtsc(); } while (0) - -#else -#define check(a) do {} while (0) -#define checkcpu(a) do {} while (0) -#define initRefTimes(a) do {} while (0) -#define initStaticTime(a) do {} while (0) -#define pickTime(a) do {} while (0) -#define readTime(a) 0 -#define pickStaticTime(a) do {} while (0) -#define updateTimes(a,b,c,d) do {} while (0) -#define printMeas(a,b,c) do {} while (0) -#endif - #ifdef __cplusplus } #endif diff --git a/common/utils/nr/nr_common.c b/common/utils/nr/nr_common.c index b0a6266d349ce3328cbf6161cd6aab136861eb36..febfe7db7d77bacc0c7382c32706a86f351a004b 100644 --- a/common/utils/nr/nr_common.c +++ b/common/utils/nr/nr_common.c @@ -36,6 +36,27 @@ const char *duplex_mode[]={"FDD","TDD"}; +int tables_5_3_2[5][11] = { + {25, 52, 79, 106, 133, 160, 216, 270, -1, -1, -1}, // 15 FR1 + {11, 24, 38, 51, 65, 78, 106, 133, 162, 217, 273}, // 30 FR1 + {-1, 11, 18, 24, 31, 38, 51, 65, 79, 107, 135}, // 60 FR1 + {66, 132, 264, -1 , -1, -1, -1, -1, -1, -1, -1}, // 60 FR2 + {32, 66, 132, 264, -1, -1, -1, -1, -1, -1, -1} // 120FR2 +}; + +int get_supported_band_index(int scs, int band, int n_rbs){ + + int scs_index = scs; + if (band>256) + scs_index++; + for (int i=0; i<11; i++) { + if(n_rbs == tables_5_3_2[scs][i]) + return i; + } + return (-1); // not found +} + + // Table 5.2-1 NR operating bands in FR1 & FR2 (3GPP TS 38.101) // Table 5.4.2.3-1 Applicable NR-ARFCN per operating band in FR1 & FR2 (3GPP TS 38.101) // Notes: diff --git a/common/utils/nr/nr_common.h b/common/utils/nr/nr_common.h index 882f99338c3533c785a567adbaafe0db88bf843d..0150cf59f8b7edf983edfea180628d0a2d187611 100644 --- a/common/utils/nr/nr_common.h +++ b/common/utils/nr/nr_common.h @@ -80,6 +80,7 @@ void SLIV2SL(int SLIV,int *S,int *L); int get_dmrs_port(int nl, uint16_t dmrs_ports); uint16_t SL_to_bitmap(int startSymbolIndex, int nrOfSymbols); int get_nb_periods_per_frame(uint8_t tdd_period); +int get_supported_band_index(int scs, int band, int n_rbs); long rrc_get_max_nr_csrs(uint8_t max_rbs, long b_SRS); #define CEILIDIV(a,b) ((a+b-1)/b) diff --git a/common/utils/telnetsrv/telnetsrv_measurements.c b/common/utils/telnetsrv/telnetsrv_measurements.c index 786cbd094cc432619906b38fde0b7a70ff3917ef..2af76753b880befd64a7a7445aca3d8f547705b0 100644 --- a/common/utils/telnetsrv/telnetsrv_measurements.c +++ b/common/utils/telnetsrv/telnetsrv_measurements.c @@ -51,6 +51,7 @@ static char *grouptypes[] = {"ltestats","cpustats"}; static double cpufreq; +extern notifiedFIFO_t measur_fifo; #define TELNET_NUM_MEASURTYPES (sizeof(grouptypes)/sizeof(char *)) #define HDR "---------------------------------" diff --git a/common/utils/threadPool/measurement_display.c b/common/utils/threadPool/measurement_display.c index 0f5a3e0f69c81b2860b7275ec30a932693aaba5c..cf2febaf330c9b66ebf90f04ab213691fbde5176 100644 --- a/common/utils/threadPool/measurement_display.c +++ b/common/utils/threadPool/measurement_display.c @@ -43,9 +43,9 @@ int main(int argc, char *argv[]) { exit(1); } - uint64_t deb=rdtsc(); + uint64_t deb=rdtsc_oai(); usleep(100000); - cpuCyclesMicroSec=(rdtsc()-deb)/100000; + cpuCyclesMicroSec=(rdtsc_oai()-deb)/100000; printf("Cycles per µs: %lu\n",cpuCyclesMicroSec); printf("Key" SEP "delay to process" SEP "processing time" SEP "delay to be read answer\n"); notifiedFIFO_elt_t doneRequest; diff --git a/common/utils/threadPool/thread-pool.c b/common/utils/threadPool/thread-pool.c index fff09528a856edbe39f2bbff52bad368ce7b1842..de9091de7934b4126c727f6a928263ff27d541cd 100644 --- a/common/utils/threadPool/thread-pool.c +++ b/common/utils/threadPool/thread-pool.c @@ -72,11 +72,11 @@ void *one_thread(void *arg) { do { notifiedFIFO_elt_t *elt=pullNotifiedFifoRemember(&tp->incomingFifo, myThread); - if (tp->measurePerf) elt->startProcessingTime=rdtsc(); + if (tp->measurePerf) elt->startProcessingTime=rdtsc_oai(); elt->processingFunc(NotifiedFifoData(elt)); - if (tp->measurePerf) elt->endProcessingTime=rdtsc(); + if (tp->measurePerf) elt->endProcessingTime=rdtsc_oai(); if (elt->reponseFifo) { // Check if the job is still alive, else it has been aborted @@ -97,7 +97,7 @@ void initNamedTpool(char *params,tpool_t *pool, bool performanceMeas, char *name char *measr=getenv("threadPoolMeasurements"); pool->measurePerf=performanceMeas; // force measurement if the output is defined - pool->measurePerf=measr!=NULL; + pool->measurePerf |= measr!=NULL; if (measr) { mkfifo(measr,0666); diff --git a/common/utils/threadPool/thread-pool.h b/common/utils/threadPool/thread-pool.h index a8f8572cfe9ff379fa277507fbf69593f1ed97de..d06f2195ee7921c40cfef5f5e5a1a5acf3885e3c 100644 --- a/common/utils/threadPool/thread-pool.h +++ b/common/utils/threadPool/thread-pool.h @@ -27,11 +27,11 @@ #include <stdbool.h> #include <stdint.h> #include <pthread.h> +#include <unistd.h> #include <sys/syscall.h> -#include <assertions.h> -#include <LOG/log.h> -#include <common/utils/system.h> -//#include <stdatomic.h> +#include "assertions.h" +#include "common/utils/time_meas.h" +#include "common/utils/system.h" #ifdef DEBUG #define THREADINIT PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP @@ -60,10 +60,10 @@ typedef struct notifiedFIFO_elt_s { struct notifiedFIFO_s *reponseFifo; void (*processingFunc)(void *); bool malloced; - uint64_t creationTime; - uint64_t startProcessingTime; - uint64_t endProcessingTime; - uint64_t returnTime; + oai_cputime_t creationTime; + oai_cputime_t startProcessingTime; + oai_cputime_t endProcessingTime; + oai_cputime_t returnTime; void *msgData; } notifiedFIFO_elt_t; @@ -97,12 +97,11 @@ static inline void *NotifiedFifoData(notifiedFIFO_elt_t *elt) { static inline void delNotifiedFIFO_elt(notifiedFIFO_elt_t *elt) { if (elt->malloced) { - elt->malloced=false; + elt->malloced = false; free(elt); - } else - printf("delNotifiedFIFO on something not allocated by newNotifiedFIFO\n"); - - //LOG_W(UTIL,"delNotifiedFIFO on something not allocated by newNotifiedFIFO\n"); + } + /* it is allowed to call delNotifiedFIFO_elt when the memory is managed by + * the caller */ } static inline void initNotifiedFIFO_nothreadSafe(notifiedFIFO_t *nf) { @@ -141,8 +140,7 @@ static inline notifiedFIFO_elt_t *pullNotifiedFIFO_nothreadSafe(notifiedFIFO_t notifiedFIFO_elt_t *ret=nf->outF; - if (nf->outF==nf->outF->next) - LOG_E(UTIL,"Circular list in thread pool: push several times the same buffer is forbidden\n"); + AssertFatal(nf->outF != nf->outF->next,"Circular list in thread pool: push several times the same buffer is forbidden\n"); nf->outF=nf->outF->next; @@ -174,6 +172,20 @@ static inline notifiedFIFO_elt_t *pollNotifiedFIFO(notifiedFIFO_t *nf) { return ret; } +static inline time_stats_t exec_time_stats_NotifiedFIFO(const notifiedFIFO_elt_t* elt) +{ + time_stats_t ts = {0}; + if (elt->startProcessingTime == 0 && elt->endProcessingTime == 0) + return ts; /* no measurements done */ + ts.in = elt->startProcessingTime; + ts.diff = elt->endProcessingTime - ts.in; + ts.p_time = ts.diff; + ts.diff_square = ts.diff * ts.diff; + ts.max = ts.diff; + ts.trials = 1; + return ts; +} + // This function aborts all messages matching the key // If the queue is used in thread pools, it doesn't cancels already running processing // because the message has already been picked @@ -224,18 +236,18 @@ typedef struct thread_pool { } tpool_t; static inline void pushTpool(tpool_t *t, notifiedFIFO_elt_t *msg) { - if (t->measurePerf) msg->creationTime=rdtsc(); + if (t->measurePerf) msg->creationTime=rdtsc_oai(); if ( t->activated) pushNotifiedFIFO(&t->incomingFifo, msg); else { if (t->measurePerf) - msg->startProcessingTime=rdtsc(); + msg->startProcessingTime=rdtsc_oai(); msg->processingFunc(NotifiedFifoData(msg)); if (t->measurePerf) - msg->endProcessingTime=rdtsc(); + msg->endProcessingTime=rdtsc_oai(); if (msg->reponseFifo) pushNotifiedFIFO(msg->reponseFifo, msg); @@ -246,7 +258,7 @@ static inline notifiedFIFO_elt_t *pullTpool(notifiedFIFO_t *responseFifo, tpool_ notifiedFIFO_elt_t *msg= pullNotifiedFIFO(responseFifo); AssertFatal(t->traceFd, "Thread pool used while not initialized"); if (t->measurePerf) - msg->returnTime=rdtsc(); + msg->returnTime=rdtsc_oai(); if (t->traceFd > 0) if(write(t->traceFd, msg, sizeof(*msg))); @@ -261,7 +273,7 @@ static inline notifiedFIFO_elt_t *tryPullTpool(notifiedFIFO_t *responseFifo, tpo return NULL; if (t->measurePerf) - msg->returnTime=rdtsc(); + msg->returnTime=rdtsc_oai(); if (t->traceFd) if(write(t->traceFd, msg, sizeof(*msg))); diff --git a/openair1/PHY/TOOLS/time_meas.c b/common/utils/time_meas.c similarity index 97% rename from openair1/PHY/TOOLS/time_meas.c rename to common/utils/time_meas.c index 353f170434a2d4ddbc2cff2d6d4b2a5704186cda..df2bfd64de32b6c8b97c3450170e2ff5f9cc71a5 100644 --- a/openair1/PHY/TOOLS/time_meas.c +++ b/common/utils/time_meas.c @@ -267,6 +267,15 @@ void init_meas(void) { AssertFatal(rt==0, "couldn't create cpu measurment thread: %s\n",strerror(errno)); } +void send_meas(time_stats_t *ts, int msgid) { + if (MEASURE_ENABLED(ts) ) { + ts->tstatptr->timestat_id=ts->meas_index; + ts->tstatptr->msgid = msgid ; + ts->tstatptr->ts = rdtsc_oai(); + pushNotifiedFIFO(&measur_fifo, ts->tpoolmsg); + } + } + void end_meas(void) { notifiedFIFO_elt_t *nfe = newNotifiedFIFO_elt(sizeof(time_stats_msg_t),0,NULL,NULL); time_stats_msg_t *msg = (time_stats_msg_t *)NotifiedFifoData(nfe); diff --git a/openair1/PHY/TOOLS/time_meas.h b/common/utils/time_meas.h similarity index 83% rename from openair1/PHY/TOOLS/time_meas.h rename to common/utils/time_meas.h index ed4e9a125f1c5cf496c8819937a8d45df01a711d..382dd7455a0e4a5d44146b4c6054c971071d7809 100644 --- a/openair1/PHY/TOOLS/time_meas.h +++ b/common/utils/time_meas.h @@ -31,15 +31,14 @@ #include <pthread.h> #include <linux/kernel.h> #include <linux/types.h> -#include "common/utils/threadPool/thread-pool.h" // global var to enable openair performance profiler extern int opp_enabled; extern double cpu_freq_GHz __attribute__ ((aligned(32)));; // structure to store data to compute cpu measurment #if defined(__x86_64__) || defined(__i386__) - #define OAI_CPUTIME_TYPE long long + typedef long long oai_cputime_t; #elif defined(__arm__) - #define OAI_CPUTIME_TYPE uint32_t + typedef uint32_t oai_cputime_t; #else #error "building on unsupported CPU architecture" #endif @@ -54,23 +53,23 @@ typedef void(*meas_printfunc_t)(const char* format, ...); typedef struct { int msgid; /*!< \brief message id, as defined by TIMESTAT_MSGID_X macros */ int timestat_id; /*!< \brief points to the time_stats_t entry in cpumeas table */ - OAI_CPUTIME_TYPE ts; /*!< \brief time stamp */ + oai_cputime_t ts; /*!< \brief time stamp */ meas_printfunc_t displayFunc; /*!< \brief function to call when DISPLAY message is received*/ } time_stats_msg_t; - -typedef struct { - OAI_CPUTIME_TYPE in; /*!< \brief time at measure starting point */ - OAI_CPUTIME_TYPE diff; /*!< \brief average difference between time at starting point and time at endpoint*/ - OAI_CPUTIME_TYPE p_time; /*!< \brief absolute process duration */ - OAI_CPUTIME_TYPE diff_square; /*!< \brief process duration square */ - OAI_CPUTIME_TYPE max; /*!< \brief maximum difference between time at starting point and time at endpoint*/ +struct notifiedFIFO_elt_s; +typedef struct time_stats { + oai_cputime_t in; /*!< \brief time at measure starting point */ + oai_cputime_t diff; /*!< \brief average difference between time at starting point and time at endpoint*/ + oai_cputime_t p_time; /*!< \brief absolute process duration */ + oai_cputime_t diff_square; /*!< \brief process duration square */ + oai_cputime_t max; /*!< \brief maximum difference between time at starting point and time at endpoint*/ int trials; /*!< \brief number of start point - end point iterations */ int meas_flag; /*!< \brief 1: stop_meas not called (consecutive calls of start_meas) */ char *meas_name; /*!< \brief name to use when printing the measure (not used for PHY simulators)*/ int meas_index; /*!< \brief index of this measure in the measure array (not used for PHY simulators)*/ int meas_enabled; /*!< \brief per measure enablement flag. send_meas tests this flag, unused today in start_meas and stop_meas*/ - notifiedFIFO_elt_t *tpoolmsg; /*!< \brief message pushed to the cpu measurment queue to report a measure START or STOP */ + struct notifiedFIFO_elt_s *tpoolmsg; /*!< \brief message pushed to the cpu measurment queue to report a measure START or STOP */ time_stats_msg_t *tstatptr; /*!< \brief pointer to the time_stats_msg_t data in the tpoolmsg, stored here for perf considerations*/ } time_stats_t; #define MEASURE_ENABLED(X) (X->meas_enabled) @@ -179,7 +178,7 @@ static inline void copy_meas(time_stats_t *dst_ts,time_stats_t *src_ts) { } } -static inline void merge_meas(time_stats_t *dst_ts, time_stats_t *src_ts) +static inline void merge_meas(time_stats_t *dst_ts, const time_stats_t *src_ts) { if (!opp_enabled) return; @@ -189,25 +188,17 @@ static inline void merge_meas(time_stats_t *dst_ts, time_stats_t *src_ts) dst_ts->max = src_ts->max; } -extern notifiedFIFO_t measur_fifo; #define CPUMEASUR_SECTION "cpumeasur" #define CPUMEASUR_PARAMS_DESC { \ {"max_cpumeasur", "Max number of cpu measur entries", 0, uptr:&max_cpumeasur, defintval:100, TYPE_UINT, 0},\ } - void init_meas(void); - time_stats_t *register_meas(char *name); - #define START_MEAS(X) send_meas(X, TIMESTAT_MSGID_START) - #define STOP_MEAS(X) send_meas(X, TIMESTAT_MSGID_STOP) - static inline void send_meas(time_stats_t *ts, int msgid) { - if (MEASURE_ENABLED(ts) ) { - ts->tstatptr->timestat_id=ts->meas_index; - ts->tstatptr->msgid = msgid ; - ts->tstatptr->ts = rdtsc_oai(); - pushNotifiedFIFO(&measur_fifo, ts->tpoolmsg); - } - } - void end_meas(void); +void init_meas(void); +time_stats_t *register_meas(char *name); +#define START_MEAS(X) send_meas(X, TIMESTAT_MSGID_START) +#define STOP_MEAS(X) send_meas(X, TIMESTAT_MSGID_STOP) +void send_meas(time_stats_t *ts, int msgid); +void end_meas(void); #endif diff --git a/doc/5Gnas.md b/doc/5Gnas.md index 3d33af426c401b81e1f3acfd704a531c5dc18369..db0c19f07ea6ba4b193a1b37cd67a54aa67d4bfa 100644 --- a/doc/5Gnas.md +++ b/doc/5Gnas.md @@ -23,7 +23,6 @@ This tuto for 5G gNB NAS design # source files -executables/ocp-gnb.c: a main loop to create a debuggable gNB, see document SW_archi.md openair2/RRC/NR/nr_ngap_gNB.c: skeleton for interface with NGAP openair3/NAS/COMMON/milenage.h: a simple milenage implementation, depend only on crypto library openair3/NAS/COMMON/NR_NAS_defs.h: messages defined for NAS implemented in C: C struct, C enums and automatic conversion to labels for debug messages diff --git a/doc/SW_archi.md b/doc/SW_archi.md index 7648fb2e167ece0f133013e7339685b8de6674d8..0a53bf3793b7158220ce1312076476de90b662a1 100644 --- a/doc/SW_archi.md +++ b/doc/SW_archi.md @@ -85,10 +85,6 @@ end This tuto for 5G gNB design, with Open Cells main {: .text-center} -# Top file: executables/ocp-gnb.c - -the function main() initializes the data from configuration file - # The main thread is in ru_thread() The infinite loop: ## rx_rf() diff --git a/executables/main-fs6.c b/executables/main-fs6.c index 9e92f2e41af1b9fcdadca62d0c1c6cb0909560a7..fff4c511554cc5a1e90ca8fd95bdd533028417ff 100644 --- a/executables/main-fs6.c +++ b/executables/main-fs6.c @@ -55,6 +55,59 @@ int sum(uint8_t *b, int s) { return sum; } + +extern double cpuf; + +typedef struct m { + uint64_t iterations; + uint64_t sum; + uint64_t maxArray[11]; +} Meas; + +int cmpint(const void *a, const void *b) +{ + uint64_t *aa=(uint64_t *)a; + uint64_t *bb=(uint64_t *)b; + return (int)(*aa-*bb); +} + +static inline void printMeas(char *txt, + Meas *M, + int period) +{ + if (M->iterations%period == 0 ) { + char txt2[512]; + sprintf(txt2,"%s avg=%" PRIu64 " iterations=%" PRIu64 " max=%" + PRIu64 ":%" PRIu64 ":%" PRIu64 ":%" PRIu64 ":%" PRIu64 ":%" PRIu64 ":%" PRIu64 ":%" PRIu64 ":%" PRIu64 ":%" PRIu64 "\n", + txt, + M->sum/M->iterations, + M->iterations, + M->maxArray[1],M->maxArray[2], M->maxArray[3],M->maxArray[4], M->maxArray[5], + M->maxArray[6],M->maxArray[7], M->maxArray[8],M->maxArray[9],M->maxArray[10]); +#if T_TRACER + LOG_W(PHY,"%s",txt2); +#else + printf("%s",txt2); +#endif + } +} + +void updateTimes(uint64_t start, Meas *M, int period, char *txt) +{ + if (start!=0) { + uint64_t end=rdtsc_oai(); + long long diff=(end-start)/(cpuf*1000); + M->maxArray[0]=diff; + M->sum+=diff; + M->iterations++; + qsort(M->maxArray, 11, sizeof(uint64_t), cmpint); + printMeas(txt,M,period); + } +} + +#define initStaticTime(a) static __thread uint64_t a={0} +#define pickStaticTime(a) do { a=rdtsc_oai(); } while (0) +#define initRefTimes(a) static __thread Meas a= {0} static inline int cmpintRev(const void *a, const void *b) { uint64_t *aa=(uint64_t *)a; uint64_t *bb=(uint64_t *)b; @@ -82,7 +135,7 @@ static inline void printMeas2(char *txt, Meas *M, int period, bool MaxMin) { static inline void updateTimesReset(uint64_t start, Meas *M, int period, bool MaxMin, char *txt) { if (start!=0) { - uint64_t end=rdtsc(); + uint64_t end=rdtsc_oai(); long long diff=(end-start)/(cpuf*1000); M->maxArray[0]=diff; M->sum+=diff; @@ -107,7 +160,7 @@ static inline void updateTimesReset(uint64_t start, Meas *M, int period, bool Ma static inline void measTransportTime(uint64_t DuSend, uint64_t CuMicroSec, Meas *M, int period, bool MaxMin, char *txt) { if (DuSend!=0) { - uint64_t end=rdtsc(); + uint64_t end=rdtsc_oai(); long long diff=(end-DuSend)/(cpuf*1000)-CuMicroSec; M->maxArray[0]=diff; M->sum+=diff; @@ -894,7 +947,7 @@ void phy_procedures_eNB_TX_fromsplit(uint8_t *bufferZone, int nbBlocks, PHY_VARS memcpy(eNB->pbch_pdu,hDL(bufferZone)->pbch_pdu, 4); // Remove all scheduled DL, we will populate from the CU sending - for (int UE_id=0; UE_id<NUMBER_OF_UE_MAX; UE_id++) { + for (int UE_id=0; UE_id<NUMBER_OF_DLSCH_MAX; UE_id++) { LTE_eNB_DLSCH_t *dlsch0 = eNB->dlsch[UE_id][0]; if ( dlsch0 && dlsch0->rnti>0 ) { @@ -1463,7 +1516,7 @@ void DL_cu_fs6(RU_t *ru, L1_rxtx_proc_t *proc, uint64_t DuClock, uint64_t start } hDL(bufferZone)->DuClock=DuClock; - hDL(bufferZone)->CuSpentMicroSec=(rdtsc()-startCycle)/(cpuf*1000); + hDL(bufferZone)->CuSpentMicroSec=(rdtsc_oai()-startCycle)/(cpuf*1000); updateTimesReset(startCycle, &CUprocessing, 1000, true,"CU entire processing from recv to send"); sendSubFrame(&sockFS6, bufferZone, sizeof(fs6_dl_t), CTsentCUv0 ); return; @@ -1476,7 +1529,7 @@ void UL_cu_fs6(RU_t *ru, L1_rxtx_proc_t *proc, uint64_t *TS, uint64_t *DuClock, pickStaticTime(begingWait); int nb_blocks=receiveSubFrame(&sockFS6, bufferZone, sizeof(bufferZone), CTsentDUv0 ); * DuClock=hUDP(bufferZone)->senderClock; - * startProcessing=rdtsc(); + * startProcessing=rdtsc_oai(); updateTimesReset(begingWait, &fullLoop, 1000, false, "CU wait DU"); if (nb_blocks ==0) { diff --git a/executables/main-ocp.c b/executables/main-ocp.c index 04315a4d57f3939e9187a7cf5b0a20113614039e..c9388e179d167e9fef5da4a1908fa3e4ecd68445 100644 --- a/executables/main-ocp.c +++ b/executables/main-ocp.c @@ -87,10 +87,10 @@ AGENT_RRC_xface *agent_rrc_xface[NUM_MAX_ENB]= {0}; AGENT_MAC_xface *agent_mac_xface[NUM_MAX_ENB]= {0}; void flexran_agent_slice_update(mid_t module_idP) { } -int proto_agent_start(mod_id_t mod_id, const cudu_params_t *p) { +int proto_agent_start(mid_t mod_id, const cudu_params_t *p) { return 0; } -void proto_agent_stop(mod_id_t mod_id) { +void proto_agent_stop(mid_t mod_id) { } static void *ru_thread( void *param ); diff --git a/executables/nr-gnb.c b/executables/nr-gnb.c index da76e077414ba4e23c334c0e53955910be26cea8..7dd979e8e46004b4346df2670399ece9917df231 100644 --- a/executables/nr-gnb.c +++ b/executables/nr-gnb.c @@ -299,8 +299,7 @@ void rx_func(void *param) { } static void dump_L1_meas_stats(PHY_VARS_gNB *gNB, RU_t *ru, char *output) { int stroff = 0; - stroff += print_meas_log(gNB->phy_proc_tx[0], "L1 Tx processing thread 0", NULL, NULL, output); - //stroff += print_meas_log(gNB->phy_proc_tx[1], "L1 Tx processing thread 1", NULL, NULL, output+stroff); + stroff += print_meas_log(&gNB->phy_proc_tx, "L1 Tx processing", NULL, NULL, output); stroff += print_meas_log(&gNB->dlsch_encoding_stats, "DLSCH encoding", NULL, NULL, output+stroff); stroff += print_meas_log(&gNB->phy_proc_rx, "L1 Rx processing", NULL, NULL, output+stroff); stroff += print_meas_log(&gNB->ul_indication_stats, "UL Indication", NULL, NULL, output+stroff); @@ -336,8 +335,7 @@ void *nrL1_stats_thread(void *param) { fd=fopen("nrL1_stats.log","w"); AssertFatal(fd!=NULL,"Cannot open nrL1_stats.log\n"); - reset_meas(gNB->phy_proc_tx[0]); - //reset_meas(gNB->phy_proc_tx[1]); + reset_meas(&gNB->phy_proc_tx); reset_meas(&gNB->dlsch_encoding_stats); reset_meas(&gNB->phy_proc_rx); reset_meas(&gNB->ul_indication_stats); @@ -424,7 +422,7 @@ void init_gNB_Tpool(int inst) { s_offset += 3; } if (getenv("noThreads")) strcpy(pool, "n"); - initTpool(pool, gNB->threadPool, false); + initTpool(pool, gNB->threadPool, cpumeas(CPUMEAS_GETSTATE)); // ULSCH decoder result FIFO gNB->respDecode = (notifiedFIFO_t*) malloc(sizeof(notifiedFIFO_t)); initNotifiedFIFO(gNB->respDecode); @@ -449,8 +447,6 @@ void init_gNB_Tpool(int inst) { processingData_L1tx_t *msgDataTx = (processingData_L1tx_t *)NotifiedFifoData(msgL1Tx); init_DLSCH_struct(gNB, msgDataTx); memset(msgDataTx->ssb, 0, 64*sizeof(NR_gNB_SSB_t)); - reset_meas(&msgDataTx->phy_proc_tx); - gNB->phy_proc_tx[i] = &msgDataTx->phy_proc_tx; pushNotifiedFIFO(gNB->L1_tx_free,msgL1Tx); // to unblock the process in the beginning } diff --git a/executables/nr-softmodem.c b/executables/nr-softmodem.c index d9b06a45e4d1b3fbe0dd10623828b415c3e2ea5d..2fe6c86b4183caeca48cddfa2b286c0faed7ebe3 100644 --- a/executables/nr-softmodem.c +++ b/executables/nr-softmodem.c @@ -62,8 +62,6 @@ unsigned short config_frames[4] = {2,9,11,13}; #include "common/utils/LOG/vcd_signal_dumper.h" #include "UTIL/OPT/opt.h" -//#include "PHY/TOOLS/time_meas.h" - #include "intertask_interface.h" #include "PHY/INIT/phy_init.h" diff --git a/executables/nr-ue.c b/executables/nr-ue.c index 9c9ca4db4c50248b9a08ec398455d7772d0327c3..543be7a8b5eac91821cba05b9b30b9f150573b4c 100644 --- a/executables/nr-ue.c +++ b/executables/nr-ue.c @@ -766,9 +766,9 @@ void processSlotRX(void *arg) { #ifdef UE_SLOT_PARALLELISATION phy_procedures_slot_parallelization_nrUE_RX( UE, proc, 0, 0, 1, no_relay, NULL ); #else - uint64_t a=rdtsc(); + uint64_t a=rdtsc_oai(); phy_procedures_nrUE_RX(UE, proc, gNB_id, get_nrUE_params()->nr_dlsch_parallel, &rxtxD->txFifo); - LOG_D(PHY, "In %s: slot %d, time %lu\n", __FUNCTION__, proc->nr_slot_rx, (rdtsc()-a)/3500); + LOG_D(PHY, "In %s: slot %d, time %llu\n", __FUNCTION__, proc->nr_slot_rx, (rdtsc_oai()-a)/3500); #endif if(IS_SOFTMODEM_NOS1 || get_softmodem_params()->sa){ diff --git a/executables/nr-uesoftmodem.c b/executables/nr-uesoftmodem.c index 7663e9ebd8da5d439ae7fb35a8600dfa5ee34aca..76c21bb422043d1aa1e00111d366e0a21a6401ed 100644 --- a/executables/nr-uesoftmodem.c +++ b/executables/nr-uesoftmodem.c @@ -61,7 +61,6 @@ unsigned short config_frames[4] = {2,9,11,13}; #include "UTIL/OPT/opt.h" #include "enb_config.h" -//#include "PHY/TOOLS/time_meas.h" #include "intertask_interface.h" diff --git a/executables/ocp-gnb.c b/executables/ocp-gnb.c deleted file mode 100644 index 23fd3ae1329737e44470eeb1223632f083cdb0b6..0000000000000000000000000000000000000000 --- a/executables/ocp-gnb.c +++ /dev/null @@ -1,1006 +0,0 @@ -/* - * Author: Laurent Thomas, Open Cells Project - * all rights reserved - */ - -#define _GNU_SOURCE -#include <pthread.h> -#include "assertions.h" -#include <common/utils/LOG/log.h> -#include <common/utils/system.h> - -#include "PHY/types.h" - -#include "PHY/INIT/phy_init.h" - -#include "PHY/defs_gNB.h" -#include "SCHED/sched_eNB.h" -#include "SCHED_NR/sched_nr.h" -#include "SCHED_NR/fapi_nr_l1.h" -#include "PHY/LTE_TRANSPORT/transport_proto.h" -#include "../../ARCH/COMMON/common_lib.h" - -#include "PHY/phy_extern.h" -#include "LAYER2/MAC/mac.h" -#include "LAYER2/NR_MAC_COMMON/nr_mac_extern.h" -#include "LAYER2/MAC/mac_proto.h" -#include "RRC/LTE/rrc_extern.h" -#include "PHY_INTERFACE/phy_interface.h" -#include "common/utils/LOG/log_extern.h" -#include "UTIL/OTG/otg_tx.h" -#include "UTIL/OTG/otg_externs.h" -#include "UTIL/MATH/oml.h" -#include "common/utils/LOG/vcd_signal_dumper.h" -#include "UTIL/OPT/opt.h" -#include "enb_config.h" -#include "s1ap_eNB.h" -#include "SIMULATION/ETH_TRANSPORT/proto.h" -#include <executables/nr-softmodem.h> -#include <openair2/GNB_APP/gnb_config.h> -#include <executables/softmodem-common.h> -#include <openair2/GNB_APP/gnb_app.h> -#include <openair2/RRC/NR/nr_rrc_extern.h> -#include <openair2/X2AP/x2ap_eNB.h> -#include <openair1/PHY/NR_TRANSPORT/nr_transport_proto.h> -#include <nfapi/oai_integration/nfapi_pnf.h> - -// should be in a shared lib -#include <forms.h> -#include <executables/stats.h> -#include <openair1/PHY/TOOLS/nr_phy_scope.h> -#include <openair1/PHY/TOOLS/phy_scope_interface.h> - -// Global vars -#include <openair2/LAYER2/MAC/mac_vars.h> -#include <openair1/PHY/phy_vars.h> -#include <openair2/RRC/LTE/rrc_vars.h> -#include <openair1/SCHED/sched_common_vars.h> -volatile int oai_exit; -int single_thread_flag=1; -uint32_t do_forms=0; -unsigned int mmapped_dma=0; -int8_t threequarter_fs=0; - -int chain_offset=0; -uint16_t sl_ahead=6; -uint16_t sf_ahead=6; -uint32_t timing_advance = 0; -int transmission_mode=1; -int emulate_rf = 0; -int numerology = 0; - - -int config_sync_var=-1; -pthread_mutex_t nfapi_sync_mutex; -pthread_cond_t nfapi_sync_cond; -int nfapi_sync_var=-1; -double cpuf; - -THREAD_STRUCT thread_struct; - -pthread_cond_t sync_cond; -pthread_mutex_t sync_mutex; -int sync_var=-1; //!< protected by mutex \ref sync_mutex. - - -uint64_t downlink_frequency[MAX_NUM_CCs][4]; -int32_t uplink_frequency_offset[MAX_NUM_CCs][4]; -time_stats_t softmodem_stats_mt; // main thread -time_stats_t softmodem_stats_hw; // hw acquisition -time_stats_t softmodem_stats_rxtx_sf; // total tx time -time_stats_t nfapi_meas; // total tx time -time_stats_t softmodem_stats_rx_sf; // total rx time -// not used but needed for link -openair0_config_t openair0_cfg[MAX_CARDS]; -uint16_t slot_ahead=6; -AGENT_RRC_xface *agent_rrc_xface[NUM_MAX_ENB]; -AGENT_MAC_xface *agent_mac_xface[NUM_MAX_ENB]; -int flexran_agent_start(mid_t mod_id) { - memset (agent_rrc_xface, 0, sizeof(agent_rrc_xface)); - memset (agent_mac_xface, 0, sizeof(agent_mac_xface)); - return 0; -} -void flexran_agent_slice_update(mid_t module_idP) { -} -int proto_agent_start(mod_id_t mod_id, const cudu_params_t *p) { - return 0; -} -void proto_agent_stop(mod_id_t mod_id) { -} -int split73=0; -void sendFs6Ul(PHY_VARS_eNB *eNB, int UE_id, int harq_pid, int segmentID, int16_t *data, int dataLen, int r_offset) { - AssertFatal(false, "Must not be called in this context\n"); -} -int stop_L1L2(module_id_t gnb_id) { - AssertFatal(false, "Must not be called in this context\n"); -} -int restart_L1L2(module_id_t gnb_id) { - AssertFatal(false, "Must not be called in this context\n"); -} - -static int wait_for_sync = 0; -static double snr_dB=20; -static int DEFBANDS[] = {7}; -static int DEFENBS[] = {0}; -static int DEFBFW[] = {0x00007fff}; - -extern double cpuf; - -short nr_mod_table[NR_MOD_TABLE_SIZE_SHORT] = {0,0,16384,16384,-16384,-16384,16384,16384,16384,-16384,-16384,16384,-16384,-16384,7327,7327,7327,21981,21981,7327,21981,21981,7327,-7327,7327,-21981,21981,-7327,21981,-21981,-7327,7327,-7327,21981,-21981,7327,-21981,21981,-7327,-7327,-7327,-21981,-21981,-7327,-21981,-21981,10726,10726,10726,3576,3576,10726,3576,3576,10726,17876,10726,25027,3576,17876,3576,25027,17876,10726,17876,3576,25027,10726,25027,3576,17876,17876,17876,25027,25027,17876,25027,25027,10726,-10726,10726,-3576,3576,-10726,3576,-3576,10726,-17876,10726,-25027,3576,-17876,3576,-25027,17876,-10726,17876,-3576,25027,-10726,25027,-3576,17876,-17876,17876,-25027,25027,-17876,25027,-25027,-10726,10726,-10726,3576,-3576,10726,-3576,3576,-10726,17876,-10726,25027,-3576,17876,-3576,25027,-17876,10726,-17876,3576,-25027,10726,-25027,3576,-17876,17876,-17876,25027,-25027,17876,-25027,25027,-10726,-10726,-10726,-3576,-3576,-10726,-3576,-3576,-10726,-17876,-10726,-25027,-3576,-17876,-3576,-25027,-17876,-10726,-17876,-3576,-25027,-10726,-25027,-3576,-17876,-17876,-17876,-25027,-25027,-17876,-25027,-25027,8886,8886,8886,12439,12439,8886,12439,12439,8886,5332,8886,1778,12439,5332,12439,1778,5332,8886,5332,12439,1778,8886,1778,12439,5332,5332,5332,1778,1778,5332,1778,1778,8886,19547,8886,15993,12439,19547,12439,15993,8886,23101,8886,26655,12439,23101,12439,26655,5332,19547,5332,15993,1778,19547,1778,15993,5332,23101,5332,26655,1778,23101,1778,26655,19547,8886,19547,12439,15993,8886,15993,12439,19547,5332,19547,1778,15993,5332,15993,1778,23101,8886,23101,12439,26655,8886,26655,12439,23101,5332,23101,1778,26655,5332,26655,1778,19547,19547,19547,15993,15993,19547,15993,15993,19547,23101,19547,26655,15993,23101,15993,26655,23101,19547,23101,15993,26655,19547,26655,15993,23101,23101,23101,26655,26655,23101,26655,26655,8886,-8886,8886,-12439,12439,-8886,12439,-12439,8886,-5332,8886,-1778,12439,-5332,12439,-1778,5332,-8886,5332,-12439,1778,-8886,1778,-12439,5332,-5332,5332,-1778,1778,-5332,1778,-1778,8886,-19547,8886,-15993,12439,-19547,12439,-15993,8886,-23101,8886,-26655,12439,-23101,12439,-26655,5332,-19547,5332,-15993,1778,-19547,1778,-15993,5332,-23101,5332,-26655,1778,-23101,1778,-26655,19547,-8886,19547,-12439,15993,-8886,15993,-12439,19547,-5332,19547,-1778,15993,-5332,15993,-1778,23101,-8886,23101,-12439,26655,-8886,26655,-12439,23101,-5332,23101,-1778,26655,-5332,26655,-1778,19547,-19547,19547,-15993,15993,-19547,15993,-15993,19547,-23101,19547,-26655,15993,-23101,15993,-26655,23101,-19547,23101,-15993,26655,-19547,26655,-15993,23101,-23101,23101,-26655,26655,-23101,26655,-26655,-8886,8886,-8886,12439,-12439,8886,-12439,12439,-8886,5332,-8886,1778,-12439,5332,-12439,1778,-5332,8886,-5332,12439,-1778,8886,-1778,12439,-5332,5332,-5332,1778,-1778,5332,-1778,1778,-8886,19547,-8886,15993,-12439,19547,-12439,15993,-8886,23101,-8886,26655,-12439,23101,-12439,26655,-5332,19547,-5332,15993,-1778,19547,-1778,15993,-5332,23101,-5332,26655,-1778,23101,-1778,26655,-19547,8886,-19547,12439,-15993,8886,-15993,12439,-19547,5332,-19547,1778,-15993,5332,-15993,1778,-23101,8886,-23101,12439,-26655,8886,-26655,12439,-23101,5332,-23101,1778,-26655,5332,-26655,1778,-19547,19547,-19547,15993,-15993,19547,-15993,15993,-19547,23101,-19547,26655,-15993,23101,-15993,26655,-23101,19547,-23101,15993,-26655,19547,-26655,15993,-23101,23101,-23101,26655,-26655,23101,-26655,26655,-8886,-8886,-8886,-12439,-12439,-8886,-12439,-12439,-8886,-5332,-8886,-1778,-12439,-5332,-12439,-1778,-5332,-8886,-5332,-12439,-1778,-8886,-1778,-12439,-5332,-5332,-5332,-1778,-1778,-5332,-1778,-1778,-8886,-19547,-8886,-15993,-12439,-19547,-12439,-15993,-8886,-23101,-8886,-26655,-12439,-23101,-12439,-26655,-5332,-19547,-5332,-15993,-1778,-19547,-1778,-15993,-5332,-23101,-5332,-26655,-1778,-23101,-1778,-26655,-19547,-8886,-19547,-12439,-15993,-8886,-15993,-12439,-19547,-5332,-19547,-1778,-15993,-5332,-15993,-1778,-23101,-8886,-23101,-12439,-26655,-8886,-26655,-12439,-23101,-5332,-23101,-1778,-26655,-5332,-26655,-1778,-19547,-19547,-19547,-15993,-15993,-19547,-15993,-15993,-19547,-23101,-19547,-26655,-15993,-23101,-15993,-26655,-23101,-19547,-23101,-15993,-26655,-19547,-26655,-15993,-23101,-23101,-23101,-26655,-26655,-23101,-26655,-26655}; - -static inline int ocp_rxtx(PHY_VARS_gNB *gNB, gNB_L1_rxtx_proc_t *proc) { - nfapi_nr_config_request_scf_t *cfg = &gNB->gNB_config; - start_meas(&softmodem_stats_rxtx_sf); - - // ******************************************************************* - - if (nfapi_mode == NFAPI_MODE_PNF) { - // I am a PNF and I need to let nFAPI know that we have a (sub)frame tick - //add_subframe(&frame, &subframe, 4); - //oai_subframe_ind(proc->frame_tx, proc->subframe_tx); - //LOG_D(PHY, "oai_subframe_ind(frame:%u, subframe:%d) - NOT CALLED ********\n", frame, subframe); - start_meas(&nfapi_meas); - oai_subframe_ind(proc->frame_rx, proc->slot_rx); - stop_meas(&nfapi_meas); - /*if (gNB->UL_INFO.rx_ind.rx_indication_body.number_of_pdus|| - gNB->UL_INFO.harq_ind.harq_indication_body.number_of_harqs || - gNB->UL_INFO.crc_ind.crc_indication_body.number_of_crcs || - gNB->UL_INFO.rach_ind.rach_indication_body.number_of_preambles || - gNB->UL_INFO.cqi_ind.number_of_cqis - ) { - LOG_D(PHY, "UL_info[rx_ind:%05d:%d harqs:%05d:%d crcs:%05d:%d preambles:%05d:%d cqis:%d] RX:%04d%d TX:%04d%d \n", - NFAPI_SFNSF2DEC(gNB->UL_INFO.rx_ind.sfn_sf), gNB->UL_INFO.rx_ind.rx_indication_body.number_of_pdus, - NFAPI_SFNSF2DEC(gNB->UL_INFO.harq_ind.sfn_sf), gNB->UL_INFO.harq_ind.harq_indication_body.number_of_harqs, - NFAPI_SFNSF2DEC(gNB->UL_INFO.crc_ind.sfn_sf), gNB->UL_INFO.crc_ind.crc_indication_body.number_of_crcs, - NFAPI_SFNSF2DEC(gNB->UL_INFO.rach_ind.sfn_sf), gNB->UL_INFO.rach_ind.rach_indication_body.number_of_preambles, - gNB->UL_INFO.cqi_ind.number_of_cqis, - frame_rx, slot_rx, - frame_tx, slot_tx); - }*/ - } - - /// NR disabling - // **************************************** - // Common RX procedures subframe n - pthread_mutex_lock(&gNB->UL_INFO_mutex); - gNB->UL_INFO.frame = proc->frame_rx; - gNB->UL_INFO.slot = proc->slot_rx; - gNB->UL_INFO.module_id = gNB->Mod_id; - gNB->UL_INFO.CC_id = gNB->CC_id; - gNB->if_inst->NR_UL_indication(&gNB->UL_INFO); - pthread_mutex_unlock(&gNB->UL_INFO_mutex); - // RX processing - int tx_slot_type = nr_slot_select(cfg,proc->frame_tx,proc->slot_tx); - int rx_slot_type = nr_slot_select(cfg,proc->frame_rx,proc->slot_rx); - - if (rx_slot_type == NR_UPLINK_SLOT || rx_slot_type == NR_MIXED_SLOT) { - // Do PRACH RU processing - L1_nr_prach_procedures(gNB,proc->frame_rx,proc->slot_rx); - phy_procedures_gNB_uespec_RX(gNB, proc->frame_rx, proc->slot_rx); - } - - if (oai_exit) return(-1); - - // ***************************************** - // TX processing for subframe n+sf_ahead - // run PHY TX procedures the one after the other for all CCs to avoid race conditions - // (may be relaxed in the future for performance reasons) - // ***************************************** - - if (tx_slot_type == NR_DOWNLINK_SLOT || tx_slot_type == NR_MIXED_SLOT) { - phy_procedures_gNB_TX(gNB, proc->frame_tx,proc->slot_tx, 1); - } - - stop_meas( &softmodem_stats_rxtx_sf ); - LOG_D(PHY,"%s() Exit proc[rx:%d%d tx:%d%d]\n", __FUNCTION__, proc->frame_rx, proc->slot_rx, proc->frame_tx, proc->slot_tx); - return(0); -} - - -static void *process_stats_thread(void *param) { - PHY_VARS_gNB *gNB = (PHY_VARS_gNB *)param; - reset_meas(&gNB->dlsch_encoding_stats); - reset_meas(&gNB->dlsch_scrambling_stats); - reset_meas(&gNB->dlsch_modulation_stats); - - while(!oai_exit) { - sleep(1); - print_meas(&gNB->dlsch_encoding_stats, "pdsch_encoding", NULL, NULL); - print_meas(&gNB->dlsch_scrambling_stats, "pdsch_scrambling", NULL, NULL); - print_meas(&gNB->dlsch_modulation_stats, "pdsch_modulation", NULL, NULL); - } - - return(NULL); -} - -void init_gNB_proc(int inst) { - PHY_VARS_gNB *gNB = RC.gNB[inst]; - gNB_L1_proc_t *proc = &gNB->proc; - gNB_L1_rxtx_proc_t *L1_proc = &proc->L1_proc; - gNB_L1_rxtx_proc_t *L1_proc_tx = &proc->L1_proc_tx; - L1_proc->instance_cnt = -1; - L1_proc_tx->instance_cnt = -1; - L1_proc->instance_cnt_RUs = 0; - L1_proc_tx->instance_cnt_RUs = 0; - proc->instance_cnt_prach = -1; - proc->instance_cnt_asynch_rxtx = -1; - proc->CC_id = 0; - proc->first_rx =1; - proc->first_tx =1; - proc->RU_mask =0; - proc->RU_mask_tx = (1<<gNB->num_RU)-1; - proc->RU_mask_prach =0; - pthread_mutex_init( &gNB->UL_INFO_mutex, NULL); - gNB->threadPool = (tpool_t *)malloc(sizeof(tpool_t)); - gNB->respDecode = (notifiedFIFO_t *) malloc(sizeof(notifiedFIFO_t)); - char ul_pool[] = "-1,-1"; - initTpool(ul_pool, gNB->threadPool, false); - initNotifiedFIFO(gNB->respDecode); -} - -/// eNB kept in function name for nffapi calls, TO FIX -void init_gNB_phase2(RU_t *ru) { - int inst; - LOG_I(PHY,"%s() RC.nb_nr_inst:%d\n", __FUNCTION__, RC.nb_nr_inst); - - for (inst=0; inst<RC.nb_nr_inst; inst++) { - LOG_I(PHY,"RC.nb_nr_CC[inst:%d]:%p\n", inst, RC.gNB[inst]); - PHY_VARS_gNB *gNB = RC.gNB[inst]; - LOG_E(PHY,"hard coded gNB->num_RU:%d\n", gNB->num_RU); - phy_init_nr_gNB(gNB,0,0); - RC.gNB[inst]->num_RU=1; - RC.gNB[inst]->RU_list[0]=ru; - //init_precoding_weights(RC.gNB[inst][CC_id]); - } -} - -void init_gNB(int single_thread_flag,int wait_for_sync) { - for (int inst=0; inst<RC.nb_nr_L1_inst; inst++) { - AssertFatal( RC.gNB[inst] != NULL, "Must be allocated in init_main_gNB->RCconfig_NR_L1\n"); - PHY_VARS_gNB *gNB= RC.gNB[inst]; - gNB->abstraction_flag = false; - gNB->single_thread_flag = true; - /*nr_polar_init(&gNB->nrPolar_params, - NR_POLAR_PBCH_MESSAGE_TYPE, - NR_POLAR_PBCH_PAYLOAD_BITS, - NR_POLAR_PBCH_AGGREGATION_LEVEL);*/ - LOG_I(PHY,"Registering with MAC interface module\n"); - AssertFatal((gNB->if_inst = NR_IF_Module_init(inst))!=NULL,"Cannot register interface"); - gNB->if_inst->NR_Schedule_response = nr_schedule_response; - gNB->if_inst->NR_PHY_config_req = nr_phy_config_request; - memset((void *)&gNB->UL_INFO,0,sizeof(gNB->UL_INFO)); - memset((void *)&gNB->UL_tti_req,0,sizeof(nfapi_nr_ul_tti_request_t)); - //memset((void *)&gNB->Sched_INFO,0,sizeof(gNB->Sched_INFO)); - LOG_I(PHY,"Setting indication lists\n"); - gNB->UL_INFO.rx_ind.pdu_list = gNB->rx_pdu_list; - gNB->UL_INFO.crc_ind.crc_list = gNB->crc_pdu_list; - /*gNB->UL_INFO.sr_ind.sr_indication_body.sr_pdu_list = gNB->sr_pdu_list; - gNB->UL_INFO.harq_ind.harq_indication_body.harq_pdu_list = gNB->harq_pdu_list; - gNB->UL_INFO.cqi_ind.cqi_pdu_list = gNB->cqi_pdu_list; - gNB->UL_INFO.cqi_ind.cqi_raw_pdu_list = gNB->cqi_raw_pdu_list;*/ - gNB->prach_energy_counter = 0; - } - - LOG_I(PHY,"[nr-softmodem.c] gNB structure allocated\n"); -} - - -void stop_gNB(int nb_inst) { -} - -static void get_options(void) { - paramdef_t cmdline_params[] = CMDLINE_PARAMS_DESC_GNB ; - config_process_cmdline( cmdline_params,sizeof(cmdline_params)/sizeof(paramdef_t),NULL); - - if ( !(CONFIG_ISFLAGSET(CONFIG_ABORT)) ) { - memset((void *)&RC,0,sizeof(RC)); - /* Read RC configuration file */ - NRRCConfig(); - printf("Configuration: nb_rrc_inst %d, nb_nr_L1_inst %d, nb_ru %hhd\n", RC.nb_nr_inst,RC.nb_nr_L1_inst,RC.nb_RU); - } - - AssertFatal(RC.nb_nr_L1_inst == 1 && RC.nb_RU == 1, "Only one gNB, one RU and one carrier is supported\n"); -} - -void set_default_frame_parms(nfapi_nr_config_request_t *config[MAX_NUM_CCs], - NR_DL_FRAME_PARMS *frame_parms[MAX_NUM_CCs]) { - for (int CC_id=0; CC_id<MAX_NUM_CCs; CC_id++) { - frame_parms[CC_id] = (NR_DL_FRAME_PARMS *) malloc(sizeof(NR_DL_FRAME_PARMS)); - config[CC_id] = (nfapi_nr_config_request_t *) malloc(sizeof(nfapi_nr_config_request_t)); - config[CC_id]->subframe_config.numerology_index_mu.value =1; - config[CC_id]->subframe_config.duplex_mode.value = 1; //FDD - config[CC_id]->subframe_config.dl_cyclic_prefix_type.value = 0; //NORMAL - config[CC_id]->rf_config.dl_carrier_bandwidth.value = 106; - config[CC_id]->rf_config.ul_carrier_bandwidth.value = 106; - config[CC_id]->sch_config.physical_cell_id.value = 0; - } -} - -static void init_pdcp(void) { - //if (!NODE_IS_DU(RC.rrc[0]->node_type)) { - pdcp_layer_init(); - uint32_t pdcp_initmask = (IS_SOFTMODEM_NOS1) ? - (PDCP_USE_NETLINK_BIT | LINK_ENB_PDCP_TO_IP_DRIVER_BIT) : LINK_ENB_PDCP_TO_GTPV1U_BIT; - - if (IS_SOFTMODEM_NOS1) { - printf("IS_SOFTMODEM_NOS1 option enabled \n"); - pdcp_initmask = pdcp_initmask | ENB_NAS_USE_TUN_BIT | SOFTMODEM_NOKRNMOD_BIT ; - } - - nr_pdcp_module_init(pdcp_initmask, 0); - pdcp_set_rlc_data_req_func(rlc_data_req); - pdcp_set_pdcp_data_ind_func(pdcp_data_ind); -} - -void init_main_gNB(void) { - RCconfig_NR_L1(); - RCconfig_nr_macrlc(); - - if (RC.nb_nr_L1_inst>0) - AssertFatal(l1_north_init_gNB()==0,"could not initialize L1 north interface\n"); - - LOG_I(GNB_APP,"Allocating gNB_RRC_INST for %d instances\n",RC.nb_nr_inst); - RC.nrrrc = (gNB_RRC_INST **)calloc(RC.nb_nr_inst*sizeof(gNB_RRC_INST *),1); - LOG_I(PHY, "%s() RC.nb_nr_inst:%d RC.nrrrc:%p\n", __FUNCTION__, RC.nb_nr_inst, RC.nrrrc); - int gnb_id=0; // only 1 gnb per process, index 0 for now - RC.nrrrc[gnb_id] = (gNB_RRC_INST *)calloc(sizeof(gNB_RRC_INST),1); - MessageDef *msg_p = itti_alloc_new_message (TASK_GNB_APP, 0, NRRRC_CONFIGURATION_REQ); - RCconfig_NRRRC(msg_p,gnb_id, RC.nrrrc[gnb_id]); - openair_rrc_gNB_configuration(GNB_INSTANCE_TO_MODULE_ID(ITTI_MSG_DESTINATION_INSTANCE(msg_p)), &NRRRC_CONFIGURATION_REQ(msg_p)); - //AssertFatal(itti_create_task(TASK_GNB_APP, gNB_app_task, NULL) >= 0, ""); - AssertFatal(itti_create_task(TASK_RRC_GNB, rrc_gnb_task, NULL) >= 0, ""); - //AssertFatal(itti_create_task(TASK_X2AP, x2ap_task, NULL) >= 0, ""); -} - -static void wait_nfapi_init(char *thread_name) { - printf( "waiting for NFAPI PNF connection and population of global structure (%s)\n",thread_name); - pthread_mutex_lock( &nfapi_sync_mutex ); - - while (nfapi_sync_var<0) - pthread_cond_wait( &nfapi_sync_cond, &nfapi_sync_mutex ); - - pthread_mutex_unlock(&nfapi_sync_mutex); - printf( "NFAPI: got sync (%s)\n", thread_name); -} - -void exit_function(const char *file, const char *function, const int line, const char *s) { - if (s != NULL) { - printf("%s:%d %s() Exiting OAI softmodem: %s\n",file,line, function, s); - } - - oai_exit = 1; - sleep(1); //allow lte-softmodem threads to exit first - exit(1); -} - -void stop_RU(int nb_ru) { - return; -} - -void OCPconfig_RU(RU_t *ru) { - int i = 0, j = 0; // Ru and gNB cardinality - paramdef_t RUParams[] = RUPARAMS_DESC; - paramlist_def_t RUParamList = {CONFIG_STRING_RU_LIST,NULL,0}; - config_getlist( &RUParamList, RUParams, sizeof(RUParams)/sizeof(paramdef_t), NULL); - AssertFatal( RUParamList.numelt == 1 && RC.nb_nr_L1_inst ==1,"" ); - ru->idx=0; - ru->nr_frame_parms = (NR_DL_FRAME_PARMS *)calloc(sizeof(NR_DL_FRAME_PARMS),1); - ru->frame_parms = (LTE_DL_FRAME_PARMS *)calloc(sizeof(LTE_DL_FRAME_PARMS),1); - ru->if_timing = synch_to_ext_device; - ru->num_gNB = RUParamList.paramarray[j][RU_ENB_LIST_IDX].numelt; - ru->gNB_list[i] = &RC.gNB[RUParamList.paramarray[j][RU_ENB_LIST_IDX].iptr[i]][0]; - - if (config_isparamset(RUParamList.paramarray[j], RU_SDR_ADDRS)) { - ru->openair0_cfg.sdr_addrs = strdup(*(RUParamList.paramarray[j][RU_SDR_ADDRS].strptr)); - } - - if (config_isparamset(RUParamList.paramarray[j], RU_SDR_CLK_SRC)) { - if (strcmp(*(RUParamList.paramarray[j][RU_SDR_CLK_SRC].strptr), "internal") == 0) { - ru->openair0_cfg.clock_source = internal; - LOG_D(PHY, "RU clock source set as internal\n"); - } else if (strcmp(*(RUParamList.paramarray[j][RU_SDR_CLK_SRC].strptr), "external") == 0) { - ru->openair0_cfg.clock_source = external; - LOG_D(PHY, "RU clock source set as external\n"); - } else if (strcmp(*(RUParamList.paramarray[j][RU_SDR_CLK_SRC].strptr), "gpsdo") == 0) { - ru->openair0_cfg.clock_source = gpsdo; - LOG_D(PHY, "RU clock source set as gpsdo\n"); - } else { - LOG_E(PHY, "Erroneous RU clock source in the provided configuration file: '%s'\n", *(RUParamList.paramarray[j][RU_SDR_CLK_SRC].strptr)); - } - } else { - ru->openair0_cfg.clock_source = unset; - } - - if (strcmp(*(RUParamList.paramarray[j][RU_LOCAL_RF_IDX].strptr), "yes") == 0) { - if ( !(config_isparamset(RUParamList.paramarray[j],RU_LOCAL_IF_NAME_IDX)) ) { - ru->if_south = REMOTE_IF5; //TBD: max value to avoid to call "ru" functions - ru->function = gNodeB_3GPP; - printf("Setting function for RU %d to gNodeB_3GPP\n",j); - } else { - } - - ru->max_pdschReferenceSignalPower = *(RUParamList.paramarray[j][RU_MAX_RS_EPRE_IDX].uptr);; - ru->max_rxgain = *(RUParamList.paramarray[j][RU_MAX_RXGAIN_IDX].uptr); - ru->num_bands = RUParamList.paramarray[j][RU_BAND_LIST_IDX].numelt; - - for (i=0; i<ru->num_bands; i++) ru->band[i] = RUParamList.paramarray[j][RU_BAND_LIST_IDX].iptr[i]; - } //strcmp(local_rf, "yes") == 0 - else { - } - - ru->nb_tx = *(RUParamList.paramarray[j][RU_NB_TX_IDX].uptr); - ru->nb_rx = *(RUParamList.paramarray[j][RU_NB_RX_IDX].uptr); - ru->att_tx = *(RUParamList.paramarray[j][RU_ATT_TX_IDX].uptr); - ru->att_rx = *(RUParamList.paramarray[j][RU_ATT_RX_IDX].uptr); - - if (config_isparamset(RUParamList.paramarray[j], RU_BF_WEIGHTS_LIST_IDX)) { - ru->nb_bfw = RUParamList.paramarray[j][RU_BF_WEIGHTS_LIST_IDX].numelt; - - for (i=0; i<ru->num_gNB; i++) { - ru->bw_list[i] = (int32_t *)malloc16_clear((ru->nb_bfw)*sizeof(int32_t)); - - for (int b=0; b<ru->nb_bfw; b++) ru->bw_list[i][b] = RUParamList.paramarray[j][RU_BF_WEIGHTS_LIST_IDX].iptr[b]; - } - } - - return; -} - -// this is for RU with local RF unit -void fill_rf_config(RU_t *ru, char *rf_config_file) { - int i; - NR_DL_FRAME_PARMS *fp = ru->nr_frame_parms; - nfapi_nr_config_request_scf_t *gNB_config = &ru->gNB_list[0]->gNB_config; //tmp index - openair0_config_t *cfg = &ru->openair0_cfg; - int mu = gNB_config->ssb_config.scs_common.value; - int N_RB = gNB_config->carrier_config.dl_grid_size[gNB_config->ssb_config.scs_common.value].value; - fp->threequarter_fs=threequarter_fs; - - if (mu == NR_MU_0) { //or if LTE - if(N_RB == 100) { - if (fp->threequarter_fs) { - cfg->sample_rate=23.04e6; - cfg->samples_per_frame = 230400; - cfg->tx_bw = 10e6; - cfg->rx_bw = 10e6; - } else { - cfg->sample_rate=30.72e6; - cfg->samples_per_frame = 307200; - cfg->tx_bw = 10e6; - cfg->rx_bw = 10e6; - } - } else if(N_RB == 50) { - cfg->sample_rate=15.36e6; - cfg->samples_per_frame = 153600; - cfg->tx_bw = 5e6; - cfg->rx_bw = 5e6; - } else if (N_RB == 25) { - cfg->sample_rate=7.68e6; - cfg->samples_per_frame = 76800; - cfg->tx_bw = 2.5e6; - cfg->rx_bw = 2.5e6; - } else if (N_RB == 6) { - cfg->sample_rate=1.92e6; - cfg->samples_per_frame = 19200; - cfg->tx_bw = 1.5e6; - cfg->rx_bw = 1.5e6; - } else AssertFatal(1==0,"Unknown N_RB %d\n",N_RB); - } else if (mu == NR_MU_1) { - if(N_RB == 273) { - if (fp->threequarter_fs) { - AssertFatal(0 == 1,"three quarter sampling not supported for N_RB 273\n"); - } else { - cfg->sample_rate=122.88e6; - cfg->samples_per_frame = 1228800; - cfg->tx_bw = 100e6; - cfg->rx_bw = 100e6; - } - } else if(N_RB == 217) { - if (fp->threequarter_fs) { - cfg->sample_rate=92.16e6; - cfg->samples_per_frame = 921600; - cfg->tx_bw = 80e6; - cfg->rx_bw = 80e6; - } else { - cfg->sample_rate=122.88e6; - cfg->samples_per_frame = 1228800; - cfg->tx_bw = 80e6; - cfg->rx_bw = 80e6; - } - } else if(N_RB == 106) { - if (fp->threequarter_fs) { - cfg->sample_rate=46.08e6; - cfg->samples_per_frame = 460800; - cfg->tx_bw = 40e6; - cfg->rx_bw = 40e6; - } else { - cfg->sample_rate=61.44e6; - cfg->samples_per_frame = 614400; - cfg->tx_bw = 40e6; - cfg->rx_bw = 40e6; - } - } else { - AssertFatal(0==1,"N_RB %d not yet supported for numerology %d\n",N_RB,mu); - } - } else if (mu == NR_MU_3) { - if (N_RB == 66) { - cfg->sample_rate = 122.88e6; - cfg->samples_per_frame = 1228800; - cfg->tx_bw = 100e6; - cfg->rx_bw = 100e6; - } else if(N_RB == 32) { - cfg->sample_rate=61.44e6; - cfg->samples_per_frame = 614400; - cfg->tx_bw = 50e6; - cfg->rx_bw = 50e6; - } - } else { - AssertFatal(0 == 1,"Numerology %d not supported for the moment\n",mu); - } - - if (gNB_config->cell_config.frame_duplex_type.value==TDD) - cfg->duplex_mode = duplex_mode_TDD; - else //FDD - cfg->duplex_mode = duplex_mode_FDD; - - cfg->Mod_id = 0; - cfg->num_rb_dl=N_RB; - cfg->tx_num_channels=ru->nb_tx; - cfg->rx_num_channels=ru->nb_rx; - - for (i=0; i<ru->nb_tx; i++) { - if (ru->if_frequency == 0) { - cfg->tx_freq[i] = (double)fp->dl_CarrierFreq; - cfg->rx_freq[i] = (double)fp->ul_CarrierFreq; - } else { - cfg->tx_freq[i] = (double)ru->if_frequency; - cfg->rx_freq[i] = (double)(ru->if_frequency+fp->ul_CarrierFreq-fp->dl_CarrierFreq); - } - - cfg->tx_gain[i] = ru->att_tx; - cfg->rx_gain[i] = ru->max_rxgain-ru->att_rx; - cfg->configFilename = rf_config_file; - printf("channel %d, Setting tx_gain offset %f, rx_gain offset %f, tx_freq %f, rx_freq %f\n", - i, cfg->tx_gain[i], - cfg->rx_gain[i], - cfg->tx_freq[i], - cfg->rx_freq[i]); - } -} - -/* this function maps the RU tx and rx buffers to the available rf chains. - Each rf chain is is addressed by the card number and the chain on the card. The - rf_map specifies for each antenna port, on which rf chain the mapping should start. Multiple - antennas are mapped to successive RF chains on the same card. */ -int setup_RU_buffers(RU_t *ru) { - int i,j; - int card,ant; - //uint16_t N_TA_offset = 0; - NR_DL_FRAME_PARMS *frame_parms; - nfapi_nr_config_request_scf_t *config = &ru->config; - - if (ru) { - frame_parms = ru->nr_frame_parms; - printf("setup_RU_buffers: frame_parms = %p\n",frame_parms); - } else { - printf("ru pointer is NULL\n"); - return(-1); - } - - int mu = config->ssb_config.scs_common.value; - int N_RB = config->carrier_config.dl_grid_size[config->ssb_config.scs_common.value].value; - - if (config->cell_config.frame_duplex_type.value == TDD) { - int N_TA_offset = config->carrier_config.uplink_frequency.value < 6000000 ? 400 : 431; // reference samples for 25600Tc @ 30.72 Ms/s for FR1, same @ 61.44 Ms/s for FR2 - double factor=1; - - switch (mu) { - case 0: //15 kHz scs - AssertFatal(N_TA_offset == 400,"scs_common 15kHz only for FR1\n"); - - if (N_RB <= 25) factor = .25; // 7.68 Ms/s - else if (N_RB <=50) factor = .5; // 15.36 Ms/s - else if (N_RB <=75) factor = 1.0; // 30.72 Ms/s - else if (N_RB <=100) factor = 1.0; // 30.72 Ms/s - else AssertFatal(1==0,"Too many PRBS for mu=0\n"); - - break; - - case 1: //30 kHz sc - AssertFatal(N_TA_offset == 400,"scs_common 30kHz only for FR1\n"); - - if (N_RB <= 106) factor = 2.0; // 61.44 Ms/s - else if (N_RB <= 275) factor = 4.0; // 122.88 Ms/s - - break; - - case 2: //60 kHz scs - AssertFatal(1==0,"scs_common should not be 60 kHz\n"); - break; - - case 3: //120 kHz scs - AssertFatal(N_TA_offset == 431,"scs_common 120kHz only for FR2\n"); - break; - - case 4: //240 kHz scs - AssertFatal(1==0,"scs_common should not be 60 kHz\n"); - - if (N_RB <= 32) factor = 1.0; // 61.44 Ms/s - else if (N_RB <= 66) factor = 2.0; // 122.88 Ms/s - else AssertFatal(1==0,"N_RB %d is too big for curretn FR2 implementation\n",N_RB); - - break; - - if (N_RB == 100) ru->N_TA_offset = 624; - else if (N_RB == 50) ru->N_TA_offset = 624/2; - else if (N_RB == 25) ru->N_TA_offset = 624/4; - } - - if (frame_parms->threequarter_fs == 1) factor = factor*.75; - - ru->N_TA_offset = (int)(N_TA_offset * factor); - LOG_I(PHY,"RU %d Setting N_TA_offset to %d samples (factor %f, UL Freq %d, N_RB %d)\n",ru->idx,ru->N_TA_offset,factor, - config->carrier_config.uplink_frequency.value, N_RB); - } else ru->N_TA_offset = 0; - - if (ru->openair0_cfg.mmapped_dma == 1) { - // replace RX signal buffers with mmaped HW versions - for (i=0; i<ru->nb_rx; i++) { - card = i/4; - ant = i%4; - printf("Mapping RU id %u, rx_ant %d, on card %d, chain %d\n",ru->idx,i,ru->rf_map.card+card, ru->rf_map.chain+ant); - free(ru->common.rxdata[i]); - ru->common.rxdata[i] = ru->openair0_cfg.rxbase[ru->rf_map.chain+ant]; - printf("rxdata[%d] @ %p\n",i,ru->common.rxdata[i]); - - for (j=0; j<16; j++) { - printf("rxbuffer %d: %x\n",j,ru->common.rxdata[i][j]); - ru->common.rxdata[i][j] = 16-j; - } - } - - for (i=0; i<ru->nb_tx; i++) { - card = i/4; - ant = i%4; - printf("Mapping RU id %u, tx_ant %d, on card %d, chain %d\n",ru->idx,i,ru->rf_map.card+card, ru->rf_map.chain+ant); - free(ru->common.txdata[i]); - ru->common.txdata[i] = ru->openair0_cfg.txbase[ru->rf_map.chain+ant]; - printf("txdata[%d] @ %p\n",i,ru->common.txdata[i]); - - for (j=0; j<16; j++) { - printf("txbuffer %d: %x\n",j,ru->common.txdata[i][j]); - ru->common.txdata[i][j] = 16-j; - } - } - } else { // not memory-mapped DMA - //nothing to do, everything already allocated in lte_init - } - - return(0); -} -int rx_rf(int rxBufOffet, int nbSamples, int nb_rx, int32_t **rxdata, openair0_device *rfdevice, openair0_timestamp *HWtimeStamp) { - void *rxp[nb_rx]; - - for (int i=0; i<nb_rx; i++) - rxp[i] = (void *)&rxdata[i][rxBufOffet]; - - unsigned int rxs = rfdevice->trx_read_func(rfdevice, - HWtimeStamp, - rxp, - nbSamples, - nb_rx); - - if (rxs != nbSamples ) - LOG_E(PHY, "rx_rf: Asked for %d samples, got %d from USRP\n",nbSamples,rxs); - - return rxs; -} - -void tx_rf(RU_t *ru,int frame,int slot, uint64_t timestamp) { - RU_proc_t *proc = &ru->proc; - NR_DL_FRAME_PARMS *fp = ru->nr_frame_parms; - nfapi_nr_config_request_scf_t *cfg = &ru->gNB_list[0]->gNB_config; - int i,txsymb; - int slot_type = nr_slot_select(cfg,frame,slot%fp->slots_per_frame); - int prevslot_type = nr_slot_select(cfg,frame,(slot+(fp->slots_per_frame-1))%fp->slots_per_frame); - int nextslot_type = nr_slot_select(cfg,frame,(slot+1)%fp->slots_per_frame); - int sf_extension = 0; //sf_extension = ru->sf_extension; - int siglen=fp->get_samples_per_slot(slot,fp); - int flags=1; - - //nr_subframe_t SF_type = nr_slot_select(cfg,slot%fp->slots_per_frame); - if (slot_type == NR_DOWNLINK_SLOT || slot_type == NR_MIXED_SLOT || IS_SOFTMODEM_RFSIM) { - if(slot_type == NR_MIXED_SLOT) { - txsymb = 0; - - for(int symbol_count =0; symbol_count<NR_NUMBER_OF_SYMBOLS_PER_SLOT; symbol_count++) { - if (cfg->tdd_table.max_tdd_periodicity_list[slot].max_num_of_symbol_per_slot_list[symbol_count].slot_config.value==0) - txsymb++; - } - - AssertFatal(txsymb>0,"illegal txsymb %d\n",txsymb); - - if(slot%(fp->slots_per_subframe/2)) - siglen = txsymb * (fp->ofdm_symbol_size + fp->nb_prefix_samples); - else - siglen = (fp->ofdm_symbol_size + fp->nb_prefix_samples0) + (txsymb - 1) * (fp->ofdm_symbol_size + fp->nb_prefix_samples); - - //+ ru->end_of_burst_delay; - flags=3; // end of burst - } - - if (cfg->cell_config.frame_duplex_type.value == TDD && - slot_type == NR_DOWNLINK_SLOT && - prevslot_type == NR_UPLINK_SLOT) { - flags = 2; // start of burst - } - - if (cfg->cell_config.frame_duplex_type.value == TDD && - slot_type == NR_DOWNLINK_SLOT && - nextslot_type == NR_UPLINK_SLOT) { - flags = 3; // end of burst - } - - if (fp->freq_range==nr_FR2) { - // the beam index is written in bits 8-10 of the flags - // bit 11 enables the gpio programming - int beam=0; - - if (slot==0) beam = 11; //3 for boresight & 8 to enable - - /* - if (slot==0 || slot==40) beam=0&8; - if (slot==10 || slot==50) beam=1&8; - if (slot==20 || slot==60) beam=2&8; - if (slot==30 || slot==70) beam=3&8; - */ - flags |= beam<<8; - } - - void *txp[ru->nb_tx]; - - for (i=0; i<ru->nb_tx; i++) - txp[i] = (void *)&ru->common.txdata[i][fp->get_samples_slot_timestamp(slot,fp,0)-sf_extension]; - - // prepare tx buffer pointers - unsigned int txs = ru->rfdevice.trx_write_func(&ru->rfdevice, - timestamp+ru->ts_offset-ru->openair0_cfg.tx_sample_advance-sf_extension, - txp, - siglen+sf_extension, - ru->nb_tx, - flags); - LOG_D(PHY,"[TXPATH] RU %d tx_rf, writing to TS %llu, frame %d, unwrapped_frame %d, slot %d\n",ru->idx, - (long long unsigned int)timestamp,frame,proc->frame_tx_unwrap,slot); - AssertFatal(txs == siglen+sf_extension,"TX : Timeout (sent %u/%d)\n", txs, siglen); - } -} - -static void *ru_thread( void *param ) { - RU_t *ru = (RU_t *)param; - NR_DL_FRAME_PARMS *fp = ru->nr_frame_parms; - LOG_I(PHY,"Starting RU %d (%s,%s),\n",ru->idx,NB_functions[ru->function],NB_timing[ru->if_timing]); - nr_dump_frame_parms(fp); - AssertFatal(openair0_device_load(&ru->rfdevice,&ru->openair0_cfg)==0,"Cannot connect to local radio\n"); - AssertFatal(ru->rfdevice.trx_start_func(&ru->rfdevice) == 0,"Could not start the RF device\n"); - int64_t slot=-1; - int64_t nextHWTSshouldBe=0, nextRxTSlogical=0; - // weird globals, used in NR_IF_Module.c - sf_ahead = (uint16_t) ceil((float)6/(0x01<<fp->numerology_index)); - sl_ahead = sf_ahead*fp->slots_per_subframe; - - // This is a forever while loop, it loops over subframes which are scheduled by incoming samples from HW devices - - while (!oai_exit) { - int nextSlot=(slot+1)%fp->slots_per_frame; - uint32_t samples_per_slot = fp->get_samples_per_slot(nextSlot,fp); - int rxBuffOffset=fp->get_samples_slot_timestamp(nextSlot,fp,0); - AssertFatal(rxBuffOffset + samples_per_slot <= fp->samples_per_frame, "Will read outside allocated buffer\n"); - int samples=fp->get_samples_per_slot(nextSlot,fp); - openair0_timestamp HWtimeStamp=0; //for multi RU - int rxs=rx_rf(rxBuffOffset, - samples, - ru->nb_rx, - ru->common.rxdata, - &ru->rfdevice, - &HWtimeStamp); - LOG_D(PHY,"Reading %d samples for slot %d\n",samples_per_slot,nextSlot); - - if ( HWtimeStamp != nextHWTSshouldBe) - LOG_E(HW,"reading a stream must be continuous, %ld, %ld\n", HWtimeStamp, nextHWTSshouldBe); - - nextHWTSshouldBe=HWtimeStamp+rxs; - ru->proc.timestamp_rx=nextRxTSlogical; - nextRxTSlogical+=samples_per_slot; - int64_t HW_to_logical_RxTSoffset=(int64_t)HWtimeStamp-(int64_t)ru->proc.timestamp_rx; - ru->proc.frame_rx = (ru->proc.timestamp_rx / (fp->samples_per_subframe*10))&1023; - uint32_t idx_sf = ru->proc.timestamp_rx / fp->samples_per_subframe; - float offsetInSubframe=ru->proc.timestamp_rx % fp->samples_per_subframe; - ru->proc.tti_rx = (idx_sf * fp->slots_per_subframe + - lroundf(offsetInSubframe / fp->samples_per_slot0))% - fp->slots_per_frame; - LOG_D(PHY,"RU %d/%d TS %llu (off %d), frame %d, slot %d.%d / %d\n", - ru->idx, 0, - (unsigned long long int)ru->proc.timestamp_rx, - (int)ru->ts_offset,ru->proc.frame_rx,ru->proc.tti_rx,ru->proc.tti_tx,fp->slots_per_frame); - int slot_type = nr_slot_select(&ru->gNB_list[0]->gNB_config,ru->proc.frame_rx,ru->proc.tti_rx); - - if (slot_type == NR_UPLINK_SLOT || slot_type == NR_MIXED_SLOT) { - nr_fep_full(ru,ru->proc.tti_rx); - - for (int aa=0; aa<ru->nb_rx; aa++) - memcpy((void *)RC.gNB[0]->common_vars.rxdataF[aa], - (void *)ru->common.rxdataF[aa], fp->symbols_per_slot*fp->ofdm_symbol_size*sizeof(int32_t)); - - LOG_D(PHY, "rxdataF energy: %d\n", signal_energy(ru->common.rxdataF[0], fp->symbols_per_slot*fp->ofdm_symbol_size)); - } - - gNB_L1_proc_t *gNBproc=&RC.gNB[0][0].proc; - gNB_L1_rxtx_proc_t *L1_proc = &gNBproc->L1_proc; - NR_DL_FRAME_PARMS *fp = ru->nr_frame_parms; - gNBproc->timestamp_rx = ru->proc.timestamp_rx; - L1_proc->frame_rx = gNBproc->frame_rx = gNBproc->frame_prach = ru->proc.frame_rx = - (ru->proc.timestamp_rx / (fp->samples_per_subframe*10))&1023; - L1_proc->slot_rx = gNBproc->slot_rx = gNBproc->slot_prach = - ru->proc.tti_rx; // computed before in caller function - L1_proc->timestamp_tx = gNBproc->timestamp_tx = ru->proc.timestamp_tx = - ru->proc.timestamp_rx + - sf_ahead*fp->samples_per_subframe; - L1_proc->frame_tx = gNBproc->frame_tx = ru->proc.frame_tx = - (gNBproc->timestamp_tx / (fp->samples_per_subframe*10))&1023; - L1_proc->slot_tx = ru->proc.tti_tx = - (L1_proc->slot_rx + sl_ahead)%fp->slots_per_frame; - - if (ocp_rxtx(&RC.gNB[0][0],L1_proc) < 0) - LOG_E(PHY,"gNB %d CC_id %d failed during execution\n",RC.gNB[0][0].Mod_id,RC.gNB[0][0].CC_id); - - // do TX front-end processing if needed (precoding and/or IDFTs) - //ru->feptx_prec(ru,proc->frame_tx,proc->tti_tx); - nr_feptx_prec(ru,ru->proc.frame_tx,ru->proc.tti_tx); - // do OFDM with/without TX front-end processing if needed - //ru->feptx_ofdm - nfapi_nr_config_request_scf_t *cfg = &ru->gNB_list[0]->gNB_config; - - if (nr_slot_select(cfg,ru->proc.frame_tx, ru->proc.tti_tx ) != NR_UPLINK_SLOT) { - int aa=0; // antenna 0 hardcoded - NR_DL_FRAME_PARMS *fp=ru->nr_frame_parms; - nr_feptx0(ru,ru->proc.tti_tx,0,fp->symbols_per_slot,aa); - int *txdata = &ru->common.txdata[aa][fp->get_samples_slot_timestamp(ru->proc.tti_tx,fp,0)]; - int slot_sizeF = (fp->ofdm_symbol_size)* - ((NFAPI_CP_NORMAL == 1) ? 12 : 14); - LOG_D(PHY,"feptx_ofdm (TXPATH): frame %d, slot %d: txp (time %ld) %d dB, txp (freq) %d dB\n", - ru->proc.frame_tx,ru->proc.tti_tx,ru->proc.timestamp_tx, - dB_fixed(signal_energy((int32_t *)txdata,fp->get_samples_per_slot(ru->proc.tti_tx,fp))), - dB_fixed(signal_energy_nodc(ru->common.txdataF_BF[aa],2*slot_sizeF))); - } - - // do outgoing fronthaul (south) if needed - tx_rf(ru,ru->proc.frame_tx,ru->proc.tti_tx,ru->proc.timestamp_tx+HW_to_logical_RxTSoffset); - slot++; - } - - printf( "Exiting ru_thread \n"); - ru->rfdevice.trx_end_func(&ru->rfdevice); - static int ru_thread_status = 0; - return &ru_thread_status; -} - -void launch_NR_RU(RU_t *ru, char *rf_config_file) { - LOG_I(PHY,"number of L1 instances %d, number of RU %d, number of CPU cores %d\n", - RC.nb_nr_L1_inst,RC.nb_RU,get_nprocs()); - LOG_D(PHY,"Process RUs RC.nb_RU:%d\n",RC.nb_RU); - - for (int ru_id=0; ru_id<RC.nb_RU; ru_id++) { - LOG_D(PHY,"Process RC.ru[%d]\n",ru_id); - ru->rf_config_file = rf_config_file; - ru->idx = ru_id; - ru->ts_offset = 0; - // use gNB_list[0] as a reference for RU frame parameters - // NOTE: multiple CC_id are not handled here yet! - LOG_D(PHY, "%s() RC.ru[%d].num_gNB:%d ru->gNB_list[0]:%p rf_config_file:%s\n", - __FUNCTION__, ru_id, ru->num_gNB, ru->gNB_list[0], ru->rf_config_file); - LOG_E(PHY,"ru->gNB_list ru->num_gNB hardcoded: one RU connected to carrier 0 of gNB 0\n"); - ru->gNB_list[0] = &RC.gNB[0][0]; - ru->num_gNB=1; - LOG_I(PHY,"Copying frame parms from gNB in RC to ru %d and frame_parms in ru\n",ru->idx); - RU_proc_t *proc = &ru->proc; - threadCreate( &proc->pthread_FH, ru_thread, (void *)ru, "MainLoop", -1, OAI_PRIORITY_RT_MAX ); - } -} - -void init_eNB_afterRU(void) { - AssertFatal(false,""); -} - -int main( int argc, char **argv ) { - AssertFatal(load_configmodule(argc,argv,CONFIG_ENABLECMDLINEONLY), - "[SOFTMODEM] Error, configuration module init failed\n"); - logInit(); -#ifndef PACKAGE_VERSION -# define PACKAGE_VERSION "UNKNOWN" -#endif - LOG_I(HW, "Version: %s\n", PACKAGE_VERSION); - set_latency_target(); - get_options (); - get_common_options(SOFTMODEM_GNB_BIT ); - AssertFatal(!CONFIG_ISFLAGSET(CONFIG_ABORT),"Getting configuration failed\n"); - cpuf=get_cpu_freq_GHz(); - itti_init(TASK_MAX, tasks_info); - set_taus_seed (0); - init_opt(); - init_pdcp(); - init_main_gNB(); - init_gNB(true, wait_for_sync); - /* Start the agent. If it is turned off in the configuration, it won't start */ - RCconfig_nr_flexran(); - - for (int i = 0; i < RC.nb_nr_L1_inst; i++) { - flexran_agent_start(i); - } - - /* - *nfapi stuff very buggy in 4G, not yet implemented in 5G - */ - // init UE_PF_PO and mutex lock (paging from S1AP) - pthread_mutex_init(&ue_pf_po_mutex, NULL); - printf("NFAPI*** - mutex and cond created - will block shortly for completion of PNF connection\n"); - pthread_cond_init(&nfapi_sync_cond,NULL); - pthread_mutex_init(&nfapi_sync_mutex, NULL); - const char *nfapi_mode_str[] = { - "MONOLITHIC", "PNF", "VNF", - }; - AssertFatal(nfapi_mode < 3,""); - printf("NFAPI MODE:%s\n", nfapi_mode_str[nfapi_mode]); - - if (nfapi_mode==NFAPI_MODE_VNF) // VNF - wait_nfapi_init("main?"); - - for (int i=0; i<RC.nb_nr_L1_inst; i++) - AssertFatal(RC.gNB[i]->configured, "Remain threads to manage\n"); - - printf("About to Init RU threads RC.nb_RU:%d\n", RC.nb_RU); - config_sync_var=0; - - if (nfapi_mode==NFAPI_MODE_PNF) { // PNF - wait_nfapi_init("main?"); - } - - printf("wait RUs\n"); - printf("ALL RUs READY!\n"); - printf("RC.nb_RU:%d\n", RC.nb_RU); - // once all RUs are ready initialize the rest of the gNBs ((dependence on final RU parameters after configuration) - printf("ALL RUs ready - init gNBs\n"); - LOG_E(PHY,"configuring RU from file, hardcoded one gNB for one RU, one carrier\n"); - RU_t ru= {0}; - OCPconfig_RU(&ru); - ru.nr_frame_parms->threequarter_fs=threequarter_fs; - fill_rf_config(&ru,ru.rf_config_file); - init_gNB_phase2(&ru); - memcpy((void *)ru.nr_frame_parms,&RC.gNB[0][0].frame_parms,sizeof(NR_DL_FRAME_PARMS)); - memcpy((void *)&ru.config,(void *)&RC.gNB[0]->gNB_config,sizeof(ru.config)); - AssertFatal(setup_RU_buffers(&ru)==0,"Inconsistent configuration"); - nr_phy_init_RU(&ru); - init_gNB_proc(0); // only instance 0 (one gNB per process) - - if (RC.nb_RU >0) { - printf("Initializing RU threads\n"); - launch_NR_RU(&ru, get_softmodem_params()->rf_config_file); - } - - if (opp_enabled ==1) { - pthread_t t; - threadCreate(&t, process_stats_thread, - (void *)NULL, "time_meas", -1, OAI_PRIORITY_RT_LOW); - } - - if(IS_SOFTMODEM_DOSCOPE) { - scopeParms_t tmp= {&argc, argv, &ru, RC.gNB[0]}; - load_softscope("nr",&tmp); - } - - while(!oai_exit) - sleep(1); - - logClean(); - printf("Bye.\n"); - return 0; -} diff --git a/executables/softmodem-common.h b/executables/softmodem-common.h index 16014c60249de31967f70c6d22c6d264c0520515..1f73720e703a7017f886278b0c3c7c09d06e327d 100644 --- a/executables/softmodem-common.h +++ b/executables/softmodem-common.h @@ -120,7 +120,6 @@ extern "C" #define TIMING_SOURCE softmodem_params.timing_source #define SEND_DMRSSYNC softmodem_params.send_dmrs_sync #define USIM_TEST softmodem_params.usim_test -#define USE_256QAM_TABLE softmodem_params.use_256qam_table #define PRB_INTERPOLATION softmodem_params.prb_interpolation #define NFAPI softmodem_params.nfapi #define NSA softmodem_params.nsa @@ -158,14 +157,13 @@ extern int usrp_tx_thread; {"basicsim", CONFIG_HLP_RFSIM, PARAMFLAG_BOOL, uptr:&basicsim, defintval:0, TYPE_INT, 0}, \ {"nokrnmod", CONFIG_HLP_NOKRNMOD, PARAMFLAG_BOOL, uptr:&nokrnmod, defintval:0, TYPE_INT, 0}, \ {"nbiot-disable", CONFIG_HLP_DISABLNBIOT, PARAMFLAG_BOOL, uptr:&nonbiot, defuintval:0, TYPE_INT, 0}, \ - {"use-256qam-table", CONFIG_HLP_256QAM, PARAMFLAG_BOOL, iptr:&USE_256QAM_TABLE, defintval:0, TYPE_INT, 0}, \ {"nsa", CONFIG_HLP_NSA, PARAMFLAG_BOOL, iptr:&NSA, defintval:0, TYPE_INT, 0}, \ {"node-number", NULL, 0, u16ptr:&NODE_NUMBER, defuintval:0, TYPE_UINT16, 0}, \ {"usrp-tx-thread-config", CONFIG_HLP_USRP_THREAD, 0, iptr:&usrp_tx_thread, defstrval:0, TYPE_INT, 0}, \ {"do-prb-interpolation", CONFIG_HLP_PRBINTER, PARAMFLAG_BOOL, iptr:&PRB_INTERPOLATION, defintval:0, TYPE_INT, 0}, \ {"nfapi", CONFIG_HLP_NFAPI, 0, u8ptr:&nfapi_mode, defintval:0, TYPE_UINT8, 0}, \ {"non-stop", CONFIG_HLP_NONSTOP, PARAMFLAG_BOOL, iptr:&NON_STOP, defintval:0, TYPE_INT, 0}, \ - {"emulate-l1", CONFIG_L1_EMULATOR, PARAMFLAG_BOOL, iptr:&EMULATE_L1, defintval:0, TYPE_INT, 0}, \ + {"emulate-l1", CONFIG_L1_EMULATOR, PARAMFLAG_BOOL, iptr:&EMULATE_L1, defintval:0, TYPE_INT, 0} \ } #define CONFIG_HLP_NSA "Enable NSA mode \n" @@ -250,7 +248,6 @@ typedef struct { uint32_t timing_source; int hw_timing_advance; uint32_t send_dmrs_sync; - int use_256qam_table; int prb_interpolation; uint8_t nfapi; int nsa; diff --git a/executables/transport_split.c b/executables/transport_split.c index f380eb90e36977727e7b493b200999fa3edf6316..e7199637ccf505bd9b011a981d100d6f3c5e45c9 100644 --- a/executables/transport_split.c +++ b/executables/transport_split.c @@ -156,7 +156,7 @@ int receiveSubFrame(UDPsock_t *sock, void *bufferZone, int bufferSize, uint16_t int sendSubFrame(UDPsock_t *sock, void *bufferZone, ssize_t secondHeaderSize, uint16_t contentType) { commonUDP_t *UDPheader=(commonUDP_t *)bufferZone ; UDPheader->contentType=contentType; - UDPheader->senderClock=rdtsc(); + UDPheader->senderClock=rdtsc_oai(); int nbBlocks=UDPheader->nbBlocks; int blockId=0; diff --git a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_types.h b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_types.h index 99b6f75f93453f782bc0aacc0e00c2ad6a8bbda4..b7b15b5d334e78546aa2130dc2290377c3ab4650 100644 --- a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_types.h +++ b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_types.h @@ -31,7 +31,7 @@ #ifndef __NR_LDPC_TYPES__H__ #define __NR_LDPC_TYPES__H__ -#include "PHY/TOOLS/time_meas.h" +#include "time_meas.h" #include "nrLDPCdecoder_defs.h" // ============================================================================== // TYPES diff --git a/openair1/PHY/CODING/nrLDPC_encoder/ldpc_encode_parity_check.c b/openair1/PHY/CODING/nrLDPC_encoder/ldpc_encode_parity_check.c index 69d2ac4972663846ed6ac9bc45ab12d512c1b897..d36398a13a71f833725325c65c6b949cce6da005 100644 --- a/openair1/PHY/CODING/nrLDPC_encoder/ldpc_encode_parity_check.c +++ b/openair1/PHY/CODING/nrLDPC_encoder/ldpc_encode_parity_check.c @@ -33,7 +33,6 @@ #include <math.h> #include <stdio.h> #include <string.h> -#include <types.h> #include "assertions.h" #include "common/utils/LOG/log.h" diff --git a/openair1/PHY/CODING/nrLDPC_encoder/ldpc_encoder.c b/openair1/PHY/CODING/nrLDPC_encoder/ldpc_encoder.c index 76f92574bad3498c416a6318c1f84cbdc8ea5378..d5669fbbabe0fd41effaad17138cdca12dda1b03 100644 --- a/openair1/PHY/CODING/nrLDPC_encoder/ldpc_encoder.c +++ b/openair1/PHY/CODING/nrLDPC_encoder/ldpc_encoder.c @@ -35,7 +35,6 @@ #include <math.h> #include <stdio.h> #include <string.h> -#include <types.h> #include "defs.h" #include "assertions.h" #include "openair1/PHY/CODING/nrLDPC_defs.h" @@ -280,4 +279,4 @@ int ldpc_encoder_orig(unsigned char *test_input,unsigned char *channel_input,int int nrLDPC_encod(unsigned char **test_input,unsigned char **channel_input,int Zc,int Kb,short block_length, short BG, encoder_implemparams_t *impp) { return ldpc_encoder_orig(test_input[0],channel_input[0],Zc,Kb,block_length,BG,impp->gen_code); -} \ No newline at end of file +} diff --git a/openair1/PHY/CODING/nrLDPC_encoder/ldpc_encoder2.c b/openair1/PHY/CODING/nrLDPC_encoder/ldpc_encoder2.c index bef5b291dc61b5e02af028e34fc80571f2c2b091..73c165a2c80cad74c3e90e2b4fc0c4435140733b 100644 --- a/openair1/PHY/CODING/nrLDPC_encoder/ldpc_encoder2.c +++ b/openair1/PHY/CODING/nrLDPC_encoder/ldpc_encoder2.c @@ -36,7 +36,7 @@ #include <types.h> #include "assertions.h" #include "common/utils/LOG/log.h" -#include "PHY/TOOLS/time_meas.h" +#include "time_meas.h" #include "defs.h" #include "ldpc384_byte.c" diff --git a/openair1/PHY/CODING/nrLDPC_encoder/ldpc_encoder_optim.c b/openair1/PHY/CODING/nrLDPC_encoder/ldpc_encoder_optim.c index 07062f612311c95de6c845543f07132314b4385a..d05ced18c67965ede543f32b06cc72cb67113406 100644 --- a/openair1/PHY/CODING/nrLDPC_encoder/ldpc_encoder_optim.c +++ b/openair1/PHY/CODING/nrLDPC_encoder/ldpc_encoder_optim.c @@ -33,10 +33,9 @@ #include <math.h> #include <stdio.h> #include <string.h> -#include <types.h> #include "assertions.h" #include "common/utils/LOG/log.h" -#include "PHY/TOOLS/time_meas.h" +#include "time_meas.h" #include "openair1/PHY/CODING/nrLDPC_defs.h" #include "ldpc_encode_parity_check.c" #include "ldpc_generate_coefficient.c" diff --git a/openair1/PHY/CODING/nrLDPC_encoder/ldpc_encoder_optim8seg.c b/openair1/PHY/CODING/nrLDPC_encoder/ldpc_encoder_optim8seg.c index 6fa9c5ff53c9f5b245c01a9482a16c48fb1e0202..958ef5aca7eabe81b920e5e10aa4080560e2acc8 100644 --- a/openair1/PHY/CODING/nrLDPC_encoder/ldpc_encoder_optim8seg.c +++ b/openair1/PHY/CODING/nrLDPC_encoder/ldpc_encoder_optim8seg.c @@ -33,10 +33,9 @@ #include <math.h> #include <stdio.h> #include <string.h> -#include <types.h> #include "assertions.h" #include "common/utils/LOG/log.h" -#include "PHY/TOOLS/time_meas.h" +#include "time_meas.h" #include "openair1/PHY/CODING/nrLDPC_defs.h" #include "ldpc_encode_parity_check.c" #include "ldpc_generate_coefficient.c" diff --git a/openair1/PHY/CODING/nrLDPC_encoder/ldpc_encoder_optim8segmulti.c b/openair1/PHY/CODING/nrLDPC_encoder/ldpc_encoder_optim8segmulti.c index 15d4481eb605cccb2f4473ce11fee324a2a3aacc..9ef8cbfe658dc07234fd86f4e095cc9fc4ca6ba9 100644 --- a/openair1/PHY/CODING/nrLDPC_encoder/ldpc_encoder_optim8segmulti.c +++ b/openair1/PHY/CODING/nrLDPC_encoder/ldpc_encoder_optim8segmulti.c @@ -33,10 +33,9 @@ #include <math.h> #include <stdio.h> #include <string.h> -#include <types.h> #include "assertions.h" #include "common/utils/LOG/log.h" -#include "PHY/TOOLS/time_meas.h" +#include "time_meas.h" #include "openair1/PHY/CODING/nrLDPC_defs.h" #include "ldpc_encode_parity_check.c" diff --git a/openair1/PHY/TOOLS/lte_ue_scope.c b/openair1/PHY/TOOLS/lte_ue_scope.c index 00560f2d74a0fd73e6841ddc0552bd0af3c2bc3c..9b3f65d7d1315ef34144268248a18dbbf374169e 100644 --- a/openair1/PHY/TOOLS/lte_ue_scope.c +++ b/openair1/PHY/TOOLS/lte_ue_scope.c @@ -51,7 +51,7 @@ void reset_stats(FL_OBJECT *button, long arg) { int i,j,k; PHY_VARS_eNB *phy_vars_eNB = RC.eNB[0][0]; - for (i=0; i<NUMBER_OF_UE_MAX; i++) { + for (i=0; i<NUMBER_OF_DLSCH_MAX; i++) { for (k=0; k<8; k++) { //harq_processes for (j=0; j<phy_vars_eNB->dlsch[i][0]->Mlimit; j++) { phy_vars_eNB->UE_stats[i].dlsch_NAK[k][j]=0; diff --git a/openair1/PHY/defs_L1_NB_IoT.h b/openair1/PHY/defs_L1_NB_IoT.h index a4552c8c271dfe9d91325cd8883b683eb0d1087b..b4aee78310692e6bbb89a68dc24d7bb7e441e5c6 100644 --- a/openair1/PHY/defs_L1_NB_IoT.h +++ b/openair1/PHY/defs_L1_NB_IoT.h @@ -122,7 +122,7 @@ static inline void* malloc16_clear( size_t size ) #include "PHY/impl_defs_top_NB_IoT.h" #include "PHY/impl_defs_lte_NB_IoT.h" -#include "PHY/TOOLS/time_meas.h" +#include "time_meas.h" //#include "PHY/CODING/defs.h" #include "PHY/CODING/defs_NB_IoT.h" #include "openair2/PHY_INTERFACE/IF_Module_NB_IoT.h" @@ -452,9 +452,6 @@ typedef struct { int sub_frame_start; /// int sub_frame_step; - /// - unsigned long long gotIQs; - } UE_rxtx_proc_NB_IoT_t; /// Context data structure for eNB subframe processing diff --git a/openair1/PHY/defs_RU.h b/openair1/PHY/defs_RU.h index e70bb811b72ebc774ecdd1a9191a7eda5e043811..493e5f26e19554b893c8fea3d453f896ecc51447 100644 --- a/openair1/PHY/defs_RU.h +++ b/openair1/PHY/defs_RU.h @@ -36,7 +36,7 @@ #include "common_lib.h" #include "openairinterface5g_limits.h" -#include "PHY/TOOLS/time_meas.h" +#include "time_meas.h" #include "defs_common.h" #include "nfapi_nr_interface_scf.h" diff --git a/openair1/PHY/defs_UE.h b/openair1/PHY/defs_UE.h index fc3d939f65d2b665f912a147aaf33052cf12716c..fa5538409381377fe2fd2685bd556dbd5e0d594c 100644 --- a/openair1/PHY/defs_UE.h +++ b/openair1/PHY/defs_UE.h @@ -59,7 +59,7 @@ #include "defs_common.h" #include "impl_defs_top.h" -#include "PHY/TOOLS/time_meas.h" +#include "time_meas.h" #include "PHY/CODING/coding_defs.h" #include "PHY/TOOLS/tools_defs.h" #include "platform_types.h" @@ -154,7 +154,6 @@ typedef struct { int sub_frame_start; int sub_frame_step; - unsigned long long gotIQs; } UE_rxtx_proc_t; /// Context data structure for eNB subframe processing diff --git a/openair1/PHY/defs_common.h b/openair1/PHY/defs_common.h index c79530434aee8f29bc82f3929ff9052013119cea..86df85db5c5ed1c076444ec5c07e2930b202ad22 100644 --- a/openair1/PHY/defs_common.h +++ b/openair1/PHY/defs_common.h @@ -58,7 +58,7 @@ #include "assertions.h" //#include <complex.h> -#include "PHY/TOOLS/time_meas.h" +#include "time_meas.h" #include "platform_types.h" #define MAX_NUM_RU_PER_eNB 64 diff --git a/openair1/PHY/defs_eNB.h b/openair1/PHY/defs_eNB.h index 995a4a934e4d0e603d19314dfc03b762c948b763..3a48dc51d66db3a0d4eba955513ade438a9bc6c2 100644 --- a/openair1/PHY/defs_eNB.h +++ b/openair1/PHY/defs_eNB.h @@ -58,7 +58,7 @@ #include "defs_common.h" #include "defs_RU.h" #include "impl_defs_top.h" -#include "PHY/TOOLS/time_meas.h" +#include "time_meas.h" //#include "PHY/CODING/coding_defs.h" #include "PHY/TOOLS/tools_defs.h" #include "platform_types.h" @@ -202,7 +202,7 @@ typedef struct { int repetition_number[4]; } LTE_eNB_PRACH; -#include "PHY/TOOLS/time_meas.h" +#include "time_meas.h" #include "PHY/CODING/coding_defs.h" #include "PHY/TOOLS/tools_defs.h" #include "PHY/LTE_TRANSPORT/transport_eNB.h" diff --git a/openair1/PHY/defs_gNB.h b/openair1/PHY/defs_gNB.h index 34dadf5bfdd6e07a97da40437d52fe7eafcc9195..c24bd81549a0f88d1df13aa5d37bb9abfddd0949 100644 --- a/openair1/PHY/defs_gNB.h +++ b/openair1/PHY/defs_gNB.h @@ -856,7 +856,7 @@ typedef struct PHY_VARS_gNB_s { /* time_stats_t phy_proc; */ - time_stats_t *phy_proc_tx[2]; + time_stats_t phy_proc_tx; time_stats_t phy_proc_rx; time_stats_t rx_prach; /* @@ -973,7 +973,6 @@ typedef struct processingData_L1tx { uint16_t num_pdsch_slot; int num_dl_pdcch; int num_ul_pdcch; - time_stats_t phy_proc_tx; } processingData_L1tx_t; #endif diff --git a/openair1/PHY/defs_nr_UE.h b/openair1/PHY/defs_nr_UE.h index 653b435e128d12c789800f9f228f9f7a84d9cfcb..f4b49ececa9f6c5249f981cead3a3aa1c6a8e1c0 100644 --- a/openair1/PHY/defs_nr_UE.h +++ b/openair1/PHY/defs_nr_UE.h @@ -96,7 +96,7 @@ #include "impl_defs_top.h" #include "impl_defs_nr.h" -#include "PHY/TOOLS/time_meas.h" +#include "time_meas.h" #include "PHY/CODING/coding_defs.h" #include "PHY/TOOLS/tools_defs.h" #include "platform_types.h" diff --git a/openair1/PHY/thread_NR_UE.h b/openair1/PHY/thread_NR_UE.h index 901d8faec901bbd72c4688466f5f6f39d28299e6..a3cc2d97820456d4e6b3d9fd83c2eb7c94caefde 100644 --- a/openair1/PHY/thread_NR_UE.h +++ b/openair1/PHY/thread_NR_UE.h @@ -62,7 +62,6 @@ typedef struct { int sub_frame_start; int sub_frame_step; - unsigned long long gotIQs; uint8_t decoder_thread_available1; int dci_err_cnt; } UE_nr_rxtx_proc_t; diff --git a/openair1/SCHED_NR/fapi_nr_l1.c b/openair1/SCHED_NR/fapi_nr_l1.c index a14793fb4d6338917381372b8e93feb1e60b24ba..48728ba44addaee8fa48cc8330c681862289bb99 100644 --- a/openair1/SCHED_NR/fapi_nr_l1.c +++ b/openair1/SCHED_NR/fapi_nr_l1.c @@ -165,6 +165,8 @@ void nr_schedule_response(NR_Sched_Rsp_t *Sched_INFO){ notifiedFIFO_elt_t *res; res = pullTpool(gNB->L1_tx_free, gNB->threadPool); processingData_L1tx_t *msgTx = (processingData_L1tx_t *)NotifiedFifoData(res); + const time_stats_t ts = exec_time_stats_NotifiedFIFO(res); + merge_meas(&gNB->phy_proc_tx, &ts); msgTx->num_pdsch_slot=0; msgTx->num_dl_pdcch=0; diff --git a/openair1/SCHED_NR/phy_procedures_nr_gNB.c b/openair1/SCHED_NR/phy_procedures_nr_gNB.c index 435b633c3b422559d9aaaa994d9b59503847cbd6..8bcc6689eb8ecc5c4d340f1e1d61be7045d8aadc 100644 --- a/openair1/SCHED_NR/phy_procedures_nr_gNB.c +++ b/openair1/SCHED_NR/phy_procedures_nr_gNB.c @@ -134,8 +134,6 @@ void phy_procedures_gNB_TX(processingData_L1tx_t *msgTx, VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_gNB_TX+offset,1); - if (do_meas==1) start_meas(&msgTx->phy_proc_tx); - // clear the transmit data array and beam index for the current slot for (aa=0; aa<cfg->carrier_config.num_tx_ant.value; aa++) { memset(&gNB->common_vars.txdataF[aa][txdataF_offset],0,fp->samples_per_slot_wCP*sizeof(int32_t)); @@ -193,8 +191,6 @@ void phy_procedures_gNB_TX(processingData_L1tx_t *msgTx, } VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_gNB_TX+offset,0); - - if (do_meas==1) stop_meas(&msgTx->phy_proc_tx); } void nr_postDecode(PHY_VARS_gNB *gNB, notifiedFIFO_elt_t *req) { diff --git a/openair1/SIMULATION/LTE_PHY/dlsim.c b/openair1/SIMULATION/LTE_PHY/dlsim.c index 495b6803a64086f3b60b9cd153b948c7ec0e5883..231d63cf047254821caa07336cf5c1401c4bf775 100644 --- a/openair1/SIMULATION/LTE_PHY/dlsim.c +++ b/openair1/SIMULATION/LTE_PHY/dlsim.c @@ -129,7 +129,6 @@ void do_OFDM_mod_l(int32_t **txdataF, int32_t **txdata, uint16_t next_slot, LTE_ slot_offset = (next_slot)*(frame_parms->samples_per_tti>>1); for (aa=0; aa<frame_parms->nb_antennas_tx; aa++) { - // printf("Thread %d starting ... aa %d (%llu)\n",omp_get_thread_num(),aa,rdtsc()); if (frame_parms->Ncp == 1) PHY_ofdm_mod(&txdataF[aa][slot_offset_F], // input &txdata[aa][slot_offset], // output diff --git a/openair1/SIMULATION/LTE_PHY/dlsim_tm4.c b/openair1/SIMULATION/LTE_PHY/dlsim_tm4.c index 3b4e6782dac3b254bd9ae2dded483c7ed7f0c2e4..57c06e3b1300c846abf4a32bd31f766ae357fa70 100644 --- a/openair1/SIMULATION/LTE_PHY/dlsim_tm4.c +++ b/openair1/SIMULATION/LTE_PHY/dlsim_tm4.c @@ -112,7 +112,6 @@ void do_OFDM_mod_l(int32_t **txdataF, int32_t **txdata, uint16_t next_slot, LTE_ slot_offset = (next_slot)*(frame_parms->samples_per_tti>>1); for (aa=0; aa<frame_parms->nb_antennas_tx; aa++) { - // printf("Thread %d starting ... aa %d (%llu)\n",omp_get_thread_num(),aa,rdtsc()); if (frame_parms->Ncp == 1) PHY_ofdm_mod(&txdataF[aa][slot_offset_F], // input diff --git a/openair1/SIMULATION/LTE_PHY/framegen.c b/openair1/SIMULATION/LTE_PHY/framegen.c index f5b1e6d45ec88002fabd07750cf6ad913fddda59..b9f0221b2d4ef2479e93452518d6b45bb37d4607 100644 --- a/openair1/SIMULATION/LTE_PHY/framegen.c +++ b/openair1/SIMULATION/LTE_PHY/framegen.c @@ -333,7 +333,6 @@ void do_OFDM_mod(mod_sym_t **txdataF, int32_t **txdata, uint16_t next_slot, LTE_ slot_offset = (next_slot)*(frame_parms->samples_per_tti>>1); for (aa=0; aa<frame_parms->nb_antennas_tx; aa++) { - // printf("Thread %d starting ... aa %d (%llu)\n",omp_get_thread_num(),aa,rdtsc()); if (frame_parms->Ncp == 1) PHY_ofdm_mod(&txdataF[aa][slot_offset_F], // input diff --git a/openair1/SIMULATION/LTE_PHY/mbmssim.c b/openair1/SIMULATION/LTE_PHY/mbmssim.c index 31c3b47227aa680235300adbc7bcfe5ebbaa8d09..7efe9f4530e6b212fc68a3d598ee38aa5c46ed3c 100644 --- a/openair1/SIMULATION/LTE_PHY/mbmssim.c +++ b/openair1/SIMULATION/LTE_PHY/mbmssim.c @@ -121,7 +121,6 @@ void do_OFDM_mod_l(int32_t **txdataF, int32_t **txdata, uint16_t next_slot, LTE_ slot_offset = (next_slot)*(frame_parms->samples_per_tti>>1); for (aa=0; aa<frame_parms->nb_antennas_tx; aa++) { - // printf("Thread %d starting ... aa %d (%llu)\n",omp_get_thread_num(),aa,rdtsc()); if (frame_parms->Ncp == 1) PHY_ofdm_mod(&txdataF[aa][slot_offset_F], // input &txdata[aa][slot_offset], // output diff --git a/openair1/SIMULATION/NR_PHY/dlsim.c b/openair1/SIMULATION/NR_PHY/dlsim.c index de91306c591fd17774c505fd817272535ce88354..f165656f95eb758f1437ff8553bde2e6257f60b6 100644 --- a/openair1/SIMULATION/NR_PHY/dlsim.c +++ b/openair1/SIMULATION/NR_PHY/dlsim.c @@ -441,7 +441,7 @@ int main(int argc, char **argv) FILE *scg_fd=NULL; - while ((c = getopt (argc, argv, "f:hA:pf:g:in:s:S:t:x:y:z:M:N:F:GR:dPIL:Ea:b:d:e:m:w:T:U:qX:")) != -1) { + while ((c = getopt (argc, argv, "f:hA:pf:g:in:s:S:t:x:y:z:M:N:F:GR:dPIL:Ea:b:d:e:q:m:w:T:U:X:")) != -1) { switch (c) { case 'f': scg_fd = fopen(optarg,"r"); @@ -607,16 +607,17 @@ int main(int argc, char **argv) case 'b': g_rbSize = atoi(optarg); break; + case 'D': dlsch_threads = atoi(optarg); - break; + break; + case 'e': g_mcsIndex = atoi(optarg); break; case 'q': - g_mcsTableIdx = 1; - get_softmodem_params()->use_256qam_table = 1; + g_mcsTableIdx = atoi(optarg); break; case 'm': @@ -680,7 +681,7 @@ int main(int argc, char **argv) printf("-c Start symbol for PDSCH (fixed for now)\n"); printf("-j Number of symbols for PDSCH (fixed for now)\n"); printf("-e MSC index\n"); - printf("-q Use 2nd MCS table (256 QAM table) for PDSCH\n"); + printf("-q MCS Table index\n"); printf("-t Acceptable effective throughput (in percentage)\n"); printf("-T Enable PTRS, arguments list L_PTRS{0,1,2} K_PTRS{2,4}, e.g. -T 2 0 2 \n"); printf("-U Change DMRS Config, arguments list DMRS TYPE{0=A,1=B} DMRS AddPos{0:2} DMRS ConfType{1:2}, e.g. -U 3 0 2 1 \n"); @@ -781,11 +782,14 @@ int main(int argc, char **argv) fill_scc_sim(rrc.carrier.servingcellconfigcommon,&ssb_bitmap,N_RB_DL,N_RB_DL,mu,mu); ssb_bitmap = 1;// Enable only first SSB with index ssb_indx=0 fix_scc(scc,ssb_bitmap); - prepare_scd(scd); - fill_default_secondaryCellGroup(scc, scd, secondaryCellGroup, 0, 1, n_tx, 6, 0, 0, 0); + NR_UE_NR_Capability_t* UE_Capability_nr = CALLOC(1,sizeof(NR_UE_NR_Capability_t)); + prepare_sim_uecap(UE_Capability_nr,scc,mu, + N_RB_DL,g_mcsTableIdx); + // TODO do a UECAP for phy-sim + fill_default_secondaryCellGroup(scc, scd, secondaryCellGroup, UE_Capability_nr, 0, 1, n_tx, 6, 0, 0, 0); /* RRC parameter validation for secondaryCellGroup */ fix_scd(scd); @@ -1014,8 +1018,6 @@ int main(int argc, char **argv) msgDataTx->slot = slot; msgDataTx->frame = frame; memset(msgDataTx->ssb, 0, 64*sizeof(NR_gNB_SSB_t)); - reset_meas(&msgDataTx->phy_proc_tx); - gNB->phy_proc_tx[0] = &msgDataTx->phy_proc_tx; for (SNR = snr0; SNR < snr1; SNR += .2) { @@ -1329,7 +1331,7 @@ int main(int argc, char **argv) printf("\ngNB TX function statistics (per %d us slot, NPRB %d, mcs %d, block %d)\n", 1000>>*scc->ssbSubcarrierSpacing, g_rbSize, g_mcsIndex, msgDataTx->dlsch[0][0]->harq_process.pdsch_pdu.pdsch_pdu_rel15.TBSize[0]<<3); - printDistribution(gNB->phy_proc_tx[0],table_tx,"PHY proc tx"); + printDistribution(&gNB->phy_proc_tx,table_tx,"PHY proc tx"); printStatIndent2(&gNB->dlsch_encoding_stats,"DLSCH encoding time"); printStatIndent3(&gNB->dlsch_segmentation_stats,"DLSCH segmentation time"); printStatIndent3(&gNB->tinput,"DLSCH LDPC input processing time"); diff --git a/openair1/SIMULATION/NR_PHY/ulsim.c b/openair1/SIMULATION/NR_PHY/ulsim.c index aebaf424838c5f4f37b73815584075925afc7105..76d896a047a36c4d94f5b44f22fc7d8b842aa754 100644 --- a/openair1/SIMULATION/NR_PHY/ulsim.c +++ b/openair1/SIMULATION/NR_PHY/ulsim.c @@ -689,7 +689,6 @@ int main(int argc, char **argv) notifiedFIFO_elt_t *msgL1Tx = newNotifiedFIFO_elt(sizeof(processingData_L1tx_t),0,gNB->L1_tx_free,NULL); processingData_L1tx_t *msgDataTx = (processingData_L1tx_t *)NotifiedFifoData(msgL1Tx); msgDataTx->slot = -1; - gNB->phy_proc_tx[0] = &msgDataTx->phy_proc_tx; //gNB_config = &gNB->gNB_config; //memset((void *)&gNB->UL_INFO,0,sizeof(gNB->UL_INFO)); @@ -731,7 +730,8 @@ int main(int argc, char **argv) prepare_scd(scd); - fill_default_secondaryCellGroup(scc, scd, secondaryCellGroup, 0, 1, n_tx, 0, 0, 0, 0); + // TODO do a UECAP for phy-sim + fill_default_secondaryCellGroup(scc, scd, secondaryCellGroup, NULL, 0, 1, n_tx, 0, 0, 0, 0); // xer_fprint(stdout, &asn_DEF_NR_CellGroupConfig, (const void*)secondaryCellGroup); diff --git a/openair1/SIMULATION/TOOLS/channel_sim.c b/openair1/SIMULATION/TOOLS/channel_sim.c index 197a296a5125694f0fc5fe2c178aadfbb59852f6..de8db5d7cb431723ebfe329736fbefa5afa03f3c 100644 --- a/openair1/SIMULATION/TOOLS/channel_sim.c +++ b/openair1/SIMULATION/TOOLS/channel_sim.c @@ -40,7 +40,6 @@ #include "PHY_INTERFACE/phy_interface_extern.h" #include "UTIL/OCG/OCG.h" #include "UTIL/OPT/opt.h" // to test OPT -#include "UTIL/FIFO/types.h" #define RF diff --git a/openair2/LAYER2/MAC/mac.h b/openair2/LAYER2/MAC/mac.h index cb93c2feb8839668a1c36cbe6ae3fcdb767ecc3a..6637d05a8afacc5f18e117058d36e0936f2f4b2a 100644 --- a/openair2/LAYER2/MAC/mac.h +++ b/openair2/LAYER2/MAC/mac.h @@ -69,7 +69,7 @@ #include "nfapi_interface.h" #include "PHY_INTERFACE/IF_Module.h" -#include "PHY/TOOLS/time_meas.h" +#include "time_meas.h" #include "PHY/defs_common.h" // for PRACH_RESOURCES_t #include "PHY/LTE_TRANSPORT/transport_common.h" diff --git a/openair2/LAYER2/NR_MAC_gNB/config.c b/openair2/LAYER2/NR_MAC_gNB/config.c index 2ac8cf695009db9025aefb5a8426fe6af0aed1af..aaa97fea876618c3c83ef8e4eaed48b63d08115a 100644 --- a/openair2/LAYER2/NR_MAC_gNB/config.c +++ b/openair2/LAYER2/NR_MAC_gNB/config.c @@ -623,6 +623,8 @@ int rrc_mac_config_req_gNB(module_id_t Mod_idP, process_CellGroup(CellGroup,&UE_info->UE_sched_ctrl[UE_id]); const NR_ServingCellConfig_t *servingCellConfig = CellGroup ? CellGroup->spCellConfig->spCellConfigDedicated : NULL; NR_UE_sched_ctrl_t *sched_ctrl = &UE_info->UE_sched_ctrl[UE_id]; + sched_ctrl->update_pdsch_ps = true; + sched_ctrl->update_pusch_ps = true; const NR_PDSCH_ServingCellConfig_t *pdsch = servingCellConfig ? servingCellConfig->pdsch_ServingCellConfig->choice.setup : NULL; if (get_softmodem_params()->sa) { // add all available DL HARQ processes for this UE in SA diff --git a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c index 940bca8caf1f8587e85395a1cd42c3f6a81b959b..99311de88257a717189f36ba41d9cd9aaaa7cfa0 100644 --- a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c +++ b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c @@ -393,12 +393,17 @@ int nr_write_ce_dlsch_pdu(module_id_t module_idP, #define BLER_UPDATE_FRAME 10 #define BLER_FILTER 0.9f -int get_mcs_from_bler(module_id_t mod_id, int CC_id, frame_t frame, sub_frame_t slot, int UE_id) +int get_mcs_from_bler(module_id_t mod_id, int CC_id, frame_t frame, sub_frame_t slot, int UE_id, int mcs_table) { gNB_MAC_INST *nrmac = RC.nrmac[mod_id]; const NR_ServingCellConfigCommon_t *scc = nrmac->common_channels[CC_id].ServingCellConfigCommon; const int n = nr_slots_per_frame[*scc->ssbSubcarrierSpacing]; + int max_allowed_mcs = (mcs_table == 1) ? 27 : 28; + int max_mcs = nrmac->dl_max_mcs; + if (nrmac->dl_max_mcs>max_allowed_mcs) + max_mcs = max_allowed_mcs; + NR_DL_bler_stats_t *bler_stats = &nrmac->UE_info.UE_sched_ctrl[UE_id].dl_bler_stats; /* first call: everything is zero. Initialize to sensible default */ if (bler_stats->last_frame_slot == 0 && bler_stats->mcs == 0) { @@ -444,7 +449,7 @@ int get_mcs_from_bler(module_id_t mod_id, int CC_id, frame_t frame, sub_frame_t if (bler_stats->rd2_bler > nrmac->dl_rd2_bler_threshold && old_mcs > 6) { new_mcs -= 2; } else if (bler_stats->rd2_bler < nrmac->dl_rd2_bler_threshold) {*/ - if (bler_stats->bler < nrmac->dl_bler_target_lower && old_mcs < nrmac->dl_max_mcs && dtx > 9) + if (bler_stats->bler < nrmac->dl_bler_target_lower && old_mcs < max_mcs && dtx > 9) new_mcs += 1; else if (bler_stats->bler > nrmac->dl_bler_target_upper && old_mcs > 6) new_mcs -= 1; @@ -586,8 +591,10 @@ bool allocate_dl_retransmission(module_id_t module_id, } /* check whether we need to switch the TDA allocation since the last * (re-)transmission */ - if (ps->time_domain_allocation != tda) - nr_set_pdsch_semi_static(scc, UE_info->CellGroup[UE_id], sched_ctrl->active_bwp, bwpd, tda, ps->nrOfLayers, sched_ctrl, ps); + if (ps->time_domain_allocation != tda || sched_ctrl->update_pdsch_ps) { + nr_set_pdsch_semi_static(scc, cg, sched_ctrl->active_bwp, bwpd, tda, ps->nrOfLayers, sched_ctrl, ps); + sched_ctrl->update_pdsch_ps = false; + } } else { /* the retransmission will use a different time domain allocation, check * that we have enough resources */ @@ -743,7 +750,7 @@ void pf_dl(module_id_t module_id, /* Calculate coeff */ set_dl_mcs(sched_pdsch,sched_ctrl,&mac->dl_max_mcs,ps->mcsTableIdx); - sched_pdsch->mcs = get_mcs_from_bler(module_id, /* CC_id = */ 0, frame, slot, UE_id); + sched_pdsch->mcs = get_mcs_from_bler(module_id, /* CC_id = */ 0, frame, slot, UE_id, ps->mcsTableIdx); layers[UE_id] = set_dl_nrOfLayers(sched_ctrl); const uint8_t Qm = nr_get_Qm_dl(sched_pdsch->mcs, ps->mcsTableIdx); const uint16_t R = nr_get_code_rate_dl(sched_pdsch->mcs, ps->mcsTableIdx); @@ -862,8 +869,11 @@ void pf_dl(module_id_t module_id, NR_pdsch_semi_static_t *ps = &sched_ctrl->pdsch_semi_static; if (ps->nrOfLayers != layers[UE_id] || - ps->time_domain_allocation != tda) + ps->time_domain_allocation != tda || + sched_ctrl->update_pdsch_ps) { nr_set_pdsch_semi_static(scc, UE_info->CellGroup[UE_id], sched_ctrl->active_bwp, bwpd, tda, layers[UE_id], sched_ctrl, ps); + sched_ctrl->update_pdsch_ps = false; + } const uint16_t slbitmap = SL_to_bitmap(ps->startSymbolIndex, ps->nrOfSymbols); // Freq-demain allocation diff --git a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c index 886b675e413f79bac8476a70acc6e23a5a7201cc..81f4169e13c15329ffe59ff65614a8fdaaad7ad2 100644 --- a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c +++ b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c @@ -533,6 +533,7 @@ void nr_set_pdsch_semi_static(const NR_ServingCellConfigCommon_t *scc, ps->mcsTableIdx = 2; } else ps->mcsTableIdx = 0; + LOG_D(NR_MAC,"MCS Table Index: %d\n",ps->mcsTableIdx); NR_PDSCH_Config_t *pdsch_Config=NULL; if (bwpd) pdsch_Config = bwpd->pdsch_Config->choice.setup; @@ -1939,7 +1940,6 @@ void create_nr_list(NR_list_t *list, int len) { list->head = -1; list->next = malloc(len * sizeof(*list->next)); - LOG_W(NR_MAC, "NR list->next %p\n", list->next); AssertFatal(list->next, "cannot malloc() memory for NR_list_t->next\n"); for (int i = 0; i < len; ++i) list->next[i] = -1; @@ -2279,8 +2279,16 @@ void create_dl_harq_list(NR_UE_sched_ctrl_t *sched_ctrl, add_tail_nr_list(&sched_ctrl->available_dl_harq, harq); create_nr_list(&sched_ctrl->feedback_dl_harq, nrofHARQ); create_nr_list(&sched_ctrl->retrans_dl_harq, nrofHARQ); + } else if (sched_ctrl->available_dl_harq.len == nrofHARQ) { + LOG_D(NR_MAC, "nrofHARQ %d already configured\n", nrofHARQ); } else { + const int old_nrofHARQ = sched_ctrl->available_dl_harq.len; + AssertFatal(nrofHARQ > old_nrofHARQ, + "cannot resize HARQ list to be smaller (nrofHARQ %d, old_nrofHARQ %d)\n", + nrofHARQ, old_nrofHARQ); resize_nr_list(&sched_ctrl->available_dl_harq, nrofHARQ); + for (int harq = old_nrofHARQ; harq < nrofHARQ; harq++) + add_tail_nr_list(&sched_ctrl->available_dl_harq, harq); resize_nr_list(&sched_ctrl->feedback_dl_harq, nrofHARQ); resize_nr_list(&sched_ctrl->retrans_dl_harq, nrofHARQ); } diff --git a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c index 702163d85e66b62b79305890bec91e0121e24552..342880f293ee8b0f5e4aa48e621c8da05ad8ac11 100644 --- a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c +++ b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c @@ -999,8 +999,11 @@ bool allocate_ul_retransmission(module_id_t module_id, if (ps->time_domain_allocation != tda || ps->dci_format != dci_format - || ps->num_dmrs_cdm_grps_no_data != num_dmrs_cdm_grps_no_data) + || ps->num_dmrs_cdm_grps_no_data != num_dmrs_cdm_grps_no_data + || sched_ctrl->update_pusch_ps) { nr_set_pusch_semi_static(scc, sched_ctrl->active_ubwp, ubwpd, dci_format, tda, num_dmrs_cdm_grps_no_data, ps); + sched_ctrl->update_pusch_ps = false; + } LOG_D(NR_MAC, "%s(): retransmission keeping TDA %d and TBS %d\n", __func__, tda, retInfo->tb_size); } else { /* the retransmission will use a different time domain allocation, check @@ -1237,8 +1240,11 @@ void pf_ul(module_id_t module_id, const int tda = sched_ctrl->active_ubwp ? nrmac->preferred_ul_tda[sched_ctrl->active_ubwp->bwp_Id][slot] : 0; if (ps->time_domain_allocation != tda || ps->dci_format != dci_format - || ps->num_dmrs_cdm_grps_no_data != num_dmrs_cdm_grps_no_data) + || ps->num_dmrs_cdm_grps_no_data != num_dmrs_cdm_grps_no_data + || sched_ctrl->update_pusch_ps) { nr_set_pusch_semi_static(scc, sched_ctrl->active_ubwp, ubwpd, dci_format, tda, num_dmrs_cdm_grps_no_data, ps); + sched_ctrl->update_pusch_ps = false; + } NR_sched_pusch_t *sched_pusch = &sched_ctrl->sched_pusch; sched_pusch->mcs = nrmac->min_grant_mcs; update_ul_ue_R_Qm(sched_pusch, ps); @@ -1354,8 +1360,11 @@ void pf_ul(module_id_t module_id, const int tda = sched_ctrl->active_ubwp ? nrmac->preferred_ul_tda[sched_ctrl->active_ubwp->bwp_Id][slot] : 0; if (ps->time_domain_allocation != tda || ps->dci_format != dci_format - || ps->num_dmrs_cdm_grps_no_data != num_dmrs_cdm_grps_no_data) + || ps->num_dmrs_cdm_grps_no_data != num_dmrs_cdm_grps_no_data + || sched_ctrl->update_pusch_ps) { nr_set_pusch_semi_static(scc, sched_ctrl->active_ubwp, ubwpd, dci_format, tda, num_dmrs_cdm_grps_no_data, ps); + sched_ctrl->update_pusch_ps = false; + } update_ul_ue_R_Qm(sched_pusch, ps); /* Calculate the current scheduling bytes and the necessary RBs */ diff --git a/openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h b/openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h index 0eb685ee7ad879a545dc4bcf39571cad13285f5b..96977f05a138c128d516a28afdf21168be6b127b 100644 --- a/openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h +++ b/openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h @@ -55,7 +55,7 @@ /* PHY */ #include "PHY/defs_gNB.h" -#include "PHY/TOOLS/time_meas.h" +#include "time_meas.h" /* Interface */ #include "nfapi_nr_interface_scf.h" @@ -620,6 +620,8 @@ typedef struct { int ul_failure; struct CSI_Report CSI_report; bool SR; + bool update_pdsch_ps; + bool update_pusch_ps; bool set_mcs; /// information about every HARQ process NR_UE_harq_t harq_processes[NR_MAX_NB_HARQ_PROCESSES]; diff --git a/openair2/RRC/NR/MESSAGES/asn1_msg.c b/openair2/RRC/NR/MESSAGES/asn1_msg.c index f5d6b228f9502663b4a014395d8aa63477e1e0e8..73bb941af95a126240ad0ccafb11835b4d21cc7d 100755 --- a/openair2/RRC/NR/MESSAGES/asn1_msg.c +++ b/openair2/RRC/NR/MESSAGES/asn1_msg.c @@ -1771,6 +1771,30 @@ void fill_mastercellGroupConfig(NR_CellGroupConfig_t *cellGroupConfig, NR_CellGr ASN_SEQUENCE_ADD(&ue_context_mastercellGroup->rlc_BearerToAddModList->list, rlc_BearerConfig_drb); } +void update_cellGroupConfig(NR_CellGroupConfig_t *cellGroupConfig, + rrc_gNB_carrier_data_t *carrier, + NR_UE_NR_Capability_t *uecap) { + + NR_SpCellConfig_t *SpCellConfig = cellGroupConfig->spCellConfig; + if (SpCellConfig == NULL) return; + + NR_ServingCellConfigCommon_t *scc = carrier->servingcellconfigcommon; + + NR_BWP_DownlinkDedicated_t *bwp_Dedicated = SpCellConfig->spCellConfigDedicated->initialDownlinkBWP; + set_dl_mcs_table(scc->downlinkConfigCommon->initialDownlinkBWP->genericParameters.subcarrierSpacing, + uecap, bwp_Dedicated, scc); + + struct NR_ServingCellConfig__downlinkBWP_ToAddModList *DL_BWP_list = SpCellConfig->spCellConfigDedicated->downlinkBWP_ToAddModList; + if (DL_BWP_list) { + for (int i=0; i<DL_BWP_list->list.count; i++){ + NR_BWP_Downlink_t *bwp = DL_BWP_list->list.array[i]; + int scs = bwp->bwp_Common->genericParameters.subcarrierSpacing; + set_dl_mcs_table(scs, uecap, bwp->bwp_Dedicated, carrier->servingcellconfigcommon); + } + } +} + + void fill_initial_cellGroupConfig(int uid, NR_CellGroupConfig_t *cellGroupConfig, NR_ServingCellConfigCommon_t *scc, @@ -2190,6 +2214,8 @@ int16_t do_RRCReconfiguration( NR_SDAP_Config_t *sdap_config, NR_MeasConfig_t *meas_config, struct NR_RRCReconfiguration_v1530_IEs__dedicatedNAS_MessageList *dedicatedNAS_MessageList, + rrc_gNB_ue_context_t *const ue_context_pP, + rrc_gNB_carrier_data_t *carrier, NR_MAC_CellGroupConfig_t *mac_CellGroupConfig, NR_CellGroupConfig_t *cellGroupConfig) //------------------------------------------------------------------------------ @@ -2226,15 +2252,6 @@ int16_t do_RRCReconfiguration( ie->radioBearerConfig->srb3_ToRelease = NULL; ie->radioBearerConfig->drb_ToReleaseList = DRB_releaseList; } - /******************** Secondary Cell Group ********************/ - // rrc_gNB_carrier_data_t *carrier = &(gnb_rrc_inst->carrier); - // fill_default_secondaryCellGroup( carrier->servingcellconfigcommon, - // ue_context_pP->ue_context.secondaryCellGroup, - // 1, - // 1, - // carrier->pdsch_AntennaPorts, - // carrier->initial_csi_index[ue_context_p->local_uid + 1], - // ue_context_pP->local_uid); /******************** Meas Config ********************/ // measConfig @@ -2250,6 +2267,9 @@ int16_t do_RRCReconfiguration( } if(cellGroupConfig!=NULL){ + update_cellGroupConfig(cellGroupConfig, + carrier, + ue_context_pP->ue_context.UE_Capability_nr); enc_rval = uper_encode_to_buffer(&asn_DEF_NR_CellGroupConfig, NULL, (void *)cellGroupConfig, diff --git a/openair2/RRC/NR/MESSAGES/asn1_msg.h b/openair2/RRC/NR/MESSAGES/asn1_msg.h index 71fe6f531c0a2606ae10da7bf2fe4a4d5a99d6ed..ab6b7f1571f6c2696f5cf447a6dc2399617a6389 100644 --- a/openair2/RRC/NR/MESSAGES/asn1_msg.h +++ b/openair2/RRC/NR/MESSAGES/asn1_msg.h @@ -110,6 +110,10 @@ void fill_initial_cellGroupConfig(int uid, NR_ServingCellConfigCommon_t *scc, rrc_gNB_carrier_data_t *carrier); +void update_cellGroupConfig(NR_CellGroupConfig_t *cellGroupConfig, + rrc_gNB_carrier_data_t *carrier, + NR_UE_NR_Capability_t *uecap); + void fill_mastercellGroupConfig(NR_CellGroupConfig_t *cellGroupConfig, NR_CellGroupConfig_t *ue_context_mastercellGroup,int use_rlc_um_for_drb); int do_RRCSetup(rrc_gNB_ue_context_t *const ue_context_pP, @@ -145,6 +149,8 @@ int16_t do_RRCReconfiguration( NR_SDAP_Config_t *sdap_config, NR_MeasConfig_t *meas_config, struct NR_RRCReconfiguration_v1530_IEs__dedicatedNAS_MessageList *dedicatedNAS_MessageList, + rrc_gNB_ue_context_t *const ue_context_pP, + rrc_gNB_carrier_data_t *carrier, NR_MAC_CellGroupConfig_t *mac_CellGroupConfig, NR_CellGroupConfig_t *cellGroupConfig); diff --git a/openair2/RRC/NR/nr_rrc_config.c b/openair2/RRC/NR/nr_rrc_config.c index 96ee78c62951d7d5b50263cb56c7519504959e54..3cde364fb8ae6f9eab81da7d0bd4b7e4b2e5ce22 100644 --- a/openair2/RRC/NR/nr_rrc_config.c +++ b/openair2/RRC/NR/nr_rrc_config.c @@ -31,6 +31,50 @@ #include "nr_rrc_config.h" #include "common/utils/nr/nr_common.h" +void prepare_sim_uecap(NR_UE_NR_Capability_t *cap, + NR_ServingCellConfigCommon_t *scc, + int numerology, + int rbsize, + int mcs_table) { + + int band = *scc->downlinkConfigCommon->frequencyInfoDL->frequencyBandList.list.array[0]; + NR_BandNR_t *nr_bandnr = CALLOC(1,sizeof(NR_BandNR_t)); + nr_bandnr->bandNR = band; + ASN_SEQUENCE_ADD(&cap->rf_Parameters.supportedBandListNR.list, + nr_bandnr); + if (mcs_table == 1) { + int bw = get_supported_band_index(numerology, band, rbsize); + if (band>256) { + NR_BandNR_t *bandNRinfo = cap->rf_Parameters.supportedBandListNR.list.array[0]; + bandNRinfo->pdsch_256QAM_FR2 = CALLOC(1,sizeof(*bandNRinfo->pdsch_256QAM_FR2)); + *bandNRinfo->pdsch_256QAM_FR2 = NR_BandNR__pdsch_256QAM_FR2_supported; + } + else{ + cap->phy_Parameters.phy_ParametersFR1 = CALLOC(1,sizeof(*cap->phy_Parameters.phy_ParametersFR1)); + NR_Phy_ParametersFR1_t *phy_fr1 = cap->phy_Parameters.phy_ParametersFR1; + phy_fr1->pdsch_256QAM_FR1 = CALLOC(1,sizeof(*phy_fr1->pdsch_256QAM_FR1)); + *phy_fr1->pdsch_256QAM_FR1 = NR_Phy_ParametersFR1__pdsch_256QAM_FR1_supported; + } + cap->featureSets = CALLOC(1,sizeof(*cap->featureSets)); + NR_FeatureSets_t *fs=cap->featureSets; + fs->featureSetsDownlinkPerCC = CALLOC(1,sizeof(*fs->featureSetsDownlinkPerCC)); + NR_FeatureSetDownlinkPerCC_t *fs_cc = CALLOC(1,sizeof(NR_FeatureSetDownlinkPerCC_t)); + fs_cc->supportedSubcarrierSpacingDL = numerology; + if(band>256) { + fs_cc->supportedBandwidthDL.present = NR_SupportedBandwidth_PR_fr2; + fs_cc->supportedBandwidthDL.choice.fr2 = bw; + } + else{ + fs_cc->supportedBandwidthDL.present = NR_SupportedBandwidth_PR_fr1; + fs_cc->supportedBandwidthDL.choice.fr1 = bw; + } + fs_cc->supportedModulationOrderDL = CALLOC(1,sizeof(*fs_cc->supportedModulationOrderDL)); + *fs_cc->supportedModulationOrderDL = NR_ModulationOrder_qam256; + ASN_SEQUENCE_ADD(&fs->featureSetsDownlinkPerCC->list, + fs_cc); + } +} + void nr_rrc_config_dl_tda(NR_ServingCellConfigCommon_t *scc){ lte_frame_type_t frame_type = get_frame_type(*scc->downlinkConfigCommon->frequencyInfoDL->frequencyBandList.list.array[0], *scc->ssbSubcarrierSpacing); @@ -124,6 +168,52 @@ void nr_rrc_config_ul_tda(NR_ServingCellConfigCommon_t *scc, int min_fb_delay){ ASN_SEQUENCE_ADD(&scc->uplinkConfigCommon->initialUplinkBWP->pusch_ConfigCommon->choice.setup->pusch_TimeDomainAllocationList->list,pusch_timedomainresourceallocation_msg3); } } +} + + +void set_dl_mcs_table(int scs, NR_UE_NR_Capability_t *cap, + NR_BWP_DownlinkDedicated_t *bwp_Dedicated, + NR_ServingCellConfigCommon_t *scc) { + + if (cap == NULL){ + bwp_Dedicated->pdsch_Config->choice.setup->mcs_Table = NULL; + return; + } + + int band = *scc->downlinkConfigCommon->frequencyInfoDL->frequencyBandList.list.array[0]; + struct NR_FrequencyInfoDL__scs_SpecificCarrierList scs_list = scc->downlinkConfigCommon->frequencyInfoDL->scs_SpecificCarrierList; + int bw_rb = -1; + for(int i=0; i<scs_list.list.count; i++){ + if(scs == scs_list.list.array[i]->subcarrierSpacing){ + bw_rb = scs_list.list.array[i]->carrierBandwidth; + break; + } + } + AssertFatal(bw_rb>0,"Could not find scs-SpecificCarrierList element for scs %d",scs); + int bw = get_supported_band_index(scs, band, bw_rb); + AssertFatal(bw>0,"Supported band corresponding to %d RBs not found\n", bw_rb); + + bool supported = false; + if (band>256) { + for (int i=0;i<cap->rf_Parameters.supportedBandListNR.list.count;i++) { + NR_BandNR_t *bandNRinfo = cap->rf_Parameters.supportedBandListNR.list.array[i]; + if(bandNRinfo->bandNR == band && bandNRinfo->pdsch_256QAM_FR2) { + supported = true; + break; + } + } + } + else if (cap->phy_Parameters.phy_ParametersFR1 && cap->phy_Parameters.phy_ParametersFR1->pdsch_256QAM_FR1) + supported = true; + if (supported) { + if(bwp_Dedicated->pdsch_Config->choice.setup->mcs_Table == NULL) + bwp_Dedicated->pdsch_Config->choice.setup->mcs_Table = calloc(1, sizeof(*bwp_Dedicated->pdsch_Config->choice.setup->mcs_Table)); + *bwp_Dedicated->pdsch_Config->choice.setup->mcs_Table = NR_PDSCH_Config__mcs_Table_qam256; + } + else + bwp_Dedicated->pdsch_Config->choice.setup->mcs_Table = NULL; } + + diff --git a/openair2/RRC/NR/nr_rrc_config.h b/openair2/RRC/NR/nr_rrc_config.h index 192fee754ed28ae40526b1283ea0c6013da56926..1a0d091e3594ef01f77dbc3185d01f5ec764c5d8 100644 --- a/openair2/RRC/NR/nr_rrc_config.h +++ b/openair2/RRC/NR/nr_rrc_config.h @@ -113,6 +113,14 @@ typedef struct physicalcellgroup_s{ void nr_rrc_config_dl_tda(NR_ServingCellConfigCommon_t *scc); void nr_rrc_config_ul_tda(NR_ServingCellConfigCommon_t *scc, int min_fb_delay); +void set_dl_mcs_table(int scs, NR_UE_NR_Capability_t *cap, + NR_BWP_DownlinkDedicated_t *bwp_Dedicated, + NR_ServingCellConfigCommon_t *scc); +void prepare_sim_uecap(NR_UE_NR_Capability_t *cap, + NR_ServingCellConfigCommon_t *scc, + int numerology, + int rbsize, + int mcs_table); #endif diff --git a/openair2/RRC/NR/nr_rrc_proto.h b/openair2/RRC/NR/nr_rrc_proto.h index 08c6709497139cd360dc1fb164063657c3c303fd..8e1667ebdb28f83ef363d9c5453c310bbbb513d4 100644 --- a/openair2/RRC/NR/nr_rrc_proto.h +++ b/openair2/RRC/NR/nr_rrc_proto.h @@ -76,6 +76,7 @@ void rrc_remove_nsa_user(gNB_RRC_INST *rrc, int rnti); void fill_default_secondaryCellGroup(NR_ServingCellConfigCommon_t *servingcellconfigcommon, NR_ServingCellConfig_t *servingcellconfigdedicated, NR_CellGroupConfig_t *secondaryCellGroup, + NR_UE_NR_Capability_t *uecap, int scg_id, int servCellIndex, int dl_antenna_ports, @@ -95,6 +96,7 @@ void fill_default_reconfig(NR_ServingCellConfigCommon_t *servingcellconfigcommon NR_ServingCellConfig_t *servingcellconfigdedicated, NR_RRCReconfiguration_IEs_t *reconfig, NR_CellGroupConfig_t *secondaryCellGroup, + NR_UE_NR_Capability_t *uecap, int dl_antenna_ports, int minRXTXTIMEpdsch, int do_csirs, diff --git a/openair2/RRC/NR/rrc_gNB.c b/openair2/RRC/NR/rrc_gNB.c index 0d78c295937ac2a303500f4e57d9d8e628146a2b..95ecba9efb396ea53a6c36224a7fa4e5da8ee87f 100755 --- a/openair2/RRC/NR/rrc_gNB.c +++ b/openair2/RRC/NR/rrc_gNB.c @@ -709,6 +709,8 @@ rrc_gNB_generate_defaultRRCReconfiguration( dedicatedNAS_MessageList = NULL; } + gNB_RRC_INST *rrc = RC.nrrrc[ctxt_pP->module_id]; + gNB_RRC_UE_t *ue_p = &ue_context_pP->ue_context; memset(buffer, 0, sizeof(buffer)); size = do_RRCReconfiguration(ctxt_pP, buffer, sizeof(buffer), xid, @@ -719,8 +721,10 @@ rrc_gNB_generate_defaultRRCReconfiguration( NULL, NULL, dedicatedNAS_MessageList, + ue_context_pP, + &rrc->carrier, NULL, - NULL); + ue_p->masterCellGroup); free(ue_context_pP->ue_context.nas_pdu.buffer); @@ -981,6 +985,8 @@ rrc_gNB_generate_dedicatedRRCReconfiguration( NULL, NULL, dedicatedNAS_MessageList, + ue_context_pP, + &rrc->carrier, NULL, cellGroupConfig); LOG_DUMPMSG(NR_RRC,DEBUG_RRC,(char *)buffer,size,"[MSG] RRC Reconfiguration\n"); @@ -1152,6 +1158,8 @@ rrc_gNB_modify_dedicatedRRCReconfiguration( NULL, dedicatedNAS_MessageList, NULL, + NULL, + NULL, NULL); LOG_DUMPMSG(NR_RRC, DEBUG_RRC, (char *)buffer, size, "[MSG] RRC Reconfiguration\n"); @@ -1250,6 +1258,8 @@ rrc_gNB_generate_dedicatedRRCReconfiguration_release( NULL, dedicatedNAS_MessageList, NULL, + NULL, + NULL, NULL); ue_context_pP->ue_context.pdu_session_release_command_flag = 1; @@ -1799,6 +1809,8 @@ rrc_gNB_process_RRCConnectionReestablishmentComplete( NULL, // MeasObj_list, NULL, NULL, + NULL, + NULL, NULL); LOG_DUMPMSG(NR_RRC,DEBUG_RRC,(char *)buffer,size, "[MSG] RRC Reconfiguration\n"); @@ -3341,51 +3353,6 @@ unsigned int get_ul_bw_mask(gNB_RRC_INST *rrc,NR_UE_NR_Capability_t *cap) { return(0); } -int is_dl_256QAM_supported(gNB_RRC_INST *rrc,NR_UE_NR_Capability_t *cap) { - int common_band = *rrc->carrier.servingcellconfigcommon->downlinkConfigCommon->frequencyInfoDL->frequencyBandList.list.array[0]; - int common_scs = rrc->carrier.servingcellconfigcommon->downlinkConfigCommon->frequencyInfoDL->scs_SpecificCarrierList.list.array[0]->subcarrierSpacing; - if (common_band>256) { - for (int i=0;i<cap->rf_Parameters.supportedBandListNR.list.count;i++) { - NR_BandNR_t *bandNRinfo = cap->rf_Parameters.supportedBandListNR.list.array[i]; - if (bandNRinfo->bandNR == common_band && !bandNRinfo->pdsch_256QAM_FR2) return (0); - } - } - else if (cap->phy_Parameters.phy_ParametersFR1 && !cap->phy_Parameters.phy_ParametersFR1->pdsch_256QAM_FR1) return(0); - - // check featureSet - NR_FeatureSets_t *fs=cap->featureSets; - if (fs) { - // go through DL feature sets and look for one with current SCS - for (int i=0;i<fs->featureSetsDownlinkPerCC->list.count;i++) { - if (fs->featureSetsDownlinkPerCC->list.array[i]->supportedSubcarrierSpacingDL == common_scs && - fs->featureSetsDownlinkPerCC->list.array[i]->supportedModulationOrderDL && - *fs->featureSetsDownlinkPerCC->list.array[i]->supportedModulationOrderDL == NR_ModulationOrder_qam256) return(1); - } - } - return(0); -} - -int is_ul_256QAM_supported(gNB_RRC_INST *rrc,NR_UE_NR_Capability_t *cap) { - int common_band = *rrc->carrier.servingcellconfigcommon->uplinkConfigCommon->frequencyInfoUL->frequencyBandList->list.array[0]; - int common_scs = rrc->carrier.servingcellconfigcommon->uplinkConfigCommon->frequencyInfoUL->scs_SpecificCarrierList.list.array[0]->subcarrierSpacing; - for (int i=0;i<cap->rf_Parameters.supportedBandListNR.list.count;i++) { - NR_BandNR_t *bandNRinfo = cap->rf_Parameters.supportedBandListNR.list.array[i]; - if (bandNRinfo->bandNR == common_band && !bandNRinfo->pusch_256QAM) return (0); - } - - // check featureSet - NR_FeatureSets_t *fs=cap->featureSets; - if (fs) { - // go through UL feature sets and look for one with current SCS - for (int i=0;i<fs->featureSetsUplinkPerCC->list.count;i++) { - if (fs->featureSetsUplinkPerCC->list.array[i]->supportedSubcarrierSpacingUL == common_scs && - fs->featureSetsUplinkPerCC->list.array[i]->supportedModulationOrderUL && - *fs->featureSetsUplinkPerCC->list.array[i]->supportedModulationOrderUL == NR_ModulationOrder_qam256) return(1); - } - } - return(0); -} - int get_ul_mimo_layersCB(gNB_RRC_INST *rrc,NR_UE_NR_Capability_t *cap) { int common_scs = rrc->carrier.servingcellconfigcommon->uplinkConfigCommon->frequencyInfoUL->scs_SpecificCarrierList.list.array[0]->subcarrierSpacing; @@ -3455,11 +3422,9 @@ void nr_rrc_subframe_process(protocol_ctxt_t *const ctxt_pP, const int CC_id) { } if (ue_context_p->ue_context.UE_Capability_nr) { - fprintf(fd,"NR RRC UE cap: BW DL %x. BW UL %x, 256 QAM DL %s, 256 QAM UL %s, DL MIMO Layers %d UL MIMO Layers (CB) %d UL MIMO Layers (nonCB) %d\n", + fprintf(fd,"NR RRC UE cap: BW DL %x. BW UL %x, DL MIMO Layers %d UL MIMO Layers (CB) %d UL MIMO Layers (nonCB) %d\n", get_dl_bw_mask(RC.nrrrc[0],ue_context_p->ue_context.UE_Capability_nr), get_ul_bw_mask(RC.nrrrc[0],ue_context_p->ue_context.UE_Capability_nr), - is_dl_256QAM_supported(RC.nrrrc[0],ue_context_p->ue_context.UE_Capability_nr) == 1 ? "yes" : "no", - is_ul_256QAM_supported(RC.nrrrc[0],ue_context_p->ue_context.UE_Capability_nr) == 1 ? "yes" : "no", get_dl_mimo_layers(RC.nrrrc[0],ue_context_p->ue_context.UE_Capability_nr), get_ul_mimo_layersCB(RC.nrrrc[0],ue_context_p->ue_context.UE_Capability_nr), get_ul_mimo_layers(RC.nrrrc[0],ue_context_p->ue_context.UE_Capability_nr)); diff --git a/openair2/RRC/NR/rrc_gNB_nsa.c b/openair2/RRC/NR/rrc_gNB_nsa.c index e55c9d4ed2272057118618552fae8d0f04d48ade..70dfebaaf7d60a5a1f7520babfee1ed492dc90bb 100644 --- a/openair2/RRC/NR/rrc_gNB_nsa.c +++ b/openair2/RRC/NR/rrc_gNB_nsa.c @@ -245,6 +245,7 @@ void rrc_add_nsa_user(gNB_RRC_INST *rrc,struct rrc_gNB_ue_context_s *ue_context_ ue_context_p->ue_context.spCellConfig->spCellConfigDedicated, reconfig_ies, ue_context_p->ue_context.secondaryCellGroup, + ue_context_p->ue_context.UE_Capability_nr, carrier->pdsch_AntennaPorts, carrier->minRXTXTIME, carrier->do_CSIRS, @@ -255,6 +256,7 @@ void rrc_add_nsa_user(gNB_RRC_INST *rrc,struct rrc_gNB_ue_context_s *ue_context_ NULL, reconfig_ies, ue_context_p->ue_context.secondaryCellGroup, + ue_context_p->ue_context.UE_Capability_nr, carrier->pdsch_AntennaPorts, carrier->minRXTXTIME, carrier->do_CSIRS, diff --git a/openair2/RRC/NR/rrc_gNB_reconfig.c b/openair2/RRC/NR/rrc_gNB_reconfig.c index 7c733a19e69be777b17273ebf56d78c85051061c..35412f4c0c94d12f24aa6dc86290dcae33579c76 100644 --- a/openair2/RRC/NR/rrc_gNB_reconfig.c +++ b/openair2/RRC/NR/rrc_gNB_reconfig.c @@ -45,6 +45,7 @@ #include "SIMULATION/TOOLS/sim.h" #include "executables/softmodem-common.h" #include "LAYER2/nr_rlc/nr_rlc_oai_api.h" +#include "nr_rrc_config.h" #define false 0 #define true 1 @@ -52,6 +53,7 @@ void fill_default_secondaryCellGroup(NR_ServingCellConfigCommon_t *servingcellconfigcommon, NR_ServingCellConfig_t *servingcellconfigdedicated, NR_CellGroupConfig_t *secondaryCellGroup, + NR_UE_NR_Capability_t *uecap, int scg_id, int servCellIndex, int dl_antenna_ports, @@ -63,6 +65,9 @@ void fill_default_secondaryCellGroup(NR_ServingCellConfigCommon_t *servingcellco AssertFatal(servingcellconfigcommon!=NULL,"servingcellconfigcommon is null\n"); AssertFatal(secondaryCellGroup!=NULL,"secondaryCellGroup is null\n"); + if(uecap == NULL) + LOG_E(RRC,"No UE Capabilities available when programming default CellGroup in NSA\n"); + // This assert will never happen in the current implementation because NUMBER_OF_UE_MAX = 4. // However, if in the future NUMBER_OF_UE_MAX is increased, it will be necessary to improve the allocation of SRS resources, // where the startPosition = 2 or 3 and sl160 = 17, 17, 27 ... 157 only give us 30 different allocations. @@ -336,12 +341,7 @@ void fill_default_secondaryCellGroup(NR_ServingCellConfigCommon_t *servingcellco secondaryCellGroup->spCellConfig->spCellConfigDedicated->initialDownlinkBWP->pdsch_Config->choice.setup->rateMatchPatternGroup1=NULL; secondaryCellGroup->spCellConfig->spCellConfigDedicated->initialDownlinkBWP->pdsch_Config->choice.setup->rateMatchPatternGroup2=NULL; secondaryCellGroup->spCellConfig->spCellConfigDedicated->initialDownlinkBWP->pdsch_Config->choice.setup->rbg_Size=NR_PDSCH_Config__rbg_Size_config1; - if (!get_softmodem_params()->use_256qam_table) { - secondaryCellGroup->spCellConfig->spCellConfigDedicated->initialDownlinkBWP->pdsch_Config->choice.setup->mcs_Table=NULL; - } else { - secondaryCellGroup->spCellConfig->spCellConfigDedicated->initialDownlinkBWP->pdsch_Config->choice.setup->mcs_Table = calloc(1, sizeof(*secondaryCellGroup->spCellConfig->spCellConfigDedicated->initialDownlinkBWP->pdsch_Config->choice.setup->mcs_Table)); - *secondaryCellGroup->spCellConfig->spCellConfigDedicated->initialDownlinkBWP->pdsch_Config->choice.setup->mcs_Table = NR_PDSCH_Config__mcs_Table_qam256; - } + secondaryCellGroup->spCellConfig->spCellConfigDedicated->initialDownlinkBWP->pdsch_Config->choice.setup->mcs_Table=NULL; secondaryCellGroup->spCellConfig->spCellConfigDedicated->initialDownlinkBWP->pdsch_Config->choice.setup->maxNrofCodeWordsScheduledByDCI = calloc(1,sizeof(*secondaryCellGroup->spCellConfig->spCellConfigDedicated->initialDownlinkBWP->pdsch_Config->choice.setup->maxNrofCodeWordsScheduledByDCI)); *secondaryCellGroup->spCellConfig->spCellConfigDedicated->initialDownlinkBWP->pdsch_Config->choice.setup->maxNrofCodeWordsScheduledByDCI = NR_PDSCH_Config__maxNrofCodeWordsScheduledByDCI_n1; secondaryCellGroup->spCellConfig->spCellConfigDedicated->initialDownlinkBWP->pdsch_Config->choice.setup->prb_BundlingType.present = NR_PDSCH_Config__prb_BundlingType_PR_staticBundling; @@ -605,43 +605,7 @@ void fill_default_secondaryCellGroup(NR_ServingCellConfigCommon_t *servingcellco bwp->bwp_Dedicated->pdsch_Config->choice.setup->rateMatchPatternGroup1=NULL; bwp->bwp_Dedicated->pdsch_Config->choice.setup->rateMatchPatternGroup2=NULL; bwp->bwp_Dedicated->pdsch_Config->choice.setup->rbg_Size=NR_PDSCH_Config__rbg_Size_config1; - if (!get_softmodem_params()->use_256qam_table) { - bwp->bwp_Dedicated->pdsch_Config->choice.setup->mcs_Table=NULL; - } else { - bwp->bwp_Dedicated->pdsch_Config->choice.setup->mcs_Table = calloc(1, sizeof(*bwp->bwp_Dedicated->pdsch_Config->choice.setup->mcs_Table)); - *bwp->bwp_Dedicated->pdsch_Config->choice.setup->mcs_Table = NR_PDSCH_Config__mcs_Table_qam256; - } - bwp->bwp_Dedicated->pdsch_Config->choice.setup->maxNrofCodeWordsScheduledByDCI = calloc(1,sizeof(*bwp->bwp_Dedicated->pdsch_Config->choice.setup->maxNrofCodeWordsScheduledByDCI)); - *bwp->bwp_Dedicated->pdsch_Config->choice.setup->maxNrofCodeWordsScheduledByDCI = NR_PDSCH_Config__maxNrofCodeWordsScheduledByDCI_n1; - bwp->bwp_Dedicated->pdsch_Config->choice.setup->prb_BundlingType.present = NR_PDSCH_Config__prb_BundlingType_PR_staticBundling; - bwp->bwp_Dedicated->pdsch_Config->choice.setup->prb_BundlingType.choice.staticBundling = calloc(1,sizeof(*bwp->bwp_Dedicated->pdsch_Config->choice.setup->prb_BundlingType.choice.staticBundling)); - bwp->bwp_Dedicated->pdsch_Config->choice.setup->prb_BundlingType.choice.staticBundling->bundleSize = - calloc(1,sizeof(*bwp->bwp_Dedicated->pdsch_Config->choice.setup->prb_BundlingType.choice.staticBundling->bundleSize)); - *bwp->bwp_Dedicated->pdsch_Config->choice.setup->prb_BundlingType.choice.staticBundling->bundleSize = NR_PDSCH_Config__prb_BundlingType__staticBundling__bundleSize_wideband; - bwp->bwp_Dedicated->pdsch_Config->choice.setup->zp_CSI_RS_ResourceToAddModList=NULL; - bwp->bwp_Dedicated->pdsch_Config->choice.setup->zp_CSI_RS_ResourceToReleaseList=NULL; - bwp->bwp_Dedicated->pdsch_Config->choice.setup->aperiodic_ZP_CSI_RS_ResourceSetsToAddModList=NULL; - bwp->bwp_Dedicated->pdsch_Config->choice.setup->aperiodic_ZP_CSI_RS_ResourceSetsToReleaseList=NULL; - bwp->bwp_Dedicated->pdsch_Config->choice.setup->sp_ZP_CSI_RS_ResourceSetsToAddModList=NULL; - bwp->bwp_Dedicated->pdsch_Config->choice.setup->sp_ZP_CSI_RS_ResourceSetsToReleaseList=NULL; - bwp->bwp_Dedicated->pdsch_Config->choice.setup->p_ZP_CSI_RS_ResourceSet=NULL; - - bwp->bwp_Dedicated->pdsch_Config->choice.setup->tci_StatesToReleaseList=NULL; - bwp->bwp_Dedicated->pdsch_Config->choice.setup->vrb_ToPRB_Interleaver=NULL; - bwp->bwp_Dedicated->pdsch_Config->choice.setup->resourceAllocation=NR_PDSCH_Config__resourceAllocation_resourceAllocationType1; - bwp->bwp_Dedicated->pdsch_Config->choice.setup->pdsch_TimeDomainAllocationList=NULL; - bwp->bwp_Dedicated->pdsch_Config->choice.setup->pdsch_AggregationFactor=NULL; - bwp->bwp_Dedicated->pdsch_Config->choice.setup->rateMatchPatternToAddModList=NULL; - bwp->bwp_Dedicated->pdsch_Config->choice.setup->rateMatchPatternToReleaseList=NULL; - bwp->bwp_Dedicated->pdsch_Config->choice.setup->rateMatchPatternGroup1=NULL; - bwp->bwp_Dedicated->pdsch_Config->choice.setup->rateMatchPatternGroup2=NULL; - bwp->bwp_Dedicated->pdsch_Config->choice.setup->rbg_Size=NR_PDSCH_Config__rbg_Size_config1; - if (!get_softmodem_params()->use_256qam_table) { - bwp->bwp_Dedicated->pdsch_Config->choice.setup->mcs_Table=NULL; - } else { - bwp->bwp_Dedicated->pdsch_Config->choice.setup->mcs_Table = calloc(1, sizeof(*bwp->bwp_Dedicated->pdsch_Config->choice.setup->mcs_Table)); - *bwp->bwp_Dedicated->pdsch_Config->choice.setup->mcs_Table = NR_PDSCH_Config__mcs_Table_qam256; - } + set_dl_mcs_table(bwp->bwp_Common->genericParameters.subcarrierSpacing, uecap, bwp->bwp_Dedicated, servingcellconfigcommon); bwp->bwp_Dedicated->pdsch_Config->choice.setup->maxNrofCodeWordsScheduledByDCI = calloc(1,sizeof(*bwp->bwp_Dedicated->pdsch_Config->choice.setup->maxNrofCodeWordsScheduledByDCI)); *bwp->bwp_Dedicated->pdsch_Config->choice.setup->maxNrofCodeWordsScheduledByDCI = NR_PDSCH_Config__maxNrofCodeWordsScheduledByDCI_n1; bwp->bwp_Dedicated->pdsch_Config->choice.setup->prb_BundlingType.present = NR_PDSCH_Config__prb_BundlingType_PR_staticBundling; @@ -744,8 +708,8 @@ void fill_default_secondaryCellGroup(NR_ServingCellConfigCommon_t *servingcellco pusch_Config->pusch_TimeDomainAllocationList = NULL; pusch_Config->pusch_AggregationFactor=NULL; pusch_Config->mcs_Table=NULL; - pusch_Config->mcs_TableTransformPrecoder=NULL; pusch_Config->transformPrecoder= NULL; + pusch_Config->mcs_TableTransformPrecoder=NULL; /* if msg3_transformprecoding is set in conf file - pusch config should not disable it */ if (servingcellconfigcommon->uplinkConfigCommon->initialUplinkBWP->rach_ConfigCommon->choice.setup->msg3_transformPrecoder == NULL) { pusch_Config->transformPrecoder=calloc(1,sizeof(*pusch_Config->transformPrecoder)); @@ -1324,6 +1288,7 @@ void fill_default_reconfig(NR_ServingCellConfigCommon_t *servingcellconfigcommon NR_ServingCellConfig_t *servingcellconfigdedicated, NR_RRCReconfiguration_IEs_t *reconfig, NR_CellGroupConfig_t *secondaryCellGroup, + NR_UE_NR_Capability_t *uecap, int dl_antenna_ports, int minRXTXTIME, int do_csirs, @@ -1338,6 +1303,7 @@ void fill_default_reconfig(NR_ServingCellConfigCommon_t *servingcellconfigcommon fill_default_secondaryCellGroup(servingcellconfigcommon, servingcellconfigdedicated, secondaryCellGroup, + uecap, 1, 1, dl_antenna_ports, diff --git a/openair2/UTIL/FIFO/pad_list.c b/openair2/UTIL/FIFO/pad_list.c deleted file mode 100644 index 124893a756c5c9533378f34af8e56a64235209d4..0000000000000000000000000000000000000000 --- a/openair2/UTIL/FIFO/pad_list.c +++ /dev/null @@ -1,607 +0,0 @@ -/* - * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The OpenAirInterface Software Alliance licenses this file to You under - * the OAI Public License, Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.openairinterface.org/?page_id=698 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - *------------------------------------------------------------------------------- - * For more information about the OpenAirInterface (OAI) Software Alliance: - * contact@openairinterface.org - */ - -/*! \file pad_list.c -* \brief list management primimtives -* \author Mohamed Said MOSLI BOUKSIAA, Lionel GAUTHIER, Navid Nikaein -* \date 2012 - 2014 -* \version 0.5 -* @ingroup util -*/ -//#define LIST_C -//#define NULL 0 - -#include <stdio.h> -#include <stdlib.h> -#include "pad_list.h" -//#include <mpi.h> - - -void job_list_init (Job_List_t *listP) { - listP->tail = NULL; - listP->head = NULL; - listP->nb_elements = 0; -} - -void event_list_init (Event_List_t *listP) { - listP->tail = NULL; - listP->head = NULL; - listP->nb_elements = 0; -} - -void pkt_list_init (Packet_OTG_List_t *listP) { - listP->tail = NULL; - listP->head = NULL; - listP->nb_elements = 0; -} - -//----------------------------------------------------------------------------- - -void job_list_free (Job_List_t *listP) { - Job_elt_t *le; - - while ((le = job_list_remove_head (listP))) { - free(le); - } -} - -void event_list_free (Event_List_t *listP) { - Event_elt_t *le; - - while ((le = event_list_remove_head (listP))) { - free(le); - } -} - -void pkt_list_free (Packet_OTG_List_t *listP) { - Packet_otg_elt_t *le; - - while ((le = pkt_list_remove_head (listP))) { - free(le); - } -} - -//----------------------------------------------------------------------------- - -Job_elt_t *job_list_get_head (Job_List_t *listP) { - return listP->head; -} - -Event_elt_t *event_list_get_head (Event_List_t *listP) { - return listP->head; -} - -Packet_otg_elt_t *pkt_list_get_head (Packet_OTG_List_t *listP) { - return listP->head; -} - -//----------------------------------------------------------------------------- - -/* - * remove an element from head of a list - * @param pointer on targeted list - * @return pointer on removed Job_elt_t - */ -Job_elt_t *job_list_remove_head (Job_List_t *listP) { - // access optimisation - Job_elt_t *head; - head = listP->head; - - // almost one element - if (head != NULL) { - listP->head = head->next; - listP->nb_elements = listP->nb_elements - 1; - - // if only one element, update tail - if (listP->head == NULL) { - listP->tail = NULL; - } else { - head->next = NULL; - } - } else { - //msg("[MEM_MGT][WARNING] remove_head_from_list(%s) no elements\n",listP->name); - } - - return head; -} - -Event_elt_t *event_list_remove_head (Event_List_t *listP) { - // access optimisation - Event_elt_t *head; - head = listP->head; - - // almost one element - if (head != NULL) { - listP->head = head->next; - listP->nb_elements = listP->nb_elements - 1; - - // if only one element, update tail - if (listP->head == NULL) { - listP->tail = NULL; - } else { - head->next = NULL; - } - } else { - //msg("[MEM_MGT][WARNING] remove_head_from_list(%s) no elements\n",listP->name); - } - - return head; -} - -Packet_otg_elt_t *pkt_list_remove_head (Packet_OTG_List_t *listP) { - // access optimisation - Packet_otg_elt_t *head; - head = listP->head; - - // almost one element - if (head != NULL) { - listP->head = head->next; - listP->nb_elements = listP->nb_elements - 1; - - // if only one element, update tail - if (listP->head == NULL) { - listP->tail = NULL; - } else { - head->next = NULL; - } - } else { - //msg("[MEM_MGT][WARNING] remove_head_from_list(%s) no elements\n",listP->name); - } - - return head; -} - -//----------------------------------------------------------------------------- - -Job_elt_t *job_list_remove_element (Job_elt_t *elementP, Job_List_t *listP) { - // access optimisation; - Job_elt_t *head; - - if (elementP != NULL) { - // test head - head = listP->head; - - if (listP->head == elementP) { - // almost one element - if (head != NULL) { - listP->head = head->next; - listP->nb_elements = listP->nb_elements - 1; - - // if only one element, update tail - if (listP->head == NULL) { - listP->tail = NULL; - } else { - head->next = NULL; - } - } - } else { - while (head) { - if (head->next == elementP) { - head->next = elementP->next; - listP->nb_elements = listP->nb_elements - 1; - - if (listP->tail == elementP) { - listP->tail = head; - } - - return elementP; - } else { - head = head->next; - } - } - } - } - - return elementP; -} - -Event_elt_t *event_list_remove_element (Event_elt_t *elementP, Event_List_t *listP) { - // access optimisation; - Event_elt_t *head; - - if (elementP != NULL) { - // test head - head = listP->head; - - if (listP->head == elementP) { - // almost one element - if (head != NULL) { - listP->head = head->next; - listP->nb_elements = listP->nb_elements - 1; - - // if only one element, update tail - if (listP->head == NULL) { - listP->tail = NULL; - } else { - head->next = NULL; - } - } - } else { - while (head) { - if (head->next == elementP) { - head->next = elementP->next; - listP->nb_elements = listP->nb_elements - 1; - - if (listP->tail == elementP) { - listP->tail = head; - } - - return elementP; - } else { - head = head->next; - } - } - } - } - - return elementP; -} - -Packet_otg_elt_t *pkt_list_remove_element (Packet_otg_elt_t *elementP, Packet_OTG_List_t *listP) { - // access optimisation; - Packet_otg_elt_t *head; - - if (elementP != NULL) { - // test head - head = listP->head; - - if (listP->head == elementP) { - // almost one element - if (head != NULL) { - listP->head = head->next; - listP->nb_elements = listP->nb_elements - 1; - - // if only one element, update tail - if (listP->head == NULL) { - listP->tail = NULL; - } else { - head->next = NULL; - } - } - } else { - while (head) { - if (head->next == elementP) { - head->next = elementP->next; - listP->nb_elements = listP->nb_elements - 1; - - if (listP->tail == elementP) { - listP->tail = head; - } - - return elementP; - } else { - head = head->next; - } - } - } - } - - return elementP; -} - -//----------------------------------------------------------------------------- -/* - * add an element to the beginning of a list - * @param pointer on targeted list - * @return pointer on removed Job_elt_t - */ - -void job_list_add_head (Job_elt_t *elementP, Job_List_t *listP) { - // access optimisation; - Job_elt_t *head; - - if (elementP != NULL) { - head = listP->head; - listP->nb_elements = listP->nb_elements + 1; - - // almost one element - if (head == NULL) { - listP->head = elementP; - listP->tail = elementP; - } else { - elementP->next = head; - listP->head = elementP; - } - } -} - -void event_list_add_head (Event_elt_t *elementP, Event_List_t *listP) { - // access optimisation; - Event_elt_t *head; - - if (elementP != NULL) { - head = listP->head; - listP->nb_elements = listP->nb_elements + 1; - - // almost one element - if (head == NULL) { - listP->head = elementP; - listP->tail = elementP; - } else { - elementP->next = head; - listP->head = elementP; - } - } -} - -void pkt_list_add_head (Packet_otg_elt_t *elementP, Packet_OTG_List_t *listP) { - // access optimisation; - Packet_otg_elt_t *head; - - if (elementP != NULL) { - head = listP->head; - listP->nb_elements = listP->nb_elements + 1; - - // almost one element - if (head == NULL) { - listP->head = elementP; - listP->tail = elementP; - } else { - elementP->next = head; - listP->head = elementP; - } - } -} - -void event_list_add_element (Event_elt_t *elementP, Event_elt_t *previous, Event_List_t *listP) { - // access optimisation; - Event_elt_t *next; - - if (elementP != NULL && previous != NULL) { - elementP->next = NULL; - next = previous->next; - listP->nb_elements = listP->nb_elements + 1; - - // almost one element - if (next == NULL) { - previous->next = elementP; - listP->tail = elementP; - } else { - elementP->next = previous->next; - previous->next = elementP; - } - } -} - - -//----------------------------------------------------------------------------- -/* - * add an element to the end of a list - * @param pointer on targeted list - * @return pointer on removed Job_elt_t - */ -void job_list_add_tail_eurecom (Job_elt_t *elementP, Job_List_t *listP) { - Job_elt_t *tail; - - if (elementP != NULL) { - // access optimisation - listP->nb_elements = listP->nb_elements + 1; - elementP->next = NULL; - tail = listP->tail; - - // almost one element - if (tail == NULL) { - listP->head = elementP; - } else { - tail->next = elementP; - } - - listP->tail = elementP; - } else { - //msg("[CNT_LIST][ERROR] add_cnt_tail() element NULL\n"); - } -} - -void event_list_add_tail_eurecom (Event_elt_t *elementP, Event_List_t *listP) { - Event_elt_t *tail; - - if (elementP != NULL) { - // access optimisation - listP->nb_elements = listP->nb_elements + 1; - elementP->next = NULL; - tail = listP->tail; - - // almost one element - if (tail == NULL) { - listP->head = elementP; - } else { - tail->next = elementP; - } - - listP->tail = elementP; - } else { - //msg("[CNT_LIST][ERROR] add_cnt_tail() element NULL\n"); - } -} - -void pkt_list_add_tail_eurecom (Packet_otg_elt_t *elementP, Packet_OTG_List_t *listP) { - Packet_otg_elt_t *tail; - - if (elementP != NULL) { - // access optimisation - listP->nb_elements = listP->nb_elements + 1; - elementP->next = NULL; - tail = listP->tail; - - // almost one element - if (tail == NULL) { - listP->head = elementP; - } else { - tail->next = elementP; - } - - listP->tail = elementP; - } else { - //msg("[CNT_LIST][ERROR] add_cnt_tail() element NULL\n"); - } -} - -//----------------------------------------------------------------------------- -void job_list_add_list (Job_List_t *sublistP, Job_List_t *listP) { - if (sublistP) { - if (sublistP->head) { - // access optimisation - Job_elt_t *tail; - tail = listP->tail; - - // almost one element - if (tail == NULL) { - listP->head = sublistP->head; - } else { - tail->next = sublistP->head; - } - - listP->tail = sublistP->tail; - // clear sublist - sublistP->head = NULL; - sublistP->tail = NULL; - listP->nb_elements = listP->nb_elements + sublistP->nb_elements; - sublistP->nb_elements = 0; - } - } -} - -void event_list_add_list (Event_List_t *sublistP, Event_List_t *listP) { - if (sublistP) { - if (sublistP->head) { - // access optimisation - Event_elt_t *tail; - tail = listP->tail; - - // almost one element - if (tail == NULL) { - listP->head = sublistP->head; - } else { - tail->next = sublistP->head; - } - - listP->tail = sublistP->tail; - // clear sublist - sublistP->head = NULL; - sublistP->tail = NULL; - listP->nb_elements = listP->nb_elements + sublistP->nb_elements; - sublistP->nb_elements = 0; - } - } -} - -void pkt_list_add_list (Packet_OTG_List_t *sublistP, Packet_OTG_List_t *listP) { - if (sublistP) { - if (sublistP->head) { - // access optimisation - Packet_otg_elt_t *tail; - tail = listP->tail; - - // almost one element - if (tail == NULL) { - listP->head = sublistP->head; - } else { - tail->next = sublistP->head; - } - - listP->tail = sublistP->tail; - // clear sublist - sublistP->head = NULL; - sublistP->tail = NULL; - listP->nb_elements = listP->nb_elements + sublistP->nb_elements; - sublistP->nb_elements = 0; - } - } -} - -//----------------------------------------------------------------------------- -void job_list_display (Job_List_t *listP) { - //Correct the output once the content of struct Job is fixed - /*Job_elt_t *cursor; - unsigned short nb_elements = 0; - - if (listP) { - cursor = listP->head; - if (cursor) { - while (cursor != NULL) { - if (cursor->job.type == eNB_DL) - printf ("DL eNB From (%d,%d)\n", (cursor->job).nid, (cursor->job).mid); - else if (cursor->job.type == UE_DL) - printf ("DL UE From (%d,%d)\n", (cursor->job).nid, (cursor->job).mid); - else if (cursor->job.type == UE_UL) - printf ("UL UE From (%d,%d)\n", (cursor->job).nid, (cursor->job).mid); - else if (cursor->job.type == eNB_UL) - printf ("UL eNB From (%d,%d)\n", (cursor->job).nid, (cursor->job).mid); - //msg ("From (%d,%d) To (%d,%d)\n", (cursor->job).node1, (cursor->job).master1, (cursor->job).node2, (cursor->job).master2); - cursor = cursor->next; - nb_elements++; - } - printf ("Found nb_elements %d nb_elements %d\n", nb_elements, listP->nb_elements); - //msg ("Found nb_elements %d nb_elements %d\n", nb_elements, listP->nb_elements); - } - } else { - printf ("[SDU_MNGT][WARNING] display_cnt_dbl_lk_list_up() : list is NULL\n"); - //msg ("[SDU_MNGT][WARNING] display_cnt_dbl_lk_list_up() : list is NULL\n"); - }*/ -} - -void event_list_display (Event_List_t *listP) { - Event_elt_t *cursor; - unsigned short nb_elements = 0; - - if (listP) { - cursor = listP->head; - - if (cursor) { - while (cursor != NULL) { - printf ("Ev (%d,%d)\n", (cursor->event).type, (cursor->event).frame); - //msg ("From (%d,%d) To (%d,%d)\n", (cursor->job).node1, (cursor->job).master1, (cursor->job).node2, (cursor->job).master2); - cursor = cursor->next; - nb_elements++; - } - - printf ("Found nb_elements %d nb_elements %d\n", nb_elements, listP->nb_elements); - //msg ("Found nb_elements %d nb_elements %d\n", nb_elements, listP->nb_elements); - } - } else { - printf ("[SDU_MNGT][WARNING] display_cnt_dbl_lk_list_up() : list is NULL\n"); - //msg ("[SDU_MNGT][WARNING] display_cnt_dbl_lk_list_up() : list is NULL\n"); - } -} - -void pkt_list_display (Packet_OTG_List_t *listP) { - Packet_otg_elt_t *cursor; - unsigned short nb_elements = 0; - - if (listP) { - cursor = listP->head; - - if (cursor) { - while (cursor != NULL) { - printf ("Pkt (DST %d, RB %ld)\n", (cursor->otg_pkt).dst_id, (cursor->otg_pkt).rb_id); - //msg ("From (%d,%d) To (%d,%d)\n", (cursor->job).node1, (cursor->job).master1, (cursor->job).node2, (cursor->job).master2); - cursor = cursor->next; - nb_elements++; - } - - printf ("Found nb_elements %d nb_elements %d\n", nb_elements, listP->nb_elements); - //msg ("Found nb_elements %d nb_elements %d\n", nb_elements, listP->nb_elements); - } - } else { - printf ("[SDU_MNGT][WARNING] display_cnt_dbl_lk_list_up() : list is NULL\n"); - //msg ("[SDU_MNGT][WARNING] display_cnt_dbl_lk_list_up() : list is NULL\n"); - } -} diff --git a/openair2/UTIL/FIFO/pad_list.h b/openair2/UTIL/FIFO/pad_list.h deleted file mode 100644 index 2a9ef9893f09512f3b867773cfbc54978c0dad0d..0000000000000000000000000000000000000000 --- a/openair2/UTIL/FIFO/pad_list.h +++ /dev/null @@ -1,87 +0,0 @@ -/* - * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The OpenAirInterface Software Alliance licenses this file to You under - * the OAI Public License, Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.openairinterface.org/?page_id=698 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - *------------------------------------------------------------------------------- - * For more information about the OpenAirInterface (OAI) Software Alliance: - * contact@openairinterface.org - */ - -/*! \file pad_list.c -* \brief list management primimtives -* \author Mohamed Said MOSLI BOUKSIAA, Lionel GAUTHIER, Navid Nikaein -* \date 2012 - 2014 -* \version 0.5 -* @ingroup util -*/ - -#ifndef __list_H__ -#define __list_H__ - -#include "types.h" -//----------------------------------------------------------------------------- - -typedef struct Job_List_s { - Job_elt_t *head; - Job_elt_t *tail; - int nb_elements; -} Job_List_t; - -typedef struct Event_List_s { - Event_elt_t *head; - Event_elt_t *tail; - int nb_elements; -} Event_List_t; - -typedef struct Packet_OTG_List_s { - Packet_otg_elt_t *head; - Packet_otg_elt_t *tail; - int nb_elements; -} Packet_OTG_List_t; - -//----------------------------------------------------------------------------- -void job_list_init (Job_List_t*); -void job_list_free (Job_List_t* listP); -Job_elt_t* job_list_get_head (Job_List_t*); -Job_elt_t* job_list_remove_head (Job_List_t* ); -Job_elt_t* job_list_remove_element (Job_elt_t*, Job_List_t*); -void job_list_add_head (Job_elt_t* , Job_List_t* ); -void job_list_add_tail_eurecom (Job_elt_t* , Job_List_t* ); -void job_list_add_list (Job_List_t* , Job_List_t* ); -void job_list_display (Job_List_t* ); - -void event_list_init (Event_List_t*); -void event_list_free (Event_List_t* listP); -Event_elt_t* event_list_get_head (Event_List_t*); -Event_elt_t* event_list_remove_head (Event_List_t* ); -Event_elt_t* event_list_remove_element (Event_elt_t*, Event_List_t*); -void event_list_add_head (Event_elt_t* , Event_List_t* ); -void event_list_add_element (Event_elt_t* , Event_elt_t* , Event_List_t* ); -void event_list_add_tail_eurecom (Event_elt_t* , Event_List_t* ); -void event_list_add_list (Event_List_t* , Event_List_t* ); -void event_list_display (Event_List_t* ); - -void pkt_list_init (Packet_OTG_List_t*); -void pkt_list_free (Packet_OTG_List_t* listP); -Packet_otg_elt_t* pkt_list_get_head (Packet_OTG_List_t*); -Packet_otg_elt_t* pkt_list_remove_head (Packet_OTG_List_t* ); -Packet_otg_elt_t* pkt_list_remove_element (Packet_otg_elt_t*, Packet_OTG_List_t*); -void pkt_list_add_head (Packet_otg_elt_t* , Packet_OTG_List_t* ); -void pkt_list_add_element (Packet_otg_elt_t* , Packet_otg_elt_t* , Packet_OTG_List_t* ); -void pkt_list_add_tail_eurecom (Packet_otg_elt_t* , Packet_OTG_List_t* ); -void pkt_list_add_list (Packet_OTG_List_t* , Packet_OTG_List_t* ); -void pkt_list_display (Packet_OTG_List_t* ); - -#endif diff --git a/openair2/UTIL/FIFO/types.h b/openair2/UTIL/FIFO/types.h deleted file mode 100644 index f949b2b72b97407ebee9e563ce216aa4d322aff5..0000000000000000000000000000000000000000 --- a/openair2/UTIL/FIFO/types.h +++ /dev/null @@ -1,127 +0,0 @@ -/* - * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The OpenAirInterface Software Alliance licenses this file to You under - * the OAI Public License, Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.openairinterface.org/?page_id=698 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - *------------------------------------------------------------------------------- - * For more information about the OpenAirInterface (OAI) Software Alliance: - * contact@openairinterface.org - */ - -/*! \file pad_list.c -* \brief list management primimtives -* \author Mohamed Said MOSLI BOUKSIAA, Lionel GAUTHIER, Navid Nikaein -* \date 2012 - 2014 -* \version 0.5 -* @ingroup util -*/ - -#ifndef __FIFO_TYPES_H__ -#define __FIFO_TYPES_H__ -#include "platform_types.h" - -/* Types regrouping both user-defined and regular events */ -typedef enum { - MIN_ET=0, - OAI_ET=MIN_ET, // config events - SYS_ET, - TOPO_ET, - APP_ET, - EMU_ET, - DL_ET, // frame events - UL_ET, - S_ET, - PHY_ET, // protocol events - MAC_ET, - RLC_ET, - PDCP_ET, - RRC_ET, - MAX_ET -} Event_Type_t; - -/* decomposition of node functions into jobs for a given event */ -typedef enum Job_type_e { JT_OTG, JT_PDCP, JT_PHY_MAC, JT_INIT_SYNC, JT_DL, JT_UL, RN_DL, RN_UL, JT_END} Job_Type_t; - -typedef enum Operation_Type_e { READ, WRITE, RESET} Operation_Type_t; - -typedef struct Job_s { - enum Job_type_e type; - int exe_time; /* execution time at the worker*/ - int nid; /* node id*/ - eNB_flag_t eNB_flag; - frame_t frame; - int last_slot; - int next_slot; - int ctime; -} Job_t; - -typedef struct Signal_buffers_s { // (s = transmit, r,r0 = receive) - double **s_re; - double **s_im; - double **r_re; - double **r_im; - double **r_re0; - double **r_im0; -} Signal_buffers_t; - -/*!\brief sybframe type : DL, UL, SF, */ - -typedef struct Packet_otg_s { - unsigned int sdu_buffer_size; - unsigned char *sdu_buffer; - module_id_t module_id; - rb_id_t rb_id; - module_id_t dst_id; - boolean_t is_ue; - pdcp_transmission_mode_t mode; -} Packet_otg_t; - -typedef struct { - Event_Type_t type; - enum Operation_Type_e optype; //op - char *key; - void *value; - frame_t frame; - int ue; - int lcid; -} Event_t; - -/*typedef struct Global_Time { - uint32_t frame; - int32_t slot; - int32_t last_slot; - int32_t next_slot; - double time_s; - double time_ms; -};*/ - - - -typedef struct Packet_otg_elt_s { - struct Packet_otg_elt_s *next; - struct Packet_otg_elt_s *previous; - Packet_otg_t otg_pkt; -} Packet_otg_elt_t; - -typedef struct Job_element_s { - struct Job_element_s *next; - Job_t job; -} Job_elt_t; - -typedef struct Event_element_s { - struct Event_element_s *next; - struct Event_element_s *previous; - Event_t event; -} Event_elt_t; -#endif diff --git a/openair3/TEST/EPC_TEST/TEST_1MME_1ENB_1UE_ATTACH_GUTI/attach_complete.pdml b/openair3/TEST/EPC_TEST/TEST_1MME_1ENB_1UE_ATTACH_GUTI/attach_complete.pdml deleted file mode 100644 index f7c27272aab199fceddadcd71d16f0cf09105d2f..0000000000000000000000000000000000000000 --- a/openair3/TEST/EPC_TEST/TEST_1MME_1ENB_1UE_ATTACH_GUTI/attach_complete.pdml +++ /dev/null @@ -1,4242 +0,0 @@ -<?xml version="1.0" ?> -<?xml-stylesheet type="text/xsl" href="pdml2html.xsl"?> -<!-- You can find pdml2html.xsl in /usr/share/wireshark or at http://anonsvn.wireshark.org/trunk/wireshark/pdml2html.xsl. --> -<pdml capture_file="./attach_complete.pcapng" creator="wireshark/1.10.6" time="Mon Nov 2 09:22:48 2015" version="0"> - <packet> - <proto name="frame" pos="0" showname="Frame 9: 82 bytes on wire (656 bits), 82 bytes captured (656 bits) on interface 0" size="82"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:34:14.289149000" showname="Arrival Time: Sep 25, 2015 16:34:14.289149000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191654.289149000" showname="Epoch Time: 1443191654.289149000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="1.707367000" showname="Time delta from previous captured frame: 1.707367000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="1.707367000" showname="Time delta from previous displayed frame: 1.707367000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="7.823518000" showname="Time since reference or first frame: 7.823518000 seconds" size="0"/> - <field name="frame.number" pos="0" show="9" showname="Frame Number: 9" size="0"/> - <field name="frame.len" pos="0" show="82" showname="Frame Length: 82 bytes (656 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="82" showname="Capture Length: 82 bytes (656 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ip:sctp" showname="Protocols in frame: eth:ip:sctp" size="0"/> - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.213 (192.168.12.213), Dst: 192.168.12.17 (192.168.12.17)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0x00" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="0x02" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="68" showname="Total Length: 68" size="2" value="0044"/> - <field name="ip.id" pos="18" show="0x0000" showname="Identification: 0x0000 (0)" size="2" value="0000"/> - <field name="ip.flags" pos="20" show="0x02" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="0x9ffd" showname="Header checksum: 0x9ffd [validation disabled]" size="2" value="9ffd"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="9ffd"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="9ffd"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.213" showname="Source: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.213" showname="Source Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="ip.dst" pos="30" show="192.168.12.17" showname="Destination: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.17" showname="Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80cd5"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80c11"/> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: s1-control (36412), Dst Port: s1-control (36412)" size="48"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="0x00000000" showname="Verification tag: 0x00000000" size="4" value="00000000"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="0xbbfe6088" showname="Checksum: 0xbbfe6088 (not verified)" size="4" value="bbfe6088"/> - <field name="" pos="46" show="INIT chunk (Outbound streams: 2, inbound streams: 2)" size="36" value="0100002454f837ab0001a00000020002c4fbb8d7000c00060005000080000004c0000004"> - <field name="sctp.chunk_type" pos="46" show="1" showname="Chunk type: INIT (1)" size="1" value="01"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="01" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="01" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0x00" showname="Chunk flags: 0x00" size="1" value="00"/> - <field name="sctp.chunk_length" pos="48" show="36" showname="Chunk length: 36" size="2" value="0024"/> - <field name="sctp.init_initiate_tag" pos="50" show="0x54f837ab" showname="Initiate tag: 0x54f837ab" size="4" value="54f837ab"/> - <field hide="yes" name="sctp.initiate_tag" pos="50" show="0x54f837ab" showname="Initiate tag: 0x54f837ab" size="4" value="54f837ab"/> - <field name="sctp.init_credit" pos="54" show="106496" showname="Advertised receiver window credit (a_rwnd): 106496" size="4" value="0001a000"/> - <field name="sctp.init_nr_out_streams" pos="58" show="2" showname="Number of outbound streams: 2" size="2" value="0002"/> - <field name="sctp.init_nr_in_streams" pos="60" show="2" showname="Number of inbound streams: 2" size="2" value="0002"/> - <field name="sctp.init_initial_tsn" pos="62" show="3304831191" showname="Initial TSN: 3304831191" size="4" value="c4fbb8d7"/> - <field name="" pos="66" show="Supported address types parameter (Supported types: IPv4)" size="8" value="000c000600050000"> - <field name="sctp.parameter_type" pos="66" show="0x000c" showname="Parameter type: Supported address types (0x000c)" size="2" value="000c"> - <field name="sctp.parameter_bit_1" pos="66" show="0" showname="0... .... .... .... = Bit: Stop processing of chunk" size="2" unmaskedvalue="000c" value="0"/> - <field name="sctp.parameter_bit_2" pos="66" show="0" showname=".0.. .... .... .... = Bit: Do not report" size="2" unmaskedvalue="000c" value="0"/> - </field> - <field name="sctp.parameter_length" pos="68" show="6" showname="Parameter length: 6" size="2" value="0006"/> - <field name="sctp.parameter_supported_addres_type" pos="70" show="5" showname="Supported address type: IPv4 address (5)" size="2" value="0005"/> - <field name="sctp.parameter_padding" pos="72" show="00:00" showname="Parameter padding: 0000" size="2" value="0000"/> - </field> - <field name="" pos="74" show="ECN parameter" size="4" value="80000004"> - <field name="sctp.parameter_type" pos="74" show="0x8000" showname="Parameter type: ECN (0x8000)" size="2" value="8000"> - <field name="sctp.parameter_bit_1" pos="74" show="1" showname="1... .... .... .... = Bit: Skip parameter and continue processing of the chunk" size="2" unmaskedvalue="8000" value="1"/> - <field name="sctp.parameter_bit_2" pos="74" show="0" showname=".0.. .... .... .... = Bit: Do not report" size="2" unmaskedvalue="8000" value="0"/> - </field> - <field name="sctp.parameter_length" pos="76" show="4" showname="Parameter length: 4" size="2" value="0004"/> - </field> - <field name="" pos="78" show="Forward TSN supported parameter" size="4" value="c0000004"> - <field name="sctp.parameter_type" pos="78" show="0xc000" showname="Parameter type: Forward TSN supported (0xc000)" size="2" value="c000"> - <field name="sctp.parameter_bit_1" pos="78" show="1" showname="1... .... .... .... = Bit: Skip parameter and continue processing of the chunk" size="2" unmaskedvalue="c000" value="1"/> - <field name="sctp.parameter_bit_2" pos="78" show="1" showname=".1.. .... .... .... = Bit: Do report" size="2" unmaskedvalue="c000" value="1"/> - </field> - <field name="sctp.parameter_length" pos="80" show="4" showname="Parameter length: 4" size="2" value="0004"/> - </field> - </field> - </proto> - </proto> - </proto> - </packet> - <packet> - <proto name="frame" pos="0" showname="Frame 10: 306 bytes on wire (2448 bits), 306 bytes captured (2448 bits) on interface 0" size="306"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:34:14.289229000" showname="Arrival Time: Sep 25, 2015 16:34:14.289229000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191654.289229000" showname="Epoch Time: 1443191654.289229000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.000080000" showname="Time delta from previous captured frame: 0.000080000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.000080000" showname="Time delta from previous displayed frame: 0.000080000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="7.823598000" showname="Time since reference or first frame: 7.823598000 seconds" size="0"/> - <field name="frame.number" pos="0" show="10" showname="Frame Number: 10" size="0"/> - <field name="frame.len" pos="0" show="306" showname="Frame Length: 306 bytes (2448 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="306" showname="Capture Length: 306 bytes (2448 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ip:sctp" showname="Protocols in frame: eth:ip:sctp" size="0"/> - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.17 (192.168.12.17), Dst: 192.168.12.213 (192.168.12.213)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0x00" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="0x02" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="292" showname="Total Length: 292" size="2" value="0124"/> - <field name="ip.id" pos="18" show="0x0000" showname="Identification: 0x0000 (0)" size="2" value="0000"/> - <field name="ip.flags" pos="20" show="0x02" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="0x9f1d" showname="Header checksum: 0x9f1d [validation disabled]" size="2" value="9f1d"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="9f1d"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="9f1d"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.17" showname="Source: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.17" showname="Source Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="ip.dst" pos="30" show="192.168.12.213" showname="Destination: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.213" showname="Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80c11"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80cd5"/> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: s1-control (36412), Dst Port: s1-control (36412)" size="272"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="0x54f837ab" showname="Verification tag: 0x54f837ab" size="4" value="54f837ab"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="0xcf674bda" showname="Checksum: 0xcf674bda (not verified)" size="4" value="cf674bda"/> - <field name="" pos="46" show="INIT_ACK chunk (Outbound streams: 2, inbound streams: 2)" size="260" value="020001044cd1eca00001a0000002000277b42707000700e8d2e400842319c2ee3bf2eb94dff99192604ab35900000000000000000000000000000000a0ecd14cab37f85400000000000000000d425e07780c0000020002000727b47702008e3cc0a80cd500000000000000000000000000000000000000003c8e01000000000080020024efa851c90c104714b66409dff40a9f2d30a6e0b1be975e2eb1ee7d28f5b61aa90000000000000000000000000000000000000000000000000000000000000000000000000100002454f837ab0001a00000020002c4fbb8d7000c00060005000080000004c00000040000000000000000000000000000000080000004c0000004"> - <field name="sctp.chunk_type" pos="46" show="2" showname="Chunk type: INIT_ACK (2)" size="1" value="02"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="02" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="02" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0x00" showname="Chunk flags: 0x00" size="1" value="00"/> - <field name="sctp.chunk_length" pos="48" show="260" showname="Chunk length: 260" size="2" value="0104"/> - <field name="sctp.initack_initiate_tag" pos="50" show="0x4cd1eca0" showname="Initiate tag: 0x4cd1eca0" size="4" value="4cd1eca0"/> - <field hide="yes" name="sctp.initiate_tag" pos="50" show="0x4cd1eca0" showname="Initiate tag: 0x4cd1eca0" size="4" value="4cd1eca0"/> - <field name="sctp.initack_credit" pos="54" show="106496" showname="Advertised receiver window credit (a_rwnd): 106496" size="4" value="0001a000"/> - <field name="sctp.initack_nr_out_streams" pos="58" show="2" showname="Number of outbound streams: 2" size="2" value="0002"/> - <field name="sctp.initack_nr_in_streams" pos="60" show="2" showname="Number of inbound streams: 2" size="2" value="0002"/> - <field name="sctp.initack_initial_tsn" pos="62" show="2008295175" showname="Initial TSN: 2008295175" size="4" value="77b42707"/> - <field name="" pos="66" show="State cookie parameter (Cookie length: 228 bytes)" size="232" value="000700e8d2e400842319c2ee3bf2eb94dff99192604ab35900000000000000000000000000000000a0ecd14cab37f85400000000000000000d425e07780c0000020002000727b47702008e3cc0a80cd500000000000000000000000000000000000000003c8e01000000000080020024efa851c90c104714b66409dff40a9f2d30a6e0b1be975e2eb1ee7d28f5b61aa90000000000000000000000000000000000000000000000000000000000000000000000000100002454f837ab0001a00000020002c4fbb8d7000c00060005000080000004c000000400000000000000000000000000000000"> - <field name="sctp.parameter_type" pos="66" show="0x0007" showname="Parameter type: State cookie (0x0007)" size="2" value="0007"> - <field name="sctp.parameter_bit_1" pos="66" show="0" showname="0... .... .... .... = Bit: Stop processing of chunk" size="2" unmaskedvalue="0007" value="0"/> - <field name="sctp.parameter_bit_2" pos="66" show="0" showname=".0.. .... .... .... = Bit: Do not report" size="2" unmaskedvalue="0007" value="0"/> - </field> - <field name="sctp.parameter_length" pos="68" show="232" showname="Parameter length: 232" size="2" value="00e8"/> - <field name="sctp.parameter_state_cookie" pos="70" show="d2:e4:00:84:23:19:c2:ee:3b:f2:eb:94:df:f9:91:92:60:4a:b3:59:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:a0:ec:d1:4c:ab:37:f8:54:00:00:00:00:00:00:00:00:0d:42:5e:07:78:0c:00:00:02:00:02:00:07:27:b4:77:02:00:8e:3c:c0:a8:0c:d5:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:3c:8e:01:00:00:00:00:00:80:02:00:24:ef:a8:51:c9:0c:10:47:14:b6:64:09:df:f4:0a:9f:2d:30:a6:e0:b1:be:97:5e:2e:b1:ee:7d:28:f5:b6:1a:a9:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:01:00:00:24:54:f8:37:ab:00:01:a0:00:00:02:00:02:c4:fb:b8:d7:00:0c:00:06:00:05:00:00:80:00:00:04:c0:00:00:04:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00" showname="State cookie: d2e400842319c2ee3bf2eb94dff99192604ab35900000000..." size="228" value="d2e400842319c2ee3bf2eb94dff99192604ab35900000000000000000000000000000000a0ecd14cab37f85400000000000000000d425e07780c0000020002000727b47702008e3cc0a80cd500000000000000000000000000000000000000003c8e01000000000080020024efa851c90c104714b66409dff40a9f2d30a6e0b1be975e2eb1ee7d28f5b61aa90000000000000000000000000000000000000000000000000000000000000000000000000100002454f837ab0001a00000020002c4fbb8d7000c00060005000080000004c000000400000000000000000000000000000000"/> - </field> - <field name="" pos="298" show="ECN parameter" size="4" value="80000004"> - <field name="sctp.parameter_type" pos="298" show="0x8000" showname="Parameter type: ECN (0x8000)" size="2" value="8000"> - <field name="sctp.parameter_bit_1" pos="298" show="1" showname="1... .... .... .... = Bit: Skip parameter and continue processing of the chunk" size="2" unmaskedvalue="8000" value="1"/> - <field name="sctp.parameter_bit_2" pos="298" show="0" showname=".0.. .... .... .... = Bit: Do not report" size="2" unmaskedvalue="8000" value="0"/> - </field> - <field name="sctp.parameter_length" pos="300" show="4" showname="Parameter length: 4" size="2" value="0004"/> - </field> - <field name="" pos="302" show="Forward TSN supported parameter" size="4" value="c0000004"> - <field name="sctp.parameter_type" pos="302" show="0xc000" showname="Parameter type: Forward TSN supported (0xc000)" size="2" value="c000"> - <field name="sctp.parameter_bit_1" pos="302" show="1" showname="1... .... .... .... = Bit: Skip parameter and continue processing of the chunk" size="2" unmaskedvalue="c000" value="1"/> - <field name="sctp.parameter_bit_2" pos="302" show="1" showname=".1.. .... .... .... = Bit: Do report" size="2" unmaskedvalue="c000" value="1"/> - </field> - <field name="sctp.parameter_length" pos="304" show="4" showname="Parameter length: 4" size="2" value="0004"/> - </field> - </field> - </proto> - </proto> - </proto> - </packet> - <packet> - <proto name="frame" pos="0" showname="Frame 11: 278 bytes on wire (2224 bits), 278 bytes captured (2224 bits) on interface 0" size="278"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:34:14.289649000" showname="Arrival Time: Sep 25, 2015 16:34:14.289649000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191654.289649000" showname="Epoch Time: 1443191654.289649000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.000420000" showname="Time delta from previous captured frame: 0.000420000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.000420000" showname="Time delta from previous displayed frame: 0.000420000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="7.824018000" showname="Time since reference or first frame: 7.824018000 seconds" size="0"/> - <field name="frame.number" pos="0" show="11" showname="Frame Number: 11" size="0"/> - <field name="frame.len" pos="0" show="278" showname="Frame Length: 278 bytes (2224 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="278" showname="Capture Length: 278 bytes (2224 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ip:sctp" showname="Protocols in frame: eth:ip:sctp" size="0"/> - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.213 (192.168.12.213), Dst: 192.168.12.17 (192.168.12.17)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0x00" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="0x02" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="264" showname="Total Length: 264" size="2" value="0108"/> - <field name="ip.id" pos="18" show="0x0000" showname="Identification: 0x0000 (0)" size="2" value="0000"/> - <field name="ip.flags" pos="20" show="0x02" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="0x9f39" showname="Header checksum: 0x9f39 [validation disabled]" size="2" value="9f39"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="9f39"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="9f39"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.213" showname="Source: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.213" showname="Source Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="ip.dst" pos="30" show="192.168.12.17" showname="Destination: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.17" showname="Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80cd5"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80c11"/> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: s1-control (36412), Dst Port: s1-control (36412)" size="244"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="0x4cd1eca0" showname="Verification tag: 0x4cd1eca0" size="4" value="4cd1eca0"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="0x4056ad0d" showname="Checksum: 0x4056ad0d (not verified)" size="4" value="4056ad0d"/> - <field name="" pos="46" show="COOKIE_ECHO chunk (Cookie length: 228 bytes)" size="232" value="0a0000e8d2e400842319c2ee3bf2eb94dff99192604ab35900000000000000000000000000000000a0ecd14cab37f85400000000000000000d425e07780c0000020002000727b47702008e3cc0a80cd500000000000000000000000000000000000000003c8e01000000000080020024efa851c90c104714b66409dff40a9f2d30a6e0b1be975e2eb1ee7d28f5b61aa90000000000000000000000000000000000000000000000000000000000000000000000000100002454f837ab0001a00000020002c4fbb8d7000c00060005000080000004c000000400000000000000000000000000000000"> - <field name="sctp.chunk_type" pos="46" show="10" showname="Chunk type: COOKIE_ECHO (10)" size="1" value="0a"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="0a" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="0a" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0x00" showname="Chunk flags: 0x00" size="1" value="00"/> - <field name="sctp.chunk_length" pos="48" show="232" showname="Chunk length: 232" size="2" value="00e8"/> - <field name="sctp.cookie" pos="50" show="d2:e4:00:84:23:19:c2:ee:3b:f2:eb:94:df:f9:91:92:60:4a:b3:59:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:a0:ec:d1:4c:ab:37:f8:54:00:00:00:00:00:00:00:00:0d:42:5e:07:78:0c:00:00:02:00:02:00:07:27:b4:77:02:00:8e:3c:c0:a8:0c:d5:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:3c:8e:01:00:00:00:00:00:80:02:00:24:ef:a8:51:c9:0c:10:47:14:b6:64:09:df:f4:0a:9f:2d:30:a6:e0:b1:be:97:5e:2e:b1:ee:7d:28:f5:b6:1a:a9:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:01:00:00:24:54:f8:37:ab:00:01:a0:00:00:02:00:02:c4:fb:b8:d7:00:0c:00:06:00:05:00:00:80:00:00:04:c0:00:00:04:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00" showname="Cookie: d2e400842319c2ee3bf2eb94dff99192604ab35900000000..." size="228" value="d2e400842319c2ee3bf2eb94dff99192604ab35900000000000000000000000000000000a0ecd14cab37f85400000000000000000d425e07780c0000020002000727b47702008e3cc0a80cd500000000000000000000000000000000000000003c8e01000000000080020024efa851c90c104714b66409dff40a9f2d30a6e0b1be975e2eb1ee7d28f5b61aa90000000000000000000000000000000000000000000000000000000000000000000000000100002454f837ab0001a00000020002c4fbb8d7000c00060005000080000004c000000400000000000000000000000000000000"/> - </field> - </proto> - </proto> - </proto> - </packet> - <packet> - <proto name="frame" pos="0" showname="Frame 12: 50 bytes on wire (400 bits), 50 bytes captured (400 bits) on interface 0" size="50"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:34:14.289704000" showname="Arrival Time: Sep 25, 2015 16:34:14.289704000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191654.289704000" showname="Epoch Time: 1443191654.289704000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.000055000" showname="Time delta from previous captured frame: 0.000055000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.000055000" showname="Time delta from previous displayed frame: 0.000055000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="7.824073000" showname="Time since reference or first frame: 7.824073000 seconds" size="0"/> - <field name="frame.number" pos="0" show="12" showname="Frame Number: 12" size="0"/> - <field name="frame.len" pos="0" show="50" showname="Frame Length: 50 bytes (400 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="50" showname="Capture Length: 50 bytes (400 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ip:sctp" showname="Protocols in frame: eth:ip:sctp" size="0"/> - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.17 (192.168.12.17), Dst: 192.168.12.213 (192.168.12.213)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0x00" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="0x02" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="36" showname="Total Length: 36" size="2" value="0024"/> - <field name="ip.id" pos="18" show="0x0000" showname="Identification: 0x0000 (0)" size="2" value="0000"/> - <field name="ip.flags" pos="20" show="0x02" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="0xa01d" showname="Header checksum: 0xa01d [validation disabled]" size="2" value="a01d"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="a01d"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="a01d"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.17" showname="Source: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.17" showname="Source Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="ip.dst" pos="30" show="192.168.12.213" showname="Destination: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.213" showname="Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80c11"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80cd5"/> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: s1-control (36412), Dst Port: s1-control (36412)" size="16"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="0x54f837ab" showname="Verification tag: 0x54f837ab" size="4" value="54f837ab"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="0x629de6e0" showname="Checksum: 0x629de6e0 (not verified)" size="4" value="629de6e0"/> - <field name="" pos="46" show="COOKIE_ACK chunk" size="4" value="0b000004"> - <field name="sctp.chunk_type" pos="46" show="11" showname="Chunk type: COOKIE_ACK (11)" size="1" value="0b"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="0b" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="0b" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0x00" showname="Chunk flags: 0x00" size="1" value="00"/> - <field name="sctp.chunk_length" pos="48" show="4" showname="Chunk length: 4" size="2" value="0004"/> - </field> - </proto> - </proto> - </proto> - </packet> - <packet> - <proto name="frame" pos="0" showname="Frame 13: 122 bytes on wire (976 bits), 122 bytes captured (976 bits) on interface 0" size="122"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:34:14.290056000" showname="Arrival Time: Sep 25, 2015 16:34:14.290056000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191654.290056000" showname="Epoch Time: 1443191654.290056000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.000352000" showname="Time delta from previous captured frame: 0.000352000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.000352000" showname="Time delta from previous displayed frame: 0.000352000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="7.824425000" showname="Time since reference or first frame: 7.824425000 seconds" size="0"/> - <field name="frame.number" pos="0" show="13" showname="Frame Number: 13" size="0"/> - <field name="frame.len" pos="0" show="122" showname="Frame Length: 122 bytes (976 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="122" showname="Capture Length: 122 bytes (976 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ip:sctp:s1ap:s1ap:s1ap:s1ap:s1ap:s1ap" showname="Protocols in frame: eth:ip:sctp:s1ap:s1ap:s1ap:s1ap:s1ap:s1ap" size="0"/> - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.213 (192.168.12.213), Dst: 192.168.12.17 (192.168.12.17)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0x00" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="0x02" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="108" showname="Total Length: 108" size="2" value="006c"/> - <field name="ip.id" pos="18" show="0x0001" showname="Identification: 0x0001 (1)" size="2" value="0001"/> - <field name="ip.flags" pos="20" show="0x02" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="0x9fd4" showname="Header checksum: 0x9fd4 [validation disabled]" size="2" value="9fd4"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="9fd4"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="9fd4"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.213" showname="Source: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.213" showname="Source Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="ip.dst" pos="30" show="192.168.12.17" showname="Destination: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.17" showname="Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80cd5"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80c11"/> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: s1-control (36412), Dst Port: s1-control (36412)" size="28"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="0x4cd1eca0" showname="Verification tag: 0x4cd1eca0" size="4" value="4cd1eca0"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="0x9981d0bb" showname="Checksum: 0x9981d0bb (not verified)" size="4" value="9981d0bb"/> - <field name="" pos="46" show="DATA chunk(ordered, complete segment, TSN: 3304831191, SID: 0, SSN: 0, PPID: 18, payload length: 59 bytes)" size="16" value="0003004bc4fbb8d70000000000000012"> - <field name="sctp.chunk_type" pos="46" show="0" showname="Chunk type: DATA (0)" size="1" value="00"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="00" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="00" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0x03" showname="Chunk flags: 0x03" size="1" value="03"> - <field name="sctp.data_e_bit" pos="47" show="1" showname=".... ...1 = E-Bit: Last segment" size="1" unmaskedvalue="03" value="1"/> - <field name="sctp.data_b_bit" pos="47" show="1" showname=".... ..1. = B-Bit: First segment" size="1" unmaskedvalue="03" value="1"/> - <field name="sctp.data_u_bit" pos="47" show="0" showname=".... .0.. = U-Bit: Ordered delivery" size="1" unmaskedvalue="03" value="0"/> - <field name="sctp.data_i_bit" pos="47" show="0" showname=".... 0... = I-Bit: Possibly delay SACK" size="1" unmaskedvalue="03" value="0"/> - </field> - <field name="sctp.chunk_length" pos="48" show="75" showname="Chunk length: 75" size="2" value="004b"/> - <field name="sctp.data_tsn" pos="50" show="3304831191" showname="TSN: 3304831191" size="4" value="c4fbb8d7"/> - <field name="sctp.data_sid" pos="54" show="0x0000" showname="Stream Identifier: 0x0000" size="2" value="0000"/> - <field name="sctp.data_ssn" pos="56" show="0" showname="Stream sequence number: 0" size="2" value="0000"/> - <field name="sctp.data_payload_proto_id" pos="58" show="18" showname="Payload protocol identifier: S1 Application Protocol (S1AP) (18)" size="4" value="00000012"/> - <field name="sctp.chunk_padding" pos="121" show="00" showname="Chunk padding: 00" size="1" value="00"/> - </field> - <proto name="s1ap" pos="62" showname="S1 Application Protocol" size="59"> - <field hide="yes" name="per.extension_bit" pos="62" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.choice_index" pos="62" show="0" showname="Choice Index: 0" size="1" value="00"/> - <field name="s1ap.S1AP_PDU" pos="62" show="0" showname="S1AP-PDU: initiatingMessage (0)" size="59" value="00110037000004003b00080002f8590000e000003c40140880654e425f45757265636f6d5f4c5445426f78004000070000004002f8590089400140"> - <field name="s1ap.initiatingMessage" pos="62" show="" showname="initiatingMessage" size="59" value=""> - <field name="s1ap.procedureCode" pos="63" show="17" showname="procedureCode: id-S1Setup (17)" size="1" value="11"/> - <field hide="yes" name="per.enum_index" pos="64" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="64" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="65" show="55" showname="Open Type Length: 55" size="1" value="37"/> - <field name="s1ap.value" pos="66" show="" showname="value" size="55" value=""> - <field name="s1ap.S1SetupRequest" pos="66" show="" showname="S1SetupRequest" size="55" value=""> - <field hide="yes" name="per.extension_bit" pos="66" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.sequence_of_length" pos="67" show="4" showname="Sequence-Of Length: 4" size="2" value="0004"/> - <field name="s1ap.protocolIEs" pos="69" show="4" showname="protocolIEs: 4 items" size="52" value="003b00080002f8590000e000003c40140880654e425f45757265636f6d5f4c5445426f78004000070000004002f8590089400140"> - <field name="" pos="69" show="Item 0: id-Global-ENB-ID" size="12" value="003b00080002f8590000e000"> - <field name="s1ap.ProtocolIE_Field" pos="69" show="" showname="ProtocolIE-Field" size="12" value=""> - <field name="s1ap.id" pos="69" show="59" showname="id: id-Global-ENB-ID (59)" size="2" value="003b"/> - <field hide="yes" name="per.enum_index" pos="71" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="71" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="72" show="8" showname="Open Type Length: 8" size="1" value="08"/> - <field name="s1ap.value" pos="73" show="" showname="value" size="8" value=""> - <field name="s1ap.Global_ENB_ID" pos="73" show="" showname="Global-ENB-ID" size="7" value=""> - <field hide="yes" name="per.extension_bit" pos="73" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.optional_field_bit" pos="73" show="0" showname=".0.. .... Optional Field Bit: False (iE-Extensions is NOT present)" size="1" unmaskedvalue="00" value="0"/> - <field name="s1ap.pLMNidentity" pos="74" show="02:f8:59" showname="pLMNidentity: 02f859" size="3" value="02f859"/> - <field name="e212.mcc" pos="74" show="208" showname="Mobile Country Code (MCC): France (208)" size="2" value="02f8"/> - <field name="e212.mnc" pos="75" show="95" showname="Mobile Network Code (MNC): Unknown (95)" size="2" value="f859"/> - <field hide="yes" name="per.extension_bit" pos="77" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.choice_index" pos="77" show="0" showname="Choice Index: 0" size="1" value="00"/> - <field name="s1ap.eNB_ID" pos="77" show="0" showname="eNB-ID: macroENB-ID (0)" size="3" value="0000e0"> - <field name="s1ap.macroENB_ID" pos="77" show="00:e0:00" showname="macroENB-ID: 00e000 [bit length 20, 4 LSB pad bits, 0000 0000 1110 0000 0000 .... decimal value 3584]" size="3" value="00e000"/> - </field> - </field> - </field> - </field> - </field> - <field name="" pos="81" show="Item 1: id-eNBname" size="24" value="003c40140880654e425f45757265636f6d5f4c5445426f78"> - <field name="s1ap.ProtocolIE_Field" pos="81" show="" showname="ProtocolIE-Field" size="24" value=""> - <field name="s1ap.id" pos="81" show="60" showname="id: id-eNBname (60)" size="2" value="003c"/> - <field hide="yes" name="per.enum_index" pos="83" show="1" showname="Enumerated Index: 1" size="1" value="40"/> - <field name="s1ap.criticality" pos="83" show="1" showname="criticality: ignore (1)" size="1" value="40"/> - <field hide="yes" name="per.open_type_length" pos="84" show="20" showname="Open Type Length: 20" size="1" value="14"/> - <field name="s1ap.value" pos="85" show="" showname="value" size="20" value=""> - <field name="per.extension_present_bit" pos="85" show="0" showname="0... .... Extension Present Bit: False" size="1" unmaskedvalue="08" value="0"/> - <field hide="yes" name="per.octet_string_length" pos="85" show="18" showname="Octet String Length: 18" size="1" value="08"/> - <field name="s1ap.ENBname" pos="87" show="eNB_Eurecom_LTEBox" showname="ENBname: eNB_Eurecom_LTEBox" size="18" value="654e425f45757265636f6d5f4c5445426f78"/> - </field> - </field> - </field> - <field name="" pos="105" show="Item 2: id-SupportedTAs" size="11" value="004000070000004002f859"> - <field name="s1ap.ProtocolIE_Field" pos="105" show="" showname="ProtocolIE-Field" size="11" value=""> - <field name="s1ap.id" pos="105" show="64" showname="id: id-SupportedTAs (64)" size="2" value="0040"/> - <field hide="yes" name="per.enum_index" pos="107" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="107" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="108" show="7" showname="Open Type Length: 7" size="1" value="07"/> - <field name="s1ap.value" pos="109" show="" showname="value" size="7" value=""> - <field hide="yes" name="per.sequence_of_length" pos="109" show="1" showname="Sequence-Of Length: 1" size="1" value="00"/> - <field name="s1ap.SupportedTAs" pos="110" show="1" showname="SupportedTAs: 1 item" size="6" value="00004002f859"> - <field name="" pos="110" show="Item 0" size="6" value="00004002f859"> - <field name="s1ap.SupportedTAs_Item" pos="110" show="" showname="SupportedTAs-Item" size="6" value=""> - <field hide="yes" name="per.extension_bit" pos="110" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.optional_field_bit" pos="110" show="0" showname=".0.. .... Optional Field Bit: False (iE-Extensions is NOT present)" size="1" unmaskedvalue="00" value="0"/> - <field name="s1ap.tAC" pos="110" show="00:01" showname="tAC: 0001" size="2" value="0001"/> - <field hide="yes" name="per.sequence_of_length" pos="112" show="1" showname="Sequence-Of Length: 1" size="1" value="40"/> - <field name="s1ap.broadcastPLMNs" pos="112" show="1" showname="broadcastPLMNs: 1 item" size="4" value="4002f859"> - <field name="" pos="112" show="Item 0" size="4" value="4002f859"> - <field name="s1ap.PLMNidentity" pos="113" show="02:f8:59" showname="PLMNidentity: 02f859" size="3" value="02f859"/> - <field name="e212.mcc" pos="113" show="208" showname="Mobile Country Code (MCC): France (208)" size="2" value="02f8"/> - <field name="e212.mnc" pos="114" show="95" showname="Mobile Network Code (MNC): Unknown (95)" size="2" value="f859"/> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - <field name="" pos="116" show="Item 3: id-DefaultPagingDRX" size="5" value="0089400140"> - <field name="s1ap.ProtocolIE_Field" pos="116" show="" showname="ProtocolIE-Field" size="5" value=""> - <field name="s1ap.id" pos="116" show="137" showname="id: id-DefaultPagingDRX (137)" size="2" value="0089"/> - <field hide="yes" name="per.enum_index" pos="118" show="1" showname="Enumerated Index: 1" size="1" value="40"/> - <field name="s1ap.criticality" pos="118" show="1" showname="criticality: ignore (1)" size="1" value="40"/> - <field hide="yes" name="per.open_type_length" pos="119" show="1" showname="Open Type Length: 1" size="1" value="01"/> - <field name="s1ap.value" pos="120" show="" showname="value" size="1" value=""> - <field hide="yes" name="per.extension_present_bit" pos="120" show="0" showname="0... .... Extension Present Bit: False" size="1" unmaskedvalue="40" value="0"/> - <field hide="yes" name="per.enum_index" pos="120" show="2" showname="Enumerated Index: 2" size="1" value="40"/> - <field name="s1ap.PagingDRX" pos="120" show="2" showname="PagingDRX: v128 (2)" size="1" value="40"/> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </proto> - </proto> - </proto> - </proto> - </packet> - <packet> - <proto name="frame" pos="0" showname="Frame 14: 62 bytes on wire (496 bits), 62 bytes captured (496 bits) on interface 0" size="62"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:34:14.290087000" showname="Arrival Time: Sep 25, 2015 16:34:14.290087000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191654.290087000" showname="Epoch Time: 1443191654.290087000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.000031000" showname="Time delta from previous captured frame: 0.000031000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.000031000" showname="Time delta from previous displayed frame: 0.000031000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="7.824456000" showname="Time since reference or first frame: 7.824456000 seconds" size="0"/> - <field name="frame.number" pos="0" show="14" showname="Frame Number: 14" size="0"/> - <field name="frame.len" pos="0" show="62" showname="Frame Length: 62 bytes (496 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="62" showname="Capture Length: 62 bytes (496 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ip:sctp" showname="Protocols in frame: eth:ip:sctp" size="0"/> - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.17 (192.168.12.17), Dst: 192.168.12.213 (192.168.12.213)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0x00" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="0x02" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="48" showname="Total Length: 48" size="2" value="0030"/> - <field name="ip.id" pos="18" show="0x0000" showname="Identification: 0x0000 (0)" size="2" value="0000"/> - <field name="ip.flags" pos="20" show="0x02" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="0xa011" showname="Header checksum: 0xa011 [validation disabled]" size="2" value="a011"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="a011"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="a011"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.17" showname="Source: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.17" showname="Source Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="ip.dst" pos="30" show="192.168.12.213" showname="Destination: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.213" showname="Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80c11"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80cd5"/> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: s1-control (36412), Dst Port: s1-control (36412)" size="28"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="0x54f837ab" showname="Verification tag: 0x54f837ab" size="4" value="54f837ab"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="0x1a9ba246" showname="Checksum: 0x1a9ba246 (not verified)" size="4" value="1a9ba246"/> - <field name="" pos="46" show="SACK chunk (Cumulative TSN: 3304831191, a_rwnd: 106437, gaps: 0, duplicate TSNs: 0)" size="16" value="03000010c4fbb8d700019fc500000000"> - <field name="sctp.chunk_type" pos="46" show="3" showname="Chunk type: SACK (3)" size="1" value="03"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="03" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="03" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0x00" showname="Chunk flags: 0x00" size="1" value="00"> - <field name="sctp.sack_nounce_sum" pos="47" show="0" showname=".... ...0 = Nounce sum: 0" size="1" unmaskedvalue="00" value="0"/> - </field> - <field name="sctp.chunk_length" pos="48" show="16" showname="Chunk length: 16" size="2" value="0010"/> - <field name="sctp.sack_cumulative_tsn_ack" pos="50" show="3304831191" showname="Cumulative TSN ACK: 3304831191" size="4" value="c4fbb8d7"/> - <field name="sctp.sack_a_rwnd" pos="54" show="106437" showname="Advertised receiver window credit (a_rwnd): 106437" size="4" value="00019fc5"/> - <field name="sctp.sack_number_of_gap_blocks" pos="58" show="0" showname="Number of gap acknowledgement blocks: 0" size="2" value="0000"/> - <field name="sctp.sack_number_of_duplicated_tsns" pos="60" show="0" showname="Number of duplicated TSNs: 0" size="2" value="0000"/> - </field> - </proto> - </proto> - </proto> - </packet> - <packet> - <proto name="frame" pos="0" showname="Frame 15: 114 bytes on wire (912 bits), 114 bytes captured (912 bits) on interface 0" size="114"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:34:14.290488000" showname="Arrival Time: Sep 25, 2015 16:34:14.290488000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191654.290488000" showname="Epoch Time: 1443191654.290488000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.000401000" showname="Time delta from previous captured frame: 0.000401000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.000401000" showname="Time delta from previous displayed frame: 0.000401000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="7.824857000" showname="Time since reference or first frame: 7.824857000 seconds" size="0"/> - <field name="frame.number" pos="0" show="15" showname="Frame Number: 15" size="0"/> - <field name="frame.len" pos="0" show="114" showname="Frame Length: 114 bytes (912 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="114" showname="Capture Length: 114 bytes (912 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ip:sctp:s1ap:s1ap:s1ap:s1ap" showname="Protocols in frame: eth:ip:sctp:s1ap:s1ap:s1ap:s1ap" size="0"/> - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.17 (192.168.12.17), Dst: 192.168.12.213 (192.168.12.213)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0x00" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="0x02" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="100" showname="Total Length: 100" size="2" value="0064"/> - <field name="ip.id" pos="18" show="0x0000" showname="Identification: 0x0000 (0)" size="2" value="0000"/> - <field name="ip.flags" pos="20" show="0x02" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="0x9fdd" showname="Header checksum: 0x9fdd [validation disabled]" size="2" value="9fdd"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="9fdd"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="9fdd"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.17" showname="Source: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.17" showname="Source Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="ip.dst" pos="30" show="192.168.12.213" showname="Destination: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.213" showname="Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80c11"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80cd5"/> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: s1-control (36412), Dst Port: s1-control (36412)" size="28"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="0x54f837ab" showname="Verification tag: 0x54f837ab" size="4" value="54f837ab"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="0x93a80c99" showname="Checksum: 0x93a80c99 (not verified)" size="4" value="93a80c99"/> - <field name="" pos="46" show="DATA chunk(ordered, complete segment, TSN: 2008295175, SID: 0, SSN: 0, PPID: 301989888, payload length: 49 bytes)" size="16" value="0003004177b427070000000012000000"> - <field name="sctp.chunk_type" pos="46" show="0" showname="Chunk type: DATA (0)" size="1" value="00"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="00" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="00" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0x03" showname="Chunk flags: 0x03" size="1" value="03"> - <field name="sctp.data_e_bit" pos="47" show="1" showname=".... ...1 = E-Bit: Last segment" size="1" unmaskedvalue="03" value="1"/> - <field name="sctp.data_b_bit" pos="47" show="1" showname=".... ..1. = B-Bit: First segment" size="1" unmaskedvalue="03" value="1"/> - <field name="sctp.data_u_bit" pos="47" show="0" showname=".... .0.. = U-Bit: Ordered delivery" size="1" unmaskedvalue="03" value="0"/> - <field name="sctp.data_i_bit" pos="47" show="0" showname=".... 0... = I-Bit: Possibly delay SACK" size="1" unmaskedvalue="03" value="0"/> - </field> - <field name="sctp.chunk_length" pos="48" show="65" showname="Chunk length: 65" size="2" value="0041"/> - <field name="sctp.data_tsn" pos="50" show="2008295175" showname="TSN: 2008295175" size="4" value="77b42707"/> - <field name="sctp.data_sid" pos="54" show="0x0000" showname="Stream Identifier: 0x0000" size="2" value="0000"/> - <field name="sctp.data_ssn" pos="56" show="0" showname="Stream sequence number: 0" size="2" value="0000"/> - <field name="sctp.data_payload_proto_id" pos="58" show="301989888" showname="Payload protocol identifier: Unknown (301989888)" size="4" value="12000000"/> - <field name="sctp.chunk_padding" pos="111" show="00:00:00" showname="Chunk padding: 000000" size="3" value="000000"/> - </field> - <proto name="s1ap" pos="62" showname="S1 Application Protocol" size="49"> - <field hide="yes" name="per.extension_bit" pos="62" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="20" value="0"/> - <field hide="yes" name="per.choice_index" pos="62" show="1" showname="Choice Index: 1" size="1" value="20"/> - <field name="s1ap.S1AP_PDU" pos="62" show="1" showname="S1AP-PDU: successfulOutcome (1)" size="49" value="2011002d00000200690021000002f8590006800000040005001e00080009c3650a011e1f2021222324381d08005740010a"> - <field name="s1ap.successfulOutcome" pos="62" show="" showname="successfulOutcome" size="49" value=""> - <field name="s1ap.procedureCode" pos="63" show="17" showname="procedureCode: id-S1Setup (17)" size="1" value="11"/> - <field hide="yes" name="per.enum_index" pos="64" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="64" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="65" show="45" showname="Open Type Length: 45" size="1" value="2d"/> - <field name="s1ap.value" pos="66" show="" showname="value" size="45" value=""> - <field name="s1ap.S1SetupResponse" pos="66" show="" showname="S1SetupResponse" size="45" value=""> - <field hide="yes" name="per.extension_bit" pos="66" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.sequence_of_length" pos="67" show="2" showname="Sequence-Of Length: 2" size="2" value="0002"/> - <field name="s1ap.protocolIEs" pos="69" show="2" showname="protocolIEs: 2 items" size="42" value="00690021000002f8590006800000040005001e00080009c3650a011e1f2021222324381d08005740010a"> - <field name="" pos="69" show="Item 0: id-ServedGUMMEIs" size="37" value="00690021000002f8590006800000040005001e00080009c3650a011e1f2021222324381d08"> - <field name="s1ap.ProtocolIE_Field" pos="69" show="" showname="ProtocolIE-Field" size="37" value=""> - <field name="s1ap.id" pos="69" show="105" showname="id: id-ServedGUMMEIs (105)" size="2" value="0069"/> - <field hide="yes" name="per.enum_index" pos="71" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="71" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="72" show="33" showname="Open Type Length: 33" size="1" value="21"/> - <field name="s1ap.value" pos="73" show="" showname="value" size="33" value=""> - <field hide="yes" name="per.sequence_of_length" pos="73" show="1" showname="Sequence-Of Length: 1" size="1" value="00"/> - <field name="s1ap.ServedGUMMEIs" pos="73" show="1" showname="ServedGUMMEIs: 1 item" size="33" value="000002f8590006800000040005001e00080009c3650a011e1f2021222324381d08"> - <field name="" pos="73" show="Item 0" size="33" value="000002f8590006800000040005001e00080009c3650a011e1f2021222324381d08"> - <field name="s1ap.ServedGUMMEIsItem" pos="73" show="" showname="ServedGUMMEIsItem" size="33" value=""> - <field hide="yes" name="per.extension_bit" pos="73" show="0" showname="...0 .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.optional_field_bit" pos="73" show="0" showname=".... 0... Optional Field Bit: False (iE-Extensions is NOT present)" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.sequence_of_length" pos="73" show="1" showname="Sequence-Of Length: 1" size="1" value="00"/> - <field name="s1ap.servedPLMNs" pos="74" show="1" showname="servedPLMNs: 1 item" size="4" value="0002f859"> - <field name="" pos="74" show="Item 0" size="4" value="0002f859"> - <field name="s1ap.PLMNidentity" pos="75" show="02:f8:59" showname="PLMNidentity: 02f859" size="3" value="02f859"/> - <field name="e212.mcc" pos="75" show="208" showname="Mobile Country Code (MCC): France (208)" size="2" value="02f8"/> - <field name="e212.mnc" pos="76" show="95" showname="Mobile Network Code (MNC): Unknown (95)" size="2" value="f859"/> - </field> - </field> - <field hide="yes" name="per.sequence_of_length" pos="78" show="7" showname="Sequence-Of Length: 7" size="2" value="0006"/> - <field name="s1ap.servedGroupIDs" pos="80" show="7" showname="servedGroupIDs: 7 items" size="14" value="800000040005001e00080009c365"> - <field name="" pos="80" show="Item 0" size="2" value="8000"> - <field name="s1ap.MME_Group_ID" pos="80" show="80:00" showname="MME-Group-ID: 8000" size="2" value="8000"/> - </field> - <field name="" pos="82" show="Item 1" size="2" value="0004"> - <field name="s1ap.MME_Group_ID" pos="82" show="00:04" showname="MME-Group-ID: 0004" size="2" value="0004"/> - </field> - <field name="" pos="84" show="Item 2" size="2" value="0005"> - <field name="s1ap.MME_Group_ID" pos="84" show="00:05" showname="MME-Group-ID: 0005" size="2" value="0005"/> - </field> - <field name="" pos="86" show="Item 3" size="2" value="001e"> - <field name="s1ap.MME_Group_ID" pos="86" show="00:1e" showname="MME-Group-ID: 001e" size="2" value="001e"/> - </field> - <field name="" pos="88" show="Item 4" size="2" value="0008"> - <field name="s1ap.MME_Group_ID" pos="88" show="00:08" showname="MME-Group-ID: 0008" size="2" value="0008"/> - </field> - <field name="" pos="90" show="Item 5" size="2" value="0009"> - <field name="s1ap.MME_Group_ID" pos="90" show="00:09" showname="MME-Group-ID: 0009" size="2" value="0009"/> - </field> - <field name="" pos="92" show="Item 6" size="2" value="c365"> - <field name="s1ap.MME_Group_ID" pos="92" show="c3:65" showname="MME-Group-ID: c365" size="2" value="c365"/> - </field> - </field> - <field hide="yes" name="per.sequence_of_length" pos="94" show="11" showname="Sequence-Of Length: 11" size="1" value="0a"/> - <field name="s1ap.servedMMECs" pos="95" show="11" showname="servedMMECs: 11 items" size="11" value="011e1f2021222324381d08"> - <field name="" pos="95" show="Item 0" size="1" value="01"> - <field name="s1ap.MME_Code" pos="95" show="01" showname="MME-Code: 01" size="1" value="01"/> - </field> - <field name="" pos="96" show="Item 1" size="1" value="1e"> - <field name="s1ap.MME_Code" pos="96" show="1e" showname="MME-Code: 1e" size="1" value="1e"/> - </field> - <field name="" pos="97" show="Item 2" size="1" value="1f"> - <field name="s1ap.MME_Code" pos="97" show="1f" showname="MME-Code: 1f" size="1" value="1f"/> - </field> - <field name="" pos="98" show="Item 3" size="1" value="20"> - <field name="s1ap.MME_Code" pos="98" show="20" showname="MME-Code: 20" size="1" value="20"/> - </field> - <field name="" pos="99" show="Item 4" size="1" value="21"> - <field name="s1ap.MME_Code" pos="99" show="21" showname="MME-Code: 21" size="1" value="21"/> - </field> - <field name="" pos="100" show="Item 5" size="1" value="22"> - <field name="s1ap.MME_Code" pos="100" show="22" showname="MME-Code: 22" size="1" value="22"/> - </field> - <field name="" pos="101" show="Item 6" size="1" value="23"> - <field name="s1ap.MME_Code" pos="101" show="23" showname="MME-Code: 23" size="1" value="23"/> - </field> - <field name="" pos="102" show="Item 7" size="1" value="24"> - <field name="s1ap.MME_Code" pos="102" show="24" showname="MME-Code: 24" size="1" value="24"/> - </field> - <field name="" pos="103" show="Item 8" size="1" value="38"> - <field name="s1ap.MME_Code" pos="103" show="38" showname="MME-Code: 38" size="1" value="38"/> - </field> - <field name="" pos="104" show="Item 9" size="1" value="1d"> - <field name="s1ap.MME_Code" pos="104" show="1d" showname="MME-Code: 1d" size="1" value="1d"/> - </field> - <field name="" pos="105" show="Item 10" size="1" value="08"> - <field name="s1ap.MME_Code" pos="105" show="08" showname="MME-Code: 08" size="1" value="08"/> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - <field name="" pos="106" show="Item 1: id-RelativeMMECapacity" size="5" value="005740010a"> - <field name="s1ap.ProtocolIE_Field" pos="106" show="" showname="ProtocolIE-Field" size="5" value=""> - <field name="s1ap.id" pos="106" show="87" showname="id: id-RelativeMMECapacity (87)" size="2" value="0057"/> - <field hide="yes" name="per.enum_index" pos="108" show="1" showname="Enumerated Index: 1" size="1" value="40"/> - <field name="s1ap.criticality" pos="108" show="1" showname="criticality: ignore (1)" size="1" value="40"/> - <field hide="yes" name="per.open_type_length" pos="109" show="1" showname="Open Type Length: 1" size="1" value="01"/> - <field name="s1ap.value" pos="110" show="" showname="value" size="1" value=""> - <field name="s1ap.RelativeMMECapacity" pos="110" show="10" showname="RelativeMMECapacity: 10" size="1" value="0a"/> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </proto> - </proto> - </proto> - </proto> - </packet> - <packet> - <proto name="frame" pos="0" showname="Frame 16: 62 bytes on wire (496 bits), 62 bytes captured (496 bits) on interface 0" size="62"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:34:14.290617000" showname="Arrival Time: Sep 25, 2015 16:34:14.290617000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191654.290617000" showname="Epoch Time: 1443191654.290617000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.000129000" showname="Time delta from previous captured frame: 0.000129000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.000129000" showname="Time delta from previous displayed frame: 0.000129000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="7.824986000" showname="Time since reference or first frame: 7.824986000 seconds" size="0"/> - <field name="frame.number" pos="0" show="16" showname="Frame Number: 16" size="0"/> - <field name="frame.len" pos="0" show="62" showname="Frame Length: 62 bytes (496 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="62" showname="Capture Length: 62 bytes (496 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ip:sctp" showname="Protocols in frame: eth:ip:sctp" size="0"/> - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.213 (192.168.12.213), Dst: 192.168.12.17 (192.168.12.17)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0x00" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="0x02" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="48" showname="Total Length: 48" size="2" value="0030"/> - <field name="ip.id" pos="18" show="0x0002" showname="Identification: 0x0002 (2)" size="2" value="0002"/> - <field name="ip.flags" pos="20" show="0x02" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="0xa00f" showname="Header checksum: 0xa00f [validation disabled]" size="2" value="a00f"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="a00f"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="a00f"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.213" showname="Source: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.213" showname="Source Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="ip.dst" pos="30" show="192.168.12.17" showname="Destination: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.17" showname="Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80cd5"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80c11"/> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: s1-control (36412), Dst Port: s1-control (36412)" size="28"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="0x4cd1eca0" showname="Verification tag: 0x4cd1eca0" size="4" value="4cd1eca0"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="0x7385d3c3" showname="Checksum: 0x7385d3c3 (not verified)" size="4" value="7385d3c3"/> - <field name="" pos="46" show="SACK chunk (Cumulative TSN: 2008295175, a_rwnd: 106447, gaps: 0, duplicate TSNs: 0)" size="16" value="0300001077b4270700019fcf00000000"> - <field name="sctp.chunk_type" pos="46" show="3" showname="Chunk type: SACK (3)" size="1" value="03"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="03" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="03" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0x00" showname="Chunk flags: 0x00" size="1" value="00"> - <field name="sctp.sack_nounce_sum" pos="47" show="0" showname=".... ...0 = Nounce sum: 0" size="1" unmaskedvalue="00" value="0"/> - </field> - <field name="sctp.chunk_length" pos="48" show="16" showname="Chunk length: 16" size="2" value="0010"/> - <field name="sctp.sack_cumulative_tsn_ack" pos="50" show="2008295175" showname="Cumulative TSN ACK: 2008295175" size="4" value="77b42707"/> - <field name="sctp.sack_a_rwnd" pos="54" show="106447" showname="Advertised receiver window credit (a_rwnd): 106447" size="4" value="00019fcf"/> - <field name="sctp.sack_number_of_gap_blocks" pos="58" show="0" showname="Number of gap acknowledgement blocks: 0" size="2" value="0000"/> - <field name="sctp.sack_number_of_duplicated_tsns" pos="60" show="0" showname="Number of duplicated TSNs: 0" size="2" value="0000"/> - </field> - </proto> - </proto> - </proto> - </packet> - <packet> - <proto name="frame" pos="0" showname="Frame 56: 98 bytes on wire (784 bits), 98 bytes captured (784 bits) on interface 0" size="98"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:34:46.604468000" showname="Arrival Time: Sep 25, 2015 16:34:46.604468000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191686.604468000" showname="Epoch Time: 1443191686.604468000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.112851000" showname="Time delta from previous captured frame: 0.112851000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.112851000" showname="Time delta from previous displayed frame: 0.112851000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="40.138837000" showname="Time since reference or first frame: 40.138837000 seconds" size="0"/> - <field name="frame.number" pos="0" show="56" showname="Frame Number: 56" size="0"/> - <field name="frame.len" pos="0" show="98" showname="Frame Length: 98 bytes (784 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="98" showname="Capture Length: 98 bytes (784 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ip:sctp" showname="Protocols in frame: eth:ip:sctp" size="0"/> - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.213 (192.168.12.213), Dst: 192.168.12.17 (192.168.12.17)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0x00" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="0x02" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="84" showname="Total Length: 84" size="2" value="0054"/> - <field name="ip.id" pos="18" show="0x0003" showname="Identification: 0x0003 (3)" size="2" value="0003"/> - <field name="ip.flags" pos="20" show="0x02" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="0x9fea" showname="Header checksum: 0x9fea [validation disabled]" size="2" value="9fea"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="9fea"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="9fea"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.213" showname="Source: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.213" showname="Source Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="ip.dst" pos="30" show="192.168.12.17" showname="Destination: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.17" showname="Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80cd5"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80c11"/> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: s1-control (36412), Dst Port: s1-control (36412)" size="64"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="0x4cd1eca0" showname="Verification tag: 0x4cd1eca0" size="4" value="4cd1eca0"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="0x0a5b2e92" showname="Checksum: 0x0a5b2e92 (not verified)" size="4" value="0a5b2e92"/> - <field name="" pos="46" show="HEARTBEAT chunk (Information: 48 bytes)" size="52" value="040000340001003002008e3cc0a80c110000000000000000007459d10088ffff1e201d8180932214010000007730e920aa62f65b"> - <field name="sctp.chunk_type" pos="46" show="4" showname="Chunk type: HEARTBEAT (4)" size="1" value="04"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="04" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="04" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0x00" showname="Chunk flags: 0x00" size="1" value="00"/> - <field name="sctp.chunk_length" pos="48" show="52" showname="Chunk length: 52" size="2" value="0034"/> - <field name="" pos="50" show="Heartbeat info parameter (Information: 44 bytes)" size="48" value="0001003002008e3cc0a80c110000000000000000007459d10088ffff1e201d8180932214010000007730e920aa62f65b"> - <field name="sctp.parameter_type" pos="50" show="0x0001" showname="Parameter type: Heartbeat info (0x0001)" size="2" value="0001"> - <field name="sctp.parameter_bit_1" pos="50" show="0" showname="0... .... .... .... = Bit: Stop processing of chunk" size="2" unmaskedvalue="0001" value="0"/> - <field name="sctp.parameter_bit_2" pos="50" show="0" showname=".0.. .... .... .... = Bit: Do not report" size="2" unmaskedvalue="0001" value="0"/> - </field> - <field name="sctp.parameter_length" pos="52" show="48" showname="Parameter length: 48" size="2" value="0030"/> - <field name="sctp.parameter_heartbeat_information" pos="54" show="02:00:8e:3c:c0:a8:0c:11:00:00:00:00:00:00:00:00:00:74:59:d1:00:88:ff:ff:1e:20:1d:81:80:93:22:14:01:00:00:00:77:30:e9:20:aa:62:f6:5b" showname="Heartbeat information: 02008e3cc0a80c110000000000000000007459d10088ffff..." size="44" value="02008e3cc0a80c110000000000000000007459d10088ffff1e201d8180932214010000007730e920aa62f65b"/> - </field> - </field> - </proto> - </proto> - </proto> - </packet> - <packet> - <proto name="frame" pos="0" showname="Frame 57: 98 bytes on wire (784 bits), 98 bytes captured (784 bits) on interface 0" size="98"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:34:46.604504000" showname="Arrival Time: Sep 25, 2015 16:34:46.604504000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191686.604504000" showname="Epoch Time: 1443191686.604504000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.000036000" showname="Time delta from previous captured frame: 0.000036000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.000036000" showname="Time delta from previous displayed frame: 0.000036000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="40.138873000" showname="Time since reference or first frame: 40.138873000 seconds" size="0"/> - <field name="frame.number" pos="0" show="57" showname="Frame Number: 57" size="0"/> - <field name="frame.len" pos="0" show="98" showname="Frame Length: 98 bytes (784 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="98" showname="Capture Length: 98 bytes (784 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ip:sctp" showname="Protocols in frame: eth:ip:sctp" size="0"/> - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.17 (192.168.12.17), Dst: 192.168.12.213 (192.168.12.213)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0x00" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="0x02" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="84" showname="Total Length: 84" size="2" value="0054"/> - <field name="ip.id" pos="18" show="0x0000" showname="Identification: 0x0000 (0)" size="2" value="0000"/> - <field name="ip.flags" pos="20" show="0x02" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="0x9fed" showname="Header checksum: 0x9fed [validation disabled]" size="2" value="9fed"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="9fed"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="9fed"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.17" showname="Source: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.17" showname="Source Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="ip.dst" pos="30" show="192.168.12.213" showname="Destination: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.213" showname="Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80c11"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80cd5"/> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: s1-control (36412), Dst Port: s1-control (36412)" size="64"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="0x54f837ab" showname="Verification tag: 0x54f837ab" size="4" value="54f837ab"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="0x388245ea" showname="Checksum: 0x388245ea (not verified)" size="4" value="388245ea"/> - <field name="" pos="46" show="HEARTBEAT_ACK chunk (Information: 48 bytes)" size="52" value="050000340001003002008e3cc0a80c110000000000000000007459d10088ffff1e201d8180932214010000007730e920aa62f65b"> - <field name="sctp.chunk_type" pos="46" show="5" showname="Chunk type: HEARTBEAT_ACK (5)" size="1" value="05"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="05" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="05" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0x00" showname="Chunk flags: 0x00" size="1" value="00"/> - <field name="sctp.chunk_length" pos="48" show="52" showname="Chunk length: 52" size="2" value="0034"/> - <field name="" pos="50" show="Heartbeat info parameter (Information: 44 bytes)" size="48" value="0001003002008e3cc0a80c110000000000000000007459d10088ffff1e201d8180932214010000007730e920aa62f65b"> - <field name="sctp.parameter_type" pos="50" show="0x0001" showname="Parameter type: Heartbeat info (0x0001)" size="2" value="0001"> - <field name="sctp.parameter_bit_1" pos="50" show="0" showname="0... .... .... .... = Bit: Stop processing of chunk" size="2" unmaskedvalue="0001" value="0"/> - <field name="sctp.parameter_bit_2" pos="50" show="0" showname=".0.. .... .... .... = Bit: Do not report" size="2" unmaskedvalue="0001" value="0"/> - </field> - <field name="sctp.parameter_length" pos="52" show="48" showname="Parameter length: 48" size="2" value="0030"/> - <field name="sctp.parameter_heartbeat_information" pos="54" show="02:00:8e:3c:c0:a8:0c:11:00:00:00:00:00:00:00:00:00:74:59:d1:00:88:ff:ff:1e:20:1d:81:80:93:22:14:01:00:00:00:77:30:e9:20:aa:62:f6:5b" showname="Heartbeat information: 02008e3cc0a80c110000000000000000007459d10088ffff..." size="44" value="02008e3cc0a80c110000000000000000007459d10088ffff1e201d8180932214010000007730e920aa62f65b"/> - </field> - </field> - </proto> - </proto> - </proto> - </packet> - <packet> - <proto name="frame" pos="0" showname="Frame 60: 98 bytes on wire (784 bits), 98 bytes captured (784 bits) on interface 0" size="98"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:34:47.154133000" showname="Arrival Time: Sep 25, 2015 16:34:47.154133000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191687.154133000" showname="Epoch Time: 1443191687.154133000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.500903000" showname="Time delta from previous captured frame: 0.500903000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.500903000" showname="Time delta from previous displayed frame: 0.500903000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="40.688502000" showname="Time since reference or first frame: 40.688502000 seconds" size="0"/> - <field name="frame.number" pos="0" show="60" showname="Frame Number: 60" size="0"/> - <field name="frame.len" pos="0" show="98" showname="Frame Length: 98 bytes (784 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="98" showname="Capture Length: 98 bytes (784 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ip:sctp" showname="Protocols in frame: eth:ip:sctp" size="0"/> - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.17 (192.168.12.17), Dst: 192.168.12.213 (192.168.12.213)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0x00" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="0x02" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="84" showname="Total Length: 84" size="2" value="0054"/> - <field name="ip.id" pos="18" show="0x0000" showname="Identification: 0x0000 (0)" size="2" value="0000"/> - <field name="ip.flags" pos="20" show="0x02" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="0x9fed" showname="Header checksum: 0x9fed [validation disabled]" size="2" value="9fed"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="9fed"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="9fed"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.17" showname="Source: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.17" showname="Source Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="ip.dst" pos="30" show="192.168.12.213" showname="Destination: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.213" showname="Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80c11"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80cd5"/> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: s1-control (36412), Dst Port: s1-control (36412)" size="64"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="0x54f837ab" showname="Verification tag: 0x54f837ab" size="4" value="54f837ab"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="0x3ecfdb18" showname="Checksum: 0x3ecfdb18 (not verified)" size="4" value="3ecfdb18"/> - <field name="" pos="46" show="HEARTBEAT chunk (Information: 48 bytes)" size="52" value="040000340001003002008e3cc0a80cd50000000000000000000000000000000000000000e00c3300010000008db53fb930a0b65f"> - <field name="sctp.chunk_type" pos="46" show="4" showname="Chunk type: HEARTBEAT (4)" size="1" value="04"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="04" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="04" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0x00" showname="Chunk flags: 0x00" size="1" value="00"/> - <field name="sctp.chunk_length" pos="48" show="52" showname="Chunk length: 52" size="2" value="0034"/> - <field name="" pos="50" show="Heartbeat info parameter (Information: 44 bytes)" size="48" value="0001003002008e3cc0a80cd50000000000000000000000000000000000000000e00c3300010000008db53fb930a0b65f"> - <field name="sctp.parameter_type" pos="50" show="0x0001" showname="Parameter type: Heartbeat info (0x0001)" size="2" value="0001"> - <field name="sctp.parameter_bit_1" pos="50" show="0" showname="0... .... .... .... = Bit: Stop processing of chunk" size="2" unmaskedvalue="0001" value="0"/> - <field name="sctp.parameter_bit_2" pos="50" show="0" showname=".0.. .... .... .... = Bit: Do not report" size="2" unmaskedvalue="0001" value="0"/> - </field> - <field name="sctp.parameter_length" pos="52" show="48" showname="Parameter length: 48" size="2" value="0030"/> - <field name="sctp.parameter_heartbeat_information" pos="54" show="02:00:8e:3c:c0:a8:0c:d5:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:e0:0c:33:00:01:00:00:00:8d:b5:3f:b9:30:a0:b6:5f" showname="Heartbeat information: 02008e3cc0a80cd500000000000000000000000000000000..." size="44" value="02008e3cc0a80cd50000000000000000000000000000000000000000e00c3300010000008db53fb930a0b65f"/> - </field> - </field> - </proto> - </proto> - </proto> - </packet> - <packet> - <proto name="frame" pos="0" showname="Frame 61: 98 bytes on wire (784 bits), 98 bytes captured (784 bits) on interface 0" size="98"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:34:47.154270000" showname="Arrival Time: Sep 25, 2015 16:34:47.154270000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191687.154270000" showname="Epoch Time: 1443191687.154270000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.000137000" showname="Time delta from previous captured frame: 0.000137000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.000137000" showname="Time delta from previous displayed frame: 0.000137000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="40.688639000" showname="Time since reference or first frame: 40.688639000 seconds" size="0"/> - <field name="frame.number" pos="0" show="61" showname="Frame Number: 61" size="0"/> - <field name="frame.len" pos="0" show="98" showname="Frame Length: 98 bytes (784 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="98" showname="Capture Length: 98 bytes (784 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ip:sctp" showname="Protocols in frame: eth:ip:sctp" size="0"/> - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.213 (192.168.12.213), Dst: 192.168.12.17 (192.168.12.17)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0x00" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="0x02" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="84" showname="Total Length: 84" size="2" value="0054"/> - <field name="ip.id" pos="18" show="0x0004" showname="Identification: 0x0004 (4)" size="2" value="0004"/> - <field name="ip.flags" pos="20" show="0x02" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="0x9fe9" showname="Header checksum: 0x9fe9 [validation disabled]" size="2" value="9fe9"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="9fe9"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="9fe9"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.213" showname="Source: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.213" showname="Source Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="ip.dst" pos="30" show="192.168.12.17" showname="Destination: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.17" showname="Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80cd5"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80c11"/> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: s1-control (36412), Dst Port: s1-control (36412)" size="64"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="0x4cd1eca0" showname="Verification tag: 0x4cd1eca0" size="4" value="4cd1eca0"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="0x0c16b060" showname="Checksum: 0x0c16b060 (not verified)" size="4" value="0c16b060"/> - <field name="" pos="46" show="HEARTBEAT_ACK chunk (Information: 48 bytes)" size="52" value="050000340001003002008e3cc0a80cd50000000000000000000000000000000000000000e00c3300010000008db53fb930a0b65f"> - <field name="sctp.chunk_type" pos="46" show="5" showname="Chunk type: HEARTBEAT_ACK (5)" size="1" value="05"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="05" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="05" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0x00" showname="Chunk flags: 0x00" size="1" value="00"/> - <field name="sctp.chunk_length" pos="48" show="52" showname="Chunk length: 52" size="2" value="0034"/> - <field name="" pos="50" show="Heartbeat info parameter (Information: 44 bytes)" size="48" value="0001003002008e3cc0a80cd50000000000000000000000000000000000000000e00c3300010000008db53fb930a0b65f"> - <field name="sctp.parameter_type" pos="50" show="0x0001" showname="Parameter type: Heartbeat info (0x0001)" size="2" value="0001"> - <field name="sctp.parameter_bit_1" pos="50" show="0" showname="0... .... .... .... = Bit: Stop processing of chunk" size="2" unmaskedvalue="0001" value="0"/> - <field name="sctp.parameter_bit_2" pos="50" show="0" showname=".0.. .... .... .... = Bit: Do not report" size="2" unmaskedvalue="0001" value="0"/> - </field> - <field name="sctp.parameter_length" pos="52" show="48" showname="Parameter length: 48" size="2" value="0030"/> - <field name="sctp.parameter_heartbeat_information" pos="54" show="02:00:8e:3c:c0:a8:0c:d5:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:e0:0c:33:00:01:00:00:00:8d:b5:3f:b9:30:a0:b6:5f" showname="Heartbeat information: 02008e3cc0a80cd500000000000000000000000000000000..." size="44" value="02008e3cc0a80cd50000000000000000000000000000000000000000e00c3300010000008db53fb930a0b65f"/> - </field> - </field> - </proto> - </proto> - </proto> - </packet> - <packet> - <proto name="frame" pos="0" showname="Frame 76: 186 bytes on wire (1488 bits), 186 bytes captured (1488 bits) on interface 0" size="186"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:34:53.748321000" showname="Arrival Time: Sep 25, 2015 16:34:53.748321000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191693.748321000" showname="Epoch Time: 1443191693.748321000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="1.074002000" showname="Time delta from previous captured frame: 1.074002000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="1.074002000" showname="Time delta from previous displayed frame: 1.074002000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="47.282690000" showname="Time since reference or first frame: 47.282690000 seconds" size="0"/> - <field name="frame.number" pos="0" show="76" showname="Frame Number: 76" size="0"/> - <field name="frame.len" pos="0" show="186" showname="Frame Length: 186 bytes (1488 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="186" showname="Capture Length: 186 bytes (1488 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ip:sctp:s1ap:s1ap:s1ap:s1ap:nas-eps:ipcp:s1ap:s1ap:s1ap:s1ap" showname="Protocols in frame: eth:ip:sctp:s1ap:s1ap:s1ap:s1ap:nas-eps:ipcp:s1ap:s1ap:s1ap:s1ap" size="0"/> - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.213 (192.168.12.213), Dst: 192.168.12.17 (192.168.12.17)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0x00" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="0x02" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="172" showname="Total Length: 172" size="2" value="00ac"/> - <field name="ip.id" pos="18" show="0x0005" showname="Identification: 0x0005 (5)" size="2" value="0005"/> - <field name="ip.flags" pos="20" show="0x02" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="0x9f90" showname="Header checksum: 0x9f90 [validation disabled]" size="2" value="9f90"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="9f90"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="9f90"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.213" showname="Source: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.213" showname="Source Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="ip.dst" pos="30" show="192.168.12.17" showname="Destination: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.17" showname="Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80cd5"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80c11"/> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: s1-control (36412), Dst Port: s1-control (36412)" size="28"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="0x4cd1eca0" showname="Verification tag: 0x4cd1eca0" size="4" value="4cd1eca0"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="0x47f403e8" showname="Checksum: 0x47f403e8 (not verified)" size="4" value="47f403e8"/> - <field name="" pos="46" show="DATA chunk(ordered, complete segment, TSN: 3304831192, SID: 1, SSN: 0, PPID: 18, payload length: 122 bytes)" size="16" value="0003008ac4fbb8d80001000000000012"> - <field name="sctp.chunk_type" pos="46" show="0" showname="Chunk type: DATA (0)" size="1" value="00"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="00" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="00" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0x03" showname="Chunk flags: 0x03" size="1" value="03"> - <field name="sctp.data_e_bit" pos="47" show="1" showname=".... ...1 = E-Bit: Last segment" size="1" unmaskedvalue="03" value="1"/> - <field name="sctp.data_b_bit" pos="47" show="1" showname=".... ..1. = B-Bit: First segment" size="1" unmaskedvalue="03" value="1"/> - <field name="sctp.data_u_bit" pos="47" show="0" showname=".... .0.. = U-Bit: Ordered delivery" size="1" unmaskedvalue="03" value="0"/> - <field name="sctp.data_i_bit" pos="47" show="0" showname=".... 0... = I-Bit: Possibly delay SACK" size="1" unmaskedvalue="03" value="0"/> - </field> - <field name="sctp.chunk_length" pos="48" show="138" showname="Chunk length: 138" size="2" value="008a"/> - <field name="sctp.data_tsn" pos="50" show="3304831192" showname="TSN: 3304831192" size="4" value="c4fbb8d8"/> - <field name="sctp.data_sid" pos="54" show="0x0001" showname="Stream Identifier: 0x0001" size="2" value="0001"/> - <field name="sctp.data_ssn" pos="56" show="0" showname="Stream sequence number: 0" size="2" value="0000"/> - <field name="sctp.data_payload_proto_id" pos="58" show="18" showname="Payload protocol identifier: S1 Application Protocol (S1AP) (18)" size="4" value="00000012"/> - <field name="sctp.chunk_padding" pos="184" show="00:00" showname="Chunk padding: 0000" size="2" value="0000"/> - </field> - <proto name="s1ap" pos="62" showname="S1 Application Protocol" size="122"> - <field hide="yes" name="per.extension_bit" pos="62" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.choice_index" pos="62" show="0" showname="Choice Index: 0" size="1" value="00"/> - <field name="s1ap.S1AP_PDU" pos="62" show="0" showname="S1AP-PDU: initiatingMessage (0)" size="122" value="000c0076000006000800048006692d001a00414017c4dba6bb020741010bf602f8598000016c00092002e0e000200201d011271a8080211001000010810600000000830600000000000d00000a005202f8590001004300060002f8590001006440080002f85900e000000086400130004b000700000000800001"> - <field name="s1ap.initiatingMessage" pos="62" show="" showname="initiatingMessage" size="122" value=""> - <field name="s1ap.procedureCode" pos="63" show="12" showname="procedureCode: id-initialUEMessage (12)" size="1" value="0c"/> - <field hide="yes" name="per.enum_index" pos="64" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="64" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="65" show="118" showname="Open Type Length: 118" size="1" value="76"/> - <field name="s1ap.value" pos="66" show="" showname="value" size="118" value=""> - <field name="s1ap.InitialUEMessage" pos="66" show="" showname="InitialUEMessage" size="118" value=""> - <field hide="yes" name="per.extension_bit" pos="66" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.sequence_of_length" pos="67" show="6" showname="Sequence-Of Length: 6" size="2" value="0006"/> - <field name="s1ap.protocolIEs" pos="69" show="6" showname="protocolIEs: 6 items" size="115" value="000800048006692d001a00414017c4dba6bb020741010bf602f8598000016c00092002e0e000200201d011271a8080211001000010810600000000830600000000000d00000a005202f8590001004300060002f8590001006440080002f85900e000000086400130004b000700000000800001"> - <field name="" pos="69" show="Item 0: id-eNB-UE-S1AP-ID" size="8" value="000800048006692d"> - <field name="s1ap.ProtocolIE_Field" pos="69" show="" showname="ProtocolIE-Field" size="8" value=""> - <field name="s1ap.id" pos="69" show="8" showname="id: id-eNB-UE-S1AP-ID (8)" size="2" value="0008"/> - <field hide="yes" name="per.enum_index" pos="71" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="71" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="72" show="4" showname="Open Type Length: 4" size="1" value="04"/> - <field name="s1ap.value" pos="73" show="" showname="value" size="4" value=""> - <field name="s1ap.ENB_UE_S1AP_ID" pos="73" show="420141" showname="ENB-UE-S1AP-ID: 420141" size="4" value="8006692d"/> - </field> - </field> - </field> - <field name="" pos="77" show="Item 1: id-NAS-PDU" size="69" value="001a00414017c4dba6bb020741010bf602f8598000016c00092002e0e000200201d011271a8080211001000010810600000000830600000000000d00000a005202f8590001"> - <field name="s1ap.ProtocolIE_Field" pos="77" show="" showname="ProtocolIE-Field" size="69" value=""> - <field name="s1ap.id" pos="77" show="26" showname="id: id-NAS-PDU (26)" size="2" value="001a"/> - <field hide="yes" name="per.enum_index" pos="79" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="79" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="80" show="65" showname="Open Type Length: 65" size="1" value="41"/> - <field name="s1ap.value" pos="81" show="" showname="value" size="65" value=""> - <field hide="yes" name="per.octet_string_length" pos="81" show="64" showname="Octet String Length: 64" size="1" value="40"/> - <field name="s1ap.NAS_PDU" pos="82" show="17:c4:db:a6:bb:02:07:41:01:0b:f6:02:f8:59:80:00:01:6c:00:09:20:02:e0:e0:00:20:02:01:d0:11:27:1a:80:80:21:10:01:00:00:10:81:06:00:00:00:00:83:06:00:00:00:00:00:0d:00:00:0a:00:52:02:f8:59:00:01" showname="NAS-PDU: 17c4dba6bb020741010bf602f8598000016c00092002e0e0..." size="64" value="17c4dba6bb020741010bf602f8598000016c00092002e0e000200201d011271a8080211001000010810600000000830600000000000d00000a005202f8590001"/> - <proto name="nas-eps" pos="82" showname="Non-Access-Stratum (NAS)PDU" size="64"> - <field name="nas_eps.security_header_type" pos="82" show="1" showname="0001 .... = Security header type: Integrity protected (1)" size="1" unmaskedvalue="17" value="1"/> - <field name="gsm_a.L3_protocol_discriminator" pos="82" show="0x07" showname=".... 0111 = Protocol discriminator: EPS mobility management messages (0x07)" size="1" unmaskedvalue="17" value="7"/> - <field name="nas_eps.msg_auth_code" pos="83" show="0xc4dba6bb" showname="Message authentication code: 0xc4dba6bb" size="4" value="c4dba6bb"/> - <field name="nas_eps.seq_no" pos="87" show="2" showname="Sequence number: 2" size="1" value="02"/> - <field name="nas_eps.security_header_type" pos="88" show="0" showname="0000 .... = Security header type: Plain NAS message, not security protected (0)" size="1" unmaskedvalue="07" value="0"/> - <field name="gsm_a.L3_protocol_discriminator" pos="88" show="0x07" showname=".... 0111 = Protocol discriminator: EPS mobility management messages (0x07)" size="1" unmaskedvalue="07" value="7"/> - <field name="nas_eps.nas_msg_emm_type" pos="89" show="0x41" showname="NAS EPS Mobility Management Message Type: Attach request (0x41)" size="1" value="41"/> - <field name="nas_eps.emm.tsc" pos="90" show="0" showname="0... .... = Type of security context flag (TSC): Native security context (for KSIasme)" size="1" value="01"/> - <field name="nas_eps.emm.nas_key_set_id" pos="90" show="0" showname=".000 .... = NAS key set identifier: (0)" size="1" value="01"/> - <field name="nas_eps.spare_bits" pos="90" show="0x00" showname=".... 0... = Spare bit(s): 0x00" size="1" value="01"/> - <field name="nas_eps.emm.eps_att_type" pos="90" show="1" showname=".... .001 = EPS attach type: EPS attach (1)" size="1" value="01"/> - <field name="" pos="91" show="EPS mobile identity" size="12" value="0bf602f8598000016c000920"> - <field name="gsm_a.len" pos="91" show="11" showname="Length: 11" size="1" value="0b"/> - <field name="nas_eps.emm.odd_even" pos="92" show="0" showname=".... 0... = odd/even indic: 0" size="1" unmaskedvalue="f6" value="0"/> - <field name="nas_eps.emm.type_of_id" pos="92" show="6" showname=".... .110 = Type of identity: GUTI (6)" size="1" unmaskedvalue="f6" value="6"/> - <field name="e212.mcc" pos="93" show="208" showname="Mobile Country Code (MCC): France (208)" size="2" value="02f8"/> - <field name="e212.mnc" pos="94" show="95" showname="Mobile Network Code (MNC): Unknown (95)" size="2" value="f859"/> - <field name="nas_eps.emm.mme_grp_id" pos="96" show="32768" showname="MME Group ID: 32768" size="2" value="8000"/> - <field name="nas_eps.emm.mme_code" pos="98" show="1" showname="MME Code: 1" size="1" value="01"/> - <field name="nas_eps.emm.m_tmsi" pos="99" show="0x6c000920" showname="M-TMSI: 0x6c000920" size="4" value="6c000920"/> - </field> - <field name="" pos="103" show="UE network capability" size="3" value="02e0e0"> - <field name="gsm_a.len" pos="103" show="2" showname="Length: 2" size="1" value="02"/> - <field name="nas_eps.emm.eea0" pos="104" show="1" showname="1... .... = EEA0: Supported" size="1" unmaskedvalue="e0" value="1"/> - <field name="nas_eps.emm.128eea1" pos="104" show="1" showname=".1.. .... = 128-EEA1: Supported" size="1" unmaskedvalue="e0" value="1"/> - <field name="nas_eps.emm.128eea2" pos="104" show="1" showname="..1. .... = 128-EEA2: Supported" size="1" unmaskedvalue="e0" value="1"/> - <field name="nas_eps.emm.eea3" pos="104" show="0" showname="...0 .... = 128-EEA3: Not Supported" size="1" unmaskedvalue="e0" value="0"/> - <field name="nas_eps.emm.eea4" pos="104" show="0" showname=".... 0... = EEA4: Not Supported" size="1" unmaskedvalue="e0" value="0"/> - <field name="nas_eps.emm.eea5" pos="104" show="0" showname=".... .0.. = EEA5: Not Supported" size="1" unmaskedvalue="e0" value="0"/> - <field name="nas_eps.emm.eea6" pos="104" show="0" showname=".... ..0. = EEA6: Not Supported" size="1" unmaskedvalue="e0" value="0"/> - <field name="nas_eps.emm.eea7" pos="104" show="0" showname=".... ...0 = EEA7: Not Supported" size="1" unmaskedvalue="e0" value="0"/> - <field name="nas_eps.emm.eia0" pos="105" show="1" showname="1... .... = EIA0: Supported" size="1" unmaskedvalue="e0" value="1"/> - <field name="nas_eps.emm.128eia1" pos="105" show="1" showname=".1.. .... = 128-EIA1: Supported" size="1" unmaskedvalue="e0" value="1"/> - <field name="nas_eps.emm.128eia2" pos="105" show="1" showname="..1. .... = 128-EIA2: Supported" size="1" unmaskedvalue="e0" value="1"/> - <field name="nas_eps.emm.eia3" pos="105" show="0" showname="...0 .... = 128-EIA3: Not Supported" size="1" unmaskedvalue="e0" value="0"/> - <field name="nas_eps.emm.eia4" pos="105" show="0" showname=".... 0... = EIA4: Not Supported" size="1" unmaskedvalue="e0" value="0"/> - <field name="nas_eps.emm.eia5" pos="105" show="0" showname=".... .0.. = EIA5: Not Supported" size="1" unmaskedvalue="e0" value="0"/> - <field name="nas_eps.emm.eia6" pos="105" show="0" showname=".... ..0. = EIA6: Not Supported" size="1" unmaskedvalue="e0" value="0"/> - <field name="nas_eps.emm.eia7" pos="105" show="0" showname=".... ...0 = EIA7: Not Supported" size="1" unmaskedvalue="e0" value="0"/> - </field> - <field name="" pos="106" show="ESM message container" size="34" value="00200201d011271a8080211001000010810600000000830600000000000d00000a00"> - <field name="gsm_a.len" pos="106" show="32" showname="Length: 32" size="2" value="0020"/> - <field name="nas_eps.emm.esm_msg_cont" pos="108" show="02:01:d0:11:27:1a:80:80:21:10:01:00:00:10:81:06:00:00:00:00:83:06:00:00:00:00:00:0d:00:00:0a:00" showname="ESM message container contents: 0201d011271a808021100100001081060000000083060000..." size="32" value="0201d011271a8080211001000010810600000000830600000000000d00000a00"> - <field name="nas_eps.bearer_id" pos="108" show="0" showname="0000 .... = EPS bearer identity: No EPS bearer identity assigned (0)" size="1" unmaskedvalue="02" value="0"/> - <field name="gsm_a.L3_protocol_discriminator" pos="108" show="0x02" showname=".... 0010 = Protocol discriminator: EPS session management messages (0x02)" size="1" unmaskedvalue="02" value="2"/> - <field name="nas_eps.esm.proc_trans_id" pos="109" show="1" showname="Procedure transaction identity: 1" size="1" value="01"/> - <field name="nas_eps.nas_msg_esm_type" pos="110" show="0xd0" showname="NAS EPS session management messages: PDN connectivity request (0xd0)" size="1" value="d0"/> - <field name="nas_eps.esm_pdn_type" pos="111" show="1" showname="0001 .... = PDN type: IPv4 (1)" size="1" value="11"/> - <field name="nas_eps.esm_request_type" pos="111" show="1" showname=".... 0001 = Request type: initial request (1)" size="1" value="11"/> - <field name="" pos="112" show="Protocol Configuration Options" size="28" value="271a8080211001000010810600000000830600000000000d00000a00"> - <field name="gsm_a.gm.elem_id" pos="112" show="0x27" showname="Element ID: 0x27" size="1" value="27"/> - <field name="gsm_a.len" pos="113" show="26" showname="Length: 26" size="1" value="1a"/> - <field name="gsm_a.gm.sm.link_dir" pos="114" show="0" showname="Link direction: MS to network (0)" size="0"/> - <field name="gsm_a.gm.sm.ext" pos="114" show="1" showname="1... .... = Extension: True" size="1" unmaskedvalue="80" value="1"/> - <field name="" pos="114" show="Configuration Protocol: PPP for use with IP PDP type or IP PDN type (0)" size="1" value="80"/> - <field name="gsm_a.gm.sm.pco_pid" pos="115" show="32801" showname="Protocol or Container ID: Internet Protocol Control Protocol (0x8021)" size="2" value="8021"> - <field name="" pos="117" show="Length: 0x10 (16)" size="1" value="10"/> - <proto name="ipcp" pos="118" showname="PPP IP Control Protocol" size="16"> - <field name="ppp.code" pos="118" show="1" showname="Code: Configuration Request (1)" size="1" value="01"/> - <field name="ppp.identifier" pos="119" show="0" showname="Identifier: 0 (0x00)" size="1" value="00"/> - <field name="ppp.length" pos="120" show="16" showname="Length: 16" size="2" value="0010"/> - <field name="" pos="122" show="Options: (12 bytes), Primary DNS Server IP Address, Secondary DNS Server IP Address" size="12" value="810600000000830600000000"> - <field name="" pos="122" show="Primary DNS Server IP Address: 0.0.0.0" size="6" value="810600000000"> - <field name="ipcp.opt.type" pos="122" show="129" showname="Type: Primary DNS Server IP Address (129)" size="1" value="81"/> - <field name="ipcp.opt.length" pos="123" show="6" showname="Length: 6" size="1" value="06"/> - <field name="ipcp.opt.pri_dns_address" pos="124" show="0.0.0.0" showname="Primary DNS Address: 0.0.0.0 (0.0.0.0)" size="4" value="00000000"/> - </field> - <field name="" pos="128" show="Secondary DNS Server IP Address: 0.0.0.0" size="6" value="830600000000"> - <field name="ipcp.opt.type" pos="128" show="131" showname="Type: Secondary DNS Server IP Address (131)" size="1" value="83"/> - <field name="ipcp.opt.length" pos="129" show="6" showname="Length: 6" size="1" value="06"/> - <field name="ipcp.opt.sec_dns_address" pos="130" show="0.0.0.0" showname="Secondary DNS Address: 0.0.0.0 (0.0.0.0)" size="4" value="00000000"/> - </field> - </field> - </proto> - </field> - <field name="gsm_a.gm.sm.pco_pid" pos="134" show="13" showname="Protocol or Container ID: DNS Server IPv4 Address Request (0x000d)" size="2" value="000d"> - <field name="" pos="136" show="Length: 0x00 (0)" size="1" value="00"/> - </field> - <field name="gsm_a.gm.sm.pco_pid" pos="137" show="10" showname="Protocol or Container ID: IP address allocation via NAS signalling (0x000a)" size="2" value="000a"> - <field name="" pos="139" show="Length: 0x00 (0)" size="1" value="00"/> - </field> - </field> - </field> - </field> - <field name="" pos="140" show="Tracking area identity - Last visited registered TAI" size="6" value="5202f8590001"> - <field name="nas_eps.emm.elem_id" pos="140" show="0x52" showname="Element ID: 0x52" size="1" value="52"/> - <field name="e212.mcc" pos="141" show="208" showname="Mobile Country Code (MCC): France (208)" size="2" value="02f8"/> - <field name="e212.mnc" pos="142" show="95" showname="Mobile Network Code (MNC): Unknown (95)" size="2" value="f859"/> - <field name="nas_eps.emm.tai_tac" pos="144" show="0x0001" showname="Tracking area code(TAC): 0x0001" size="2" value="0001"/> - </field> - </proto> - </field> - </field> - </field> - <field name="" pos="146" show="Item 2: id-TAI" size="10" value="004300060002f8590001"> - <field name="s1ap.ProtocolIE_Field" pos="146" show="" showname="ProtocolIE-Field" size="10" value=""> - <field name="s1ap.id" pos="146" show="67" showname="id: id-TAI (67)" size="2" value="0043"/> - <field hide="yes" name="per.enum_index" pos="148" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="148" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="149" show="6" showname="Open Type Length: 6" size="1" value="06"/> - <field name="s1ap.value" pos="150" show="" showname="value" size="6" value=""> - <field name="s1ap.TAI" pos="150" show="" showname="TAI" size="6" value=""> - <field hide="yes" name="per.extension_bit" pos="150" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.optional_field_bit" pos="150" show="0" showname=".0.. .... Optional Field Bit: False (iE-Extensions is NOT present)" size="1" unmaskedvalue="00" value="0"/> - <field name="s1ap.pLMNidentity" pos="151" show="02:f8:59" showname="pLMNidentity: 02f859" size="3" value="02f859"/> - <field name="e212.mcc" pos="151" show="208" showname="Mobile Country Code (MCC): France (208)" size="2" value="02f8"/> - <field name="e212.mnc" pos="152" show="95" showname="Mobile Network Code (MNC): Unknown (95)" size="2" value="f859"/> - <field name="s1ap.tAC" pos="154" show="00:01" showname="tAC: 0001" size="2" value="0001"/> - </field> - </field> - </field> - </field> - <field name="" pos="156" show="Item 3: id-EUTRAN-CGI" size="12" value="006440080002f85900e00000"> - <field name="s1ap.ProtocolIE_Field" pos="156" show="" showname="ProtocolIE-Field" size="12" value=""> - <field name="s1ap.id" pos="156" show="100" showname="id: id-EUTRAN-CGI (100)" size="2" value="0064"/> - <field hide="yes" name="per.enum_index" pos="158" show="1" showname="Enumerated Index: 1" size="1" value="40"/> - <field name="s1ap.criticality" pos="158" show="1" showname="criticality: ignore (1)" size="1" value="40"/> - <field hide="yes" name="per.open_type_length" pos="159" show="8" showname="Open Type Length: 8" size="1" value="08"/> - <field name="s1ap.value" pos="160" show="" showname="value" size="8" value=""> - <field name="s1ap.EUTRAN_CGI" pos="160" show="" showname="EUTRAN-CGI" size="7" value=""> - <field hide="yes" name="per.extension_bit" pos="160" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.optional_field_bit" pos="160" show="0" showname=".0.. .... Optional Field Bit: False (iE-Extensions is NOT present)" size="1" unmaskedvalue="00" value="0"/> - <field name="s1ap.pLMNidentity" pos="161" show="02:f8:59" showname="pLMNidentity: 02f859" size="3" value="02f859"/> - <field name="e212.mcc" pos="161" show="208" showname="Mobile Country Code (MCC): France (208)" size="2" value="02f8"/> - <field name="e212.mnc" pos="162" show="95" showname="Mobile Network Code (MNC): Unknown (95)" size="2" value="f859"/> - <field name="s1ap.cell_ID" pos="160" show="00:e0:00:00" showname="cell-ID: 00e00000 [bit length 28, 4 LSB pad bits, 0000 0000 1110 0000 0000 0000 0000 .... decimal value 917504]" size="4" value="00e00000"/> - </field> - </field> - </field> - </field> - <field name="" pos="168" show="Item 4: id-RRC-Establishment-Cause" size="5" value="0086400130"> - <field name="s1ap.ProtocolIE_Field" pos="168" show="" showname="ProtocolIE-Field" size="5" value=""> - <field name="s1ap.id" pos="168" show="134" showname="id: id-RRC-Establishment-Cause (134)" size="2" value="0086"/> - <field hide="yes" name="per.enum_index" pos="170" show="1" showname="Enumerated Index: 1" size="1" value="40"/> - <field name="s1ap.criticality" pos="170" show="1" showname="criticality: ignore (1)" size="1" value="40"/> - <field hide="yes" name="per.open_type_length" pos="171" show="1" showname="Open Type Length: 1" size="1" value="01"/> - <field name="s1ap.value" pos="172" show="" showname="value" size="1" value=""> - <field hide="yes" name="per.extension_present_bit" pos="172" show="0" showname="0... .... Extension Present Bit: False" size="1" unmaskedvalue="30" value="0"/> - <field hide="yes" name="per.enum_index" pos="172" show="3" showname="Enumerated Index: 3" size="1" value="30"/> - <field name="s1ap.RRC_Establishment_Cause" pos="172" show="3" showname="RRC-Establishment-Cause: mo-Signalling (3)" size="1" value="30"/> - </field> - </field> - </field> - <field name="" pos="173" show="Item 5: id-GUMMEI-ID" size="11" value="004b000700000000800001"> - <field name="s1ap.ProtocolIE_Field" pos="173" show="" showname="ProtocolIE-Field" size="11" value=""> - <field name="s1ap.id" pos="173" show="75" showname="id: id-GUMMEI-ID (75)" size="2" value="004b"/> - <field hide="yes" name="per.enum_index" pos="175" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="175" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="176" show="7" showname="Open Type Length: 7" size="1" value="07"/> - <field name="s1ap.value" pos="177" show="" showname="value" size="7" value=""> - <field name="s1ap.GUMMEI" pos="177" show="" showname="GUMMEI" size="7" value=""> - <field hide="yes" name="per.extension_bit" pos="177" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.optional_field_bit" pos="177" show="0" showname=".0.. .... Optional Field Bit: False (iE-Extensions is NOT present)" size="1" unmaskedvalue="00" value="0"/> - <field name="s1ap.pLMN_Identity" pos="178" show="00:00:00" showname="pLMN-Identity: 000000" size="3" value="000000"/> - <field name="e212.mcc" pos="178" show="0" showname="Mobile Country Code (MCC): Unknown (0)" size="2" value="0000"/> - <field name="e212.mnc" pos="179" show="0" showname="Mobile Network Code (MNC): Unknown (000)" size="2" value="0000"/> - <field name="s1ap.mME_Group_ID" pos="181" show="80:00" showname="mME-Group-ID: 8000" size="2" value="8000"/> - <field name="s1ap.mME_Code" pos="183" show="01" showname="mME-Code: 01" size="1" value="01"/> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </proto> - </proto> - </proto> - </proto> - </packet> - <packet> - <proto name="frame" pos="0" showname="Frame 77: 110 bytes on wire (880 bits), 110 bytes captured (880 bits) on interface 0" size="110"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:34:53.749945000" showname="Arrival Time: Sep 25, 2015 16:34:53.749945000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191693.749945000" showname="Epoch Time: 1443191693.749945000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.001624000" showname="Time delta from previous captured frame: 0.001624000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.001624000" showname="Time delta from previous displayed frame: 0.001624000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="47.284314000" showname="Time since reference or first frame: 47.284314000 seconds" size="0"/> - <field name="frame.number" pos="0" show="77" showname="Frame Number: 77" size="0"/> - <field name="frame.len" pos="0" show="110" showname="Frame Length: 110 bytes (880 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="110" showname="Capture Length: 110 bytes (880 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ip:sctp:s1ap:s1ap:s1ap:s1ap:s1ap:nas-eps" showname="Protocols in frame: eth:ip:sctp:s1ap:s1ap:s1ap:s1ap:s1ap:nas-eps" size="0"/> - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.17 (192.168.12.17), Dst: 192.168.12.213 (192.168.12.213)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0x00" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="0x02" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="96" showname="Total Length: 96" size="2" value="0060"/> - <field name="ip.id" pos="18" show="0x0000" showname="Identification: 0x0000 (0)" size="2" value="0000"/> - <field name="ip.flags" pos="20" show="0x02" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="0x9fe1" showname="Header checksum: 0x9fe1 [validation disabled]" size="2" value="9fe1"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="9fe1"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="9fe1"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.17" showname="Source: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.17" showname="Source Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="ip.dst" pos="30" show="192.168.12.213" showname="Destination: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.213" showname="Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80c11"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80cd5"/> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: s1-control (36412), Dst Port: s1-control (36412)" size="44"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="0x54f837ab" showname="Verification tag: 0x54f837ab" size="4" value="54f837ab"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="0x69f9ecaa" showname="Checksum: 0x69f9ecaa (not verified)" size="4" value="69f9ecaa"/> - <field name="" pos="46" show="SACK chunk (Cumulative TSN: 3304831192, a_rwnd: 106496, gaps: 0, duplicate TSNs: 0)" size="16" value="03000010c4fbb8d80001a00000000000"> - <field name="sctp.chunk_type" pos="46" show="3" showname="Chunk type: SACK (3)" size="1" value="03"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="03" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="03" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0x00" showname="Chunk flags: 0x00" size="1" value="00"> - <field name="sctp.sack_nounce_sum" pos="47" show="0" showname=".... ...0 = Nounce sum: 0" size="1" unmaskedvalue="00" value="0"/> - </field> - <field name="sctp.chunk_length" pos="48" show="16" showname="Chunk length: 16" size="2" value="0010"/> - <field name="sctp.sack_cumulative_tsn_ack" pos="50" show="3304831192" showname="Cumulative TSN ACK: 3304831192" size="4" value="c4fbb8d8"/> - <field name="sctp.sack_a_rwnd" pos="54" show="106496" showname="Advertised receiver window credit (a_rwnd): 106496" size="4" value="0001a000"/> - <field name="sctp.sack_number_of_gap_blocks" pos="58" show="0" showname="Number of gap acknowledgement blocks: 0" size="2" value="0000"/> - <field name="sctp.sack_number_of_duplicated_tsns" pos="60" show="0" showname="Number of duplicated TSNs: 0" size="2" value="0000"/> - </field> - <field name="" pos="62" show="DATA chunk(ordered, complete segment, TSN: 2008295176, SID: 1, SSN: 0, PPID: 301989888, payload length: 32 bytes)" size="16" value="0003003077b427080001000012000000"> - <field name="sctp.chunk_type" pos="62" show="0" showname="Chunk type: DATA (0)" size="1" value="00"> - <field name="sctp.chunk_bit_1" pos="62" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="00" value="0"/> - <field name="sctp.chunk_bit_2" pos="62" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="00" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="63" show="0x03" showname="Chunk flags: 0x03" size="1" value="03"> - <field name="sctp.data_e_bit" pos="63" show="1" showname=".... ...1 = E-Bit: Last segment" size="1" unmaskedvalue="03" value="1"/> - <field name="sctp.data_b_bit" pos="63" show="1" showname=".... ..1. = B-Bit: First segment" size="1" unmaskedvalue="03" value="1"/> - <field name="sctp.data_u_bit" pos="63" show="0" showname=".... .0.. = U-Bit: Ordered delivery" size="1" unmaskedvalue="03" value="0"/> - <field name="sctp.data_i_bit" pos="63" show="0" showname=".... 0... = I-Bit: Possibly delay SACK" size="1" unmaskedvalue="03" value="0"/> - </field> - <field name="sctp.chunk_length" pos="64" show="48" showname="Chunk length: 48" size="2" value="0030"/> - <field name="sctp.data_tsn" pos="66" show="2008295176" showname="TSN: 2008295176" size="4" value="77b42708"/> - <field name="sctp.data_sid" pos="70" show="0x0001" showname="Stream Identifier: 0x0001" size="2" value="0001"/> - <field name="sctp.data_ssn" pos="72" show="0" showname="Stream sequence number: 0" size="2" value="0000"/> - <field name="sctp.data_payload_proto_id" pos="74" show="301989888" showname="Payload protocol identifier: Unknown (301989888)" size="4" value="12000000"/> - </field> - <proto name="s1ap" pos="78" showname="S1 Application Protocol" size="32"> - <field hide="yes" name="per.extension_bit" pos="78" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.choice_index" pos="78" show="0" showname="Choice Index: 0" size="1" value="00"/> - <field name="s1ap.S1AP_PDU" pos="78" show="0" showname="S1AP-PDU: initiatingMessage (0)" size="32" value="000b001c00000300000005c0740010d0000800048006692d001a000403075501"> - <field name="s1ap.initiatingMessage" pos="78" show="" showname="initiatingMessage" size="32" value=""> - <field name="s1ap.procedureCode" pos="79" show="11" showname="procedureCode: id-downlinkNASTransport (11)" size="1" value="0b"/> - <field hide="yes" name="per.enum_index" pos="80" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="80" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="81" show="28" showname="Open Type Length: 28" size="1" value="1c"/> - <field name="s1ap.value" pos="82" show="" showname="value" size="28" value=""> - <field name="s1ap.DownlinkNASTransport" pos="82" show="" showname="DownlinkNASTransport" size="28" value=""> - <field hide="yes" name="per.extension_bit" pos="82" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.sequence_of_length" pos="83" show="3" showname="Sequence-Of Length: 3" size="2" value="0003"/> - <field name="s1ap.protocolIEs" pos="85" show="3" showname="protocolIEs: 3 items" size="25" value="00000005c0740010d0000800048006692d001a000403075501"> - <field name="" pos="85" show="Item 0: id-MME-UE-S1AP-ID" size="9" value="00000005c0740010d0"> - <field name="s1ap.ProtocolIE_Field" pos="85" show="" showname="ProtocolIE-Field" size="9" value=""> - <field name="s1ap.id" pos="85" show="0" showname="id: id-MME-UE-S1AP-ID (0)" size="2" value="0000"/> - <field hide="yes" name="per.enum_index" pos="87" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="87" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="88" show="5" showname="Open Type Length: 5" size="1" value="05"/> - <field name="s1ap.value" pos="89" show="" showname="value" size="5" value=""> - <field name="s1ap.MME_UE_S1AP_ID" pos="89" show="1946161360" showname="MME-UE-S1AP-ID: 1946161360" size="5" value="c0740010d0"/> - </field> - </field> - </field> - <field name="" pos="94" show="Item 1: id-eNB-UE-S1AP-ID" size="8" value="000800048006692d"> - <field name="s1ap.ProtocolIE_Field" pos="94" show="" showname="ProtocolIE-Field" size="8" value=""> - <field name="s1ap.id" pos="94" show="8" showname="id: id-eNB-UE-S1AP-ID (8)" size="2" value="0008"/> - <field hide="yes" name="per.enum_index" pos="96" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="96" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="97" show="4" showname="Open Type Length: 4" size="1" value="04"/> - <field name="s1ap.value" pos="98" show="" showname="value" size="4" value=""> - <field name="s1ap.ENB_UE_S1AP_ID" pos="98" show="420141" showname="ENB-UE-S1AP-ID: 420141" size="4" value="8006692d"/> - </field> - </field> - </field> - <field name="" pos="102" show="Item 2: id-NAS-PDU" size="8" value="001a000403075501"> - <field name="s1ap.ProtocolIE_Field" pos="102" show="" showname="ProtocolIE-Field" size="8" value=""> - <field name="s1ap.id" pos="102" show="26" showname="id: id-NAS-PDU (26)" size="2" value="001a"/> - <field hide="yes" name="per.enum_index" pos="104" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="104" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="105" show="4" showname="Open Type Length: 4" size="1" value="04"/> - <field name="s1ap.value" pos="106" show="" showname="value" size="4" value=""> - <field hide="yes" name="per.octet_string_length" pos="106" show="3" showname="Octet String Length: 3" size="1" value="03"/> - <field name="s1ap.NAS_PDU" pos="107" show="07:55:01" showname="NAS-PDU: 075501" size="3" value="075501"/> - <proto name="nas-eps" pos="107" showname="Non-Access-Stratum (NAS)PDU" size="3"> - <field name="nas_eps.security_header_type" pos="107" show="0" showname="0000 .... = Security header type: Plain NAS message, not security protected (0)" size="1" unmaskedvalue="07" value="0"/> - <field name="gsm_a.L3_protocol_discriminator" pos="107" show="0x07" showname=".... 0111 = Protocol discriminator: EPS mobility management messages (0x07)" size="1" unmaskedvalue="07" value="7"/> - <field name="nas_eps.nas_msg_emm_type" pos="108" show="0x55" showname="NAS EPS Mobility Management Message Type: Identity request (0x55)" size="1" value="55"/> - <field name="nas_eps.emm.spare_half_octet" pos="109" show="0" showname="0000 .... = Spare half octet: 0" size="1" value="01"/> - <field name="nas_eps.emm.id_type2" pos="109" show="1" showname=".... 0001 = Identity type 2: IMSI (1)" size="1" value="01"/> - </proto> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </proto> - </proto> - </proto> - </proto> - </packet> - <packet> - <proto name="frame" pos="0" showname="Frame 78: 146 bytes on wire (1168 bits), 146 bytes captured (1168 bits) on interface 0" size="146"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:34:53.767126000" showname="Arrival Time: Sep 25, 2015 16:34:53.767126000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191693.767126000" showname="Epoch Time: 1443191693.767126000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.017181000" showname="Time delta from previous captured frame: 0.017181000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.017181000" showname="Time delta from previous displayed frame: 0.017181000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="47.301495000" showname="Time since reference or first frame: 47.301495000 seconds" size="0"/> - <field name="frame.number" pos="0" show="78" showname="Frame Number: 78" size="0"/> - <field name="frame.len" pos="0" show="146" showname="Frame Length: 146 bytes (1168 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="146" showname="Capture Length: 146 bytes (1168 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ip:sctp:s1ap:s1ap:s1ap:s1ap:s1ap:nas-eps:s1ap:s1ap" showname="Protocols in frame: eth:ip:sctp:s1ap:s1ap:s1ap:s1ap:s1ap:nas-eps:s1ap:s1ap" size="0"/> - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.213 (192.168.12.213), Dst: 192.168.12.17 (192.168.12.17)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0x00" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="0x02" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="132" showname="Total Length: 132" size="2" value="0084"/> - <field name="ip.id" pos="18" show="0x0006" showname="Identification: 0x0006 (6)" size="2" value="0006"/> - <field name="ip.flags" pos="20" show="0x02" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="0x9fb7" showname="Header checksum: 0x9fb7 [validation disabled]" size="2" value="9fb7"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="9fb7"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="9fb7"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.213" showname="Source: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.213" showname="Source Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="ip.dst" pos="30" show="192.168.12.17" showname="Destination: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.17" showname="Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80cd5"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80c11"/> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: s1-control (36412), Dst Port: s1-control (36412)" size="44"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="0x4cd1eca0" showname="Verification tag: 0x4cd1eca0" size="4" value="4cd1eca0"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="0x6cae2fa5" showname="Checksum: 0x6cae2fa5 (not verified)" size="4" value="6cae2fa5"/> - <field name="" pos="46" show="SACK chunk (Cumulative TSN: 2008295176, a_rwnd: 106496, gaps: 0, duplicate TSNs: 0)" size="16" value="0300001077b427080001a00000000000"> - <field name="sctp.chunk_type" pos="46" show="3" showname="Chunk type: SACK (3)" size="1" value="03"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="03" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="03" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0x00" showname="Chunk flags: 0x00" size="1" value="00"> - <field name="sctp.sack_nounce_sum" pos="47" show="0" showname=".... ...0 = Nounce sum: 0" size="1" unmaskedvalue="00" value="0"/> - </field> - <field name="sctp.chunk_length" pos="48" show="16" showname="Chunk length: 16" size="2" value="0010"/> - <field name="sctp.sack_cumulative_tsn_ack" pos="50" show="2008295176" showname="Cumulative TSN ACK: 2008295176" size="4" value="77b42708"/> - <field name="sctp.sack_a_rwnd" pos="54" show="106496" showname="Advertised receiver window credit (a_rwnd): 106496" size="4" value="0001a000"/> - <field name="sctp.sack_number_of_gap_blocks" pos="58" show="0" showname="Number of gap acknowledgement blocks: 0" size="2" value="0000"/> - <field name="sctp.sack_number_of_duplicated_tsns" pos="60" show="0" showname="Number of duplicated TSNs: 0" size="2" value="0000"/> - </field> - <field name="" pos="62" show="DATA chunk(ordered, complete segment, TSN: 3304831193, SID: 1, SSN: 1, PPID: 18, payload length: 68 bytes)" size="16" value="00030054c4fbb8d90001000100000012"> - <field name="sctp.chunk_type" pos="62" show="0" showname="Chunk type: DATA (0)" size="1" value="00"> - <field name="sctp.chunk_bit_1" pos="62" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="00" value="0"/> - <field name="sctp.chunk_bit_2" pos="62" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="00" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="63" show="0x03" showname="Chunk flags: 0x03" size="1" value="03"> - <field name="sctp.data_e_bit" pos="63" show="1" showname=".... ...1 = E-Bit: Last segment" size="1" unmaskedvalue="03" value="1"/> - <field name="sctp.data_b_bit" pos="63" show="1" showname=".... ..1. = B-Bit: First segment" size="1" unmaskedvalue="03" value="1"/> - <field name="sctp.data_u_bit" pos="63" show="0" showname=".... .0.. = U-Bit: Ordered delivery" size="1" unmaskedvalue="03" value="0"/> - <field name="sctp.data_i_bit" pos="63" show="0" showname=".... 0... = I-Bit: Possibly delay SACK" size="1" unmaskedvalue="03" value="0"/> - </field> - <field name="sctp.chunk_length" pos="64" show="84" showname="Chunk length: 84" size="2" value="0054"/> - <field name="sctp.data_tsn" pos="66" show="3304831193" showname="TSN: 3304831193" size="4" value="c4fbb8d9"/> - <field name="sctp.data_sid" pos="70" show="0x0001" showname="Stream Identifier: 0x0001" size="2" value="0001"/> - <field name="sctp.data_ssn" pos="72" show="1" showname="Stream sequence number: 1" size="2" value="0001"/> - <field name="sctp.data_payload_proto_id" pos="74" show="18" showname="Payload protocol identifier: S1 Application Protocol (S1AP) (18)" size="4" value="00000012"/> - </field> - <proto name="s1ap" pos="78" showname="S1 Application Protocol" size="68"> - <field hide="yes" name="per.extension_bit" pos="78" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.choice_index" pos="78" show="0" showname="Choice Index: 0" size="1" value="00"/> - <field name="s1ap.S1AP_PDU" pos="78" show="0" showname="S1AP-PDU: initiatingMessage (0)" size="68" value="000d404000000500000005c0740010d0000800048006692d001a00121117b3e0e284030756082980590000000020006440080002f85900e00000004340060002f8590001"> - <field name="s1ap.initiatingMessage" pos="78" show="" showname="initiatingMessage" size="68" value=""> - <field name="s1ap.procedureCode" pos="79" show="13" showname="procedureCode: id-uplinkNASTransport (13)" size="1" value="0d"/> - <field hide="yes" name="per.enum_index" pos="80" show="1" showname="Enumerated Index: 1" size="1" value="40"/> - <field name="s1ap.criticality" pos="80" show="1" showname="criticality: ignore (1)" size="1" value="40"/> - <field hide="yes" name="per.open_type_length" pos="81" show="64" showname="Open Type Length: 64" size="1" value="40"/> - <field name="s1ap.value" pos="82" show="" showname="value" size="64" value=""> - <field name="s1ap.UplinkNASTransport" pos="82" show="" showname="UplinkNASTransport" size="64" value=""> - <field hide="yes" name="per.extension_bit" pos="82" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.sequence_of_length" pos="83" show="5" showname="Sequence-Of Length: 5" size="2" value="0005"/> - <field name="s1ap.protocolIEs" pos="85" show="5" showname="protocolIEs: 5 items" size="61" value="00000005c0740010d0000800048006692d001a00121117b3e0e284030756082980590000000020006440080002f85900e00000004340060002f8590001"> - <field name="" pos="85" show="Item 0: id-MME-UE-S1AP-ID" size="9" value="00000005c0740010d0"> - <field name="s1ap.ProtocolIE_Field" pos="85" show="" showname="ProtocolIE-Field" size="9" value=""> - <field name="s1ap.id" pos="85" show="0" showname="id: id-MME-UE-S1AP-ID (0)" size="2" value="0000"/> - <field hide="yes" name="per.enum_index" pos="87" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="87" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="88" show="5" showname="Open Type Length: 5" size="1" value="05"/> - <field name="s1ap.value" pos="89" show="" showname="value" size="5" value=""> - <field name="s1ap.MME_UE_S1AP_ID" pos="89" show="1946161360" showname="MME-UE-S1AP-ID: 1946161360" size="5" value="c0740010d0"/> - </field> - </field> - </field> - <field name="" pos="94" show="Item 1: id-eNB-UE-S1AP-ID" size="8" value="000800048006692d"> - <field name="s1ap.ProtocolIE_Field" pos="94" show="" showname="ProtocolIE-Field" size="8" value=""> - <field name="s1ap.id" pos="94" show="8" showname="id: id-eNB-UE-S1AP-ID (8)" size="2" value="0008"/> - <field hide="yes" name="per.enum_index" pos="96" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="96" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="97" show="4" showname="Open Type Length: 4" size="1" value="04"/> - <field name="s1ap.value" pos="98" show="" showname="value" size="4" value=""> - <field name="s1ap.ENB_UE_S1AP_ID" pos="98" show="420141" showname="ENB-UE-S1AP-ID: 420141" size="4" value="8006692d"/> - </field> - </field> - </field> - <field name="" pos="102" show="Item 2: id-NAS-PDU" size="22" value="001a00121117b3e0e284030756082980590000000020"> - <field name="s1ap.ProtocolIE_Field" pos="102" show="" showname="ProtocolIE-Field" size="22" value=""> - <field name="s1ap.id" pos="102" show="26" showname="id: id-NAS-PDU (26)" size="2" value="001a"/> - <field hide="yes" name="per.enum_index" pos="104" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="104" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="105" show="18" showname="Open Type Length: 18" size="1" value="12"/> - <field name="s1ap.value" pos="106" show="" showname="value" size="18" value=""> - <field hide="yes" name="per.octet_string_length" pos="106" show="17" showname="Octet String Length: 17" size="1" value="11"/> - <field name="s1ap.NAS_PDU" pos="107" show="17:b3:e0:e2:84:03:07:56:08:29:80:59:00:00:00:00:20" showname="NAS-PDU: 17b3e0e284030756082980590000000020" size="17" value="17b3e0e284030756082980590000000020"/> - <proto name="nas-eps" pos="107" showname="Non-Access-Stratum (NAS)PDU" size="17"> - <field name="nas_eps.security_header_type" pos="107" show="1" showname="0001 .... = Security header type: Integrity protected (1)" size="1" unmaskedvalue="17" value="1"/> - <field name="gsm_a.L3_protocol_discriminator" pos="107" show="0x07" showname=".... 0111 = Protocol discriminator: EPS mobility management messages (0x07)" size="1" unmaskedvalue="17" value="7"/> - <field name="nas_eps.msg_auth_code" pos="108" show="0xb3e0e284" showname="Message authentication code: 0xb3e0e284" size="4" value="b3e0e284"/> - <field name="nas_eps.seq_no" pos="112" show="3" showname="Sequence number: 3" size="1" value="03"/> - <field name="nas_eps.security_header_type" pos="113" show="0" showname="0000 .... = Security header type: Plain NAS message, not security protected (0)" size="1" unmaskedvalue="07" value="0"/> - <field name="gsm_a.L3_protocol_discriminator" pos="113" show="0x07" showname=".... 0111 = Protocol discriminator: EPS mobility management messages (0x07)" size="1" unmaskedvalue="07" value="7"/> - <field name="nas_eps.nas_msg_emm_type" pos="114" show="0x56" showname="NAS EPS Mobility Management Message Type: Identity response (0x56)" size="1" value="56"/> - <field name="" pos="115" show="Mobile identity - IMSI (208950000000002)" size="9" value="082980590000000020"> - <field name="gsm_a.len" pos="115" show="8" showname="Length: 8" size="1" value="08"/> - <field name="" pos="116" show="0010 .... = Identity Digit 1: 2" size="1" value="29"/> - <field name="gsm_a.oddevenind" pos="116" show="1" showname=".... 1... = Odd/even indication: Odd number of identity digits" size="1" unmaskedvalue="29" value="1"/> - <field name="gsm_a.ie.mobileid.type" pos="116" show="1" showname=".... .001 = Mobile Identity Type: IMSI (1)" size="1" unmaskedvalue="29" value="1"/> - <field name="gsm_a.imsi" pos="116" show="208950000000002" showname="BCD Digits: 208950000000002" size="8" value="2980590000000020"/> - </field> - </proto> - </field> - </field> - </field> - <field name="" pos="124" show="Item 3: id-EUTRAN-CGI" size="12" value="006440080002f85900e00000"> - <field name="s1ap.ProtocolIE_Field" pos="124" show="" showname="ProtocolIE-Field" size="12" value=""> - <field name="s1ap.id" pos="124" show="100" showname="id: id-EUTRAN-CGI (100)" size="2" value="0064"/> - <field hide="yes" name="per.enum_index" pos="126" show="1" showname="Enumerated Index: 1" size="1" value="40"/> - <field name="s1ap.criticality" pos="126" show="1" showname="criticality: ignore (1)" size="1" value="40"/> - <field hide="yes" name="per.open_type_length" pos="127" show="8" showname="Open Type Length: 8" size="1" value="08"/> - <field name="s1ap.value" pos="128" show="" showname="value" size="8" value=""> - <field name="s1ap.EUTRAN_CGI" pos="128" show="" showname="EUTRAN-CGI" size="7" value=""> - <field hide="yes" name="per.extension_bit" pos="128" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.optional_field_bit" pos="128" show="0" showname=".0.. .... Optional Field Bit: False (iE-Extensions is NOT present)" size="1" unmaskedvalue="00" value="0"/> - <field name="s1ap.pLMNidentity" pos="129" show="02:f8:59" showname="pLMNidentity: 02f859" size="3" value="02f859"/> - <field name="e212.mcc" pos="129" show="208" showname="Mobile Country Code (MCC): France (208)" size="2" value="02f8"/> - <field name="e212.mnc" pos="130" show="95" showname="Mobile Network Code (MNC): Unknown (95)" size="2" value="f859"/> - <field name="s1ap.cell_ID" pos="128" show="00:e0:00:00" showname="cell-ID: 00e00000 [bit length 28, 4 LSB pad bits, 0000 0000 1110 0000 0000 0000 0000 .... decimal value 917504]" size="4" value="00e00000"/> - </field> - </field> - </field> - </field> - <field name="" pos="136" show="Item 4: id-TAI" size="10" value="004340060002f8590001"> - <field name="s1ap.ProtocolIE_Field" pos="136" show="" showname="ProtocolIE-Field" size="10" value=""> - <field name="s1ap.id" pos="136" show="67" showname="id: id-TAI (67)" size="2" value="0043"/> - <field hide="yes" name="per.enum_index" pos="138" show="1" showname="Enumerated Index: 1" size="1" value="40"/> - <field name="s1ap.criticality" pos="138" show="1" showname="criticality: ignore (1)" size="1" value="40"/> - <field hide="yes" name="per.open_type_length" pos="139" show="6" showname="Open Type Length: 6" size="1" value="06"/> - <field name="s1ap.value" pos="140" show="" showname="value" size="6" value=""> - <field name="s1ap.TAI" pos="140" show="" showname="TAI" size="6" value=""> - <field hide="yes" name="per.extension_bit" pos="140" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.optional_field_bit" pos="140" show="0" showname=".0.. .... Optional Field Bit: False (iE-Extensions is NOT present)" size="1" unmaskedvalue="00" value="0"/> - <field name="s1ap.pLMNidentity" pos="141" show="02:f8:59" showname="pLMNidentity: 02f859" size="3" value="02f859"/> - <field name="e212.mcc" pos="141" show="208" showname="Mobile Country Code (MCC): France (208)" size="2" value="02f8"/> - <field name="e212.mnc" pos="142" show="95" showname="Mobile Network Code (MNC): Unknown (95)" size="2" value="f859"/> - <field name="s1ap.tAC" pos="144" show="00:01" showname="tAC: 0001" size="2" value="0001"/> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </proto> - </proto> - </proto> - </proto> - </packet> - <packet> - <proto name="frame" pos="0" showname="Frame 79: 146 bytes on wire (1168 bits), 146 bytes captured (1168 bits) on interface 0" size="146"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:34:53.771623000" showname="Arrival Time: Sep 25, 2015 16:34:53.771623000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191693.771623000" showname="Epoch Time: 1443191693.771623000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.004497000" showname="Time delta from previous captured frame: 0.004497000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.004497000" showname="Time delta from previous displayed frame: 0.004497000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="47.305992000" showname="Time since reference or first frame: 47.305992000 seconds" size="0"/> - <field name="frame.number" pos="0" show="79" showname="Frame Number: 79" size="0"/> - <field name="frame.len" pos="0" show="146" showname="Frame Length: 146 bytes (1168 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="146" showname="Capture Length: 146 bytes (1168 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ip:sctp:s1ap:s1ap:s1ap:s1ap:s1ap:nas-eps" showname="Protocols in frame: eth:ip:sctp:s1ap:s1ap:s1ap:s1ap:s1ap:nas-eps" size="0"/> - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.17 (192.168.12.17), Dst: 192.168.12.213 (192.168.12.213)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0x00" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="0x02" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="132" showname="Total Length: 132" size="2" value="0084"/> - <field name="ip.id" pos="18" show="0x0000" showname="Identification: 0x0000 (0)" size="2" value="0000"/> - <field name="ip.flags" pos="20" show="0x02" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="0x9fbd" showname="Header checksum: 0x9fbd [validation disabled]" size="2" value="9fbd"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="9fbd"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="9fbd"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.17" showname="Source: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.17" showname="Source Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="ip.dst" pos="30" show="192.168.12.213" showname="Destination: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.213" showname="Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80c11"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80cd5"/> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: s1-control (36412), Dst Port: s1-control (36412)" size="44"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="0x54f837ab" showname="Verification tag: 0x54f837ab" size="4" value="54f837ab"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="0xf61432bc" showname="Checksum: 0xf61432bc (not verified)" size="4" value="f61432bc"/> - <field name="" pos="46" show="SACK chunk (Cumulative TSN: 3304831193, a_rwnd: 106496, gaps: 0, duplicate TSNs: 0)" size="16" value="03000010c4fbb8d90001a00000000000"> - <field name="sctp.chunk_type" pos="46" show="3" showname="Chunk type: SACK (3)" size="1" value="03"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="03" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="03" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0x00" showname="Chunk flags: 0x00" size="1" value="00"> - <field name="sctp.sack_nounce_sum" pos="47" show="0" showname=".... ...0 = Nounce sum: 0" size="1" unmaskedvalue="00" value="0"/> - </field> - <field name="sctp.chunk_length" pos="48" show="16" showname="Chunk length: 16" size="2" value="0010"/> - <field name="sctp.sack_cumulative_tsn_ack" pos="50" show="3304831193" showname="Cumulative TSN ACK: 3304831193" size="4" value="c4fbb8d9"/> - <field name="sctp.sack_a_rwnd" pos="54" show="106496" showname="Advertised receiver window credit (a_rwnd): 106496" size="4" value="0001a000"/> - <field name="sctp.sack_number_of_gap_blocks" pos="58" show="0" showname="Number of gap acknowledgement blocks: 0" size="2" value="0000"/> - <field name="sctp.sack_number_of_duplicated_tsns" pos="60" show="0" showname="Number of duplicated TSNs: 0" size="2" value="0000"/> - </field> - <field name="" pos="62" show="DATA chunk(ordered, complete segment, TSN: 2008295177, SID: 1, SSN: 1, PPID: 301989888, payload length: 65 bytes)" size="16" value="0003005177b427090001000112000000"> - <field name="sctp.chunk_type" pos="62" show="0" showname="Chunk type: DATA (0)" size="1" value="00"> - <field name="sctp.chunk_bit_1" pos="62" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="00" value="0"/> - <field name="sctp.chunk_bit_2" pos="62" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="00" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="63" show="0x03" showname="Chunk flags: 0x03" size="1" value="03"> - <field name="sctp.data_e_bit" pos="63" show="1" showname=".... ...1 = E-Bit: Last segment" size="1" unmaskedvalue="03" value="1"/> - <field name="sctp.data_b_bit" pos="63" show="1" showname=".... ..1. = B-Bit: First segment" size="1" unmaskedvalue="03" value="1"/> - <field name="sctp.data_u_bit" pos="63" show="0" showname=".... .0.. = U-Bit: Ordered delivery" size="1" unmaskedvalue="03" value="0"/> - <field name="sctp.data_i_bit" pos="63" show="0" showname=".... 0... = I-Bit: Possibly delay SACK" size="1" unmaskedvalue="03" value="0"/> - </field> - <field name="sctp.chunk_length" pos="64" show="81" showname="Chunk length: 81" size="2" value="0051"/> - <field name="sctp.data_tsn" pos="66" show="2008295177" showname="TSN: 2008295177" size="4" value="77b42709"/> - <field name="sctp.data_sid" pos="70" show="0x0001" showname="Stream Identifier: 0x0001" size="2" value="0001"/> - <field name="sctp.data_ssn" pos="72" show="1" showname="Stream sequence number: 1" size="2" value="0001"/> - <field name="sctp.data_payload_proto_id" pos="74" show="301989888" showname="Payload protocol identifier: Unknown (301989888)" size="4" value="12000000"/> - <field name="sctp.chunk_padding" pos="143" show="00:00:00" showname="Chunk padding: 000000" size="3" value="000000"/> - </field> - <proto name="s1ap" pos="78" showname="S1 Application Protocol" size="65"> - <field hide="yes" name="per.extension_bit" pos="78" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.choice_index" pos="78" show="0" showname="Choice Index: 0" size="1" value="00"/> - <field name="s1ap.S1AP_PDU" pos="78" show="0" showname="S1AP-PDU: initiatingMessage (0)" size="65" value="000b003d00000300000005c0740010d0000800048006692d001a00252407520007cefaf5dd90a76da30d2c6775f4e41f10a19ee7945f198000a2a656d4988ff528"> - <field name="s1ap.initiatingMessage" pos="78" show="" showname="initiatingMessage" size="65" value=""> - <field name="s1ap.procedureCode" pos="79" show="11" showname="procedureCode: id-downlinkNASTransport (11)" size="1" value="0b"/> - <field hide="yes" name="per.enum_index" pos="80" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="80" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="81" show="61" showname="Open Type Length: 61" size="1" value="3d"/> - <field name="s1ap.value" pos="82" show="" showname="value" size="61" value=""> - <field name="s1ap.DownlinkNASTransport" pos="82" show="" showname="DownlinkNASTransport" size="61" value=""> - <field hide="yes" name="per.extension_bit" pos="82" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.sequence_of_length" pos="83" show="3" showname="Sequence-Of Length: 3" size="2" value="0003"/> - <field name="s1ap.protocolIEs" pos="85" show="3" showname="protocolIEs: 3 items" size="58" value="00000005c0740010d0000800048006692d001a00252407520007cefaf5dd90a76da30d2c6775f4e41f10a19ee7945f198000a2a656d4988ff528"> - <field name="" pos="85" show="Item 0: id-MME-UE-S1AP-ID" size="9" value="00000005c0740010d0"> - <field name="s1ap.ProtocolIE_Field" pos="85" show="" showname="ProtocolIE-Field" size="9" value=""> - <field name="s1ap.id" pos="85" show="0" showname="id: id-MME-UE-S1AP-ID (0)" size="2" value="0000"/> - <field hide="yes" name="per.enum_index" pos="87" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="87" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="88" show="5" showname="Open Type Length: 5" size="1" value="05"/> - <field name="s1ap.value" pos="89" show="" showname="value" size="5" value=""> - <field name="s1ap.MME_UE_S1AP_ID" pos="89" show="1946161360" showname="MME-UE-S1AP-ID: 1946161360" size="5" value="c0740010d0"/> - </field> - </field> - </field> - <field name="" pos="94" show="Item 1: id-eNB-UE-S1AP-ID" size="8" value="000800048006692d"> - <field name="s1ap.ProtocolIE_Field" pos="94" show="" showname="ProtocolIE-Field" size="8" value=""> - <field name="s1ap.id" pos="94" show="8" showname="id: id-eNB-UE-S1AP-ID (8)" size="2" value="0008"/> - <field hide="yes" name="per.enum_index" pos="96" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="96" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="97" show="4" showname="Open Type Length: 4" size="1" value="04"/> - <field name="s1ap.value" pos="98" show="" showname="value" size="4" value=""> - <field name="s1ap.ENB_UE_S1AP_ID" pos="98" show="420141" showname="ENB-UE-S1AP-ID: 420141" size="4" value="8006692d"/> - </field> - </field> - </field> - <field name="" pos="102" show="Item 2: id-NAS-PDU" size="41" value="001a00252407520007cefaf5dd90a76da30d2c6775f4e41f10a19ee7945f198000a2a656d4988ff528"> - <field name="s1ap.ProtocolIE_Field" pos="102" show="" showname="ProtocolIE-Field" size="41" value=""> - <field name="s1ap.id" pos="102" show="26" showname="id: id-NAS-PDU (26)" size="2" value="001a"/> - <field hide="yes" name="per.enum_index" pos="104" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="104" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="105" show="37" showname="Open Type Length: 37" size="1" value="25"/> - <field name="s1ap.value" pos="106" show="" showname="value" size="37" value=""> - <field hide="yes" name="per.octet_string_length" pos="106" show="36" showname="Octet String Length: 36" size="1" value="24"/> - <field name="s1ap.NAS_PDU" pos="107" show="07:52:00:07:ce:fa:f5:dd:90:a7:6d:a3:0d:2c:67:75:f4:e4:1f:10:a1:9e:e7:94:5f:19:80:00:a2:a6:56:d4:98:8f:f5:28" showname="NAS-PDU: 07520007cefaf5dd90a76da30d2c6775f4e41f10a19ee794..." size="36" value="07520007cefaf5dd90a76da30d2c6775f4e41f10a19ee7945f198000a2a656d4988ff528"/> - <proto name="nas-eps" pos="107" showname="Non-Access-Stratum (NAS)PDU" size="36"> - <field name="nas_eps.security_header_type" pos="107" show="0" showname="0000 .... = Security header type: Plain NAS message, not security protected (0)" size="1" unmaskedvalue="07" value="0"/> - <field name="gsm_a.L3_protocol_discriminator" pos="107" show="0x07" showname=".... 0111 = Protocol discriminator: EPS mobility management messages (0x07)" size="1" unmaskedvalue="07" value="7"/> - <field name="nas_eps.nas_msg_emm_type" pos="108" show="0x52" showname="NAS EPS Mobility Management Message Type: Authentication request (0x52)" size="1" value="52"/> - <field name="nas_eps.emm.spare_half_octet" pos="109" show="0" showname="0000 .... = Spare half octet: 0" size="1" value="00"/> - <field name="nas_eps.emm.tsc" pos="109" show="0" showname=".... 0... = Type of security context flag (TSC): Native security context (for KSIasme)" size="1" value="00"/> - <field name="nas_eps.emm.nas_key_set_id" pos="109" show="0" showname=".... .000 = NAS key set identifier: (0) ASME" size="1" value="00"/> - <field name="" pos="110" show="Authentication Parameter RAND - EPS challenge" size="16" value="07cefaf5dd90a76da30d2c6775f4e41f"> - <field name="gsm_a.dtap.rand" pos="110" show="07:ce:fa:f5:dd:90:a7:6d:a3:0d:2c:67:75:f4:e4:1f" showname="RAND value: 07cefaf5dd90a76da30d2c6775f4e41f" size="16" value="07cefaf5dd90a76da30d2c6775f4e41f"/> - </field> - <field name="" pos="126" show="Authentication Parameter AUTN (UMTS and EPS authentication challenge) - EPS challenge" size="17" value="10a19ee7945f198000a2a656d4988ff528"> - <field name="gsm_a.len" pos="126" show="16" showname="Length: 16" size="1" value="10"/> - <field name="gsm_a.dtap.autn" pos="127" show="a1:9e:e7:94:5f:19:80:00:a2:a6:56:d4:98:8f:f5:28" showname="AUTN value: a19ee7945f198000a2a656d4988ff528" size="16" value="a19ee7945f198000a2a656d4988ff528"> - <field name="gsm_a.dtap.autn.sqn_xor_ak" pos="127" show="a1:9e:e7:94:5f:19" showname="SQN xor AK: a19ee7945f19" size="6" value="a19ee7945f19"/> - <field name="gsm_a.dtap.autn.amf" pos="133" show="80:00" showname="AMF: 8000" size="2" value="8000"/> - <field name="gsm_a.dtap.autn.mac" pos="135" show="a2:a6:56:d4:98:8f:f5:28" showname="MAC: a2a656d4988ff528" size="8" value="a2a656d4988ff528"/> - </field> - </field> - </proto> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </proto> - </proto> - </proto> - </proto> - </packet> - <packet> - <proto name="frame" pos="0" showname="Frame 80: 62 bytes on wire (496 bits), 62 bytes captured (496 bits) on interface 0" size="62"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:34:53.971568000" showname="Arrival Time: Sep 25, 2015 16:34:53.971568000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191693.971568000" showname="Epoch Time: 1443191693.971568000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.199945000" showname="Time delta from previous captured frame: 0.199945000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.199945000" showname="Time delta from previous displayed frame: 0.199945000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="47.505937000" showname="Time since reference or first frame: 47.505937000 seconds" size="0"/> - <field name="frame.number" pos="0" show="80" showname="Frame Number: 80" size="0"/> - <field name="frame.len" pos="0" show="62" showname="Frame Length: 62 bytes (496 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="62" showname="Capture Length: 62 bytes (496 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ip:sctp" showname="Protocols in frame: eth:ip:sctp" size="0"/> - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.213 (192.168.12.213), Dst: 192.168.12.17 (192.168.12.17)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0x00" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="0x02" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="48" showname="Total Length: 48" size="2" value="0030"/> - <field name="ip.id" pos="18" show="0x0007" showname="Identification: 0x0007 (7)" size="2" value="0007"/> - <field name="ip.flags" pos="20" show="0x02" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="0xa00a" showname="Header checksum: 0xa00a [validation disabled]" size="2" value="a00a"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="a00a"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="a00a"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.213" showname="Source: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.213" showname="Source Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="ip.dst" pos="30" show="192.168.12.17" showname="Destination: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.17" showname="Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80cd5"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80c11"/> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: s1-control (36412), Dst Port: s1-control (36412)" size="28"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="0x4cd1eca0" showname="Verification tag: 0x4cd1eca0" size="4" value="4cd1eca0"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="0x9017abdf" showname="Checksum: 0x9017abdf (not verified)" size="4" value="9017abdf"/> - <field name="" pos="46" show="SACK chunk (Cumulative TSN: 2008295177, a_rwnd: 106496, gaps: 0, duplicate TSNs: 0)" size="16" value="0300001077b427090001a00000000000"> - <field name="sctp.chunk_type" pos="46" show="3" showname="Chunk type: SACK (3)" size="1" value="03"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="03" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="03" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0x00" showname="Chunk flags: 0x00" size="1" value="00"> - <field name="sctp.sack_nounce_sum" pos="47" show="0" showname=".... ...0 = Nounce sum: 0" size="1" unmaskedvalue="00" value="0"/> - </field> - <field name="sctp.chunk_length" pos="48" show="16" showname="Chunk length: 16" size="2" value="0010"/> - <field name="sctp.sack_cumulative_tsn_ack" pos="50" show="2008295177" showname="Cumulative TSN ACK: 2008295177" size="4" value="77b42709"/> - <field name="sctp.sack_a_rwnd" pos="54" show="106496" showname="Advertised receiver window credit (a_rwnd): 106496" size="4" value="0001a000"/> - <field name="sctp.sack_number_of_gap_blocks" pos="58" show="0" showname="Number of gap acknowledgement blocks: 0" size="2" value="0000"/> - <field name="sctp.sack_number_of_duplicated_tsns" pos="60" show="0" showname="Number of duplicated TSNs: 0" size="2" value="0000"/> - </field> - </proto> - </proto> - </proto> - </packet> - <packet> - <proto name="frame" pos="0" showname="Frame 81: 130 bytes on wire (1040 bits), 130 bytes captured (1040 bits) on interface 0" size="130"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:34:53.977130000" showname="Arrival Time: Sep 25, 2015 16:34:53.977130000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191693.977130000" showname="Epoch Time: 1443191693.977130000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.005562000" showname="Time delta from previous captured frame: 0.005562000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.005562000" showname="Time delta from previous displayed frame: 0.005562000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="47.511499000" showname="Time since reference or first frame: 47.511499000 seconds" size="0"/> - <field name="frame.number" pos="0" show="81" showname="Frame Number: 81" size="0"/> - <field name="frame.len" pos="0" show="130" showname="Frame Length: 130 bytes (1040 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="130" showname="Capture Length: 130 bytes (1040 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ip:sctp:s1ap:s1ap:s1ap:s1ap:s1ap:nas-eps:s1ap:s1ap" showname="Protocols in frame: eth:ip:sctp:s1ap:s1ap:s1ap:s1ap:s1ap:nas-eps:s1ap:s1ap" size="0"/> - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.213 (192.168.12.213), Dst: 192.168.12.17 (192.168.12.17)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0x00" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="0x02" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="116" showname="Total Length: 116" size="2" value="0074"/> - <field name="ip.id" pos="18" show="0x0008" showname="Identification: 0x0008 (8)" size="2" value="0008"/> - <field name="ip.flags" pos="20" show="0x02" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="0x9fc5" showname="Header checksum: 0x9fc5 [validation disabled]" size="2" value="9fc5"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="9fc5"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="9fc5"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.213" showname="Source: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.213" showname="Source Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="ip.dst" pos="30" show="192.168.12.17" showname="Destination: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.17" showname="Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80cd5"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80c11"/> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: s1-control (36412), Dst Port: s1-control (36412)" size="28"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="0x4cd1eca0" showname="Verification tag: 0x4cd1eca0" size="4" value="4cd1eca0"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="0x2fbe8f7d" showname="Checksum: 0x2fbe8f7d (not verified)" size="4" value="2fbe8f7d"/> - <field name="" pos="46" show="DATA chunk(ordered, complete segment, TSN: 3304831194, SID: 1, SSN: 2, PPID: 18, payload length: 68 bytes)" size="16" value="00030054c4fbb8da0001000200000012"> - <field name="sctp.chunk_type" pos="46" show="0" showname="Chunk type: DATA (0)" size="1" value="00"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="00" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="00" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0x03" showname="Chunk flags: 0x03" size="1" value="03"> - <field name="sctp.data_e_bit" pos="47" show="1" showname=".... ...1 = E-Bit: Last segment" size="1" unmaskedvalue="03" value="1"/> - <field name="sctp.data_b_bit" pos="47" show="1" showname=".... ..1. = B-Bit: First segment" size="1" unmaskedvalue="03" value="1"/> - <field name="sctp.data_u_bit" pos="47" show="0" showname=".... .0.. = U-Bit: Ordered delivery" size="1" unmaskedvalue="03" value="0"/> - <field name="sctp.data_i_bit" pos="47" show="0" showname=".... 0... = I-Bit: Possibly delay SACK" size="1" unmaskedvalue="03" value="0"/> - </field> - <field name="sctp.chunk_length" pos="48" show="84" showname="Chunk length: 84" size="2" value="0054"/> - <field name="sctp.data_tsn" pos="50" show="3304831194" showname="TSN: 3304831194" size="4" value="c4fbb8da"/> - <field name="sctp.data_sid" pos="54" show="0x0001" showname="Stream Identifier: 0x0001" size="2" value="0001"/> - <field name="sctp.data_ssn" pos="56" show="2" showname="Stream sequence number: 2" size="2" value="0002"/> - <field name="sctp.data_payload_proto_id" pos="58" show="18" showname="Payload protocol identifier: S1 Application Protocol (S1AP) (18)" size="4" value="00000012"/> - </field> - <proto name="s1ap" pos="62" showname="S1 Application Protocol" size="68"> - <field hide="yes" name="per.extension_bit" pos="62" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.choice_index" pos="62" show="0" showname="Choice Index: 0" size="1" value="00"/> - <field name="s1ap.S1AP_PDU" pos="62" show="0" showname="S1AP-PDU: initiatingMessage (0)" size="68" value="000d404000000500000005c0740010d0000800048006692d001a00121117aecd82eb0407530829a497732efc0114006440080002f85900e00000004340060002f8590001"> - <field name="s1ap.initiatingMessage" pos="62" show="" showname="initiatingMessage" size="68" value=""> - <field name="s1ap.procedureCode" pos="63" show="13" showname="procedureCode: id-uplinkNASTransport (13)" size="1" value="0d"/> - <field hide="yes" name="per.enum_index" pos="64" show="1" showname="Enumerated Index: 1" size="1" value="40"/> - <field name="s1ap.criticality" pos="64" show="1" showname="criticality: ignore (1)" size="1" value="40"/> - <field hide="yes" name="per.open_type_length" pos="65" show="64" showname="Open Type Length: 64" size="1" value="40"/> - <field name="s1ap.value" pos="66" show="" showname="value" size="64" value=""> - <field name="s1ap.UplinkNASTransport" pos="66" show="" showname="UplinkNASTransport" size="64" value=""> - <field hide="yes" name="per.extension_bit" pos="66" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.sequence_of_length" pos="67" show="5" showname="Sequence-Of Length: 5" size="2" value="0005"/> - <field name="s1ap.protocolIEs" pos="69" show="5" showname="protocolIEs: 5 items" size="61" value="00000005c0740010d0000800048006692d001a00121117aecd82eb0407530829a497732efc0114006440080002f85900e00000004340060002f8590001"> - <field name="" pos="69" show="Item 0: id-MME-UE-S1AP-ID" size="9" value="00000005c0740010d0"> - <field name="s1ap.ProtocolIE_Field" pos="69" show="" showname="ProtocolIE-Field" size="9" value=""> - <field name="s1ap.id" pos="69" show="0" showname="id: id-MME-UE-S1AP-ID (0)" size="2" value="0000"/> - <field hide="yes" name="per.enum_index" pos="71" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="71" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="72" show="5" showname="Open Type Length: 5" size="1" value="05"/> - <field name="s1ap.value" pos="73" show="" showname="value" size="5" value=""> - <field name="s1ap.MME_UE_S1AP_ID" pos="73" show="1946161360" showname="MME-UE-S1AP-ID: 1946161360" size="5" value="c0740010d0"/> - </field> - </field> - </field> - <field name="" pos="78" show="Item 1: id-eNB-UE-S1AP-ID" size="8" value="000800048006692d"> - <field name="s1ap.ProtocolIE_Field" pos="78" show="" showname="ProtocolIE-Field" size="8" value=""> - <field name="s1ap.id" pos="78" show="8" showname="id: id-eNB-UE-S1AP-ID (8)" size="2" value="0008"/> - <field hide="yes" name="per.enum_index" pos="80" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="80" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="81" show="4" showname="Open Type Length: 4" size="1" value="04"/> - <field name="s1ap.value" pos="82" show="" showname="value" size="4" value=""> - <field name="s1ap.ENB_UE_S1AP_ID" pos="82" show="420141" showname="ENB-UE-S1AP-ID: 420141" size="4" value="8006692d"/> - </field> - </field> - </field> - <field name="" pos="86" show="Item 2: id-NAS-PDU" size="22" value="001a00121117aecd82eb0407530829a497732efc0114"> - <field name="s1ap.ProtocolIE_Field" pos="86" show="" showname="ProtocolIE-Field" size="22" value=""> - <field name="s1ap.id" pos="86" show="26" showname="id: id-NAS-PDU (26)" size="2" value="001a"/> - <field hide="yes" name="per.enum_index" pos="88" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="88" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="89" show="18" showname="Open Type Length: 18" size="1" value="12"/> - <field name="s1ap.value" pos="90" show="" showname="value" size="18" value=""> - <field hide="yes" name="per.octet_string_length" pos="90" show="17" showname="Octet String Length: 17" size="1" value="11"/> - <field name="s1ap.NAS_PDU" pos="91" show="17:ae:cd:82:eb:04:07:53:08:29:a4:97:73:2e:fc:01:14" showname="NAS-PDU: 17aecd82eb0407530829a497732efc0114" size="17" value="17aecd82eb0407530829a497732efc0114"/> - <proto name="nas-eps" pos="91" showname="Non-Access-Stratum (NAS)PDU" size="17"> - <field name="nas_eps.security_header_type" pos="91" show="1" showname="0001 .... = Security header type: Integrity protected (1)" size="1" unmaskedvalue="17" value="1"/> - <field name="gsm_a.L3_protocol_discriminator" pos="91" show="0x07" showname=".... 0111 = Protocol discriminator: EPS mobility management messages (0x07)" size="1" unmaskedvalue="17" value="7"/> - <field name="nas_eps.msg_auth_code" pos="92" show="0xaecd82eb" showname="Message authentication code: 0xaecd82eb" size="4" value="aecd82eb"/> - <field name="nas_eps.seq_no" pos="96" show="4" showname="Sequence number: 4" size="1" value="04"/> - <field name="nas_eps.security_header_type" pos="97" show="0" showname="0000 .... = Security header type: Plain NAS message, not security protected (0)" size="1" unmaskedvalue="07" value="0"/> - <field name="gsm_a.L3_protocol_discriminator" pos="97" show="0x07" showname=".... 0111 = Protocol discriminator: EPS mobility management messages (0x07)" size="1" unmaskedvalue="07" value="7"/> - <field name="nas_eps.nas_msg_emm_type" pos="98" show="0x53" showname="NAS EPS Mobility Management Message Type: Authentication response (0x53)" size="1" value="53"/> - <field name="" pos="99" show="Authentication response parameter" size="9" value="0829a497732efc0114"> - <field name="gsm_a.len" pos="99" show="8" showname="Length: 8" size="1" value="08"/> - <field name="nas_eps.emm.res" pos="100" show="29:a4:97:73:2e:fc:01:14" showname="RES: 29a497732efc0114" size="8" value="29a497732efc0114"/> - </field> - </proto> - </field> - </field> - </field> - <field name="" pos="108" show="Item 3: id-EUTRAN-CGI" size="12" value="006440080002f85900e00000"> - <field name="s1ap.ProtocolIE_Field" pos="108" show="" showname="ProtocolIE-Field" size="12" value=""> - <field name="s1ap.id" pos="108" show="100" showname="id: id-EUTRAN-CGI (100)" size="2" value="0064"/> - <field hide="yes" name="per.enum_index" pos="110" show="1" showname="Enumerated Index: 1" size="1" value="40"/> - <field name="s1ap.criticality" pos="110" show="1" showname="criticality: ignore (1)" size="1" value="40"/> - <field hide="yes" name="per.open_type_length" pos="111" show="8" showname="Open Type Length: 8" size="1" value="08"/> - <field name="s1ap.value" pos="112" show="" showname="value" size="8" value=""> - <field name="s1ap.EUTRAN_CGI" pos="112" show="" showname="EUTRAN-CGI" size="7" value=""> - <field hide="yes" name="per.extension_bit" pos="112" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.optional_field_bit" pos="112" show="0" showname=".0.. .... Optional Field Bit: False (iE-Extensions is NOT present)" size="1" unmaskedvalue="00" value="0"/> - <field name="s1ap.pLMNidentity" pos="113" show="02:f8:59" showname="pLMNidentity: 02f859" size="3" value="02f859"/> - <field name="e212.mcc" pos="113" show="208" showname="Mobile Country Code (MCC): France (208)" size="2" value="02f8"/> - <field name="e212.mnc" pos="114" show="95" showname="Mobile Network Code (MNC): Unknown (95)" size="2" value="f859"/> - <field name="s1ap.cell_ID" pos="112" show="00:e0:00:00" showname="cell-ID: 00e00000 [bit length 28, 4 LSB pad bits, 0000 0000 1110 0000 0000 0000 0000 .... decimal value 917504]" size="4" value="00e00000"/> - </field> - </field> - </field> - </field> - <field name="" pos="120" show="Item 4: id-TAI" size="10" value="004340060002f8590001"> - <field name="s1ap.ProtocolIE_Field" pos="120" show="" showname="ProtocolIE-Field" size="10" value=""> - <field name="s1ap.id" pos="120" show="67" showname="id: id-TAI (67)" size="2" value="0043"/> - <field hide="yes" name="per.enum_index" pos="122" show="1" showname="Enumerated Index: 1" size="1" value="40"/> - <field name="s1ap.criticality" pos="122" show="1" showname="criticality: ignore (1)" size="1" value="40"/> - <field hide="yes" name="per.open_type_length" pos="123" show="6" showname="Open Type Length: 6" size="1" value="06"/> - <field name="s1ap.value" pos="124" show="" showname="value" size="6" value=""> - <field name="s1ap.TAI" pos="124" show="" showname="TAI" size="6" value=""> - <field hide="yes" name="per.extension_bit" pos="124" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.optional_field_bit" pos="124" show="0" showname=".0.. .... Optional Field Bit: False (iE-Extensions is NOT present)" size="1" unmaskedvalue="00" value="0"/> - <field name="s1ap.pLMNidentity" pos="125" show="02:f8:59" showname="pLMNidentity: 02f859" size="3" value="02f859"/> - <field name="e212.mcc" pos="125" show="208" showname="Mobile Country Code (MCC): France (208)" size="2" value="02f8"/> - <field name="e212.mnc" pos="126" show="95" showname="Mobile Network Code (MNC): Unknown (95)" size="2" value="f859"/> - <field name="s1ap.tAC" pos="128" show="00:01" showname="tAC: 0001" size="2" value="0001"/> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </proto> - </proto> - </proto> - </proto> - </packet> - <packet> - <proto name="frame" pos="0" showname="Frame 82: 122 bytes on wire (976 bits), 122 bytes captured (976 bits) on interface 0" size="122"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:34:53.978741000" showname="Arrival Time: Sep 25, 2015 16:34:53.978741000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191693.978741000" showname="Epoch Time: 1443191693.978741000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.001611000" showname="Time delta from previous captured frame: 0.001611000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.001611000" showname="Time delta from previous displayed frame: 0.001611000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="47.513110000" showname="Time since reference or first frame: 47.513110000 seconds" size="0"/> - <field name="frame.number" pos="0" show="82" showname="Frame Number: 82" size="0"/> - <field name="frame.len" pos="0" show="122" showname="Frame Length: 122 bytes (976 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="122" showname="Capture Length: 122 bytes (976 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ip:sctp:s1ap:s1ap:s1ap:s1ap:s1ap:nas-eps" showname="Protocols in frame: eth:ip:sctp:s1ap:s1ap:s1ap:s1ap:s1ap:nas-eps" size="0"/> - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.17 (192.168.12.17), Dst: 192.168.12.213 (192.168.12.213)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0x00" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="0x02" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="108" showname="Total Length: 108" size="2" value="006c"/> - <field name="ip.id" pos="18" show="0x0000" showname="Identification: 0x0000 (0)" size="2" value="0000"/> - <field name="ip.flags" pos="20" show="0x02" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="0x9fd5" showname="Header checksum: 0x9fd5 [validation disabled]" size="2" value="9fd5"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="9fd5"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="9fd5"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.17" showname="Source: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.17" showname="Source Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="ip.dst" pos="30" show="192.168.12.213" showname="Destination: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.213" showname="Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80c11"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80cd5"/> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: s1-control (36412), Dst Port: s1-control (36412)" size="44"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="0x54f837ab" showname="Verification tag: 0x54f837ab" size="4" value="54f837ab"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="0x5c01fd01" showname="Checksum: 0x5c01fd01 (not verified)" size="4" value="5c01fd01"/> - <field name="" pos="46" show="SACK chunk (Cumulative TSN: 3304831194, a_rwnd: 106496, gaps: 0, duplicate TSNs: 0)" size="16" value="03000010c4fbb8da0001a00000000000"> - <field name="sctp.chunk_type" pos="46" show="3" showname="Chunk type: SACK (3)" size="1" value="03"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="03" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="03" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0x00" showname="Chunk flags: 0x00" size="1" value="00"> - <field name="sctp.sack_nounce_sum" pos="47" show="0" showname=".... ...0 = Nounce sum: 0" size="1" unmaskedvalue="00" value="0"/> - </field> - <field name="sctp.chunk_length" pos="48" show="16" showname="Chunk length: 16" size="2" value="0010"/> - <field name="sctp.sack_cumulative_tsn_ack" pos="50" show="3304831194" showname="Cumulative TSN ACK: 3304831194" size="4" value="c4fbb8da"/> - <field name="sctp.sack_a_rwnd" pos="54" show="106496" showname="Advertised receiver window credit (a_rwnd): 106496" size="4" value="0001a000"/> - <field name="sctp.sack_number_of_gap_blocks" pos="58" show="0" showname="Number of gap acknowledgement blocks: 0" size="2" value="0000"/> - <field name="sctp.sack_number_of_duplicated_tsns" pos="60" show="0" showname="Number of duplicated TSNs: 0" size="2" value="0000"/> - </field> - <field name="" pos="62" show="DATA chunk(ordered, complete segment, TSN: 2008295178, SID: 1, SSN: 2, PPID: 301989888, payload length: 42 bytes)" size="16" value="0003003a77b4270a0001000212000000"> - <field name="sctp.chunk_type" pos="62" show="0" showname="Chunk type: DATA (0)" size="1" value="00"> - <field name="sctp.chunk_bit_1" pos="62" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="00" value="0"/> - <field name="sctp.chunk_bit_2" pos="62" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="00" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="63" show="0x03" showname="Chunk flags: 0x03" size="1" value="03"> - <field name="sctp.data_e_bit" pos="63" show="1" showname=".... ...1 = E-Bit: Last segment" size="1" unmaskedvalue="03" value="1"/> - <field name="sctp.data_b_bit" pos="63" show="1" showname=".... ..1. = B-Bit: First segment" size="1" unmaskedvalue="03" value="1"/> - <field name="sctp.data_u_bit" pos="63" show="0" showname=".... .0.. = U-Bit: Ordered delivery" size="1" unmaskedvalue="03" value="0"/> - <field name="sctp.data_i_bit" pos="63" show="0" showname=".... 0... = I-Bit: Possibly delay SACK" size="1" unmaskedvalue="03" value="0"/> - </field> - <field name="sctp.chunk_length" pos="64" show="58" showname="Chunk length: 58" size="2" value="003a"/> - <field name="sctp.data_tsn" pos="66" show="2008295178" showname="TSN: 2008295178" size="4" value="77b4270a"/> - <field name="sctp.data_sid" pos="70" show="0x0001" showname="Stream Identifier: 0x0001" size="2" value="0001"/> - <field name="sctp.data_ssn" pos="72" show="2" showname="Stream sequence number: 2" size="2" value="0002"/> - <field name="sctp.data_payload_proto_id" pos="74" show="301989888" showname="Payload protocol identifier: Unknown (301989888)" size="4" value="12000000"/> - <field name="sctp.chunk_padding" pos="120" show="00:00" showname="Chunk padding: 0000" size="2" value="0000"/> - </field> - <proto name="s1ap" pos="78" showname="S1 Application Protocol" size="42"> - <field hide="yes" name="per.extension_bit" pos="78" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.choice_index" pos="78" show="0" showname="Choice Index: 0" size="1" value="00"/> - <field name="s1ap.S1AP_PDU" pos="78" show="0" showname="S1AP-PDU: initiatingMessage (0)" size="42" value="000b002600000300000005c0740010d0000800048006692d001a000e0d376566048700075d020002e0e0"> - <field name="s1ap.initiatingMessage" pos="78" show="" showname="initiatingMessage" size="42" value=""> - <field name="s1ap.procedureCode" pos="79" show="11" showname="procedureCode: id-downlinkNASTransport (11)" size="1" value="0b"/> - <field hide="yes" name="per.enum_index" pos="80" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="80" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="81" show="38" showname="Open Type Length: 38" size="1" value="26"/> - <field name="s1ap.value" pos="82" show="" showname="value" size="38" value=""> - <field name="s1ap.DownlinkNASTransport" pos="82" show="" showname="DownlinkNASTransport" size="38" value=""> - <field hide="yes" name="per.extension_bit" pos="82" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.sequence_of_length" pos="83" show="3" showname="Sequence-Of Length: 3" size="2" value="0003"/> - <field name="s1ap.protocolIEs" pos="85" show="3" showname="protocolIEs: 3 items" size="35" value="00000005c0740010d0000800048006692d001a000e0d376566048700075d020002e0e0"> - <field name="" pos="85" show="Item 0: id-MME-UE-S1AP-ID" size="9" value="00000005c0740010d0"> - <field name="s1ap.ProtocolIE_Field" pos="85" show="" showname="ProtocolIE-Field" size="9" value=""> - <field name="s1ap.id" pos="85" show="0" showname="id: id-MME-UE-S1AP-ID (0)" size="2" value="0000"/> - <field hide="yes" name="per.enum_index" pos="87" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="87" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="88" show="5" showname="Open Type Length: 5" size="1" value="05"/> - <field name="s1ap.value" pos="89" show="" showname="value" size="5" value=""> - <field name="s1ap.MME_UE_S1AP_ID" pos="89" show="1946161360" showname="MME-UE-S1AP-ID: 1946161360" size="5" value="c0740010d0"/> - </field> - </field> - </field> - <field name="" pos="94" show="Item 1: id-eNB-UE-S1AP-ID" size="8" value="000800048006692d"> - <field name="s1ap.ProtocolIE_Field" pos="94" show="" showname="ProtocolIE-Field" size="8" value=""> - <field name="s1ap.id" pos="94" show="8" showname="id: id-eNB-UE-S1AP-ID (8)" size="2" value="0008"/> - <field hide="yes" name="per.enum_index" pos="96" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="96" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="97" show="4" showname="Open Type Length: 4" size="1" value="04"/> - <field name="s1ap.value" pos="98" show="" showname="value" size="4" value=""> - <field name="s1ap.ENB_UE_S1AP_ID" pos="98" show="420141" showname="ENB-UE-S1AP-ID: 420141" size="4" value="8006692d"/> - </field> - </field> - </field> - <field name="" pos="102" show="Item 2: id-NAS-PDU" size="18" value="001a000e0d376566048700075d020002e0e0"> - <field name="s1ap.ProtocolIE_Field" pos="102" show="" showname="ProtocolIE-Field" size="18" value=""> - <field name="s1ap.id" pos="102" show="26" showname="id: id-NAS-PDU (26)" size="2" value="001a"/> - <field hide="yes" name="per.enum_index" pos="104" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="104" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="105" show="14" showname="Open Type Length: 14" size="1" value="0e"/> - <field name="s1ap.value" pos="106" show="" showname="value" size="14" value=""> - <field hide="yes" name="per.octet_string_length" pos="106" show="13" showname="Octet String Length: 13" size="1" value="0d"/> - <field name="s1ap.NAS_PDU" pos="107" show="37:65:66:04:87:00:07:5d:02:00:02:e0:e0" showname="NAS-PDU: 376566048700075d020002e0e0" size="13" value="376566048700075d020002e0e0"/> - <proto name="nas-eps" pos="107" showname="Non-Access-Stratum (NAS)PDU" size="13"> - <field name="nas_eps.security_header_type" pos="107" show="3" showname="0011 .... = Security header type: Integrity protected with new EPS security context (3)" size="1" unmaskedvalue="37" value="3"/> - <field name="gsm_a.L3_protocol_discriminator" pos="107" show="0x07" showname=".... 0111 = Protocol discriminator: EPS mobility management messages (0x07)" size="1" unmaskedvalue="37" value="7"/> - <field name="nas_eps.msg_auth_code" pos="108" show="0x65660487" showname="Message authentication code: 0x65660487" size="4" value="65660487"/> - <field name="nas_eps.seq_no" pos="112" show="0" showname="Sequence number: 0" size="1" value="00"/> - <field name="nas_eps.security_header_type" pos="113" show="0" showname="0000 .... = Security header type: Plain NAS message, not security protected (0)" size="1" unmaskedvalue="07" value="0"/> - <field name="gsm_a.L3_protocol_discriminator" pos="113" show="0x07" showname=".... 0111 = Protocol discriminator: EPS mobility management messages (0x07)" size="1" unmaskedvalue="07" value="7"/> - <field name="nas_eps.nas_msg_emm_type" pos="114" show="0x5d" showname="NAS EPS Mobility Management Message Type: Security mode command (0x5d)" size="1" value="5d"/> - <field name="" pos="115" show="NAS security algorithms - Selected NAS security algorithms" size="1" value="02"> - <field name="nas_eps.spare_bits" pos="115" show="0x00" showname="0... .... = Spare bit(s): 0x00" size="1" value="02"/> - <field name="nas_eps.emm.toc" pos="115" show="0" showname=".000 .... = Type of ciphering algorithm: EPS encryption algorithm EEA0 (null ciphering algorithm) (0)" size="1" unmaskedvalue="02" value="0"/> - <field name="nas_eps.spare_bits" pos="115" show="0x00" showname=".... 0... = Spare bit(s): 0x00" size="1" value="02"/> - <field name="nas_eps.emm.toi" pos="115" show="2" showname=".... .010 = Type of integrity protection algorithm: EPS integrity algorithm 128-EIA2 (2)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="nas_eps.emm.spare_half_octet" pos="116" show="0" showname="0000 .... = Spare half octet: 0" size="1" value="00"/> - <field name="nas_eps.emm.tsc" pos="116" show="0" showname=".... 0... = Type of security context flag (TSC): Native security context (for KSIasme)" size="1" value="00"/> - <field name="nas_eps.emm.nas_key_set_id" pos="116" show="0" showname=".... .000 = NAS key set identifier: (0) ASME" size="1" value="00"/> - <field name="" pos="117" show="UE security capability - Replayed UE security capabilities" size="3" value="02e0e0"> - <field name="gsm_a.len" pos="117" show="2" showname="Length: 2" size="1" value="02"/> - <field name="nas_eps.emm.eea0" pos="118" show="1" showname="1... .... = EEA0: Supported" size="1" unmaskedvalue="e0" value="1"/> - <field name="nas_eps.emm.128eea1" pos="118" show="1" showname=".1.. .... = 128-EEA1: Supported" size="1" unmaskedvalue="e0" value="1"/> - <field name="nas_eps.emm.128eea2" pos="118" show="1" showname="..1. .... = 128-EEA2: Supported" size="1" unmaskedvalue="e0" value="1"/> - <field name="nas_eps.emm.eea3" pos="118" show="0" showname="...0 .... = 128-EEA3: Not Supported" size="1" unmaskedvalue="e0" value="0"/> - <field name="nas_eps.emm.eea4" pos="118" show="0" showname=".... 0... = EEA4: Not Supported" size="1" unmaskedvalue="e0" value="0"/> - <field name="nas_eps.emm.eea5" pos="118" show="0" showname=".... .0.. = EEA5: Not Supported" size="1" unmaskedvalue="e0" value="0"/> - <field name="nas_eps.emm.eea6" pos="118" show="0" showname=".... ..0. = EEA6: Not Supported" size="1" unmaskedvalue="e0" value="0"/> - <field name="nas_eps.emm.eea7" pos="118" show="0" showname=".... ...0 = EEA7: Not Supported" size="1" unmaskedvalue="e0" value="0"/> - <field name="nas_eps.emm.eia0" pos="119" show="1" showname="1... .... = EIA0: Supported" size="1" unmaskedvalue="e0" value="1"/> - <field name="nas_eps.emm.128eia1" pos="119" show="1" showname=".1.. .... = 128-EIA1: Supported" size="1" unmaskedvalue="e0" value="1"/> - <field name="nas_eps.emm.128eia2" pos="119" show="1" showname="..1. .... = 128-EIA2: Supported" size="1" unmaskedvalue="e0" value="1"/> - <field name="nas_eps.emm.eia3" pos="119" show="0" showname="...0 .... = 128-EIA3: Not Supported" size="1" unmaskedvalue="e0" value="0"/> - <field name="nas_eps.emm.eia4" pos="119" show="0" showname=".... 0... = EIA4: Not Supported" size="1" unmaskedvalue="e0" value="0"/> - <field name="nas_eps.emm.eia5" pos="119" show="0" showname=".... .0.. = EIA5: Not Supported" size="1" unmaskedvalue="e0" value="0"/> - <field name="nas_eps.emm.eia6" pos="119" show="0" showname=".... ..0. = EIA6: Not Supported" size="1" unmaskedvalue="e0" value="0"/> - <field name="nas_eps.emm.eia7" pos="119" show="0" showname=".... ...0 = EIA7: Not Supported" size="1" unmaskedvalue="e0" value="0"/> - </field> - </proto> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </proto> - </proto> - </proto> - </proto> - </packet> - <packet> - <proto name="frame" pos="0" showname="Frame 83: 138 bytes on wire (1104 bits), 138 bytes captured (1104 bits) on interface 0" size="138"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:34:53.997356000" showname="Arrival Time: Sep 25, 2015 16:34:53.997356000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191693.997356000" showname="Epoch Time: 1443191693.997356000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.018615000" showname="Time delta from previous captured frame: 0.018615000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.018615000" showname="Time delta from previous displayed frame: 0.018615000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="47.531725000" showname="Time since reference or first frame: 47.531725000 seconds" size="0"/> - <field name="frame.number" pos="0" show="83" showname="Frame Number: 83" size="0"/> - <field name="frame.len" pos="0" show="138" showname="Frame Length: 138 bytes (1104 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="138" showname="Capture Length: 138 bytes (1104 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ip:sctp:s1ap:s1ap:s1ap:s1ap:s1ap:nas-eps:s1ap:s1ap" showname="Protocols in frame: eth:ip:sctp:s1ap:s1ap:s1ap:s1ap:s1ap:nas-eps:s1ap:s1ap" size="0"/> - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.213 (192.168.12.213), Dst: 192.168.12.17 (192.168.12.17)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0x00" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="0x02" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="124" showname="Total Length: 124" size="2" value="007c"/> - <field name="ip.id" pos="18" show="0x0009" showname="Identification: 0x0009 (9)" size="2" value="0009"/> - <field name="ip.flags" pos="20" show="0x02" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="0x9fbc" showname="Header checksum: 0x9fbc [validation disabled]" size="2" value="9fbc"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="9fbc"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="9fbc"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.213" showname="Source: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.213" showname="Source Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="ip.dst" pos="30" show="192.168.12.17" showname="Destination: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.17" showname="Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80cd5"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80c11"/> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: s1-control (36412), Dst Port: s1-control (36412)" size="44"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="0x4cd1eca0" showname="Verification tag: 0x4cd1eca0" size="4" value="4cd1eca0"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="0xd5500667" showname="Checksum: 0xd5500667 (not verified)" size="4" value="d5500667"/> - <field name="" pos="46" show="SACK chunk (Cumulative TSN: 2008295178, a_rwnd: 106496, gaps: 0, duplicate TSNs: 0)" size="16" value="0300001077b4270a0001a00000000000"> - <field name="sctp.chunk_type" pos="46" show="3" showname="Chunk type: SACK (3)" size="1" value="03"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="03" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="03" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0x00" showname="Chunk flags: 0x00" size="1" value="00"> - <field name="sctp.sack_nounce_sum" pos="47" show="0" showname=".... ...0 = Nounce sum: 0" size="1" unmaskedvalue="00" value="0"/> - </field> - <field name="sctp.chunk_length" pos="48" show="16" showname="Chunk length: 16" size="2" value="0010"/> - <field name="sctp.sack_cumulative_tsn_ack" pos="50" show="2008295178" showname="Cumulative TSN ACK: 2008295178" size="4" value="77b4270a"/> - <field name="sctp.sack_a_rwnd" pos="54" show="106496" showname="Advertised receiver window credit (a_rwnd): 106496" size="4" value="0001a000"/> - <field name="sctp.sack_number_of_gap_blocks" pos="58" show="0" showname="Number of gap acknowledgement blocks: 0" size="2" value="0000"/> - <field name="sctp.sack_number_of_duplicated_tsns" pos="60" show="0" showname="Number of duplicated TSNs: 0" size="2" value="0000"/> - </field> - <field name="" pos="62" show="DATA chunk(ordered, complete segment, TSN: 3304831195, SID: 1, SSN: 3, PPID: 18, payload length: 59 bytes)" size="16" value="0003004bc4fbb8db0001000300000012"> - <field name="sctp.chunk_type" pos="62" show="0" showname="Chunk type: DATA (0)" size="1" value="00"> - <field name="sctp.chunk_bit_1" pos="62" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="00" value="0"/> - <field name="sctp.chunk_bit_2" pos="62" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="00" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="63" show="0x03" showname="Chunk flags: 0x03" size="1" value="03"> - <field name="sctp.data_e_bit" pos="63" show="1" showname=".... ...1 = E-Bit: Last segment" size="1" unmaskedvalue="03" value="1"/> - <field name="sctp.data_b_bit" pos="63" show="1" showname=".... ..1. = B-Bit: First segment" size="1" unmaskedvalue="03" value="1"/> - <field name="sctp.data_u_bit" pos="63" show="0" showname=".... .0.. = U-Bit: Ordered delivery" size="1" unmaskedvalue="03" value="0"/> - <field name="sctp.data_i_bit" pos="63" show="0" showname=".... 0... = I-Bit: Possibly delay SACK" size="1" unmaskedvalue="03" value="0"/> - </field> - <field name="sctp.chunk_length" pos="64" show="75" showname="Chunk length: 75" size="2" value="004b"/> - <field name="sctp.data_tsn" pos="66" show="3304831195" showname="TSN: 3304831195" size="4" value="c4fbb8db"/> - <field name="sctp.data_sid" pos="70" show="0x0001" showname="Stream Identifier: 0x0001" size="2" value="0001"/> - <field name="sctp.data_ssn" pos="72" show="3" showname="Stream sequence number: 3" size="2" value="0003"/> - <field name="sctp.data_payload_proto_id" pos="74" show="18" showname="Payload protocol identifier: S1 Application Protocol (S1AP) (18)" size="4" value="00000012"/> - <field name="sctp.chunk_padding" pos="137" show="00" showname="Chunk padding: 00" size="1" value="00"/> - </field> - <proto name="s1ap" pos="78" showname="S1 Application Protocol" size="59"> - <field hide="yes" name="per.extension_bit" pos="78" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.choice_index" pos="78" show="0" showname="Choice Index: 0" size="1" value="00"/> - <field name="s1ap.S1AP_PDU" pos="78" show="0" showname="S1AP-PDU: initiatingMessage (0)" size="59" value="000d403700000500000005c0740010d0000800048006692d001a0009084795eaf72e00075e006440080002f85900e00000004340060002f8590001"> - <field name="s1ap.initiatingMessage" pos="78" show="" showname="initiatingMessage" size="59" value=""> - <field name="s1ap.procedureCode" pos="79" show="13" showname="procedureCode: id-uplinkNASTransport (13)" size="1" value="0d"/> - <field hide="yes" name="per.enum_index" pos="80" show="1" showname="Enumerated Index: 1" size="1" value="40"/> - <field name="s1ap.criticality" pos="80" show="1" showname="criticality: ignore (1)" size="1" value="40"/> - <field hide="yes" name="per.open_type_length" pos="81" show="55" showname="Open Type Length: 55" size="1" value="37"/> - <field name="s1ap.value" pos="82" show="" showname="value" size="55" value=""> - <field name="s1ap.UplinkNASTransport" pos="82" show="" showname="UplinkNASTransport" size="55" value=""> - <field hide="yes" name="per.extension_bit" pos="82" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.sequence_of_length" pos="83" show="5" showname="Sequence-Of Length: 5" size="2" value="0005"/> - <field name="s1ap.protocolIEs" pos="85" show="5" showname="protocolIEs: 5 items" size="52" value="00000005c0740010d0000800048006692d001a0009084795eaf72e00075e006440080002f85900e00000004340060002f8590001"> - <field name="" pos="85" show="Item 0: id-MME-UE-S1AP-ID" size="9" value="00000005c0740010d0"> - <field name="s1ap.ProtocolIE_Field" pos="85" show="" showname="ProtocolIE-Field" size="9" value=""> - <field name="s1ap.id" pos="85" show="0" showname="id: id-MME-UE-S1AP-ID (0)" size="2" value="0000"/> - <field hide="yes" name="per.enum_index" pos="87" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="87" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="88" show="5" showname="Open Type Length: 5" size="1" value="05"/> - <field name="s1ap.value" pos="89" show="" showname="value" size="5" value=""> - <field name="s1ap.MME_UE_S1AP_ID" pos="89" show="1946161360" showname="MME-UE-S1AP-ID: 1946161360" size="5" value="c0740010d0"/> - </field> - </field> - </field> - <field name="" pos="94" show="Item 1: id-eNB-UE-S1AP-ID" size="8" value="000800048006692d"> - <field name="s1ap.ProtocolIE_Field" pos="94" show="" showname="ProtocolIE-Field" size="8" value=""> - <field name="s1ap.id" pos="94" show="8" showname="id: id-eNB-UE-S1AP-ID (8)" size="2" value="0008"/> - <field hide="yes" name="per.enum_index" pos="96" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="96" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="97" show="4" showname="Open Type Length: 4" size="1" value="04"/> - <field name="s1ap.value" pos="98" show="" showname="value" size="4" value=""> - <field name="s1ap.ENB_UE_S1AP_ID" pos="98" show="420141" showname="ENB-UE-S1AP-ID: 420141" size="4" value="8006692d"/> - </field> - </field> - </field> - <field name="" pos="102" show="Item 2: id-NAS-PDU" size="13" value="001a0009084795eaf72e00075e"> - <field name="s1ap.ProtocolIE_Field" pos="102" show="" showname="ProtocolIE-Field" size="13" value=""> - <field name="s1ap.id" pos="102" show="26" showname="id: id-NAS-PDU (26)" size="2" value="001a"/> - <field hide="yes" name="per.enum_index" pos="104" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="104" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="105" show="9" showname="Open Type Length: 9" size="1" value="09"/> - <field name="s1ap.value" pos="106" show="" showname="value" size="9" value=""> - <field hide="yes" name="per.octet_string_length" pos="106" show="8" showname="Octet String Length: 8" size="1" value="08"/> - <field name="s1ap.NAS_PDU" pos="107" show="47:95:ea:f7:2e:00:07:5e" showname="NAS-PDU: 4795eaf72e00075e" size="8" value="4795eaf72e00075e"/> - <proto name="nas-eps" pos="107" showname="Non-Access-Stratum (NAS)PDU" size="8"> - <field name="nas_eps.security_header_type" pos="107" show="4" showname="0100 .... = Security header type: Integrity protected and ciphered with new EPS security context (4)" size="1" unmaskedvalue="47" value="4"/> - <field name="gsm_a.L3_protocol_discriminator" pos="107" show="0x07" showname=".... 0111 = Protocol discriminator: EPS mobility management messages (0x07)" size="1" unmaskedvalue="47" value="7"/> - <field name="nas_eps.msg_auth_code" pos="108" show="0x95eaf72e" showname="Message authentication code: 0x95eaf72e" size="4" value="95eaf72e"/> - <field name="nas_eps.seq_no" pos="112" show="0" showname="Sequence number: 0" size="1" value="00"/> - <field name="nas_eps.security_header_type" pos="113" show="0" showname="0000 .... = Security header type: Plain NAS message, not security protected (0)" size="1" unmaskedvalue="07" value="0"/> - <field name="gsm_a.L3_protocol_discriminator" pos="113" show="0x07" showname=".... 0111 = Protocol discriminator: EPS mobility management messages (0x07)" size="1" unmaskedvalue="07" value="7"/> - <field name="nas_eps.nas_msg_emm_type" pos="114" show="0x5e" showname="NAS EPS Mobility Management Message Type: Security mode complete (0x5e)" size="1" value="5e"/> - </proto> - </field> - </field> - </field> - <field name="" pos="115" show="Item 3: id-EUTRAN-CGI" size="12" value="006440080002f85900e00000"> - <field name="s1ap.ProtocolIE_Field" pos="115" show="" showname="ProtocolIE-Field" size="12" value=""> - <field name="s1ap.id" pos="115" show="100" showname="id: id-EUTRAN-CGI (100)" size="2" value="0064"/> - <field hide="yes" name="per.enum_index" pos="117" show="1" showname="Enumerated Index: 1" size="1" value="40"/> - <field name="s1ap.criticality" pos="117" show="1" showname="criticality: ignore (1)" size="1" value="40"/> - <field hide="yes" name="per.open_type_length" pos="118" show="8" showname="Open Type Length: 8" size="1" value="08"/> - <field name="s1ap.value" pos="119" show="" showname="value" size="8" value=""> - <field name="s1ap.EUTRAN_CGI" pos="119" show="" showname="EUTRAN-CGI" size="7" value=""> - <field hide="yes" name="per.extension_bit" pos="119" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.optional_field_bit" pos="119" show="0" showname=".0.. .... Optional Field Bit: False (iE-Extensions is NOT present)" size="1" unmaskedvalue="00" value="0"/> - <field name="s1ap.pLMNidentity" pos="120" show="02:f8:59" showname="pLMNidentity: 02f859" size="3" value="02f859"/> - <field name="e212.mcc" pos="120" show="208" showname="Mobile Country Code (MCC): France (208)" size="2" value="02f8"/> - <field name="e212.mnc" pos="121" show="95" showname="Mobile Network Code (MNC): Unknown (95)" size="2" value="f859"/> - <field name="s1ap.cell_ID" pos="119" show="00:e0:00:00" showname="cell-ID: 00e00000 [bit length 28, 4 LSB pad bits, 0000 0000 1110 0000 0000 0000 0000 .... decimal value 917504]" size="4" value="00e00000"/> - </field> - </field> - </field> - </field> - <field name="" pos="127" show="Item 4: id-TAI" size="10" value="004340060002f8590001"> - <field name="s1ap.ProtocolIE_Field" pos="127" show="" showname="ProtocolIE-Field" size="10" value=""> - <field name="s1ap.id" pos="127" show="67" showname="id: id-TAI (67)" size="2" value="0043"/> - <field hide="yes" name="per.enum_index" pos="129" show="1" showname="Enumerated Index: 1" size="1" value="40"/> - <field name="s1ap.criticality" pos="129" show="1" showname="criticality: ignore (1)" size="1" value="40"/> - <field hide="yes" name="per.open_type_length" pos="130" show="6" showname="Open Type Length: 6" size="1" value="06"/> - <field name="s1ap.value" pos="131" show="" showname="value" size="6" value=""> - <field name="s1ap.TAI" pos="131" show="" showname="TAI" size="6" value=""> - <field hide="yes" name="per.extension_bit" pos="131" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.optional_field_bit" pos="131" show="0" showname=".0.. .... Optional Field Bit: False (iE-Extensions is NOT present)" size="1" unmaskedvalue="00" value="0"/> - <field name="s1ap.pLMNidentity" pos="132" show="02:f8:59" showname="pLMNidentity: 02f859" size="3" value="02f859"/> - <field name="e212.mcc" pos="132" show="208" showname="Mobile Country Code (MCC): France (208)" size="2" value="02f8"/> - <field name="e212.mnc" pos="133" show="95" showname="Mobile Network Code (MNC): Unknown (95)" size="2" value="f859"/> - <field name="s1ap.tAC" pos="135" show="00:01" showname="tAC: 0001" size="2" value="0001"/> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </proto> - </proto> - </proto> - </proto> - </packet> - <packet> - <proto name="frame" pos="0" showname="Frame 84: 270 bytes on wire (2160 bits), 270 bytes captured (2160 bits) on interface 0" size="270"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:34:54.002963000" showname="Arrival Time: Sep 25, 2015 16:34:54.002963000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191694.002963000" showname="Epoch Time: 1443191694.002963000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.005607000" showname="Time delta from previous captured frame: 0.005607000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.005607000" showname="Time delta from previous displayed frame: 0.005607000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="47.537332000" showname="Time since reference or first frame: 47.537332000 seconds" size="0"/> - <field name="frame.number" pos="0" show="84" showname="Frame Number: 84" size="0"/> - <field name="frame.len" pos="0" show="270" showname="Frame Length: 270 bytes (2160 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="270" showname="Capture Length: 270 bytes (2160 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ip:sctp:s1ap:s1ap:s1ap:s1ap:s1ap:s1ap:s1ap:nas-eps:ipcp:s1ap:s1ap" showname="Protocols in frame: eth:ip:sctp:s1ap:s1ap:s1ap:s1ap:s1ap:s1ap:s1ap:nas-eps:ipcp:s1ap:s1ap" size="0"/> - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.17 (192.168.12.17), Dst: 192.168.12.213 (192.168.12.213)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0x00" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="0x02" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="256" showname="Total Length: 256" size="2" value="0100"/> - <field name="ip.id" pos="18" show="0x0000" showname="Identification: 0x0000 (0)" size="2" value="0000"/> - <field name="ip.flags" pos="20" show="0x02" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="0x9f41" showname="Header checksum: 0x9f41 [validation disabled]" size="2" value="9f41"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="9f41"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="9f41"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.17" showname="Source: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.17" showname="Source Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="ip.dst" pos="30" show="192.168.12.213" showname="Destination: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.213" showname="Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80c11"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80cd5"/> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: s1-control (36412), Dst Port: s1-control (36412)" size="44"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="0x54f837ab" showname="Verification tag: 0x54f837ab" size="4" value="54f837ab"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="0xcffe2cbf" showname="Checksum: 0xcffe2cbf (not verified)" size="4" value="cffe2cbf"/> - <field name="" pos="46" show="SACK chunk (Cumulative TSN: 3304831195, a_rwnd: 106496, gaps: 0, duplicate TSNs: 0)" size="16" value="03000010c4fbb8db0001a00000000000"> - <field name="sctp.chunk_type" pos="46" show="3" showname="Chunk type: SACK (3)" size="1" value="03"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="03" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="03" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0x00" showname="Chunk flags: 0x00" size="1" value="00"> - <field name="sctp.sack_nounce_sum" pos="47" show="0" showname=".... ...0 = Nounce sum: 0" size="1" unmaskedvalue="00" value="0"/> - </field> - <field name="sctp.chunk_length" pos="48" show="16" showname="Chunk length: 16" size="2" value="0010"/> - <field name="sctp.sack_cumulative_tsn_ack" pos="50" show="3304831195" showname="Cumulative TSN ACK: 3304831195" size="4" value="c4fbb8db"/> - <field name="sctp.sack_a_rwnd" pos="54" show="106496" showname="Advertised receiver window credit (a_rwnd): 106496" size="4" value="0001a000"/> - <field name="sctp.sack_number_of_gap_blocks" pos="58" show="0" showname="Number of gap acknowledgement blocks: 0" size="2" value="0000"/> - <field name="sctp.sack_number_of_duplicated_tsns" pos="60" show="0" showname="Number of duplicated TSNs: 0" size="2" value="0000"/> - </field> - <field name="" pos="62" show="DATA chunk(ordered, complete segment, TSN: 2008295179, SID: 1, SSN: 3, PPID: 301989888, payload length: 191 bytes)" size="16" value="000300cf77b4270b0001000312000000"> - <field name="sctp.chunk_type" pos="62" show="0" showname="Chunk type: DATA (0)" size="1" value="00"> - <field name="sctp.chunk_bit_1" pos="62" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="00" value="0"/> - <field name="sctp.chunk_bit_2" pos="62" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="00" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="63" show="0x03" showname="Chunk flags: 0x03" size="1" value="03"> - <field name="sctp.data_e_bit" pos="63" show="1" showname=".... ...1 = E-Bit: Last segment" size="1" unmaskedvalue="03" value="1"/> - <field name="sctp.data_b_bit" pos="63" show="1" showname=".... ..1. = B-Bit: First segment" size="1" unmaskedvalue="03" value="1"/> - <field name="sctp.data_u_bit" pos="63" show="0" showname=".... .0.. = U-Bit: Ordered delivery" size="1" unmaskedvalue="03" value="0"/> - <field name="sctp.data_i_bit" pos="63" show="0" showname=".... 0... = I-Bit: Possibly delay SACK" size="1" unmaskedvalue="03" value="0"/> - </field> - <field name="sctp.chunk_length" pos="64" show="207" showname="Chunk length: 207" size="2" value="00cf"/> - <field name="sctp.data_tsn" pos="66" show="2008295179" showname="TSN: 2008295179" size="4" value="77b4270b"/> - <field name="sctp.data_sid" pos="70" show="0x0001" showname="Stream Identifier: 0x0001" size="2" value="0001"/> - <field name="sctp.data_ssn" pos="72" show="3" showname="Stream sequence number: 3" size="2" value="0003"/> - <field name="sctp.data_payload_proto_id" pos="74" show="301989888" showname="Payload protocol identifier: Unknown (301989888)" size="4" value="12000000"/> - <field name="sctp.chunk_padding" pos="269" show="00" showname="Chunk padding: 00" size="1" value="00"/> - </field> - <proto name="s1ap" pos="78" showname="S1 Application Protocol" size="191"> - <field hide="yes" name="per.extension_bit" pos="78" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.choice_index" pos="78" show="0" showname="Choice Index: 0" size="1" value="00"/> - <field name="s1ap.S1AP_PDU" pos="78" show="0" showname="S1AP-PDU: initiatingMessage (0)" size="191" value="00090080ba00000600000005c0740010d0000800048006692d0042000a1805f5e1006002faf080001800670000340062450009040f80c0a80c11000000015327ad0aaa9a010742014a062002f859000100315201c1010909036f616904697076340501c0bc00025e04fefede9e271480802110030000108106c0a86a0c8306c0a80c64500bf602f8598000016c000920172c006b0005100002000000490020d3a2585db3755b592cdd43bd648158eb3d142a9f7295ef2da9003b8f7a7a5929"> - <field name="s1ap.initiatingMessage" pos="78" show="" showname="initiatingMessage" size="191" value=""> - <field name="s1ap.procedureCode" pos="79" show="9" showname="procedureCode: id-InitialContextSetup (9)" size="1" value="09"/> - <field hide="yes" name="per.enum_index" pos="80" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="80" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="81" show="186" showname="Open Type Length: 186" size="2" value="80ba"/> - <field name="s1ap.value" pos="83" show="" showname="value" size="186" value=""> - <field name="s1ap.InitialContextSetupRequest" pos="83" show="" showname="InitialContextSetupRequest" size="186" value=""> - <field hide="yes" name="per.extension_bit" pos="83" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.sequence_of_length" pos="84" show="6" showname="Sequence-Of Length: 6" size="2" value="0006"/> - <field name="s1ap.protocolIEs" pos="86" show="6" showname="protocolIEs: 6 items" size="183" value="00000005c0740010d0000800048006692d0042000a1805f5e1006002faf080001800670000340062450009040f80c0a80c11000000015327ad0aaa9a010742014a062002f859000100315201c1010909036f616904697076340501c0bc00025e04fefede9e271480802110030000108106c0a86a0c8306c0a80c64500bf602f8598000016c000920172c006b0005100002000000490020d3a2585db3755b592cdd43bd648158eb3d142a9f7295ef2da9003b8f7a7a5929"> - <field name="" pos="86" show="Item 0: id-MME-UE-S1AP-ID" size="9" value="00000005c0740010d0"> - <field name="s1ap.ProtocolIE_Field" pos="86" show="" showname="ProtocolIE-Field" size="9" value=""> - <field name="s1ap.id" pos="86" show="0" showname="id: id-MME-UE-S1AP-ID (0)" size="2" value="0000"/> - <field hide="yes" name="per.enum_index" pos="88" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="88" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="89" show="5" showname="Open Type Length: 5" size="1" value="05"/> - <field name="s1ap.value" pos="90" show="" showname="value" size="5" value=""> - <field name="s1ap.MME_UE_S1AP_ID" pos="90" show="1946161360" showname="MME-UE-S1AP-ID: 1946161360" size="5" value="c0740010d0"/> - </field> - </field> - </field> - <field name="" pos="95" show="Item 1: id-eNB-UE-S1AP-ID" size="8" value="000800048006692d"> - <field name="s1ap.ProtocolIE_Field" pos="95" show="" showname="ProtocolIE-Field" size="8" value=""> - <field name="s1ap.id" pos="95" show="8" showname="id: id-eNB-UE-S1AP-ID (8)" size="2" value="0008"/> - <field hide="yes" name="per.enum_index" pos="97" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="97" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="98" show="4" showname="Open Type Length: 4" size="1" value="04"/> - <field name="s1ap.value" pos="99" show="" showname="value" size="4" value=""> - <field name="s1ap.ENB_UE_S1AP_ID" pos="99" show="420141" showname="ENB-UE-S1AP-ID: 420141" size="4" value="8006692d"/> - </field> - </field> - </field> - <field name="" pos="103" show="Item 2: id-uEaggregateMaximumBitrate" size="14" value="0042000a1805f5e1006002faf080"> - <field name="s1ap.ProtocolIE_Field" pos="103" show="" showname="ProtocolIE-Field" size="14" value=""> - <field name="s1ap.id" pos="103" show="66" showname="id: id-uEaggregateMaximumBitrate (66)" size="2" value="0042"/> - <field hide="yes" name="per.enum_index" pos="105" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="105" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="106" show="10" showname="Open Type Length: 10" size="1" value="0a"/> - <field name="s1ap.value" pos="107" show="" showname="value" size="10" value=""> - <field name="s1ap.UEAggregateMaximumBitrate" pos="107" show="" showname="UEAggregateMaximumBitrate" size="10" value=""> - <field hide="yes" name="per.extension_bit" pos="107" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="18" value="0"/> - <field hide="yes" name="per.optional_field_bit" pos="107" show="0" showname=".0.. .... Optional Field Bit: False (iE-Extensions is NOT present)" size="1" unmaskedvalue="18" value="0"/> - <field name="s1ap.uEaggregateMaximumBitRateDL" pos="107" show="100000000" showname="uEaggregateMaximumBitRateDL: 100000000" size="5" value="1805f5e100"/> - <field name="s1ap.uEaggregateMaximumBitRateUL" pos="112" show="50000000" showname="uEaggregateMaximumBitRateUL: 50000000" size="5" value="6002faf080"/> - </field> - </field> - </field> - </field> - <field name="" pos="117" show="Item 3: id-E-RABToBeSetupListCtxtSUReq" size="107" value="001800670000340062450009040f80c0a80c11000000015327ad0aaa9a010742014a062002f859000100315201c1010909036f616904697076340501c0bc00025e04fefede9e271480802110030000108106c0a86a0c8306c0a80c64500bf602f8598000016c000920172c"> - <field name="s1ap.ProtocolIE_Field" pos="117" show="" showname="ProtocolIE-Field" size="107" value=""> - <field name="s1ap.id" pos="117" show="24" showname="id: id-E-RABToBeSetupListCtxtSUReq (24)" size="2" value="0018"/> - <field hide="yes" name="per.enum_index" pos="119" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="119" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="120" show="103" showname="Open Type Length: 103" size="1" value="67"/> - <field name="s1ap.value" pos="121" show="" showname="value" size="103" value=""> - <field hide="yes" name="per.sequence_of_length" pos="121" show="1" showname="Sequence-Of Length: 1" size="1" value="00"/> - <field name="s1ap.E_RABToBeSetupListCtxtSUReq" pos="122" show="1" showname="E-RABToBeSetupListCtxtSUReq: 1 item" size="102" value="00340062450009040f80c0a80c11000000015327ad0aaa9a010742014a062002f859000100315201c1010909036f616904697076340501c0bc00025e04fefede9e271480802110030000108106c0a86a0c8306c0a80c64500bf602f8598000016c000920172c"> - <field name="" pos="122" show="Item 0: id-E-RABToBeSetupItemCtxtSUReq" size="102" value="00340062450009040f80c0a80c11000000015327ad0aaa9a010742014a062002f859000100315201c1010909036f616904697076340501c0bc00025e04fefede9e271480802110030000108106c0a86a0c8306c0a80c64500bf602f8598000016c000920172c"> - <field name="s1ap.ProtocolIE_SingleContainer" pos="122" show="" showname="ProtocolIE-SingleContainer" size="102" value=""> - <field name="s1ap.id" pos="122" show="52" showname="id: id-E-RABToBeSetupItemCtxtSUReq (52)" size="2" value="0034"/> - <field hide="yes" name="per.enum_index" pos="124" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="124" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="125" show="98" showname="Open Type Length: 98" size="1" value="62"/> - <field name="s1ap.value" pos="126" show="" showname="value" size="98" value=""> - <field name="s1ap.E_RABToBeSetupItemCtxtSUReq" pos="126" show="" showname="E-RABToBeSetupItemCtxtSUReq" size="98" value=""> - <field hide="yes" name="per.extension_bit" pos="126" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="45" value="0"/> - <field hide="yes" name="per.optional_field_bit" pos="126" show="1" showname=".1.. .... Optional Field Bit: True (nAS-PDU is present)" size="1" unmaskedvalue="45" value="1"/> - <field hide="yes" name="per.optional_field_bit" pos="126" show="0" showname="..0. .... Optional Field Bit: False (iE-Extensions is NOT present)" size="1" unmaskedvalue="45" value="0"/> - <field hide="yes" name="per.extension_present_bit" pos="126" show="0" showname="...0 .... Extension Present Bit: False" size="1" unmaskedvalue="45" value="0"/> - <field name="s1ap.e_RAB_ID" pos="126" show="5" showname="e-RAB-ID: 5" size="1" value="45"/> - <field name="s1ap.e_RABlevelQoSParameters" pos="127" show="" showname="e-RABlevelQoSParameters" size="3" value=""> - <field hide="yes" name="per.extension_bit" pos="127" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.optional_field_bit" pos="127" show="0" showname=".0.. .... Optional Field Bit: False (gbrQosInformation is NOT present)" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.optional_field_bit" pos="127" show="0" showname="..0. .... Optional Field Bit: False (iE-Extensions is NOT present)" size="1" unmaskedvalue="00" value="0"/> - <field name="s1ap.qCI" pos="128" show="9" showname="qCI: 9" size="1" value="09"/> - <field name="s1ap.allocationRetentionPriority" pos="129" show="" showname="allocationRetentionPriority" size="1" value=""> - <field hide="yes" name="per.extension_bit" pos="129" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="04" value="0"/> - <field hide="yes" name="per.optional_field_bit" pos="129" show="0" showname=".0.. .... Optional Field Bit: False (iE-Extensions is NOT present)" size="1" unmaskedvalue="04" value="0"/> - <field name="s1ap.priorityLevel" pos="129" show="1" showname="priorityLevel: highest (1)" size="1" value="04"/> - <field hide="yes" name="per.enum_index" pos="129" show="0" showname="Enumerated Index: 0" size="1" value="04"/> - <field name="s1ap.pre_emptionCapability" pos="129" show="0" showname="pre-emptionCapability: shall-not-trigger-pre-emption (0)" size="1" value="04"/> - <field hide="yes" name="per.enum_index" pos="129" show="0" showname="Enumerated Index: 0" size="1" value="04"/> - <field name="s1ap.pre_emptionVulnerability" pos="129" show="0" showname="pre-emptionVulnerability: not-pre-emptable (0)" size="1" value="04"/> - </field> - </field> - <field name="per.extension_present_bit" pos="130" show="0" showname="0... .... Extension Present Bit: False" size="1" unmaskedvalue="0f" value="0"/> - <field hide="yes" name="per.bit_string_length" pos="130" show="32" showname="Bit String Length: 32" size="1" value="0f"/> - <field name="s1ap.transportLayerAddress" pos="132" show="c0:a8:0c:11" showname="transportLayerAddress: c0a80c11 [bit length 32, 1100 0000 1010 1000 0000 1100 0001 0001 decimal value 3232238609]" size="4" value="c0a80c11"> - <field name="s1ap.transportLayerAddressIPv4" pos="132" show="192.168.12.17" showname="transportLayerAddress(IPv4): 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - </field> - <field name="s1ap.gTP_TEID" pos="136" show="00:00:00:01" showname="gTP-TEID: 00000001" size="4" value="00000001"/> - <field hide="yes" name="per.octet_string_length" pos="140" show="83" showname="Octet String Length: 83" size="1" value="53"/> - <field name="s1ap.nAS_PDU" pos="141" show="27:ad:0a:aa:9a:01:07:42:01:4a:06:20:02:f8:59:00:01:00:31:52:01:c1:01:09:09:03:6f:61:69:04:69:70:76:34:05:01:c0:bc:00:02:5e:04:fe:fe:de:9e:27:14:80:80:21:10:03:00:00:10:81:06:c0:a8:6a:0c:83:06:c0:a8:0c:64:50:0b:f6:02:f8:59:80:00:01:6c:00:09:20:17:2c" showname="nAS-PDU: 27ad0aaa9a010742014a062002f859000100315201c10109..." size="83" value="27ad0aaa9a010742014a062002f859000100315201c1010909036f616904697076340501c0bc00025e04fefede9e271480802110030000108106c0a86a0c8306c0a80c64500bf602f8598000016c000920172c"/> - <proto name="nas-eps" pos="141" showname="Non-Access-Stratum (NAS)PDU" size="83"> - <field name="nas_eps.security_header_type" pos="141" show="2" showname="0010 .... = Security header type: Integrity protected and ciphered (2)" size="1" unmaskedvalue="27" value="2"/> - <field name="gsm_a.L3_protocol_discriminator" pos="141" show="0x07" showname=".... 0111 = Protocol discriminator: EPS mobility management messages (0x07)" size="1" unmaskedvalue="27" value="7"/> - <field name="nas_eps.msg_auth_code" pos="142" show="0xad0aaa9a" showname="Message authentication code: 0xad0aaa9a" size="4" value="ad0aaa9a"/> - <field name="nas_eps.seq_no" pos="146" show="1" showname="Sequence number: 1" size="1" value="01"/> - <field name="nas_eps.security_header_type" pos="147" show="0" showname="0000 .... = Security header type: Plain NAS message, not security protected (0)" size="1" unmaskedvalue="07" value="0"/> - <field name="gsm_a.L3_protocol_discriminator" pos="147" show="0x07" showname=".... 0111 = Protocol discriminator: EPS mobility management messages (0x07)" size="1" unmaskedvalue="07" value="7"/> - <field name="nas_eps.nas_msg_emm_type" pos="148" show="0x42" showname="NAS EPS Mobility Management Message Type: Attach accept (0x42)" size="1" value="42"/> - <field name="nas_eps.emm.spare_half_octet" pos="149" show="0" showname="0000 .... = Spare half octet: 0" size="1" value="01"/> - <field name="nas_eps.spare_bits" pos="149" show="0x00" showname=".... 0... = Spare bit(s): 0x00" size="1" value="01"/> - <field name="nas_eps.emm.EPS_attach_result" pos="149" show="1" showname=".... .001 = Attach result: EPS only (1)" size="1" value="01"/> - <field name="" pos="150" show="GPRS Timer - T3412 value" size="1" value="4a"> - <field name="" pos="150" show="GPRS Timer: 60 min" size="1" value="4a"> - <field name="gsm_a.gm.gmm.gprs_timer_unit" pos="150" show="2" showname="010. .... = Unit: value is incremented in multiples of decihours (2)" size="1" unmaskedvalue="4a" value="2"/> - <field name="gsm_a.gm.gmm.gprs_timer_value" pos="150" show="10" showname="...0 1010 = Timer value: 10" size="1" unmaskedvalue="4a" value="A"/> - </field> - </field> - <field name="" pos="151" show="Tracking area identity list - TAI list" size="7" value="062002f8590001"> - <field name="gsm_a.len" pos="151" show="6" showname="Length: 6" size="1" value="06"/> - <field name="nas_eps.spare_bits" pos="152" show="0x00" showname="0... .... = Spare bit(s): 0x00" size="1" value="20"/> - <field name="nas_eps.emm.tai_tol" pos="152" show="1" showname=".01. .... = Type of list: list of TACs belonging to one PLMN, with consecutive TAC values (1)" size="1" unmaskedvalue="20" value="1"/> - <field name="nas_eps.emm.tai_n_elem" pos="152" show="0" showname="...0 0000 = Number of elements: 0 [+1 = 1 element(s)]" size="1" unmaskedvalue="20" value="0"/> - <field name="e212.mcc" pos="153" show="208" showname="Mobile Country Code (MCC): France (208)" size="2" value="02f8"/> - <field name="e212.mnc" pos="154" show="95" showname="Mobile Network Code (MNC): Unknown (95)" size="2" value="f859"/> - <field name="nas_eps.emm.tai_tac" pos="156" show="0x0001" showname="Tracking area code(TAC): 0x0001" size="2" value="0001"/> - </field> - <field name="" pos="158" show="ESM message container" size="51" value="00315201c1010909036f616904697076340501c0bc00025e04fefede9e271480802110030000108106c0a86a0c8306c0a80c64"> - <field name="gsm_a.len" pos="158" show="49" showname="Length: 49" size="2" value="0031"/> - <field name="nas_eps.emm.esm_msg_cont" pos="160" show="52:01:c1:01:09:09:03:6f:61:69:04:69:70:76:34:05:01:c0:bc:00:02:5e:04:fe:fe:de:9e:27:14:80:80:21:10:03:00:00:10:81:06:c0:a8:6a:0c:83:06:c0:a8:0c:64" showname="ESM message container contents: 5201c1010909036f616904697076340501c0bc00025e04fe..." size="49" value="5201c1010909036f616904697076340501c0bc00025e04fefede9e271480802110030000108106c0a86a0c8306c0a80c64"> - <field name="nas_eps.bearer_id" pos="160" show="5" showname="0101 .... = EPS bearer identity: EPS bearer identity value 5 (5)" size="1" unmaskedvalue="52" value="5"/> - <field name="gsm_a.L3_protocol_discriminator" pos="160" show="0x02" showname=".... 0010 = Protocol discriminator: EPS session management messages (0x02)" size="1" unmaskedvalue="52" value="2"/> - <field name="nas_eps.esm.proc_trans_id" pos="161" show="1" showname="Procedure transaction identity: 1" size="1" value="01"/> - <field name="nas_eps.nas_msg_esm_type" pos="162" show="0xc1" showname="NAS EPS session management messages: Activate default EPS bearer context request (0xc1)" size="1" value="c1"/> - <field name="" pos="163" show="EPS quality of service" size="2" value="0109"> - <field name="gsm_a.len" pos="163" show="1" showname="Length: 1" size="1" value="01"/> - <field name="nas_eps.emm.qci" pos="164" show="9" showname="Quality of Service Class Identifier (QCI): QCI 9 (9)" size="1" value="09"/> - </field> - <field name="" pos="165" show="Access Point Name" size="10" value="09036f61690469707634"> - <field name="gsm_a.len" pos="165" show="9" showname="Length: 9" size="1" value="09"/> - <field name="gsm_a.gm.sm.apn" pos="166" show="oai.ipv4" showname="APN: oai.ipv4" size="9" value="036f61690469707634"/> - </field> - <field name="" pos="175" show="PDN address" size="6" value="0501c0bc0002"> - <field name="gsm_a.len" pos="175" show="5" showname="Length: 5" size="1" value="05"/> - <field name="nas_eps.spare_bits" pos="176" show="0x00" showname="0000 0... = Spare bit(s): 0x00" size="1" value="01"/> - <field name="nas_eps.esm_pdn_type" pos="176" show="1" showname="PDN type: IPv4 (1)" size="1" value="01"/> - <field name="nas_eps.esm.pdn_ipv4" pos="177" show="192.188.0.2" showname="PDN IPv4: 192.188.0.2 (192.188.0.2)" size="4" value="c0bc0002"/> - </field> - <field name="" pos="181" show="APN aggregate maximum bit rate" size="6" value="5e04fefede9e"> - <field name="nas_eps.esm.elem_id" pos="181" show="0x5e" showname="Element ID: 0x5e" size="1" value="5e"/> - <field name="gsm_a.len" pos="182" show="4" showname="Length: 4" size="1" value="04"/> - <field name="nas_eps.emm.apn_ambr_dl" pos="183" show="254" showname="APN-AMBR for downlink : 8640 kbps" size="1" value="fe"/> - <field name="nas_eps.emm.apn_ambr_ul" pos="184" show="254" showname="APN-AMBR for uplink : 8640 kbps" size="1" value="fe"/> - <field name="nas_eps.emm.apn_ambr_dl_ext" pos="185" show="222" showname="APN-AMBR for downlink (extended) : 200 Mbps" size="1" value="de"/> - <field name="" pos="185" show="Total APN-AMBR for downlink : 200,000 Mbps" size="1" value="de"/> - <field name="nas_eps.emm.apn_ambr_ul_ext" pos="186" show="158" showname="APN-AMBR for uplink (extended) : 100 Mbps" size="1" value="9e"/> - <field name="" pos="186" show="Total APN-AMBR for uplink : 100,000 Mbps" size="1" value="9e"/> - </field> - <field name="" pos="187" show="Protocol Configuration Options" size="22" value="271480802110030000108106c0a86a0c8306c0a80c64"> - <field name="gsm_a.gm.elem_id" pos="187" show="0x27" showname="Element ID: 0x27" size="1" value="27"/> - <field name="gsm_a.len" pos="188" show="20" showname="Length: 20" size="1" value="14"/> - <field name="gsm_a.gm.sm.link_dir" pos="189" show="1" showname="Link direction: Network to MS (1)" size="0"/> - <field name="gsm_a.gm.sm.ext" pos="189" show="1" showname="1... .... = Extension: True" size="1" unmaskedvalue="80" value="1"/> - <field name="" pos="189" show="Configuration Protocol: PPP for use with IP PDP type or IP PDN type (0)" size="1" value="80"/> - <field name="gsm_a.gm.sm.pco_pid" pos="190" show="32801" showname="Protocol or Container ID: Internet Protocol Control Protocol (0x8021)" size="2" value="8021"> - <field name="" pos="192" show="Length: 0x10 (16)" size="1" value="10"/> - <proto name="ipcp" pos="193" showname="PPP IP Control Protocol" size="16"> - <field name="ppp.code" pos="193" show="3" showname="Code: Configuration Nak (3)" size="1" value="03"/> - <field name="ppp.identifier" pos="194" show="0" showname="Identifier: 0 (0x00)" size="1" value="00"/> - <field name="ppp.length" pos="195" show="16" showname="Length: 16" size="2" value="0010"/> - <field name="" pos="197" show="Options: (12 bytes), Primary DNS Server IP Address, Secondary DNS Server IP Address" size="12" value="8106c0a86a0c8306c0a80c64"> - <field name="" pos="197" show="Primary DNS Server IP Address: 192.168.106.12" size="6" value="8106c0a86a0c"> - <field name="ipcp.opt.type" pos="197" show="129" showname="Type: Primary DNS Server IP Address (129)" size="1" value="81"/> - <field name="ipcp.opt.length" pos="198" show="6" showname="Length: 6" size="1" value="06"/> - <field name="ipcp.opt.pri_dns_address" pos="199" show="192.168.106.12" showname="Primary DNS Address: 192.168.106.12 (192.168.106.12)" size="4" value="c0a86a0c"/> - </field> - <field name="" pos="203" show="Secondary DNS Server IP Address: 192.168.12.100" size="6" value="8306c0a80c64"> - <field name="ipcp.opt.type" pos="203" show="131" showname="Type: Secondary DNS Server IP Address (131)" size="1" value="83"/> - <field name="ipcp.opt.length" pos="204" show="6" showname="Length: 6" size="1" value="06"/> - <field name="ipcp.opt.sec_dns_address" pos="205" show="192.168.12.100" showname="Secondary DNS Address: 192.168.12.100 (192.168.12.100)" size="4" value="c0a80c64"/> - </field> - </field> - </proto> - </field> - </field> - </field> - </field> - <field name="" pos="209" show="EPS mobile identity - GUTI" size="13" value="500bf602f8598000016c000920"> - <field name="nas_eps.emm.elem_id" pos="209" show="0x50" showname="Element ID: 0x50" size="1" value="50"/> - <field name="gsm_a.len" pos="210" show="11" showname="Length: 11" size="1" value="0b"/> - <field name="nas_eps.emm.odd_even" pos="211" show="0" showname=".... 0... = odd/even indic: 0" size="1" unmaskedvalue="f6" value="0"/> - <field name="nas_eps.emm.type_of_id" pos="211" show="6" showname=".... .110 = Type of identity: GUTI (6)" size="1" unmaskedvalue="f6" value="6"/> - <field name="e212.mcc" pos="212" show="208" showname="Mobile Country Code (MCC): France (208)" size="2" value="02f8"/> - <field name="e212.mnc" pos="213" show="95" showname="Mobile Network Code (MNC): Unknown (95)" size="2" value="f859"/> - <field name="nas_eps.emm.mme_grp_id" pos="215" show="32768" showname="MME Group ID: 32768" size="2" value="8000"/> - <field name="nas_eps.emm.mme_code" pos="217" show="1" showname="MME Code: 1" size="1" value="01"/> - <field name="nas_eps.emm.m_tmsi" pos="218" show="0x6c000920" showname="M-TMSI: 0x6c000920" size="4" value="6c000920"/> - </field> - <field name="" pos="222" show="GPRS Timer - T3402 value" size="2" value="172c"> - <field name="gsm_a.gm.elem_id" pos="222" show="0x17" showname="Element ID: 0x17" size="1" value="17"/> - <field name="" pos="223" show="GPRS Timer: 12 min" size="1" value="2c"> - <field name="gsm_a.gm.gmm.gprs_timer_unit" pos="223" show="1" showname="001. .... = Unit: value is incremented in multiples of 1 minute (1)" size="1" unmaskedvalue="2c" value="1"/> - <field name="gsm_a.gm.gmm.gprs_timer_value" pos="223" show="12" showname="...0 1100 = Timer value: 12" size="1" unmaskedvalue="2c" value="C"/> - </field> - </field> - </proto> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - <field name="" pos="224" show="Item 4: id-UESecurityCapabilities" size="9" value="006b00051000020000"> - <field name="s1ap.ProtocolIE_Field" pos="224" show="" showname="ProtocolIE-Field" size="9" value=""> - <field name="s1ap.id" pos="224" show="107" showname="id: id-UESecurityCapabilities (107)" size="2" value="006b"/> - <field hide="yes" name="per.enum_index" pos="226" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="226" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="227" show="5" showname="Open Type Length: 5" size="1" value="05"/> - <field name="s1ap.value" pos="228" show="" showname="value" size="5" value=""> - <field name="s1ap.UESecurityCapabilities" pos="228" show="" showname="UESecurityCapabilities" size="4" value=""> - <field hide="yes" name="per.extension_bit" pos="228" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="10" value="0"/> - <field hide="yes" name="per.optional_field_bit" pos="228" show="0" showname=".0.. .... Optional Field Bit: False (iE-Extensions is NOT present)" size="1" unmaskedvalue="10" value="0"/> - <field name="per.extension_present_bit" pos="228" show="0" showname="..0. .... Extension Present Bit: False" size="1" unmaskedvalue="10" value="0"/> - <field name="s1ap.encryptionAlgorithms" pos="228" show="80:00" showname="encryptionAlgorithms: 8000 [bit length 16, 1000 0000 0000 0000 decimal value 32768]" size="2" value="8000"/> - <field name="per.extension_present_bit" pos="230" show="0" showname="...0 .... Extension Present Bit: False" size="1" unmaskedvalue="02" value="0"/> - <field name="s1ap.integrityProtectionAlgorithms" pos="228" show="20:00" showname="integrityProtectionAlgorithms: 2000 [bit length 16, 0010 0000 0000 0000 decimal value 8192]" size="2" value="2000"/> - </field> - </field> - </field> - </field> - <field name="" pos="233" show="Item 5: id-SecurityKey" size="36" value="00490020d3a2585db3755b592cdd43bd648158eb3d142a9f7295ef2da9003b8f7a7a5929"> - <field name="s1ap.ProtocolIE_Field" pos="233" show="" showname="ProtocolIE-Field" size="36" value=""> - <field name="s1ap.id" pos="233" show="73" showname="id: id-SecurityKey (73)" size="2" value="0049"/> - <field hide="yes" name="per.enum_index" pos="235" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="235" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="236" show="32" showname="Open Type Length: 32" size="1" value="20"/> - <field name="s1ap.value" pos="237" show="" showname="value" size="32" value=""> - <field name="s1ap.SecurityKey" pos="237" show="d3:a2:58:5d:b3:75:5b:59:2c:dd:43:bd:64:81:58:eb:3d:14:2a:9f:72:95:ef:2d:a9:00:3b:8f:7a:7a:59:29" showname="SecurityKey: d3a2585db3755b592cdd43bd648158eb3d142a9f7295ef2d... [bit length 256]" size="32" value="d3a2585db3755b592cdd43bd648158eb3d142a9f7295ef2da9003b8f7a7a5929"/> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </proto> - </proto> - </proto> - </proto> - </packet> - <packet> - <proto name="frame" pos="0" showname="Frame 86: 126 bytes on wire (1008 bits), 126 bytes captured (1008 bits) on interface 0" size="126"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:34:54.029328000" showname="Arrival Time: Sep 25, 2015 16:34:54.029328000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191694.029328000" showname="Epoch Time: 1443191694.029328000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.006335000" showname="Time delta from previous captured frame: 0.006335000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.006335000" showname="Time delta from previous displayed frame: 0.006335000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="47.563697000" showname="Time since reference or first frame: 47.563697000 seconds" size="0"/> - <field name="frame.number" pos="0" show="86" showname="Frame Number: 86" size="0"/> - <field name="frame.len" pos="0" show="126" showname="Frame Length: 126 bytes (1008 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="126" showname="Capture Length: 126 bytes (1008 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ip:sctp:s1ap:s1ap:s1ap:s1ap:s1ap" showname="Protocols in frame: eth:ip:sctp:s1ap:s1ap:s1ap:s1ap:s1ap" size="0"/> - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.213 (192.168.12.213), Dst: 192.168.12.17 (192.168.12.17)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0x00" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="0x02" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="112" showname="Total Length: 112" size="2" value="0070"/> - <field name="ip.id" pos="18" show="0x000a" showname="Identification: 0x000a (10)" size="2" value="000a"/> - <field name="ip.flags" pos="20" show="0x02" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="0x9fc7" showname="Header checksum: 0x9fc7 [validation disabled]" size="2" value="9fc7"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="9fc7"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="9fc7"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.213" showname="Source: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.213" showname="Source Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="ip.dst" pos="30" show="192.168.12.17" showname="Destination: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.17" showname="Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80cd5"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80c11"/> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: s1-control (36412), Dst Port: s1-control (36412)" size="44"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="0x4cd1eca0" showname="Verification tag: 0x4cd1eca0" size="4" value="4cd1eca0"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="0x936ee321" showname="Checksum: 0x936ee321 (not verified)" size="4" value="936ee321"/> - <field name="" pos="46" show="SACK chunk (Cumulative TSN: 2008295179, a_rwnd: 106496, gaps: 0, duplicate TSNs: 0)" size="16" value="0300001077b4270b0001a00000000000"> - <field name="sctp.chunk_type" pos="46" show="3" showname="Chunk type: SACK (3)" size="1" value="03"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="03" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="03" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0x00" showname="Chunk flags: 0x00" size="1" value="00"> - <field name="sctp.sack_nounce_sum" pos="47" show="0" showname=".... ...0 = Nounce sum: 0" size="1" unmaskedvalue="00" value="0"/> - </field> - <field name="sctp.chunk_length" pos="48" show="16" showname="Chunk length: 16" size="2" value="0010"/> - <field name="sctp.sack_cumulative_tsn_ack" pos="50" show="2008295179" showname="Cumulative TSN ACK: 2008295179" size="4" value="77b4270b"/> - <field name="sctp.sack_a_rwnd" pos="54" show="106496" showname="Advertised receiver window credit (a_rwnd): 106496" size="4" value="0001a000"/> - <field name="sctp.sack_number_of_gap_blocks" pos="58" show="0" showname="Number of gap acknowledgement blocks: 0" size="2" value="0000"/> - <field name="sctp.sack_number_of_duplicated_tsns" pos="60" show="0" showname="Number of duplicated TSNs: 0" size="2" value="0000"/> - </field> - <field name="" pos="62" show="DATA chunk(ordered, complete segment, TSN: 3304831196, SID: 1, SSN: 4, PPID: 18, payload length: 48 bytes)" size="16" value="00030040c4fbb8dc0001000400000012"> - <field name="sctp.chunk_type" pos="62" show="0" showname="Chunk type: DATA (0)" size="1" value="00"> - <field name="sctp.chunk_bit_1" pos="62" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="00" value="0"/> - <field name="sctp.chunk_bit_2" pos="62" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="00" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="63" show="0x03" showname="Chunk flags: 0x03" size="1" value="03"> - <field name="sctp.data_e_bit" pos="63" show="1" showname=".... ...1 = E-Bit: Last segment" size="1" unmaskedvalue="03" value="1"/> - <field name="sctp.data_b_bit" pos="63" show="1" showname=".... ..1. = B-Bit: First segment" size="1" unmaskedvalue="03" value="1"/> - <field name="sctp.data_u_bit" pos="63" show="0" showname=".... .0.. = U-Bit: Ordered delivery" size="1" unmaskedvalue="03" value="0"/> - <field name="sctp.data_i_bit" pos="63" show="0" showname=".... 0... = I-Bit: Possibly delay SACK" size="1" unmaskedvalue="03" value="0"/> - </field> - <field name="sctp.chunk_length" pos="64" show="64" showname="Chunk length: 64" size="2" value="0040"/> - <field name="sctp.data_tsn" pos="66" show="3304831196" showname="TSN: 3304831196" size="4" value="c4fbb8dc"/> - <field name="sctp.data_sid" pos="70" show="0x0001" showname="Stream Identifier: 0x0001" size="2" value="0001"/> - <field name="sctp.data_ssn" pos="72" show="4" showname="Stream sequence number: 4" size="2" value="0004"/> - <field name="sctp.data_payload_proto_id" pos="74" show="18" showname="Payload protocol identifier: S1 Application Protocol (S1AP) (18)" size="4" value="00000012"/> - </field> - <proto name="s1ap" pos="78" showname="S1 Application Protocol" size="48"> - <field hide="yes" name="per.extension_bit" pos="78" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.choice_index" pos="78" show="0" showname="Choice Index: 0" size="1" value="00"/> - <field name="s1ap.S1AP_PDU" pos="78" show="0" showname="S1AP-PDU: initiatingMessage (0)" size="48" value="0016402c00000300000005c0740010d0000800048006692d004a40141381200003001060e0c1f83f07e0fd7837620000"> - <field name="s1ap.initiatingMessage" pos="78" show="" showname="initiatingMessage" size="48" value=""> - <field name="s1ap.procedureCode" pos="79" show="22" showname="procedureCode: id-UECapabilityInfoIndication (22)" size="1" value="16"/> - <field hide="yes" name="per.enum_index" pos="80" show="1" showname="Enumerated Index: 1" size="1" value="40"/> - <field name="s1ap.criticality" pos="80" show="1" showname="criticality: ignore (1)" size="1" value="40"/> - <field hide="yes" name="per.open_type_length" pos="81" show="44" showname="Open Type Length: 44" size="1" value="2c"/> - <field name="s1ap.value" pos="82" show="" showname="value" size="44" value=""> - <field name="s1ap.UECapabilityInfoIndication" pos="82" show="" showname="UECapabilityInfoIndication" size="44" value=""> - <field hide="yes" name="per.extension_bit" pos="82" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.sequence_of_length" pos="83" show="3" showname="Sequence-Of Length: 3" size="2" value="0003"/> - <field name="s1ap.protocolIEs" pos="85" show="3" showname="protocolIEs: 3 items" size="41" value="00000005c0740010d0000800048006692d004a40141381200003001060e0c1f83f07e0fd7837620000"> - <field name="" pos="85" show="Item 0: id-MME-UE-S1AP-ID" size="9" value="00000005c0740010d0"> - <field name="s1ap.ProtocolIE_Field" pos="85" show="" showname="ProtocolIE-Field" size="9" value=""> - <field name="s1ap.id" pos="85" show="0" showname="id: id-MME-UE-S1AP-ID (0)" size="2" value="0000"/> - <field hide="yes" name="per.enum_index" pos="87" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="87" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="88" show="5" showname="Open Type Length: 5" size="1" value="05"/> - <field name="s1ap.value" pos="89" show="" showname="value" size="5" value=""> - <field name="s1ap.MME_UE_S1AP_ID" pos="89" show="1946161360" showname="MME-UE-S1AP-ID: 1946161360" size="5" value="c0740010d0"/> - </field> - </field> - </field> - <field name="" pos="94" show="Item 1: id-eNB-UE-S1AP-ID" size="8" value="000800048006692d"> - <field name="s1ap.ProtocolIE_Field" pos="94" show="" showname="ProtocolIE-Field" size="8" value=""> - <field name="s1ap.id" pos="94" show="8" showname="id: id-eNB-UE-S1AP-ID (8)" size="2" value="0008"/> - <field hide="yes" name="per.enum_index" pos="96" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="96" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="97" show="4" showname="Open Type Length: 4" size="1" value="04"/> - <field name="s1ap.value" pos="98" show="" showname="value" size="4" value=""> - <field name="s1ap.ENB_UE_S1AP_ID" pos="98" show="420141" showname="ENB-UE-S1AP-ID: 420141" size="4" value="8006692d"/> - </field> - </field> - </field> - <field name="" pos="102" show="Item 2: id-UERadioCapability" size="24" value="004a40141381200003001060e0c1f83f07e0fd7837620000"> - <field name="s1ap.ProtocolIE_Field" pos="102" show="" showname="ProtocolIE-Field" size="24" value=""> - <field name="s1ap.id" pos="102" show="74" showname="id: id-UERadioCapability (74)" size="2" value="004a"/> - <field hide="yes" name="per.enum_index" pos="104" show="1" showname="Enumerated Index: 1" size="1" value="40"/> - <field name="s1ap.criticality" pos="104" show="1" showname="criticality: ignore (1)" size="1" value="40"/> - <field hide="yes" name="per.open_type_length" pos="105" show="20" showname="Open Type Length: 20" size="1" value="14"/> - <field name="s1ap.value" pos="106" show="" showname="value" size="20" value=""> - <field hide="yes" name="per.octet_string_length" pos="106" show="19" showname="Octet String Length: 19" size="1" value="13"/> - <field name="s1ap.UERadioCapability" pos="107" show="81:20:00:03:00:10:60:e0:c1:f8:3f:07:e0:fd:78:37:62:00:00" showname="UERadioCapability: 81200003001060e0c1f83f07e0fd7837620000" size="19" value="81200003001060e0c1f83f07e0fd7837620000"> - <field name="lte-rrc.UERadioAccessCapabilityInformation" pos="107" show="" showname="UERadioAccessCapabilityInformation" size="1" value=""> - <field hide="yes" name="per.choice_index" pos="107" show="1" showname="Choice Index: 1" size="1" value="81"/> - <field name="lte-rrc.criticalExtensions" pos="107" show="1" showname="criticalExtensions: criticalExtensionsFuture (1)" size="1" value="81"> - <field name="lte-rrc.criticalExtensionsFuture" pos="107" show="" showname="criticalExtensionsFuture" size="1" value=""/> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </proto> - </proto> - </proto> - </proto> - </packet> - <packet> - <proto name="frame" pos="0" showname="Frame 87: 62 bytes on wire (496 bits), 62 bytes captured (496 bits) on interface 0" size="62"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:34:54.226130000" showname="Arrival Time: Sep 25, 2015 16:34:54.226130000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191694.226130000" showname="Epoch Time: 1443191694.226130000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.196802000" showname="Time delta from previous captured frame: 0.196802000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.196802000" showname="Time delta from previous displayed frame: 0.196802000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="47.760499000" showname="Time since reference or first frame: 47.760499000 seconds" size="0"/> - <field name="frame.number" pos="0" show="87" showname="Frame Number: 87" size="0"/> - <field name="frame.len" pos="0" show="62" showname="Frame Length: 62 bytes (496 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="62" showname="Capture Length: 62 bytes (496 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ip:sctp" showname="Protocols in frame: eth:ip:sctp" size="0"/> - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.17 (192.168.12.17), Dst: 192.168.12.213 (192.168.12.213)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0x00" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="0x02" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="48" showname="Total Length: 48" size="2" value="0030"/> - <field name="ip.id" pos="18" show="0x0000" showname="Identification: 0x0000 (0)" size="2" value="0000"/> - <field name="ip.flags" pos="20" show="0x02" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="0xa011" showname="Header checksum: 0xa011 [validation disabled]" size="2" value="a011"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="a011"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="a011"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.17" showname="Source: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.17" showname="Source Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="ip.dst" pos="30" show="192.168.12.213" showname="Destination: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.213" showname="Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80c11"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80cd5"/> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: s1-control (36412), Dst Port: s1-control (36412)" size="28"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="0x54f837ab" showname="Verification tag: 0x54f837ab" size="4" value="54f837ab"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="0x4bc96ec5" showname="Checksum: 0x4bc96ec5 (not verified)" size="4" value="4bc96ec5"/> - <field name="" pos="46" show="SACK chunk (Cumulative TSN: 3304831196, a_rwnd: 106496, gaps: 0, duplicate TSNs: 0)" size="16" value="03000010c4fbb8dc0001a00000000000"> - <field name="sctp.chunk_type" pos="46" show="3" showname="Chunk type: SACK (3)" size="1" value="03"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="03" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="03" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0x00" showname="Chunk flags: 0x00" size="1" value="00"> - <field name="sctp.sack_nounce_sum" pos="47" show="0" showname=".... ...0 = Nounce sum: 0" size="1" unmaskedvalue="00" value="0"/> - </field> - <field name="sctp.chunk_length" pos="48" show="16" showname="Chunk length: 16" size="2" value="0010"/> - <field name="sctp.sack_cumulative_tsn_ack" pos="50" show="3304831196" showname="Cumulative TSN ACK: 3304831196" size="4" value="c4fbb8dc"/> - <field name="sctp.sack_a_rwnd" pos="54" show="106496" showname="Advertised receiver window credit (a_rwnd): 106496" size="4" value="0001a000"/> - <field name="sctp.sack_number_of_gap_blocks" pos="58" show="0" showname="Number of gap acknowledgement blocks: 0" size="2" value="0000"/> - <field name="sctp.sack_number_of_duplicated_tsns" pos="60" show="0" showname="Number of duplicated TSNs: 0" size="2" value="0000"/> - </field> - </proto> - </proto> - </proto> - </packet> - <packet> - <proto name="frame" pos="0" showname="Frame 88: 186 bytes on wire (1488 bits), 186 bytes captured (1488 bits) on interface 0" size="186"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:34:54.226402000" showname="Arrival Time: Sep 25, 2015 16:34:54.226402000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191694.226402000" showname="Epoch Time: 1443191694.226402000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.000272000" showname="Time delta from previous captured frame: 0.000272000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.000272000" showname="Time delta from previous displayed frame: 0.000272000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="47.760771000" showname="Time since reference or first frame: 47.760771000 seconds" size="0"/> - <field name="frame.number" pos="0" show="88" showname="Frame Number: 88" size="0"/> - <field name="frame.len" pos="0" show="186" showname="Frame Length: 186 bytes (1488 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="186" showname="Capture Length: 186 bytes (1488 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ip:sctp:s1ap:s1ap:s1ap:s1ap:s1ap:s1ap:s1ap:s1ap:s1ap:s1ap:s1ap:nas-eps:s1ap:s1ap" showname="Protocols in frame: eth:ip:sctp:s1ap:s1ap:s1ap:s1ap:s1ap:s1ap:s1ap:s1ap:s1ap:s1ap:s1ap:nas-eps:s1ap:s1ap" size="0"/> - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.213 (192.168.12.213), Dst: 192.168.12.17 (192.168.12.17)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0x00" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="0x02" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="172" showname="Total Length: 172" size="2" value="00ac"/> - <field name="ip.id" pos="18" show="0x000b" showname="Identification: 0x000b (11)" size="2" value="000b"/> - <field name="ip.flags" pos="20" show="0x02" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="0x9f8a" showname="Header checksum: 0x9f8a [validation disabled]" size="2" value="9f8a"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="9f8a"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="9f8a"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.213" showname="Source: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.213" showname="Source Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="ip.dst" pos="30" show="192.168.12.17" showname="Destination: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.17" showname="Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80cd5"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80c11"/> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: s1-control (36412), Dst Port: s1-control (36412)" size="28"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="0x4cd1eca0" showname="Verification tag: 0x4cd1eca0" size="4" value="4cd1eca0"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="0xb000a908" showname="Checksum: 0xb000a908 (not verified)" size="4" value="b000a908"/> - <field name="" pos="46" show="DATA chunk(ordered, complete segment, TSN: 3304831197, SID: 1, SSN: 5, PPID: 18, payload length: 43 bytes)" size="16" value="0003003bc4fbb8dd0001000500000012"> - <field name="sctp.chunk_type" pos="46" show="0" showname="Chunk type: DATA (0)" size="1" value="00"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="00" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="00" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0x03" showname="Chunk flags: 0x03" size="1" value="03"> - <field name="sctp.data_e_bit" pos="47" show="1" showname=".... ...1 = E-Bit: Last segment" size="1" unmaskedvalue="03" value="1"/> - <field name="sctp.data_b_bit" pos="47" show="1" showname=".... ..1. = B-Bit: First segment" size="1" unmaskedvalue="03" value="1"/> - <field name="sctp.data_u_bit" pos="47" show="0" showname=".... .0.. = U-Bit: Ordered delivery" size="1" unmaskedvalue="03" value="0"/> - <field name="sctp.data_i_bit" pos="47" show="0" showname=".... 0... = I-Bit: Possibly delay SACK" size="1" unmaskedvalue="03" value="0"/> - </field> - <field name="sctp.chunk_length" pos="48" show="59" showname="Chunk length: 59" size="2" value="003b"/> - <field name="sctp.data_tsn" pos="50" show="3304831197" showname="TSN: 3304831197" size="4" value="c4fbb8dd"/> - <field name="sctp.data_sid" pos="54" show="0x0001" showname="Stream Identifier: 0x0001" size="2" value="0001"/> - <field name="sctp.data_ssn" pos="56" show="5" showname="Stream sequence number: 5" size="2" value="0005"/> - <field name="sctp.data_payload_proto_id" pos="58" show="18" showname="Payload protocol identifier: S1 Application Protocol (S1AP) (18)" size="4" value="00000012"/> - <field name="sctp.chunk_padding" pos="105" show="00" showname="Chunk padding: 00" size="1" value="00"/> - </field> - <proto name="s1ap" pos="62" showname="S1 Application Protocol" size="43"> - <field hide="yes" name="per.extension_bit" pos="62" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="20" value="0"/> - <field hide="yes" name="per.choice_index" pos="62" show="1" showname="Choice Index: 1" size="1" value="20"/> - <field name="s1ap.S1AP_PDU" pos="62" show="1" showname="S1AP-PDU: successfulOutcome (1)" size="43" value="2009002700000300004005c0740010d0000840048006692d0033400f000032400a0a1fc0a80cd5ca6fe0dd"> - <field name="s1ap.successfulOutcome" pos="62" show="" showname="successfulOutcome" size="43" value=""> - <field name="s1ap.procedureCode" pos="63" show="9" showname="procedureCode: id-InitialContextSetup (9)" size="1" value="09"/> - <field hide="yes" name="per.enum_index" pos="64" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="64" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="65" show="39" showname="Open Type Length: 39" size="1" value="27"/> - <field name="s1ap.value" pos="66" show="" showname="value" size="39" value=""> - <field name="s1ap.InitialContextSetupResponse" pos="66" show="" showname="InitialContextSetupResponse" size="39" value=""> - <field hide="yes" name="per.extension_bit" pos="66" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.sequence_of_length" pos="67" show="3" showname="Sequence-Of Length: 3" size="2" value="0003"/> - <field name="s1ap.protocolIEs" pos="69" show="3" showname="protocolIEs: 3 items" size="36" value="00004005c0740010d0000840048006692d0033400f000032400a0a1fc0a80cd5ca6fe0dd"> - <field name="" pos="69" show="Item 0: id-MME-UE-S1AP-ID" size="9" value="00004005c0740010d0"> - <field name="s1ap.ProtocolIE_Field" pos="69" show="" showname="ProtocolIE-Field" size="9" value=""> - <field name="s1ap.id" pos="69" show="0" showname="id: id-MME-UE-S1AP-ID (0)" size="2" value="0000"/> - <field hide="yes" name="per.enum_index" pos="71" show="1" showname="Enumerated Index: 1" size="1" value="40"/> - <field name="s1ap.criticality" pos="71" show="1" showname="criticality: ignore (1)" size="1" value="40"/> - <field hide="yes" name="per.open_type_length" pos="72" show="5" showname="Open Type Length: 5" size="1" value="05"/> - <field name="s1ap.value" pos="73" show="" showname="value" size="5" value=""> - <field name="s1ap.MME_UE_S1AP_ID" pos="73" show="1946161360" showname="MME-UE-S1AP-ID: 1946161360" size="5" value="c0740010d0"/> - </field> - </field> - </field> - <field name="" pos="78" show="Item 1: id-eNB-UE-S1AP-ID" size="8" value="000840048006692d"> - <field name="s1ap.ProtocolIE_Field" pos="78" show="" showname="ProtocolIE-Field" size="8" value=""> - <field name="s1ap.id" pos="78" show="8" showname="id: id-eNB-UE-S1AP-ID (8)" size="2" value="0008"/> - <field hide="yes" name="per.enum_index" pos="80" show="1" showname="Enumerated Index: 1" size="1" value="40"/> - <field name="s1ap.criticality" pos="80" show="1" showname="criticality: ignore (1)" size="1" value="40"/> - <field hide="yes" name="per.open_type_length" pos="81" show="4" showname="Open Type Length: 4" size="1" value="04"/> - <field name="s1ap.value" pos="82" show="" showname="value" size="4" value=""> - <field name="s1ap.ENB_UE_S1AP_ID" pos="82" show="420141" showname="ENB-UE-S1AP-ID: 420141" size="4" value="8006692d"/> - </field> - </field> - </field> - <field name="" pos="86" show="Item 2: id-E-RABSetupListCtxtSURes" size="19" value="0033400f000032400a0a1fc0a80cd5ca6fe0dd"> - <field name="s1ap.ProtocolIE_Field" pos="86" show="" showname="ProtocolIE-Field" size="19" value=""> - <field name="s1ap.id" pos="86" show="51" showname="id: id-E-RABSetupListCtxtSURes (51)" size="2" value="0033"/> - <field hide="yes" name="per.enum_index" pos="88" show="1" showname="Enumerated Index: 1" size="1" value="40"/> - <field name="s1ap.criticality" pos="88" show="1" showname="criticality: ignore (1)" size="1" value="40"/> - <field hide="yes" name="per.open_type_length" pos="89" show="15" showname="Open Type Length: 15" size="1" value="0f"/> - <field name="s1ap.value" pos="90" show="" showname="value" size="15" value=""> - <field hide="yes" name="per.sequence_of_length" pos="90" show="1" showname="Sequence-Of Length: 1" size="1" value="00"/> - <field name="s1ap.E_RABSetupListCtxtSURes" pos="91" show="1" showname="E-RABSetupListCtxtSURes: 1 item" size="14" value="0032400a0a1fc0a80cd5ca6fe0dd"> - <field name="" pos="91" show="Item 0: id-E-RABSetupItemCtxtSURes" size="14" value="0032400a0a1fc0a80cd5ca6fe0dd"> - <field name="s1ap.ProtocolIE_SingleContainer" pos="91" show="" showname="ProtocolIE-SingleContainer" size="14" value=""> - <field name="s1ap.id" pos="91" show="50" showname="id: id-E-RABSetupItemCtxtSURes (50)" size="2" value="0032"/> - <field hide="yes" name="per.enum_index" pos="93" show="1" showname="Enumerated Index: 1" size="1" value="40"/> - <field name="s1ap.criticality" pos="93" show="1" showname="criticality: ignore (1)" size="1" value="40"/> - <field hide="yes" name="per.open_type_length" pos="94" show="10" showname="Open Type Length: 10" size="1" value="0a"/> - <field name="s1ap.value" pos="95" show="" showname="value" size="10" value=""> - <field name="s1ap.E_RABSetupItemCtxtSURes" pos="95" show="" showname="E-RABSetupItemCtxtSURes" size="10" value=""> - <field hide="yes" name="per.extension_bit" pos="95" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="0a" value="0"/> - <field hide="yes" name="per.optional_field_bit" pos="95" show="0" showname=".0.. .... Optional Field Bit: False (iE-Extensions is NOT present)" size="1" unmaskedvalue="0a" value="0"/> - <field hide="yes" name="per.extension_present_bit" pos="95" show="0" showname="..0. .... Extension Present Bit: False" size="1" unmaskedvalue="0a" value="0"/> - <field name="s1ap.e_RAB_ID" pos="95" show="5" showname="e-RAB-ID: 5" size="1" value="0a"/> - <field name="per.extension_present_bit" pos="95" show="0" showname=".... ...0 Extension Present Bit: False" size="1" unmaskedvalue="0a" value="0"/> - <field hide="yes" name="per.bit_string_length" pos="96" show="32" showname="Bit String Length: 32" size="1" value="1f"/> - <field name="s1ap.transportLayerAddress" pos="97" show="c0:a8:0c:d5" showname="transportLayerAddress: c0a80cd5 [bit length 32, 1100 0000 1010 1000 0000 1100 1101 0101 decimal value 3232238805]" size="4" value="c0a80cd5"> - <field name="s1ap.transportLayerAddressIPv4" pos="97" show="192.168.12.213" showname="transportLayerAddress(IPv4): 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - </field> - <field name="s1ap.gTP_TEID" pos="101" show="ca:6f:e0:dd" showname="gTP-TEID: ca6fe0dd" size="4" value="ca6fe0dd"/> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </proto> - </proto> - <proto name="sctp" pos="106" showname="Stream Control Transmission Protocol" size="16"> - <field name="" pos="106" show="DATA chunk(ordered, complete segment, TSN: 3304831198, SID: 1, SSN: 6, PPID: 18, payload length: 64 bytes)" size="16" value="00030050c4fbb8de0001000600000012"> - <field name="sctp.chunk_type" pos="106" show="0" showname="Chunk type: DATA (0)" size="1" value="00"> - <field name="sctp.chunk_bit_1" pos="106" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="00" value="0"/> - <field name="sctp.chunk_bit_2" pos="106" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="00" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="107" show="0x03" showname="Chunk flags: 0x03" size="1" value="03"> - <field name="sctp.data_e_bit" pos="107" show="1" showname=".... ...1 = E-Bit: Last segment" size="1" unmaskedvalue="03" value="1"/> - <field name="sctp.data_b_bit" pos="107" show="1" showname=".... ..1. = B-Bit: First segment" size="1" unmaskedvalue="03" value="1"/> - <field name="sctp.data_u_bit" pos="107" show="0" showname=".... .0.. = U-Bit: Ordered delivery" size="1" unmaskedvalue="03" value="0"/> - <field name="sctp.data_i_bit" pos="107" show="0" showname=".... 0... = I-Bit: Possibly delay SACK" size="1" unmaskedvalue="03" value="0"/> - </field> - <field name="sctp.chunk_length" pos="108" show="80" showname="Chunk length: 80" size="2" value="0050"/> - <field name="sctp.data_tsn" pos="110" show="3304831198" showname="TSN: 3304831198" size="4" value="c4fbb8de"/> - <field name="sctp.data_sid" pos="114" show="0x0001" showname="Stream Identifier: 0x0001" size="2" value="0001"/> - <field name="sctp.data_ssn" pos="116" show="6" showname="Stream sequence number: 6" size="2" value="0006"/> - <field name="sctp.data_payload_proto_id" pos="118" show="18" showname="Payload protocol identifier: S1 Application Protocol (S1AP) (18)" size="4" value="00000012"/> - </field> - <proto name="s1ap" pos="122" showname="S1 Application Protocol" size="64"> - <field hide="yes" name="per.extension_bit" pos="122" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.choice_index" pos="122" show="0" showname="Choice Index: 0" size="1" value="00"/> - <field name="s1ap.S1AP_PDU" pos="122" show="0" showname="S1AP-PDU: initiatingMessage (0)" size="64" value="000d403c00000500000005c0740010d0000800048006692d001a000e0d275cf0408901074300035200c2006440080002f85900e00000004340060002f8590001"> - <field name="s1ap.initiatingMessage" pos="122" show="" showname="initiatingMessage" size="64" value=""> - <field name="s1ap.procedureCode" pos="123" show="13" showname="procedureCode: id-uplinkNASTransport (13)" size="1" value="0d"/> - <field hide="yes" name="per.enum_index" pos="124" show="1" showname="Enumerated Index: 1" size="1" value="40"/> - <field name="s1ap.criticality" pos="124" show="1" showname="criticality: ignore (1)" size="1" value="40"/> - <field hide="yes" name="per.open_type_length" pos="125" show="60" showname="Open Type Length: 60" size="1" value="3c"/> - <field name="s1ap.value" pos="126" show="" showname="value" size="60" value=""> - <field name="s1ap.UplinkNASTransport" pos="126" show="" showname="UplinkNASTransport" size="60" value=""> - <field hide="yes" name="per.extension_bit" pos="126" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.sequence_of_length" pos="127" show="5" showname="Sequence-Of Length: 5" size="2" value="0005"/> - <field name="s1ap.protocolIEs" pos="129" show="5" showname="protocolIEs: 5 items" size="57" value="00000005c0740010d0000800048006692d001a000e0d275cf0408901074300035200c2006440080002f85900e00000004340060002f8590001"> - <field name="" pos="129" show="Item 0: id-MME-UE-S1AP-ID" size="9" value="00000005c0740010d0"> - <field name="s1ap.ProtocolIE_Field" pos="129" show="" showname="ProtocolIE-Field" size="9" value=""> - <field name="s1ap.id" pos="129" show="0" showname="id: id-MME-UE-S1AP-ID (0)" size="2" value="0000"/> - <field hide="yes" name="per.enum_index" pos="131" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="131" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="132" show="5" showname="Open Type Length: 5" size="1" value="05"/> - <field name="s1ap.value" pos="133" show="" showname="value" size="5" value=""> - <field name="s1ap.MME_UE_S1AP_ID" pos="133" show="1946161360" showname="MME-UE-S1AP-ID: 1946161360" size="5" value="c0740010d0"/> - </field> - </field> - </field> - <field name="" pos="138" show="Item 1: id-eNB-UE-S1AP-ID" size="8" value="000800048006692d"> - <field name="s1ap.ProtocolIE_Field" pos="138" show="" showname="ProtocolIE-Field" size="8" value=""> - <field name="s1ap.id" pos="138" show="8" showname="id: id-eNB-UE-S1AP-ID (8)" size="2" value="0008"/> - <field hide="yes" name="per.enum_index" pos="140" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="140" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="141" show="4" showname="Open Type Length: 4" size="1" value="04"/> - <field name="s1ap.value" pos="142" show="" showname="value" size="4" value=""> - <field name="s1ap.ENB_UE_S1AP_ID" pos="142" show="420141" showname="ENB-UE-S1AP-ID: 420141" size="4" value="8006692d"/> - </field> - </field> - </field> - <field name="" pos="146" show="Item 2: id-NAS-PDU" size="18" value="001a000e0d275cf0408901074300035200c2"> - <field name="s1ap.ProtocolIE_Field" pos="146" show="" showname="ProtocolIE-Field" size="18" value=""> - <field name="s1ap.id" pos="146" show="26" showname="id: id-NAS-PDU (26)" size="2" value="001a"/> - <field hide="yes" name="per.enum_index" pos="148" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="148" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="149" show="14" showname="Open Type Length: 14" size="1" value="0e"/> - <field name="s1ap.value" pos="150" show="" showname="value" size="14" value=""> - <field hide="yes" name="per.octet_string_length" pos="150" show="13" showname="Octet String Length: 13" size="1" value="0d"/> - <field name="s1ap.NAS_PDU" pos="151" show="27:5c:f0:40:89:01:07:43:00:03:52:00:c2" showname="NAS-PDU: 275cf0408901074300035200c2" size="13" value="275cf0408901074300035200c2"/> - <proto name="nas-eps" pos="151" showname="Non-Access-Stratum (NAS)PDU" size="13"> - <field name="nas_eps.security_header_type" pos="151" show="2" showname="0010 .... = Security header type: Integrity protected and ciphered (2)" size="1" unmaskedvalue="27" value="2"/> - <field name="gsm_a.L3_protocol_discriminator" pos="151" show="0x07" showname=".... 0111 = Protocol discriminator: EPS mobility management messages (0x07)" size="1" unmaskedvalue="27" value="7"/> - <field name="nas_eps.msg_auth_code" pos="152" show="0x5cf04089" showname="Message authentication code: 0x5cf04089" size="4" value="5cf04089"/> - <field name="nas_eps.seq_no" pos="156" show="1" showname="Sequence number: 1" size="1" value="01"/> - <field name="nas_eps.security_header_type" pos="157" show="0" showname="0000 .... = Security header type: Plain NAS message, not security protected (0)" size="1" unmaskedvalue="07" value="0"/> - <field name="gsm_a.L3_protocol_discriminator" pos="157" show="0x07" showname=".... 0111 = Protocol discriminator: EPS mobility management messages (0x07)" size="1" unmaskedvalue="07" value="7"/> - <field name="nas_eps.nas_msg_emm_type" pos="158" show="0x43" showname="NAS EPS Mobility Management Message Type: Attach complete (0x43)" size="1" value="43"/> - <field name="" pos="159" show="ESM message container" size="5" value="00035200c2"> - <field name="gsm_a.len" pos="159" show="3" showname="Length: 3" size="2" value="0003"/> - <field name="nas_eps.emm.esm_msg_cont" pos="161" show="52:00:c2" showname="ESM message container contents: 5200c2" size="3" value="5200c2"> - <field name="nas_eps.bearer_id" pos="161" show="5" showname="0101 .... = EPS bearer identity: EPS bearer identity value 5 (5)" size="1" unmaskedvalue="52" value="5"/> - <field name="gsm_a.L3_protocol_discriminator" pos="161" show="0x02" showname=".... 0010 = Protocol discriminator: EPS session management messages (0x02)" size="1" unmaskedvalue="52" value="2"/> - <field name="nas_eps.esm.proc_trans_id" pos="162" show="0" showname="Procedure transaction identity: 0" size="1" value="00"/> - <field name="nas_eps.nas_msg_esm_type" pos="163" show="0xc2" showname="NAS EPS session management messages: Activate default EPS bearer context accept (0xc2)" size="1" value="c2"/> - </field> - </field> - </proto> - </field> - </field> - </field> - <field name="" pos="164" show="Item 3: id-EUTRAN-CGI" size="12" value="006440080002f85900e00000"> - <field name="s1ap.ProtocolIE_Field" pos="164" show="" showname="ProtocolIE-Field" size="12" value=""> - <field name="s1ap.id" pos="164" show="100" showname="id: id-EUTRAN-CGI (100)" size="2" value="0064"/> - <field hide="yes" name="per.enum_index" pos="166" show="1" showname="Enumerated Index: 1" size="1" value="40"/> - <field name="s1ap.criticality" pos="166" show="1" showname="criticality: ignore (1)" size="1" value="40"/> - <field hide="yes" name="per.open_type_length" pos="167" show="8" showname="Open Type Length: 8" size="1" value="08"/> - <field name="s1ap.value" pos="168" show="" showname="value" size="8" value=""> - <field name="s1ap.EUTRAN_CGI" pos="168" show="" showname="EUTRAN-CGI" size="7" value=""> - <field hide="yes" name="per.extension_bit" pos="168" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.optional_field_bit" pos="168" show="0" showname=".0.. .... Optional Field Bit: False (iE-Extensions is NOT present)" size="1" unmaskedvalue="00" value="0"/> - <field name="s1ap.pLMNidentity" pos="169" show="02:f8:59" showname="pLMNidentity: 02f859" size="3" value="02f859"/> - <field name="e212.mcc" pos="169" show="208" showname="Mobile Country Code (MCC): France (208)" size="2" value="02f8"/> - <field name="e212.mnc" pos="170" show="95" showname="Mobile Network Code (MNC): Unknown (95)" size="2" value="f859"/> - <field name="s1ap.cell_ID" pos="168" show="00:e0:00:00" showname="cell-ID: 00e00000 [bit length 28, 4 LSB pad bits, 0000 0000 1110 0000 0000 0000 0000 .... decimal value 917504]" size="4" value="00e00000"/> - </field> - </field> - </field> - </field> - <field name="" pos="176" show="Item 4: id-TAI" size="10" value="004340060002f8590001"> - <field name="s1ap.ProtocolIE_Field" pos="176" show="" showname="ProtocolIE-Field" size="10" value=""> - <field name="s1ap.id" pos="176" show="67" showname="id: id-TAI (67)" size="2" value="0043"/> - <field hide="yes" name="per.enum_index" pos="178" show="1" showname="Enumerated Index: 1" size="1" value="40"/> - <field name="s1ap.criticality" pos="178" show="1" showname="criticality: ignore (1)" size="1" value="40"/> - <field hide="yes" name="per.open_type_length" pos="179" show="6" showname="Open Type Length: 6" size="1" value="06"/> - <field name="s1ap.value" pos="180" show="" showname="value" size="6" value=""> - <field name="s1ap.TAI" pos="180" show="" showname="TAI" size="6" value=""> - <field hide="yes" name="per.extension_bit" pos="180" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.optional_field_bit" pos="180" show="0" showname=".0.. .... Optional Field Bit: False (iE-Extensions is NOT present)" size="1" unmaskedvalue="00" value="0"/> - <field name="s1ap.pLMNidentity" pos="181" show="02:f8:59" showname="pLMNidentity: 02f859" size="3" value="02f859"/> - <field name="e212.mcc" pos="181" show="208" showname="Mobile Country Code (MCC): France (208)" size="2" value="02f8"/> - <field name="e212.mnc" pos="182" show="95" showname="Mobile Network Code (MNC): Unknown (95)" size="2" value="f859"/> - <field name="s1ap.tAC" pos="184" show="00:01" showname="tAC: 0001" size="2" value="0001"/> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </proto> - </proto> - </proto> - </proto> - </packet> - <packet> - <proto name="frame" pos="0" showname="Frame 89: 62 bytes on wire (496 bits), 62 bytes captured (496 bits) on interface 0" size="62"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:34:54.426135000" showname="Arrival Time: Sep 25, 2015 16:34:54.426135000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191694.426135000" showname="Epoch Time: 1443191694.426135000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.199733000" showname="Time delta from previous captured frame: 0.199733000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.199733000" showname="Time delta from previous displayed frame: 0.199733000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="47.960504000" showname="Time since reference or first frame: 47.960504000 seconds" size="0"/> - <field name="frame.number" pos="0" show="89" showname="Frame Number: 89" size="0"/> - <field name="frame.len" pos="0" show="62" showname="Frame Length: 62 bytes (496 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="62" showname="Capture Length: 62 bytes (496 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ip:sctp" showname="Protocols in frame: eth:ip:sctp" size="0"/> - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.17 (192.168.12.17), Dst: 192.168.12.213 (192.168.12.213)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0x00" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="0x02" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="48" showname="Total Length: 48" size="2" value="0030"/> - <field name="ip.id" pos="18" show="0x0000" showname="Identification: 0x0000 (0)" size="2" value="0000"/> - <field name="ip.flags" pos="20" show="0x02" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="0xa011" showname="Header checksum: 0xa011 [validation disabled]" size="2" value="a011"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="a011"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="a011"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.17" showname="Source: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.17" showname="Source Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="ip.dst" pos="30" show="192.168.12.213" showname="Destination: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.213" showname="Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80c11"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80cd5"/> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: s1-control (36412), Dst Port: s1-control (36412)" size="28"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="0x54f837ab" showname="Verification tag: 0x54f837ab" size="4" value="54f837ab"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="0x2a13ff28" showname="Checksum: 0x2a13ff28 (not verified)" size="4" value="2a13ff28"/> - <field name="" pos="46" show="SACK chunk (Cumulative TSN: 3304831198, a_rwnd: 106496, gaps: 0, duplicate TSNs: 0)" size="16" value="03000010c4fbb8de0001a00000000000"> - <field name="sctp.chunk_type" pos="46" show="3" showname="Chunk type: SACK (3)" size="1" value="03"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="03" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="03" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0x00" showname="Chunk flags: 0x00" size="1" value="00"> - <field name="sctp.sack_nounce_sum" pos="47" show="0" showname=".... ...0 = Nounce sum: 0" size="1" unmaskedvalue="00" value="0"/> - </field> - <field name="sctp.chunk_length" pos="48" show="16" showname="Chunk length: 16" size="2" value="0010"/> - <field name="sctp.sack_cumulative_tsn_ack" pos="50" show="3304831198" showname="Cumulative TSN ACK: 3304831198" size="4" value="c4fbb8de"/> - <field name="sctp.sack_a_rwnd" pos="54" show="106496" showname="Advertised receiver window credit (a_rwnd): 106496" size="4" value="0001a000"/> - <field name="sctp.sack_number_of_gap_blocks" pos="58" show="0" showname="Number of gap acknowledgement blocks: 0" size="2" value="0000"/> - <field name="sctp.sack_number_of_duplicated_tsns" pos="60" show="0" showname="Number of duplicated TSNs: 0" size="2" value="0000"/> - </field> - </proto> - </proto> - </proto> - </packet> - <packet> - <proto name="frame" pos="0" showname="Frame 176: 98 bytes on wire (784 bits), 98 bytes captured (784 bits) on interface 0" size="98"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:35:24.530270000" showname="Arrival Time: Sep 25, 2015 16:35:24.530270000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191724.530270000" showname="Epoch Time: 1443191724.530270000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.030375000" showname="Time delta from previous captured frame: 0.030375000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.030375000" showname="Time delta from previous displayed frame: 0.030375000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="78.064639000" showname="Time since reference or first frame: 78.064639000 seconds" size="0"/> - <field name="frame.number" pos="0" show="176" showname="Frame Number: 176" size="0"/> - <field name="frame.len" pos="0" show="98" showname="Frame Length: 98 bytes (784 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="98" showname="Capture Length: 98 bytes (784 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ip:sctp" showname="Protocols in frame: eth:ip:sctp" size="0"/> - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.17 (192.168.12.17), Dst: 192.168.12.213 (192.168.12.213)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0x00" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="0x02" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="84" showname="Total Length: 84" size="2" value="0054"/> - <field name="ip.id" pos="18" show="0x0000" showname="Identification: 0x0000 (0)" size="2" value="0000"/> - <field name="ip.flags" pos="20" show="0x02" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="0x9fed" showname="Header checksum: 0x9fed [validation disabled]" size="2" value="9fed"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="9fed"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="9fed"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.17" showname="Source: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.17" showname="Source Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="ip.dst" pos="30" show="192.168.12.213" showname="Destination: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.213" showname="Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80c11"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80cd5"/> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: s1-control (36412), Dst Port: s1-control (36412)" size="64"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="0x54f837ab" showname="Verification tag: 0x54f837ab" size="4" value="54f837ab"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="0x73ac7bca" showname="Checksum: 0x73ac7bca (not verified)" size="4" value="73ac7bca"/> - <field name="" pos="46" show="HEARTBEAT chunk (Information: 48 bytes)" size="52" value="040000340001003002008e3cc0a80cd5000000000000000000000000000000000000000060313300010000008db53fb930a0b65f"> - <field name="sctp.chunk_type" pos="46" show="4" showname="Chunk type: HEARTBEAT (4)" size="1" value="04"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="04" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="04" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0x00" showname="Chunk flags: 0x00" size="1" value="00"/> - <field name="sctp.chunk_length" pos="48" show="52" showname="Chunk length: 52" size="2" value="0034"/> - <field name="" pos="50" show="Heartbeat info parameter (Information: 44 bytes)" size="48" value="0001003002008e3cc0a80cd5000000000000000000000000000000000000000060313300010000008db53fb930a0b65f"> - <field name="sctp.parameter_type" pos="50" show="0x0001" showname="Parameter type: Heartbeat info (0x0001)" size="2" value="0001"> - <field name="sctp.parameter_bit_1" pos="50" show="0" showname="0... .... .... .... = Bit: Stop processing of chunk" size="2" unmaskedvalue="0001" value="0"/> - <field name="sctp.parameter_bit_2" pos="50" show="0" showname=".0.. .... .... .... = Bit: Do not report" size="2" unmaskedvalue="0001" value="0"/> - </field> - <field name="sctp.parameter_length" pos="52" show="48" showname="Parameter length: 48" size="2" value="0030"/> - <field name="sctp.parameter_heartbeat_information" pos="54" show="02:00:8e:3c:c0:a8:0c:d5:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:60:31:33:00:01:00:00:00:8d:b5:3f:b9:30:a0:b6:5f" showname="Heartbeat information: 02008e3cc0a80cd500000000000000000000000000000000..." size="44" value="02008e3cc0a80cd5000000000000000000000000000000000000000060313300010000008db53fb930a0b65f"/> - </field> - </field> - </proto> - </proto> - </proto> - </packet> - <packet> - <proto name="frame" pos="0" showname="Frame 177: 98 bytes on wire (784 bits), 98 bytes captured (784 bits) on interface 0" size="98"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:35:24.530415000" showname="Arrival Time: Sep 25, 2015 16:35:24.530415000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191724.530415000" showname="Epoch Time: 1443191724.530415000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.000145000" showname="Time delta from previous captured frame: 0.000145000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.000145000" showname="Time delta from previous displayed frame: 0.000145000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="78.064784000" showname="Time since reference or first frame: 78.064784000 seconds" size="0"/> - <field name="frame.number" pos="0" show="177" showname="Frame Number: 177" size="0"/> - <field name="frame.len" pos="0" show="98" showname="Frame Length: 98 bytes (784 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="98" showname="Capture Length: 98 bytes (784 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ip:sctp" showname="Protocols in frame: eth:ip:sctp" size="0"/> - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.213 (192.168.12.213), Dst: 192.168.12.17 (192.168.12.17)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0x00" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="0x02" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="84" showname="Total Length: 84" size="2" value="0054"/> - <field name="ip.id" pos="18" show="0x000c" showname="Identification: 0x000c (12)" size="2" value="000c"/> - <field name="ip.flags" pos="20" show="0x02" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="0x9fe1" showname="Header checksum: 0x9fe1 [validation disabled]" size="2" value="9fe1"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="9fe1"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="9fe1"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.213" showname="Source: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.213" showname="Source Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="ip.dst" pos="30" show="192.168.12.17" showname="Destination: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.17" showname="Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80cd5"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80c11"/> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: s1-control (36412), Dst Port: s1-control (36412)" size="64"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="0x4cd1eca0" showname="Verification tag: 0x4cd1eca0" size="4" value="4cd1eca0"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="0x417510b2" showname="Checksum: 0x417510b2 (not verified)" size="4" value="417510b2"/> - <field name="" pos="46" show="HEARTBEAT_ACK chunk (Information: 48 bytes)" size="52" value="050000340001003002008e3cc0a80cd5000000000000000000000000000000000000000060313300010000008db53fb930a0b65f"> - <field name="sctp.chunk_type" pos="46" show="5" showname="Chunk type: HEARTBEAT_ACK (5)" size="1" value="05"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="05" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="05" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0x00" showname="Chunk flags: 0x00" size="1" value="00"/> - <field name="sctp.chunk_length" pos="48" show="52" showname="Chunk length: 52" size="2" value="0034"/> - <field name="" pos="50" show="Heartbeat info parameter (Information: 44 bytes)" size="48" value="0001003002008e3cc0a80cd5000000000000000000000000000000000000000060313300010000008db53fb930a0b65f"> - <field name="sctp.parameter_type" pos="50" show="0x0001" showname="Parameter type: Heartbeat info (0x0001)" size="2" value="0001"> - <field name="sctp.parameter_bit_1" pos="50" show="0" showname="0... .... .... .... = Bit: Stop processing of chunk" size="2" unmaskedvalue="0001" value="0"/> - <field name="sctp.parameter_bit_2" pos="50" show="0" showname=".0.. .... .... .... = Bit: Do not report" size="2" unmaskedvalue="0001" value="0"/> - </field> - <field name="sctp.parameter_length" pos="52" show="48" showname="Parameter length: 48" size="2" value="0030"/> - <field name="sctp.parameter_heartbeat_information" pos="54" show="02:00:8e:3c:c0:a8:0c:d5:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:60:31:33:00:01:00:00:00:8d:b5:3f:b9:30:a0:b6:5f" showname="Heartbeat information: 02008e3cc0a80cd500000000000000000000000000000000..." size="44" value="02008e3cc0a80cd5000000000000000000000000000000000000000060313300010000008db53fb930a0b65f"/> - </field> - </field> - </proto> - </proto> - </proto> - </packet> - <packet> - <proto name="frame" pos="0" showname="Frame 185: 98 bytes on wire (784 bits), 98 bytes captured (784 bits) on interface 0" size="98"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:35:25.005065000" showname="Arrival Time: Sep 25, 2015 16:35:25.005065000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191725.005065000" showname="Epoch Time: 1443191725.005065000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.087558000" showname="Time delta from previous captured frame: 0.087558000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.087558000" showname="Time delta from previous displayed frame: 0.087558000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="78.539434000" showname="Time since reference or first frame: 78.539434000 seconds" size="0"/> - <field name="frame.number" pos="0" show="185" showname="Frame Number: 185" size="0"/> - <field name="frame.len" pos="0" show="98" showname="Frame Length: 98 bytes (784 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="98" showname="Capture Length: 98 bytes (784 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ip:sctp" showname="Protocols in frame: eth:ip:sctp" size="0"/> - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.213 (192.168.12.213), Dst: 192.168.12.17 (192.168.12.17)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0x00" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="0x02" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="84" showname="Total Length: 84" size="2" value="0054"/> - <field name="ip.id" pos="18" show="0x000d" showname="Identification: 0x000d (13)" size="2" value="000d"/> - <field name="ip.flags" pos="20" show="0x02" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="0x9fe0" showname="Header checksum: 0x9fe0 [validation disabled]" size="2" value="9fe0"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="9fe0"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="9fe0"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.213" showname="Source: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.213" showname="Source Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="ip.dst" pos="30" show="192.168.12.17" showname="Destination: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.17" showname="Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80cd5"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80c11"/> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: s1-control (36412), Dst Port: s1-control (36412)" size="64"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="0x4cd1eca0" showname="Verification tag: 0x4cd1eca0" size="4" value="4cd1eca0"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="0xac07ffbc" showname="Checksum: 0xac07ffbc (not verified)" size="4" value="ac07ffbc"/> - <field name="" pos="46" show="HEARTBEAT chunk (Information: 48 bytes)" size="52" value="040000340001003002008e3cc0a80c110000000000000000007459d10088ffff1e201d8180292314010000007730e920aa62f65b"> - <field name="sctp.chunk_type" pos="46" show="4" showname="Chunk type: HEARTBEAT (4)" size="1" value="04"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="04" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="04" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0x00" showname="Chunk flags: 0x00" size="1" value="00"/> - <field name="sctp.chunk_length" pos="48" show="52" showname="Chunk length: 52" size="2" value="0034"/> - <field name="" pos="50" show="Heartbeat info parameter (Information: 44 bytes)" size="48" value="0001003002008e3cc0a80c110000000000000000007459d10088ffff1e201d8180292314010000007730e920aa62f65b"> - <field name="sctp.parameter_type" pos="50" show="0x0001" showname="Parameter type: Heartbeat info (0x0001)" size="2" value="0001"> - <field name="sctp.parameter_bit_1" pos="50" show="0" showname="0... .... .... .... = Bit: Stop processing of chunk" size="2" unmaskedvalue="0001" value="0"/> - <field name="sctp.parameter_bit_2" pos="50" show="0" showname=".0.. .... .... .... = Bit: Do not report" size="2" unmaskedvalue="0001" value="0"/> - </field> - <field name="sctp.parameter_length" pos="52" show="48" showname="Parameter length: 48" size="2" value="0030"/> - <field name="sctp.parameter_heartbeat_information" pos="54" show="02:00:8e:3c:c0:a8:0c:11:00:00:00:00:00:00:00:00:00:74:59:d1:00:88:ff:ff:1e:20:1d:81:80:29:23:14:01:00:00:00:77:30:e9:20:aa:62:f6:5b" showname="Heartbeat information: 02008e3cc0a80c110000000000000000007459d10088ffff..." size="44" value="02008e3cc0a80c110000000000000000007459d10088ffff1e201d8180292314010000007730e920aa62f65b"/> - </field> - </field> - </proto> - </proto> - </proto> - </packet> - <packet> - <proto name="frame" pos="0" showname="Frame 186: 98 bytes on wire (784 bits), 98 bytes captured (784 bits) on interface 0" size="98"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:35:25.005098000" showname="Arrival Time: Sep 25, 2015 16:35:25.005098000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191725.005098000" showname="Epoch Time: 1443191725.005098000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.000033000" showname="Time delta from previous captured frame: 0.000033000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.000033000" showname="Time delta from previous displayed frame: 0.000033000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="78.539467000" showname="Time since reference or first frame: 78.539467000 seconds" size="0"/> - <field name="frame.number" pos="0" show="186" showname="Frame Number: 186" size="0"/> - <field name="frame.len" pos="0" show="98" showname="Frame Length: 98 bytes (784 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="98" showname="Capture Length: 98 bytes (784 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ip:sctp" showname="Protocols in frame: eth:ip:sctp" size="0"/> - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.17 (192.168.12.17), Dst: 192.168.12.213 (192.168.12.213)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0x00" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="0x02" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="84" showname="Total Length: 84" size="2" value="0054"/> - <field name="ip.id" pos="18" show="0x0000" showname="Identification: 0x0000 (0)" size="2" value="0000"/> - <field name="ip.flags" pos="20" show="0x02" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="0x9fed" showname="Header checksum: 0x9fed [validation disabled]" size="2" value="9fed"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="9fed"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="9fed"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.17" showname="Source: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.17" showname="Source Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="ip.dst" pos="30" show="192.168.12.213" showname="Destination: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.213" showname="Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80c11"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80cd5"/> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: s1-control (36412), Dst Port: s1-control (36412)" size="64"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="0x54f837ab" showname="Verification tag: 0x54f837ab" size="4" value="54f837ab"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="0x9ede94c4" showname="Checksum: 0x9ede94c4 (not verified)" size="4" value="9ede94c4"/> - <field name="" pos="46" show="HEARTBEAT_ACK chunk (Information: 48 bytes)" size="52" value="050000340001003002008e3cc0a80c110000000000000000007459d10088ffff1e201d8180292314010000007730e920aa62f65b"> - <field name="sctp.chunk_type" pos="46" show="5" showname="Chunk type: HEARTBEAT_ACK (5)" size="1" value="05"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="05" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="05" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0x00" showname="Chunk flags: 0x00" size="1" value="00"/> - <field name="sctp.chunk_length" pos="48" show="52" showname="Chunk length: 52" size="2" value="0034"/> - <field name="" pos="50" show="Heartbeat info parameter (Information: 44 bytes)" size="48" value="0001003002008e3cc0a80c110000000000000000007459d10088ffff1e201d8180292314010000007730e920aa62f65b"> - <field name="sctp.parameter_type" pos="50" show="0x0001" showname="Parameter type: Heartbeat info (0x0001)" size="2" value="0001"> - <field name="sctp.parameter_bit_1" pos="50" show="0" showname="0... .... .... .... = Bit: Stop processing of chunk" size="2" unmaskedvalue="0001" value="0"/> - <field name="sctp.parameter_bit_2" pos="50" show="0" showname=".0.. .... .... .... = Bit: Do not report" size="2" unmaskedvalue="0001" value="0"/> - </field> - <field name="sctp.parameter_length" pos="52" show="48" showname="Parameter length: 48" size="2" value="0030"/> - <field name="sctp.parameter_heartbeat_information" pos="54" show="02:00:8e:3c:c0:a8:0c:11:00:00:00:00:00:00:00:00:00:74:59:d1:00:88:ff:ff:1e:20:1d:81:80:29:23:14:01:00:00:00:77:30:e9:20:aa:62:f6:5b" showname="Heartbeat information: 02008e3cc0a80c110000000000000000007459d10088ffff..." size="44" value="02008e3cc0a80c110000000000000000007459d10088ffff1e201d8180292314010000007730e920aa62f65b"/> - </field> - </field> - </proto> - </proto> - </proto> - </packet> - <packet> - <proto name="frame" pos="0" showname="Frame 421: 98 bytes on wire (784 bits), 98 bytes captured (784 bits) on interface 0" size="98"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:35:55.122133000" showname="Arrival Time: Sep 25, 2015 16:35:55.122133000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191755.122133000" showname="Epoch Time: 1443191755.122133000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.163967000" showname="Time delta from previous captured frame: 0.163967000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.163967000" showname="Time delta from previous displayed frame: 0.163967000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="108.656502000" showname="Time since reference or first frame: 108.656502000 seconds" size="0"/> - <field name="frame.number" pos="0" show="421" showname="Frame Number: 421" size="0"/> - <field name="frame.len" pos="0" show="98" showname="Frame Length: 98 bytes (784 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="98" showname="Capture Length: 98 bytes (784 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ip:sctp" showname="Protocols in frame: eth:ip:sctp" size="0"/> - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.17 (192.168.12.17), Dst: 192.168.12.213 (192.168.12.213)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0x00" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="0x02" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="84" showname="Total Length: 84" size="2" value="0054"/> - <field name="ip.id" pos="18" show="0x0000" showname="Identification: 0x0000 (0)" size="2" value="0000"/> - <field name="ip.flags" pos="20" show="0x02" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="0x9fed" showname="Header checksum: 0x9fed [validation disabled]" size="2" value="9fed"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="9fed"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="9fed"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.17" showname="Source: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.17" showname="Source Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="ip.dst" pos="30" show="192.168.12.213" showname="Destination: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.213" showname="Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80c11"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80cd5"/> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: s1-control (36412), Dst Port: s1-control (36412)" size="64"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="0x54f837ab" showname="Verification tag: 0x54f837ab" size="4" value="54f837ab"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="0x9232c2ba" showname="Checksum: 0x9232c2ba (not verified)" size="4" value="9232c2ba"/> - <field name="" pos="46" show="HEARTBEAT chunk (Information: 48 bytes)" size="52" value="040000340001003002008e3cc0a80cd50000000000000000000000000000000000000000404f3300010000008db53fb930a0b65f"> - <field name="sctp.chunk_type" pos="46" show="4" showname="Chunk type: HEARTBEAT (4)" size="1" value="04"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="04" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="04" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0x00" showname="Chunk flags: 0x00" size="1" value="00"/> - <field name="sctp.chunk_length" pos="48" show="52" showname="Chunk length: 52" size="2" value="0034"/> - <field name="" pos="50" show="Heartbeat info parameter (Information: 44 bytes)" size="48" value="0001003002008e3cc0a80cd50000000000000000000000000000000000000000404f3300010000008db53fb930a0b65f"> - <field name="sctp.parameter_type" pos="50" show="0x0001" showname="Parameter type: Heartbeat info (0x0001)" size="2" value="0001"> - <field name="sctp.parameter_bit_1" pos="50" show="0" showname="0... .... .... .... = Bit: Stop processing of chunk" size="2" unmaskedvalue="0001" value="0"/> - <field name="sctp.parameter_bit_2" pos="50" show="0" showname=".0.. .... .... .... = Bit: Do not report" size="2" unmaskedvalue="0001" value="0"/> - </field> - <field name="sctp.parameter_length" pos="52" show="48" showname="Parameter length: 48" size="2" value="0030"/> - <field name="sctp.parameter_heartbeat_information" pos="54" show="02:00:8e:3c:c0:a8:0c:d5:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:40:4f:33:00:01:00:00:00:8d:b5:3f:b9:30:a0:b6:5f" showname="Heartbeat information: 02008e3cc0a80cd500000000000000000000000000000000..." size="44" value="02008e3cc0a80cd50000000000000000000000000000000000000000404f3300010000008db53fb930a0b65f"/> - </field> - </field> - </proto> - </proto> - </proto> - </packet> - <packet> - <proto name="frame" pos="0" showname="Frame 422: 98 bytes on wire (784 bits), 98 bytes captured (784 bits) on interface 0" size="98"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:35:55.122270000" showname="Arrival Time: Sep 25, 2015 16:35:55.122270000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191755.122270000" showname="Epoch Time: 1443191755.122270000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.000137000" showname="Time delta from previous captured frame: 0.000137000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.000137000" showname="Time delta from previous displayed frame: 0.000137000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="108.656639000" showname="Time since reference or first frame: 108.656639000 seconds" size="0"/> - <field name="frame.number" pos="0" show="422" showname="Frame Number: 422" size="0"/> - <field name="frame.len" pos="0" show="98" showname="Frame Length: 98 bytes (784 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="98" showname="Capture Length: 98 bytes (784 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ip:sctp" showname="Protocols in frame: eth:ip:sctp" size="0"/> - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.213 (192.168.12.213), Dst: 192.168.12.17 (192.168.12.17)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0x00" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="0x02" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="84" showname="Total Length: 84" size="2" value="0054"/> - <field name="ip.id" pos="18" show="0x000e" showname="Identification: 0x000e (14)" size="2" value="000e"/> - <field name="ip.flags" pos="20" show="0x02" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="0x9fdf" showname="Header checksum: 0x9fdf [validation disabled]" size="2" value="9fdf"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="9fdf"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="9fdf"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.213" showname="Source: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.213" showname="Source Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="ip.dst" pos="30" show="192.168.12.17" showname="Destination: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.17" showname="Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80cd5"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80c11"/> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: s1-control (36412), Dst Port: s1-control (36412)" size="64"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="0x4cd1eca0" showname="Verification tag: 0x4cd1eca0" size="4" value="4cd1eca0"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="0xa0eba9c2" showname="Checksum: 0xa0eba9c2 (not verified)" size="4" value="a0eba9c2"/> - <field name="" pos="46" show="HEARTBEAT_ACK chunk (Information: 48 bytes)" size="52" value="050000340001003002008e3cc0a80cd50000000000000000000000000000000000000000404f3300010000008db53fb930a0b65f"> - <field name="sctp.chunk_type" pos="46" show="5" showname="Chunk type: HEARTBEAT_ACK (5)" size="1" value="05"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="05" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="05" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0x00" showname="Chunk flags: 0x00" size="1" value="00"/> - <field name="sctp.chunk_length" pos="48" show="52" showname="Chunk length: 52" size="2" value="0034"/> - <field name="" pos="50" show="Heartbeat info parameter (Information: 44 bytes)" size="48" value="0001003002008e3cc0a80cd50000000000000000000000000000000000000000404f3300010000008db53fb930a0b65f"> - <field name="sctp.parameter_type" pos="50" show="0x0001" showname="Parameter type: Heartbeat info (0x0001)" size="2" value="0001"> - <field name="sctp.parameter_bit_1" pos="50" show="0" showname="0... .... .... .... = Bit: Stop processing of chunk" size="2" unmaskedvalue="0001" value="0"/> - <field name="sctp.parameter_bit_2" pos="50" show="0" showname=".0.. .... .... .... = Bit: Do not report" size="2" unmaskedvalue="0001" value="0"/> - </field> - <field name="sctp.parameter_length" pos="52" show="48" showname="Parameter length: 48" size="2" value="0030"/> - <field name="sctp.parameter_heartbeat_information" pos="54" show="02:00:8e:3c:c0:a8:0c:d5:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:40:4f:33:00:01:00:00:00:8d:b5:3f:b9:30:a0:b6:5f" showname="Heartbeat information: 02008e3cc0a80cd500000000000000000000000000000000..." size="44" value="02008e3cc0a80cd50000000000000000000000000000000000000000404f3300010000008db53fb930a0b65f"/> - </field> - </field> - </proto> - </proto> - </proto> - </packet> - <packet> - <proto name="frame" pos="0" showname="Frame 426: 98 bytes on wire (784 bits), 98 bytes captured (784 bits) on interface 0" size="98"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:35:56.493553000" showname="Arrival Time: Sep 25, 2015 16:35:56.493553000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191756.493553000" showname="Epoch Time: 1443191756.493553000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.655441000" showname="Time delta from previous captured frame: 0.655441000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.655441000" showname="Time delta from previous displayed frame: 0.655441000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="110.027922000" showname="Time since reference or first frame: 110.027922000 seconds" size="0"/> - <field name="frame.number" pos="0" show="426" showname="Frame Number: 426" size="0"/> - <field name="frame.len" pos="0" show="98" showname="Frame Length: 98 bytes (784 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="98" showname="Capture Length: 98 bytes (784 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ip:sctp" showname="Protocols in frame: eth:ip:sctp" size="0"/> - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.213 (192.168.12.213), Dst: 192.168.12.17 (192.168.12.17)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0x00" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="0x02" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="84" showname="Total Length: 84" size="2" value="0054"/> - <field name="ip.id" pos="18" show="0x000f" showname="Identification: 0x000f (15)" size="2" value="000f"/> - <field name="ip.flags" pos="20" show="0x02" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="0x9fde" showname="Header checksum: 0x9fde [validation disabled]" size="2" value="9fde"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="9fde"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="9fde"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.213" showname="Source: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.213" showname="Source Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="ip.dst" pos="30" show="192.168.12.17" showname="Destination: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.17" showname="Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80cd5"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80c11"/> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: s1-control (36412), Dst Port: s1-control (36412)" size="64"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="0x4cd1eca0" showname="Verification tag: 0x4cd1eca0" size="4" value="4cd1eca0"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="0xe0a1e658" showname="Checksum: 0xe0a1e658 (not verified)" size="4" value="e0a1e658"/> - <field name="" pos="46" show="HEARTBEAT chunk (Information: 48 bytes)" size="52" value="040000340001003002008e3cc0a80c110000000000000000007459d10088ffff1e201d8180a42314010000007730e920aa62f65b"> - <field name="sctp.chunk_type" pos="46" show="4" showname="Chunk type: HEARTBEAT (4)" size="1" value="04"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="04" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="04" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0x00" showname="Chunk flags: 0x00" size="1" value="00"/> - <field name="sctp.chunk_length" pos="48" show="52" showname="Chunk length: 52" size="2" value="0034"/> - <field name="" pos="50" show="Heartbeat info parameter (Information: 44 bytes)" size="48" value="0001003002008e3cc0a80c110000000000000000007459d10088ffff1e201d8180a42314010000007730e920aa62f65b"> - <field name="sctp.parameter_type" pos="50" show="0x0001" showname="Parameter type: Heartbeat info (0x0001)" size="2" value="0001"> - <field name="sctp.parameter_bit_1" pos="50" show="0" showname="0... .... .... .... = Bit: Stop processing of chunk" size="2" unmaskedvalue="0001" value="0"/> - <field name="sctp.parameter_bit_2" pos="50" show="0" showname=".0.. .... .... .... = Bit: Do not report" size="2" unmaskedvalue="0001" value="0"/> - </field> - <field name="sctp.parameter_length" pos="52" show="48" showname="Parameter length: 48" size="2" value="0030"/> - <field name="sctp.parameter_heartbeat_information" pos="54" show="02:00:8e:3c:c0:a8:0c:11:00:00:00:00:00:00:00:00:00:74:59:d1:00:88:ff:ff:1e:20:1d:81:80:a4:23:14:01:00:00:00:77:30:e9:20:aa:62:f6:5b" showname="Heartbeat information: 02008e3cc0a80c110000000000000000007459d10088ffff..." size="44" value="02008e3cc0a80c110000000000000000007459d10088ffff1e201d8180a42314010000007730e920aa62f65b"/> - </field> - </field> - </proto> - </proto> - </proto> - </packet> - <packet> - <proto name="frame" pos="0" showname="Frame 427: 98 bytes on wire (784 bits), 98 bytes captured (784 bits) on interface 0" size="98"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:35:56.493586000" showname="Arrival Time: Sep 25, 2015 16:35:56.493586000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191756.493586000" showname="Epoch Time: 1443191756.493586000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.000033000" showname="Time delta from previous captured frame: 0.000033000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.000033000" showname="Time delta from previous displayed frame: 0.000033000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="110.027955000" showname="Time since reference or first frame: 110.027955000 seconds" size="0"/> - <field name="frame.number" pos="0" show="427" showname="Frame Number: 427" size="0"/> - <field name="frame.len" pos="0" show="98" showname="Frame Length: 98 bytes (784 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="98" showname="Capture Length: 98 bytes (784 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ip:sctp" showname="Protocols in frame: eth:ip:sctp" size="0"/> - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.17 (192.168.12.17), Dst: 192.168.12.213 (192.168.12.213)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0x00" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="0x02" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="84" showname="Total Length: 84" size="2" value="0054"/> - <field name="ip.id" pos="18" show="0x0000" showname="Identification: 0x0000 (0)" size="2" value="0000"/> - <field name="ip.flags" pos="20" show="0x02" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="0x9fed" showname="Header checksum: 0x9fed [validation disabled]" size="2" value="9fed"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="9fed"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="9fed"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.17" showname="Source: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.17" showname="Source Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="ip.dst" pos="30" show="192.168.12.213" showname="Destination: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.213" showname="Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80c11"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80cd5"/> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: s1-control (36412), Dst Port: s1-control (36412)" size="64"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="0x54f837ab" showname="Verification tag: 0x54f837ab" size="4" value="54f837ab"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="0xd2788d20" showname="Checksum: 0xd2788d20 (not verified)" size="4" value="d2788d20"/> - <field name="" pos="46" show="HEARTBEAT_ACK chunk (Information: 48 bytes)" size="52" value="050000340001003002008e3cc0a80c110000000000000000007459d10088ffff1e201d8180a42314010000007730e920aa62f65b"> - <field name="sctp.chunk_type" pos="46" show="5" showname="Chunk type: HEARTBEAT_ACK (5)" size="1" value="05"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="05" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="05" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0x00" showname="Chunk flags: 0x00" size="1" value="00"/> - <field name="sctp.chunk_length" pos="48" show="52" showname="Chunk length: 52" size="2" value="0034"/> - <field name="" pos="50" show="Heartbeat info parameter (Information: 44 bytes)" size="48" value="0001003002008e3cc0a80c110000000000000000007459d10088ffff1e201d8180a42314010000007730e920aa62f65b"> - <field name="sctp.parameter_type" pos="50" show="0x0001" showname="Parameter type: Heartbeat info (0x0001)" size="2" value="0001"> - <field name="sctp.parameter_bit_1" pos="50" show="0" showname="0... .... .... .... = Bit: Stop processing of chunk" size="2" unmaskedvalue="0001" value="0"/> - <field name="sctp.parameter_bit_2" pos="50" show="0" showname=".0.. .... .... .... = Bit: Do not report" size="2" unmaskedvalue="0001" value="0"/> - </field> - <field name="sctp.parameter_length" pos="52" show="48" showname="Parameter length: 48" size="2" value="0030"/> - <field name="sctp.parameter_heartbeat_information" pos="54" show="02:00:8e:3c:c0:a8:0c:11:00:00:00:00:00:00:00:00:00:74:59:d1:00:88:ff:ff:1e:20:1d:81:80:a4:23:14:01:00:00:00:77:30:e9:20:aa:62:f6:5b" showname="Heartbeat information: 02008e3cc0a80c110000000000000000007459d10088ffff..." size="44" value="02008e3cc0a80c110000000000000000007459d10088ffff1e201d8180a42314010000007730e920aa62f65b"/> - </field> - </field> - </proto> - </proto> - </proto> - </packet> - <packet> - <proto name="frame" pos="0" showname="Frame 491: 54 bytes on wire (432 bits), 54 bytes captured (432 bits) on interface 0" size="54"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:36:14.355024000" showname="Arrival Time: Sep 25, 2015 16:36:14.355024000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191774.355024000" showname="Epoch Time: 1443191774.355024000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.484347000" showname="Time delta from previous captured frame: 0.484347000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.484347000" showname="Time delta from previous displayed frame: 0.484347000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="127.889393000" showname="Time since reference or first frame: 127.889393000 seconds" size="0"/> - <field name="frame.number" pos="0" show="491" showname="Frame Number: 491" size="0"/> - <field name="frame.len" pos="0" show="54" showname="Frame Length: 54 bytes (432 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="54" showname="Capture Length: 54 bytes (432 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ip:sctp" showname="Protocols in frame: eth:ip:sctp" size="0"/> - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.17 (192.168.12.17), Dst: 192.168.12.213 (192.168.12.213)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0x00" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="0x02" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="40" showname="Total Length: 40" size="2" value="0028"/> - <field name="ip.id" pos="18" show="0x0000" showname="Identification: 0x0000 (0)" size="2" value="0000"/> - <field name="ip.flags" pos="20" show="0x02" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="0xa019" showname="Header checksum: 0xa019 [validation disabled]" size="2" value="a019"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="a019"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="a019"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.17" showname="Source: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.17" showname="Source Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="ip.dst" pos="30" show="192.168.12.213" showname="Destination: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.213" showname="Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80c11"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80cd5"/> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: s1-control (36412), Dst Port: s1-control (36412)" size="20"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="0x54f837ab" showname="Verification tag: 0x54f837ab" size="4" value="54f837ab"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="0xd469a110" showname="Checksum: 0xd469a110 (not verified)" size="4" value="d469a110"/> - <field name="" pos="46" show="SHUTDOWN chunk (Cumulative TSN ack: 3304831198)" size="8" value="07000008c4fbb8de"> - <field name="sctp.chunk_type" pos="46" show="7" showname="Chunk type: SHUTDOWN (7)" size="1" value="07"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="07" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="07" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0x00" showname="Chunk flags: 0x00" size="1" value="00"/> - <field name="sctp.chunk_length" pos="48" show="8" showname="Chunk length: 8" size="2" value="0008"/> - <field name="sctp.shutdown_cumulative_tsn_ack" pos="50" show="3304831198" showname="Cumulative TSN Ack: 3304831198" size="4" value="c4fbb8de"/> - </field> - </proto> - </proto> - </proto> - </packet> - <packet> - <proto name="frame" pos="0" showname="Frame 492: 60 bytes on wire (480 bits), 60 bytes captured (480 bits) on interface 0" size="60"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:36:14.355162000" showname="Arrival Time: Sep 25, 2015 16:36:14.355162000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191774.355162000" showname="Epoch Time: 1443191774.355162000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.000138000" showname="Time delta from previous captured frame: 0.000138000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.000138000" showname="Time delta from previous displayed frame: 0.000138000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="127.889531000" showname="Time since reference or first frame: 127.889531000 seconds" size="0"/> - <field name="frame.number" pos="0" show="492" showname="Frame Number: 492" size="0"/> - <field name="frame.len" pos="0" show="60" showname="Frame Length: 60 bytes (480 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="60" showname="Capture Length: 60 bytes (480 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ip:sctp" showname="Protocols in frame: eth:ip:sctp" size="0"/> - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.213 (192.168.12.213), Dst: 192.168.12.17 (192.168.12.17)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0x00" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="0x02" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="36" showname="Total Length: 36" size="2" value="0024"/> - <field name="ip.id" pos="18" show="0x0010" showname="Identification: 0x0010 (16)" size="2" value="0010"/> - <field name="ip.flags" pos="20" show="0x02" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="0xa00d" showname="Header checksum: 0xa00d [validation disabled]" size="2" value="a00d"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="a00d"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="a00d"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.213" showname="Source: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.213" showname="Source Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="ip.dst" pos="30" show="192.168.12.17" showname="Destination: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.17" showname="Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80cd5"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80c11"/> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: s1-control (36412), Dst Port: s1-control (36412)" size="16"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="0x4cd1eca0" showname="Verification tag: 0x4cd1eca0" size="4" value="4cd1eca0"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="0xe21454e0" showname="Checksum: 0xe21454e0 (not verified)" size="4" value="e21454e0"/> - <field name="" pos="46" show="SHUTDOWN_ACK chunk" size="4" value="08000004"> - <field name="sctp.chunk_type" pos="46" show="8" showname="Chunk type: SHUTDOWN_ACK (8)" size="1" value="08"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="08" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="08" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0x00" showname="Chunk flags: 0x00" size="1" value="00"/> - <field name="sctp.chunk_length" pos="48" show="4" showname="Chunk length: 4" size="2" value="0004"/> - </field> - </proto> - </proto> - </proto> - </packet> - <packet> - <proto name="frame" pos="0" showname="Frame 493: 50 bytes on wire (400 bits), 50 bytes captured (400 bits) on interface 0" size="50"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:36:14.355191000" showname="Arrival Time: Sep 25, 2015 16:36:14.355191000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191774.355191000" showname="Epoch Time: 1443191774.355191000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.000029000" showname="Time delta from previous captured frame: 0.000029000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.000029000" showname="Time delta from previous displayed frame: 0.000029000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="127.889560000" showname="Time since reference or first frame: 127.889560000 seconds" size="0"/> - <field name="frame.number" pos="0" show="493" showname="Frame Number: 493" size="0"/> - <field name="frame.len" pos="0" show="50" showname="Frame Length: 50 bytes (400 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="50" showname="Capture Length: 50 bytes (400 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ip:sctp" showname="Protocols in frame: eth:ip:sctp" size="0"/> - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.17 (192.168.12.17), Dst: 192.168.12.213 (192.168.12.213)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0x00" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="0x02" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="36" showname="Total Length: 36" size="2" value="0024"/> - <field name="ip.id" pos="18" show="0x0000" showname="Identification: 0x0000 (0)" size="2" value="0000"/> - <field name="ip.flags" pos="20" show="0x02" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="0xa01d" showname="Header checksum: 0xa01d [validation disabled]" size="2" value="a01d"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="a01d"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="a01d"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.17" showname="Source: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.17" showname="Source Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="ip.dst" pos="30" show="192.168.12.213" showname="Destination: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.213" showname="Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80c11"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80cd5"/> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: s1-control (36412), Dst Port: s1-control (36412)" size="16"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="0x54f837ab" showname="Verification tag: 0x54f837ab" size="4" value="54f837ab"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="0x29068146" showname="Checksum: 0x29068146 (not verified)" size="4" value="29068146"/> - <field name="" pos="46" show="SHUTDOWN_COMPLETE chunk" size="4" value="0e000004"> - <field name="sctp.chunk_type" pos="46" show="14" showname="Chunk type: SHUTDOWN_COMPLETE (14)" size="1" value="0e"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="0e" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="0e" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0x00" showname="Chunk flags: 0x00" size="1" value="00"> - <field name="sctp.shutdown_complete_t_bit" pos="47" show="0" showname=".... ...0 = T-Bit: Tag not reflected" size="1" unmaskedvalue="00" value="0"/> - </field> - <field name="sctp.chunk_length" pos="48" show="4" showname="Chunk length: 4" size="2" value="0004"/> - </field> - </proto> - </proto> - </proto> - </packet> -</pdml> diff --git a/openair3/TEST/EPC_TEST/TEST_1MME_1ENB_1UE_ATTACH_GUTI/enb.band7.tm1.usrpb210.epc.local.conf b/openair3/TEST/EPC_TEST/TEST_1MME_1ENB_1UE_ATTACH_GUTI/enb.band7.tm1.usrpb210.epc.local.conf deleted file mode 100644 index ad6c81f56b4ce972f78f31b0bd0f7e8a52701f6e..0000000000000000000000000000000000000000 --- a/openair3/TEST/EPC_TEST/TEST_1MME_1ENB_1UE_ATTACH_GUTI/enb.band7.tm1.usrpb210.epc.local.conf +++ /dev/null @@ -1,162 +0,0 @@ -Active_eNBs = ( "eNB_Eurecom_LTEBox"); -# Asn1_verbosity, choice in: none, info, annoying -Asn1_verbosity = "none"; - -eNBs = -( - { - ////////// Identification parameters: - eNB_ID = 0xe00; - - cell_type = "CELL_MACRO_ENB"; - - eNB_name = "eNB_Eurecom_LTEBox"; - - // Tracking area code, 0x0000 and 0xfffe are reserved values - tracking_area_code = 1; - plmn_list = ( { mcc = 208; mnc = 95; mnc_length = 2; } ); - - ////////// Physical parameters: - - component_carriers = ( - { - frame_type = "FDD"; - tdd_config = 3; - tdd_config_s = 0; - prefix_type = "NORMAL"; - eutra_band = 7; - downlink_frequency = 2660000000L; - uplink_frequency_offset = -120000000; - Nid_cell = 0; - N_RB_DL = 25; - Nid_cell_mbsfn = 0; - nb_antennas_tx = 1; - nb_antennas_rx = 1; - tx_gain = 90; - rx_gain = 120; - prach_root = 0; - prach_config_index = 0; - prach_high_speed = "DISABLE"; - prach_zero_correlation = 1; - prach_freq_offset = 2; - pucch_delta_shift = 1; - pucch_nRB_CQI = 1; - pucch_nCS_AN = 0; - pucch_n1_AN = 0; - pdsch_referenceSignalPower = -26; - pdsch_p_b = 0; - pusch_n_SB = 1; - pusch_enable64QAM = "DISABLE"; - pusch_hoppingMode = "interSubFrame"; - pusch_hoppingOffset = 0; - pusch_groupHoppingEnabled = "ENABLE"; - pusch_groupAssignment = 0; - pusch_sequenceHoppingEnabled = "DISABLE"; - pusch_nDMRS1 = 1; - phich_duration = "NORMAL"; - phich_resource = "ONESIXTH"; - srs_enable = "DISABLE"; - /* srs_BandwidthConfig =; - srs_SubframeConfig =; - srs_ackNackST =; - srs_MaxUpPts =;*/ - - pusch_p0_Nominal = -90; - pusch_alpha = "AL1"; - pucch_p0_Nominal = -108; - msg3_delta_Preamble = 6; - pucch_deltaF_Format1 = "deltaF2"; - pucch_deltaF_Format1b = "deltaF3"; - pucch_deltaF_Format2 = "deltaF0"; - pucch_deltaF_Format2a = "deltaF0"; - pucch_deltaF_Format2b = "deltaF0"; - - rach_numberOfRA_Preambles = 64; - rach_preamblesGroupAConfig = "DISABLE"; - /* - rach_sizeOfRA_PreamblesGroupA = ; - rach_messageSizeGroupA = ; - rach_messagePowerOffsetGroupB = ; - */ - rach_powerRampingStep = 4; - rach_preambleInitialReceivedTargetPower = -108; - rach_preambleTransMax = 10; - rach_raResponseWindowSize = 10; - rach_macContentionResolutionTimer = 48; - rach_maxHARQ_Msg3Tx = 4; - - pcch_default_PagingCycle = 128; - pcch_nB = "oneT"; - bcch_modificationPeriodCoeff = 2; - ue_TimersAndConstants_t300 = 1000; - ue_TimersAndConstants_t301 = 1000; - ue_TimersAndConstants_t310 = 1000; - ue_TimersAndConstants_t311 = 10000; - ue_TimersAndConstants_n310 = 20; - ue_TimersAndConstants_n311 = 1; - } - ); - - srb1_parameters : - { - # timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500] - timer_poll_retransmit = 80; - - # timer_reordering = (ms) [0,5, ... 100, 110, 120, ... ,200] - timer_reordering = 35; - - # timer_reordering = (ms) [0,5, ... 250, 300, 350, ... ,500] - timer_status_prohibit = 0; - - # poll_pdu = [4, 8, 16, 32 , 64, 128, 256, infinity(>10000)] - poll_pdu = 4; - - # poll_byte = (kB) [25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,infinity(>10000)] - poll_byte = 99999; - - # max_retx_threshold = [1, 2, 3, 4 , 6, 8, 16, 32] - max_retx_threshold = 4; - } - - # ------- SCTP definitions - SCTP : - { - # Number of streams to use in input/output - SCTP_INSTREAMS = 2; - SCTP_OUTSTREAMS = 2; - }; - - - ////////// MME parameters: - mme_ip_address = ( { ipv4 = "192.188.2.2"; - ipv6 = "192:168:30::17"; - active = "yes"; - preference = "ipv4"; - } - ); - - NETWORK_INTERFACES : - { - ENB_INTERFACE_NAME_FOR_S1_MME = "tun2"; - ENB_IPV4_ADDRESS_FOR_S1_MME = "192.188.2.2/24"; - - ENB_INTERFACE_NAME_FOR_S1U = "lo"; - ENB_IPV4_ADDRESS_FOR_S1U = "127.0.0.1/24"; - ENB_PORT_FOR_S1U = 2153; # Spec 2152 - }; - - log_config : - { - global_log_level ="info"; - hw_log_level ="info"; - phy_log_level ="info"; - mac_log_level ="info"; - rlc_log_level ="info"; - pdcp_log_level ="info"; - rrc_log_level ="info"; - gtpu_log_level ="info"; - udp_log_level ="info"; - }; - - } -); diff --git a/openair3/TEST/EPC_TEST/TEST_1MME_1ENB_1UE_ATTACH_GUTI/enb1.conf b/openair3/TEST/EPC_TEST/TEST_1MME_1ENB_1UE_ATTACH_GUTI/enb1.conf deleted file mode 100644 index 9ffed9c5fec0acf3224dbe38b7616bc0abfda54a..0000000000000000000000000000000000000000 --- a/openair3/TEST/EPC_TEST/TEST_1MME_1ENB_1UE_ATTACH_GUTI/enb1.conf +++ /dev/null @@ -1,159 +0,0 @@ -Active_eNBs = ( "eNB_Eurecom_LTEBox"); -# Asn1_verbosity, choice in: none, info, annoying -Asn1_verbosity = "none"; - -eNBs = -( - { - ////////// Identification parameters: - eNB_ID = 0xe00; - - cell_type = "CELL_MACRO_ENB"; - - eNB_name = "eNB_Eurecom_LTEBox"; - - // Tracking area code, 0x0000 and 0xfffe are reserved values - tracking_area_code = 1; - plmn_list = ( { mcc = 208; mnc = 95; mnc_length = 2; } ); - - ////////// Physical parameters: - - component_carriers = ( - { - frame_type = "FDD"; - tdd_config = 3; - tdd_config_s = 0; - prefix_type = "NORMAL"; - eutra_band = 7; - downlink_frequency = 2660000000L; - uplink_frequency_offset = -120000000; - Nid_cell = 0; - N_RB_DL = 25; - Nid_cell_mbsfn = 0; - nb_antennas_tx = 1; - nb_antennas_rx = 1; - tx_gain = 90; - rx_gain = 120; - prach_root = 0; - prach_config_index = 0; - prach_high_speed = "DISABLE"; - prach_zero_correlation = 1; - prach_freq_offset = 2; - pucch_delta_shift = 1; - pucch_nRB_CQI = 1; - pucch_nCS_AN = 0; - pucch_n1_AN = 0; - pdsch_referenceSignalPower = -26; - pdsch_p_b = 0; - pusch_n_SB = 1; - pusch_enable64QAM = "DISABLE"; - pusch_hoppingMode = "interSubFrame"; - pusch_hoppingOffset = 0; - pusch_groupHoppingEnabled = "ENABLE"; - pusch_groupAssignment = 0; - pusch_sequenceHoppingEnabled = "DISABLE"; - pusch_nDMRS1 = 1; - phich_duration = "NORMAL"; - phich_resource = "ONESIXTH"; - srs_enable = "DISABLE"; - /* srs_BandwidthConfig =; - srs_SubframeConfig =; - srs_ackNackST =; - srs_MaxUpPts =;*/ - - pusch_p0_Nominal = -90; - pusch_alpha = "AL1"; - pucch_p0_Nominal = -108; - msg3_delta_Preamble = 6; - pucch_deltaF_Format1 = "deltaF2"; - pucch_deltaF_Format1b = "deltaF3"; - pucch_deltaF_Format2 = "deltaF0"; - pucch_deltaF_Format2a = "deltaF0"; - pucch_deltaF_Format2b = "deltaF0"; - - rach_numberOfRA_Preambles = 64; - rach_preamblesGroupAConfig = "DISABLE"; - /* - rach_sizeOfRA_PreamblesGroupA = ; - rach_messageSizeGroupA = ; - rach_messagePowerOffsetGroupB = ; - */ - rach_powerRampingStep = 4; - rach_preambleInitialReceivedTargetPower = -108; - rach_preambleTransMax = 10; - rach_raResponseWindowSize = 10; - rach_macContentionResolutionTimer = 48; - rach_maxHARQ_Msg3Tx = 4; - - pcch_default_PagingCycle = 128; - pcch_nB = "oneT"; - bcch_modificationPeriodCoeff = 2; - ue_TimersAndConstants_t300 = 1000; - ue_TimersAndConstants_t301 = 1000; - ue_TimersAndConstants_t310 = 1000; - ue_TimersAndConstants_t311 = 10000; - ue_TimersAndConstants_n310 = 20; - ue_TimersAndConstants_n311 = 1; - } - ); - - - srb1_parameters : - { - # timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500] - timer_poll_retransmit = 80; - - # timer_reordering = (ms) [0,5, ... 100, 110, 120, ... ,200] - timer_reordering = 35; - - # timer_reordering = (ms) [0,5, ... 250, 300, 350, ... ,500] - timer_status_prohibit = 0; - - # poll_pdu = [4, 8, 16, 32 , 64, 128, 256, infinity(>10000)] - poll_pdu = 4; - - # poll_byte = (kB) [25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,infinity(>10000)] - poll_byte = 99999; - - # max_retx_threshold = [1, 2, 3, 4 , 6, 8, 16, 32] - max_retx_threshold = 4; - } - - # ------- SCTP definitions - SCTP : - { - # Number of streams to use in input/output - SCTP_INSTREAMS = 2; - SCTP_OUTSTREAMS = 2; - }; - - ////////// MME parameters: - mme_ip_address = ( { ipv4 = "192.168.12.17"; - ipv6 = "192:168:30::17"; - active = "yes"; - preference = "ipv4"; - } - ); - - NETWORK_INTERFACES : - { - ENB_INTERFACE_NAME_FOR_S1_MME = "eth0"; - ENB_IPV4_ADDRESS_FOR_S1_MME = "192.168.12.213/24"; - - ENB_INTERFACE_NAME_FOR_S1U = "eth0"; - ENB_IPV4_ADDRESS_FOR_S1U = "192.168.12.213/24"; - ENB_PORT_FOR_S1U = 2152; # Spec 2152 - }; - - log_config : - { - global_log_level ="debug"; - hw_log_level ="info"; - phy_log_level ="info"; - rlc_log_level ="info"; - pdcp_log_level ="info"; - rrc_log_level ="info"; - }; - - } -); diff --git a/openair3/TEST/EPC_TEST/TEST_1MME_1ENB_1UE_ATTACH_GUTI/trace.pdml b/openair3/TEST/EPC_TEST/TEST_1MME_1ENB_1UE_ATTACH_GUTI/trace.pdml deleted file mode 100644 index d2d2598de67d48d8aec88dc023b133c9a14dc969..0000000000000000000000000000000000000000 --- a/openair3/TEST/EPC_TEST/TEST_1MME_1ENB_1UE_ATTACH_GUTI/trace.pdml +++ /dev/null @@ -1,4411 +0,0 @@ -<?xml version="1.0" ?><?xml-stylesheet type="text/xsl" href="pdml2html.xsl"?><!-- You can find pdml2html.xsl in /usr/share/wireshark or at http://anonsvn.wireshark.org/trunk/wireshark/pdml2html.xsl. --><pdml capture_file="attach_complete.pcapng" creator="wireshark/1.12.1" time="Wed Sep 30 15:24:03 2015" version="0"> -<packet> - - <proto name="frame" pos="0" showname="Frame 9: 82 bytes on wire (656 bits), 82 bytes captured (656 bits) on interface 0" size="82"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0 (eth0)" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:34:14.289149000 CEST" showname="Arrival Time: Sep 25, 2015 16:34:14.289149000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191654.289149000" showname="Epoch Time: 1443191654.289149000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="1.707367000" showname="Time delta from previous captured frame: 1.707367000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="1.707367000" showname="Time delta from previous displayed frame: 1.707367000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="7.823518000" showname="Time since reference or first frame: 7.823518000 seconds" size="0"/> - <field name="frame.number" pos="0" show="9" showname="Frame Number: 9" size="0"/> - <field name="frame.len" pos="0" show="82" showname="Frame Length: 82 bytes (656 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="82" showname="Capture Length: 82 bytes (656 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ethertype:ip:sctp" showname="Protocols in frame: eth:ethertype:ip:sctp" size="0"/> - </proto> - - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.213 (192.168.12.213), Dst: 192.168.12.17 (192.168.12.17)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header Length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="2" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="68" showname="Total Length: 68" size="2" value="0044"/> - <field name="ip.id" pos="18" show="0" showname="Identification: 0x0000 (0)" size="2" value="0000"/> - <field name="ip.flags" pos="20" show="2" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="40957" showname="Header checksum: 0x9ffd [validation disabled]" size="2" value="9ffd"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="9ffd"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="9ffd"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.213" showname="Source: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.213" showname="Source Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="ip.dst" pos="30" show="192.168.12.17" showname="Destination: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.17" showname="Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80cd5"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80c11"/> - </proto> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: 36412 (36412), Dst Port: 36412 (36412)" size="48"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="0" showname="Verification tag: 0x00000000" size="4" value="00000000"/> - <field name="sctp.assoc_index" pos="34" show="0" showname="Assocation index: 0" size="0"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="3154010248" showname="Checksum: 0xbbfe6088 (not verified)" size="4" value="bbfe6088"/> - <field name="" pos="46" show="INIT chunk (Outbound streams: 2, inbound streams: 2)" size="36" value="0100002454f837ab0001a00000020002c4fbb8d7000c00060005000080000004c0000004"> - <field name="sctp.chunk_type" pos="46" show="1" showname="Chunk type: INIT (1)" size="1" value="01"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="01" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="01" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0" showname="Chunk flags: 0x00" size="1" value="00"/> - <field name="sctp.chunk_length" pos="48" show="36" showname="Chunk length: 36" size="2" value="0024"/> - <field name="sctp.init_initiate_tag" pos="50" show="1425553323" showname="Initiate tag: 0x54f837ab" size="4" value="54f837ab"/> - <field hide="yes" name="sctp.initiate_tag" pos="50" show="1425553323" showname="Initiate tag: 0x54f837ab" size="4" value="54f837ab"/> - <field name="sctp.init_credit" pos="54" show="106496" showname="Advertised receiver window credit (a_rwnd): 106496" size="4" value="0001a000"/> - <field name="sctp.init_nr_out_streams" pos="58" show="2" showname="Number of outbound streams: 2" size="2" value="0002"/> - <field name="sctp.init_nr_in_streams" pos="60" show="2" showname="Number of inbound streams: 2" size="2" value="0002"/> - <field name="sctp.init_initial_tsn" pos="62" show="3304831191" showname="Initial TSN: 3304831191" size="4" value="c4fbb8d7"/> - <field name="" pos="66" show="Supported address types parameter (Supported types: IPv4)" size="8" value="000c000600050000"> - <field name="sctp.parameter_type" pos="66" show="12" showname="Parameter type: Supported address types (0x000c)" size="2" value="000c"> - <field name="sctp.parameter_bit_1" pos="66" show="0" showname="0... .... .... .... = Bit: Stop processing of chunk" size="2" unmaskedvalue="000c" value="0"/> - <field name="sctp.parameter_bit_2" pos="66" show="0" showname=".0.. .... .... .... = Bit: Do not report" size="2" unmaskedvalue="000c" value="0"/> - </field> - <field name="sctp.parameter_length" pos="68" show="6" showname="Parameter length: 6" size="2" value="0006"/> - <field name="sctp.parameter_supported_addres_type" pos="70" show="5" showname="Supported address type: IPv4 address (5)" size="2" value="0005"/> - <field name="sctp.parameter_padding" pos="72" show="00:00" showname="Parameter padding: 0000" size="2" value="0000"/> - </field> - <field name="" pos="74" show="ECN parameter" size="4" value="80000004"> - <field name="sctp.parameter_type" pos="74" show="32768" showname="Parameter type: ECN (0x8000)" size="2" value="8000"> - <field name="sctp.parameter_bit_1" pos="74" show="1" showname="1... .... .... .... = Bit: Skip parameter and continue processing of the chunk" size="2" unmaskedvalue="8000" value="1"/> - <field name="sctp.parameter_bit_2" pos="74" show="0" showname=".0.. .... .... .... = Bit: Do not report" size="2" unmaskedvalue="8000" value="0"/> - </field> - <field name="sctp.parameter_length" pos="76" show="4" showname="Parameter length: 4" size="2" value="0004"/> - </field> - <field name="" pos="78" show="Forward TSN supported parameter" size="4" value="c0000004"> - <field name="sctp.parameter_type" pos="78" show="49152" showname="Parameter type: Forward TSN supported (0xc000)" size="2" value="c000"> - <field name="sctp.parameter_bit_1" pos="78" show="1" showname="1... .... .... .... = Bit: Skip parameter and continue processing of the chunk" size="2" unmaskedvalue="c000" value="1"/> - <field name="sctp.parameter_bit_2" pos="78" show="1" showname=".1.. .... .... .... = Bit: Do report" size="2" unmaskedvalue="c000" value="1"/> - </field> - <field name="sctp.parameter_length" pos="80" show="4" showname="Parameter length: 4" size="2" value="0004"/> - </field> - </field> - </proto> -</packet> -<packet> - - <proto name="frame" pos="0" showname="Frame 10: 306 bytes on wire (2448 bits), 306 bytes captured (2448 bits) on interface 0" size="306"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0 (eth0)" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:34:14.289229000 CEST" showname="Arrival Time: Sep 25, 2015 16:34:14.289229000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191654.289229000" showname="Epoch Time: 1443191654.289229000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.000080000" showname="Time delta from previous captured frame: 0.000080000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.000080000" showname="Time delta from previous displayed frame: 0.000080000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="7.823598000" showname="Time since reference or first frame: 7.823598000 seconds" size="0"/> - <field name="frame.number" pos="0" show="10" showname="Frame Number: 10" size="0"/> - <field name="frame.len" pos="0" show="306" showname="Frame Length: 306 bytes (2448 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="306" showname="Capture Length: 306 bytes (2448 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ethertype:ip:sctp" showname="Protocols in frame: eth:ethertype:ip:sctp" size="0"/> - </proto> - - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.17 (192.168.12.17), Dst: 192.168.12.213 (192.168.12.213)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header Length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="2" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="292" showname="Total Length: 292" size="2" value="0124"/> - <field name="ip.id" pos="18" show="0" showname="Identification: 0x0000 (0)" size="2" value="0000"/> - <field name="ip.flags" pos="20" show="2" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="40733" showname="Header checksum: 0x9f1d [validation disabled]" size="2" value="9f1d"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="9f1d"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="9f1d"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.17" showname="Source: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.17" showname="Source Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="ip.dst" pos="30" show="192.168.12.213" showname="Destination: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.213" showname="Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80c11"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80cd5"/> - </proto> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: 36412 (36412), Dst Port: 36412 (36412)" size="272"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="1425553323" showname="Verification tag: 0x54f837ab" size="4" value="54f837ab"/> - <field name="sctp.assoc_index" pos="34" show="0" showname="Assocation index: 0" size="0"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="3479653338" showname="Checksum: 0xcf674bda (not verified)" size="4" value="cf674bda"/> - <field name="" pos="46" show="INIT_ACK chunk (Outbound streams: 2, inbound streams: 2)" size="260" value="020001044cd1eca00001a0000002000277b42707000700e8d2e400842319c2ee3bf2eb94dff99192604ab35900000000000000000000000000000000a0ecd14cab37f85400000000000000000d425e07780c0000020002000727b47702008e3cc0a80cd500000000000000000000000000000000000000003c8e01000000000080020024efa851c90c104714b66409dff40a9f2d30a6e0b1be975e2eb1ee7d28f5b61aa90000000000000000000000000000000000000000000000000000000000000000000000000100002454f837ab0001a00000020002c4fbb8d7000c00060005000080000004c00000040000000000000000000000000000000080000004c0000004"> - <field name="sctp.chunk_type" pos="46" show="2" showname="Chunk type: INIT_ACK (2)" size="1" value="02"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="02" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="02" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0" showname="Chunk flags: 0x00" size="1" value="00"/> - <field name="sctp.chunk_length" pos="48" show="260" showname="Chunk length: 260" size="2" value="0104"/> - <field name="sctp.initack_initiate_tag" pos="50" show="1288826016" showname="Initiate tag: 0x4cd1eca0" size="4" value="4cd1eca0"/> - <field hide="yes" name="sctp.initiate_tag" pos="50" show="1288826016" showname="Initiate tag: 0x4cd1eca0" size="4" value="4cd1eca0"/> - <field name="sctp.initack_credit" pos="54" show="106496" showname="Advertised receiver window credit (a_rwnd): 106496" size="4" value="0001a000"/> - <field name="sctp.initack_nr_out_streams" pos="58" show="2" showname="Number of outbound streams: 2" size="2" value="0002"/> - <field name="sctp.initack_nr_in_streams" pos="60" show="2" showname="Number of inbound streams: 2" size="2" value="0002"/> - <field name="sctp.initack_initial_tsn" pos="62" show="2008295175" showname="Initial TSN: 2008295175" size="4" value="77b42707"/> - <field name="" pos="66" show="State cookie parameter (Cookie length: 228 bytes)" size="232" value="000700e8d2e400842319c2ee3bf2eb94dff99192604ab35900000000000000000000000000000000a0ecd14cab37f85400000000000000000d425e07780c0000020002000727b47702008e3cc0a80cd500000000000000000000000000000000000000003c8e01000000000080020024efa851c90c104714b66409dff40a9f2d30a6e0b1be975e2eb1ee7d28f5b61aa90000000000000000000000000000000000000000000000000000000000000000000000000100002454f837ab0001a00000020002c4fbb8d7000c00060005000080000004c000000400000000000000000000000000000000"> - <field name="sctp.parameter_type" pos="66" show="7" showname="Parameter type: State cookie (0x0007)" size="2" value="0007"> - <field name="sctp.parameter_bit_1" pos="66" show="0" showname="0... .... .... .... = Bit: Stop processing of chunk" size="2" unmaskedvalue="0007" value="0"/> - <field name="sctp.parameter_bit_2" pos="66" show="0" showname=".0.. .... .... .... = Bit: Do not report" size="2" unmaskedvalue="0007" value="0"/> - </field> - <field name="sctp.parameter_length" pos="68" show="232" showname="Parameter length: 232" size="2" value="00e8"/> - <field name="sctp.parameter_state_cookie" pos="70" show="d2:e4:00:84:23:19:c2:ee:3b:f2:eb:94:df:f9:91:92:60:4a:b3:59:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:a0:ec:d1:4c:ab:37:f8:54:00:00:00:00:00:00:00:00:0d:42:5e:07:78:0c:00:00:02:00:02:00:07:27:b4:77:02:00:8e:3c:c0:a8:0c:d5:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:3c:8e:01:00:00:00:00:00:80:02:00:24:ef:a8:51:c9:0c:10:47:14:b6:64:09:df:f4:0a:9f:2d:30:a6:e0:b1:be:97:5e:2e:b1:ee:7d:28:f5:b6:1a:a9:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:01:00:00:24:54:f8:37:ab:00:01:a0:00:00:02:00:02:c4:fb:b8:d7:00:0c:00:06:00:05:00:00:80:00:00:04:c0:00:00:04:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00" showname="State cookie: d2e400842319c2ee3bf2eb94dff99192604ab35900000000..." size="228" value="d2e400842319c2ee3bf2eb94dff99192604ab35900000000000000000000000000000000a0ecd14cab37f85400000000000000000d425e07780c0000020002000727b47702008e3cc0a80cd500000000000000000000000000000000000000003c8e01000000000080020024efa851c90c104714b66409dff40a9f2d30a6e0b1be975e2eb1ee7d28f5b61aa90000000000000000000000000000000000000000000000000000000000000000000000000100002454f837ab0001a00000020002c4fbb8d7000c00060005000080000004c000000400000000000000000000000000000000"/> - </field> - <field name="" pos="298" show="ECN parameter" size="4" value="80000004"> - <field name="sctp.parameter_type" pos="298" show="32768" showname="Parameter type: ECN (0x8000)" size="2" value="8000"> - <field name="sctp.parameter_bit_1" pos="298" show="1" showname="1... .... .... .... = Bit: Skip parameter and continue processing of the chunk" size="2" unmaskedvalue="8000" value="1"/> - <field name="sctp.parameter_bit_2" pos="298" show="0" showname=".0.. .... .... .... = Bit: Do not report" size="2" unmaskedvalue="8000" value="0"/> - </field> - <field name="sctp.parameter_length" pos="300" show="4" showname="Parameter length: 4" size="2" value="0004"/> - </field> - <field name="" pos="302" show="Forward TSN supported parameter" size="4" value="c0000004"> - <field name="sctp.parameter_type" pos="302" show="49152" showname="Parameter type: Forward TSN supported (0xc000)" size="2" value="c000"> - <field name="sctp.parameter_bit_1" pos="302" show="1" showname="1... .... .... .... = Bit: Skip parameter and continue processing of the chunk" size="2" unmaskedvalue="c000" value="1"/> - <field name="sctp.parameter_bit_2" pos="302" show="1" showname=".1.. .... .... .... = Bit: Do report" size="2" unmaskedvalue="c000" value="1"/> - </field> - <field name="sctp.parameter_length" pos="304" show="4" showname="Parameter length: 4" size="2" value="0004"/> - </field> - </field> - </proto> -</packet> -<packet> - - <proto name="frame" pos="0" showname="Frame 11: 278 bytes on wire (2224 bits), 278 bytes captured (2224 bits) on interface 0" size="278"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0 (eth0)" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:34:14.289649000 CEST" showname="Arrival Time: Sep 25, 2015 16:34:14.289649000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191654.289649000" showname="Epoch Time: 1443191654.289649000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.000420000" showname="Time delta from previous captured frame: 0.000420000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.000420000" showname="Time delta from previous displayed frame: 0.000420000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="7.824018000" showname="Time since reference or first frame: 7.824018000 seconds" size="0"/> - <field name="frame.number" pos="0" show="11" showname="Frame Number: 11" size="0"/> - <field name="frame.len" pos="0" show="278" showname="Frame Length: 278 bytes (2224 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="278" showname="Capture Length: 278 bytes (2224 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ethertype:ip:sctp" showname="Protocols in frame: eth:ethertype:ip:sctp" size="0"/> - </proto> - - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.213 (192.168.12.213), Dst: 192.168.12.17 (192.168.12.17)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header Length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="2" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="264" showname="Total Length: 264" size="2" value="0108"/> - <field name="ip.id" pos="18" show="0" showname="Identification: 0x0000 (0)" size="2" value="0000"/> - <field name="ip.flags" pos="20" show="2" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="40761" showname="Header checksum: 0x9f39 [validation disabled]" size="2" value="9f39"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="9f39"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="9f39"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.213" showname="Source: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.213" showname="Source Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="ip.dst" pos="30" show="192.168.12.17" showname="Destination: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.17" showname="Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80cd5"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80c11"/> - </proto> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: 36412 (36412), Dst Port: 36412 (36412)" size="244"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="1288826016" showname="Verification tag: 0x4cd1eca0" size="4" value="4cd1eca0"/> - <field name="sctp.assoc_index" pos="34" show="0" showname="Assocation index: 0" size="0"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="1079422221" showname="Checksum: 0x4056ad0d (not verified)" size="4" value="4056ad0d"/> - <field name="" pos="46" show="COOKIE_ECHO chunk (Cookie length: 228 bytes)" size="232" value="0a0000e8d2e400842319c2ee3bf2eb94dff99192604ab35900000000000000000000000000000000a0ecd14cab37f85400000000000000000d425e07780c0000020002000727b47702008e3cc0a80cd500000000000000000000000000000000000000003c8e01000000000080020024efa851c90c104714b66409dff40a9f2d30a6e0b1be975e2eb1ee7d28f5b61aa90000000000000000000000000000000000000000000000000000000000000000000000000100002454f837ab0001a00000020002c4fbb8d7000c00060005000080000004c000000400000000000000000000000000000000"> - <field name="sctp.chunk_type" pos="46" show="10" showname="Chunk type: COOKIE_ECHO (10)" size="1" value="0a"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="0a" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="0a" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0" showname="Chunk flags: 0x00" size="1" value="00"/> - <field name="sctp.chunk_length" pos="48" show="232" showname="Chunk length: 232" size="2" value="00e8"/> - <field name="sctp.cookie" pos="50" show="d2:e4:00:84:23:19:c2:ee:3b:f2:eb:94:df:f9:91:92:60:4a:b3:59:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:a0:ec:d1:4c:ab:37:f8:54:00:00:00:00:00:00:00:00:0d:42:5e:07:78:0c:00:00:02:00:02:00:07:27:b4:77:02:00:8e:3c:c0:a8:0c:d5:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:3c:8e:01:00:00:00:00:00:80:02:00:24:ef:a8:51:c9:0c:10:47:14:b6:64:09:df:f4:0a:9f:2d:30:a6:e0:b1:be:97:5e:2e:b1:ee:7d:28:f5:b6:1a:a9:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:01:00:00:24:54:f8:37:ab:00:01:a0:00:00:02:00:02:c4:fb:b8:d7:00:0c:00:06:00:05:00:00:80:00:00:04:c0:00:00:04:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00" showname="Cookie: d2e400842319c2ee3bf2eb94dff99192604ab35900000000..." size="228" value="d2e400842319c2ee3bf2eb94dff99192604ab35900000000000000000000000000000000a0ecd14cab37f85400000000000000000d425e07780c0000020002000727b47702008e3cc0a80cd500000000000000000000000000000000000000003c8e01000000000080020024efa851c90c104714b66409dff40a9f2d30a6e0b1be975e2eb1ee7d28f5b61aa90000000000000000000000000000000000000000000000000000000000000000000000000100002454f837ab0001a00000020002c4fbb8d7000c00060005000080000004c000000400000000000000000000000000000000"/> - </field> - </proto> -</packet> -<packet> - - <proto name="frame" pos="0" showname="Frame 12: 50 bytes on wire (400 bits), 50 bytes captured (400 bits) on interface 0" size="50"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0 (eth0)" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:34:14.289704000 CEST" showname="Arrival Time: Sep 25, 2015 16:34:14.289704000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191654.289704000" showname="Epoch Time: 1443191654.289704000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.000055000" showname="Time delta from previous captured frame: 0.000055000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.000055000" showname="Time delta from previous displayed frame: 0.000055000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="7.824073000" showname="Time since reference or first frame: 7.824073000 seconds" size="0"/> - <field name="frame.number" pos="0" show="12" showname="Frame Number: 12" size="0"/> - <field name="frame.len" pos="0" show="50" showname="Frame Length: 50 bytes (400 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="50" showname="Capture Length: 50 bytes (400 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ethertype:ip:sctp" showname="Protocols in frame: eth:ethertype:ip:sctp" size="0"/> - </proto> - - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.17 (192.168.12.17), Dst: 192.168.12.213 (192.168.12.213)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header Length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="2" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="36" showname="Total Length: 36" size="2" value="0024"/> - <field name="ip.id" pos="18" show="0" showname="Identification: 0x0000 (0)" size="2" value="0000"/> - <field name="ip.flags" pos="20" show="2" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="40989" showname="Header checksum: 0xa01d [validation disabled]" size="2" value="a01d"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="a01d"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="a01d"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.17" showname="Source: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.17" showname="Source Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="ip.dst" pos="30" show="192.168.12.213" showname="Destination: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.213" showname="Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80c11"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80cd5"/> - </proto> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: 36412 (36412), Dst Port: 36412 (36412)" size="16"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="1425553323" showname="Verification tag: 0x54f837ab" size="4" value="54f837ab"/> - <field name="sctp.assoc_index" pos="34" show="0" showname="Assocation index: 0" size="0"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="1654515424" showname="Checksum: 0x629de6e0 (not verified)" size="4" value="629de6e0"/> - <field name="" pos="46" show="COOKIE_ACK chunk" size="4" value="0b000004"> - <field name="sctp.chunk_type" pos="46" show="11" showname="Chunk type: COOKIE_ACK (11)" size="1" value="0b"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="0b" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="0b" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0" showname="Chunk flags: 0x00" size="1" value="00"/> - <field name="sctp.chunk_length" pos="48" show="4" showname="Chunk length: 4" size="2" value="0004"/> - </field> - </proto> -</packet> -<packet> - - <proto name="frame" pos="0" showname="Frame 13: 122 bytes on wire (976 bits), 122 bytes captured (976 bits) on interface 0" size="122"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0 (eth0)" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:34:14.290056000 CEST" showname="Arrival Time: Sep 25, 2015 16:34:14.290056000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191654.290056000" showname="Epoch Time: 1443191654.290056000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.000352000" showname="Time delta from previous captured frame: 0.000352000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.000352000" showname="Time delta from previous displayed frame: 0.000352000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="7.824425000" showname="Time since reference or first frame: 7.824425000 seconds" size="0"/> - <field name="frame.number" pos="0" show="13" showname="Frame Number: 13" size="0"/> - <field name="frame.len" pos="0" show="122" showname="Frame Length: 122 bytes (976 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="122" showname="Capture Length: 122 bytes (976 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ethertype:ip:sctp:s1ap:s1ap:s1ap:s1ap:s1ap:s1ap" showname="Protocols in frame: eth:ethertype:ip:sctp:s1ap:s1ap:s1ap:s1ap:s1ap:s1ap" size="0"/> - </proto> - - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.213 (192.168.12.213), Dst: 192.168.12.17 (192.168.12.17)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header Length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="2" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="108" showname="Total Length: 108" size="2" value="006c"/> - <field name="ip.id" pos="18" show="1" showname="Identification: 0x0001 (1)" size="2" value="0001"/> - <field name="ip.flags" pos="20" show="2" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="40916" showname="Header checksum: 0x9fd4 [validation disabled]" size="2" value="9fd4"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="9fd4"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="9fd4"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.213" showname="Source: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.213" showname="Source Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="ip.dst" pos="30" show="192.168.12.17" showname="Destination: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.17" showname="Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80cd5"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80c11"/> - </proto> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: 36412 (36412), Dst Port: 36412 (36412)" size="28"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="1288826016" showname="Verification tag: 0x4cd1eca0" size="4" value="4cd1eca0"/> - <field name="sctp.assoc_index" pos="34" show="0" showname="Assocation index: 0" size="0"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="2575421627" showname="Checksum: 0x9981d0bb (not verified)" size="4" value="9981d0bb"/> - <field name="" pos="46" show="DATA chunk(ordered, complete segment, TSN: 3304831191, SID: 0, SSN: 0, PPID: 18, payload length: 59 bytes)" size="16" value="0003004bc4fbb8d70000000000000012"> - <field name="sctp.chunk_type" pos="46" show="0" showname="Chunk type: DATA (0)" size="1" value="00"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="00" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="00" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="3" showname="Chunk flags: 0x03" size="1" value="03"> - <field name="sctp.data_e_bit" pos="47" show="1" showname=".... ...1 = E-Bit: Last segment" size="1" unmaskedvalue="03" value="1"/> - <field name="sctp.data_b_bit" pos="47" show="1" showname=".... ..1. = B-Bit: First segment" size="1" unmaskedvalue="03" value="1"/> - <field name="sctp.data_u_bit" pos="47" show="0" showname=".... .0.. = U-Bit: Ordered delivery" size="1" unmaskedvalue="03" value="0"/> - <field name="sctp.data_i_bit" pos="47" show="0" showname=".... 0... = I-Bit: Possibly delay SACK" size="1" unmaskedvalue="03" value="0"/> - </field> - <field name="sctp.chunk_length" pos="48" show="75" showname="Chunk length: 75" size="2" value="004b"/> - <field name="sctp.data_tsn" pos="50" show="3304831191" showname="TSN: 3304831191" size="4" value="c4fbb8d7"/> - <field name="sctp.data_sid" pos="54" show="0" showname="Stream Identifier: 0x0000" size="2" value="0000"/> - <field name="sctp.data_ssn" pos="56" show="0" showname="Stream sequence number: 0" size="2" value="0000"/> - <field name="sctp.data_payload_proto_id" pos="58" show="18" showname="Payload protocol identifier: S1 Application Protocol (S1AP) (18)" size="4" value="00000012"/> - <field name="sctp.chunk_padding" pos="121" show="00" showname="Chunk padding: 00" size="1" value="00"/> - </field> - </proto> - <proto name="s1ap" pos="62" showname="S1 Application Protocol" size="59"> - <field hide="yes" name="per.extension_bit" pos="62" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.choice_index" pos="62" show="0" showname="Choice Index: 0" size="1" value="00"/> - <field name="s1ap.S1AP_PDU" pos="62" show="0" showname="S1AP-PDU: initiatingMessage (0)" size="59" value="00110037000004003b00080002f8590000e000003c40140880654e425f45757265636f6d5f4c5445426f78004000070000004002f8590089400140"> - <field name="s1ap.initiatingMessage_element" pos="62" show="" showname="initiatingMessage" size="59" value=""> - <field name="s1ap.procedureCode" pos="63" show="17" showname="procedureCode: id-S1Setup (17)" size="1" value="11"/> - <field hide="yes" name="per.enum_index" pos="64" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="64" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="65" show="55" showname="Open Type Length: 55" size="1" value="37"/> - <field name="s1ap.value_element" pos="66" show="" showname="value" size="55" value=""> - <field name="s1ap.S1SetupRequest_element" pos="66" show="" showname="S1SetupRequest" size="55" value=""> - <field hide="yes" name="per.extension_bit" pos="66" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.sequence_of_length" pos="67" show="4" showname="Sequence-Of Length: 4" size="2" value="0004"/> - <field name="s1ap.protocolIEs" pos="69" show="4" showname="protocolIEs: 4 items" size="52" value="003b00080002f8590000e000003c40140880654e425f45757265636f6d5f4c5445426f78004000070000004002f8590089400140"> - <field name="" pos="69" show="Item 0: id-Global-ENB-ID" size="12" value="003b00080002f8590000e000"> - <field name="s1ap.ProtocolIE_Field_element" pos="69" show="" showname="ProtocolIE-Field" size="12" value=""> - <field name="s1ap.id" pos="69" show="59" showname="id: id-Global-ENB-ID (59)" size="2" value="003b"/> - <field hide="yes" name="per.enum_index" pos="71" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="71" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="72" show="8" showname="Open Type Length: 8" size="1" value="08"/> - <field name="s1ap.value_element" pos="73" show="" showname="value" size="8" value=""> - <field name="s1ap.Global_ENB_ID_element" pos="73" show="" showname="Global-ENB-ID" size="7" value=""> - <field hide="yes" name="per.extension_bit" pos="73" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.optional_field_bit" pos="73" show="0" showname=".0.. .... Optional Field Bit: False (iE-Extensions is NOT present)" size="1" unmaskedvalue="00" value="0"/> - <field name="s1ap.pLMNidentity" pos="74" show="02:f8:59" showname="pLMNidentity: 02f859" size="3" value="02f859"/> - <field name="e212.mcc" pos="74" show="208" showname="Mobile Country Code (MCC): France (208)" size="2" value="02f8"/> - <field name="e212.mnc" pos="75" show="95" showname="Mobile Network Code (MNC): Unknown (95)" size="2" value="f859"/> - <field hide="yes" name="per.extension_bit" pos="77" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.choice_index" pos="77" show="0" showname="Choice Index: 0" size="1" value="00"/> - <field name="s1ap.eNB_ID" pos="77" show="0" showname="eNB-ID: macroENB-ID (0)" size="3" value="0000e0"> - <field name="s1ap.macroENB_ID" pos="77" show="00:e0:00" showname="macroENB-ID: 00e000 [bit length 20, 4 LSB pad bits, 0000 0000 1110 0000 0000 .... decimal value 3584]" size="3" value="00e000"/> - </field> - </field> - </field> - </field> - </field> - <field name="" pos="81" show="Item 1: id-eNBname" size="24" value="003c40140880654e425f45757265636f6d5f4c5445426f78"> - <field name="s1ap.ProtocolIE_Field_element" pos="81" show="" showname="ProtocolIE-Field" size="24" value=""> - <field name="s1ap.id" pos="81" show="60" showname="id: id-eNBname (60)" size="2" value="003c"/> - <field hide="yes" name="per.enum_index" pos="83" show="1" showname="Enumerated Index: 1" size="1" value="40"/> - <field name="s1ap.criticality" pos="83" show="1" showname="criticality: ignore (1)" size="1" value="40"/> - <field hide="yes" name="per.open_type_length" pos="84" show="20" showname="Open Type Length: 20" size="1" value="14"/> - <field name="s1ap.value_element" pos="85" show="" showname="value" size="20" value=""> - <field name="per.extension_present_bit" pos="85" show="0" showname="0... .... Extension Present Bit: False" size="1" unmaskedvalue="08" value="0"/> - <field hide="yes" name="per.octet_string_length" pos="85" show="18" showname="Octet String Length: 18" size="1" value="08"/> - <field name="s1ap.ENBname" pos="87" show="eNB_Eurecom_LTEBox" showname="ENBname: eNB_Eurecom_LTEBox" size="18" value="654e425f45757265636f6d5f4c5445426f78"/> - </field> - </field> - </field> - <field name="" pos="105" show="Item 2: id-SupportedTAs" size="11" value="004000070000004002f859"> - <field name="s1ap.ProtocolIE_Field_element" pos="105" show="" showname="ProtocolIE-Field" size="11" value=""> - <field name="s1ap.id" pos="105" show="64" showname="id: id-SupportedTAs (64)" size="2" value="0040"/> - <field hide="yes" name="per.enum_index" pos="107" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="107" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="108" show="7" showname="Open Type Length: 7" size="1" value="07"/> - <field name="s1ap.value_element" pos="109" show="" showname="value" size="7" value=""> - <field hide="yes" name="per.sequence_of_length" pos="109" show="1" showname="Sequence-Of Length: 1" size="1" value="00"/> - <field name="s1ap.SupportedTAs" pos="110" show="1" showname="SupportedTAs: 1 item" size="6" value="00004002f859"> - <field name="" pos="110" show="Item 0" size="6" value="00004002f859"> - <field name="s1ap.SupportedTAs_Item_element" pos="110" show="" showname="SupportedTAs-Item" size="6" value=""> - <field hide="yes" name="per.extension_bit" pos="110" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.optional_field_bit" pos="110" show="0" showname=".0.. .... Optional Field Bit: False (iE-Extensions is NOT present)" size="1" unmaskedvalue="00" value="0"/> - <field name="s1ap.tAC" pos="110" show="00:01" showname="tAC: 0001" size="2" value="0001"/> - <field hide="yes" name="per.sequence_of_length" pos="112" show="1" showname="Sequence-Of Length: 1" size="1" value="40"/> - <field name="s1ap.broadcastPLMNs" pos="112" show="1" showname="broadcastPLMNs: 1 item" size="4" value="4002f859"> - <field name="" pos="112" show="Item 0" size="4" value="4002f859"> - <field name="s1ap.PLMNidentity" pos="113" show="02:f8:59" showname="PLMNidentity: 02f859" size="3" value="02f859"/> - <field name="e212.mcc" pos="113" show="208" showname="Mobile Country Code (MCC): France (208)" size="2" value="02f8"/> - <field name="e212.mnc" pos="114" show="95" showname="Mobile Network Code (MNC): Unknown (95)" size="2" value="f859"/> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - <field name="" pos="116" show="Item 3: id-DefaultPagingDRX" size="5" value="0089400140"> - <field name="s1ap.ProtocolIE_Field_element" pos="116" show="" showname="ProtocolIE-Field" size="5" value=""> - <field name="s1ap.id" pos="116" show="137" showname="id: id-DefaultPagingDRX (137)" size="2" value="0089"/> - <field hide="yes" name="per.enum_index" pos="118" show="1" showname="Enumerated Index: 1" size="1" value="40"/> - <field name="s1ap.criticality" pos="118" show="1" showname="criticality: ignore (1)" size="1" value="40"/> - <field hide="yes" name="per.open_type_length" pos="119" show="1" showname="Open Type Length: 1" size="1" value="01"/> - <field name="s1ap.value_element" pos="120" show="" showname="value" size="1" value=""> - <field hide="yes" name="per.extension_present_bit" pos="120" show="0" showname="0... .... Extension Present Bit: False" size="1" unmaskedvalue="40" value="0"/> - <field hide="yes" name="per.enum_index" pos="120" show="2" showname="Enumerated Index: 2" size="1" value="40"/> - <field name="s1ap.PagingDRX" pos="120" show="2" showname="PagingDRX: v128 (2)" size="1" value="40"/> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </proto> -</packet> -<packet> - - <proto name="frame" pos="0" showname="Frame 14: 62 bytes on wire (496 bits), 62 bytes captured (496 bits) on interface 0" size="62"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0 (eth0)" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:34:14.290087000 CEST" showname="Arrival Time: Sep 25, 2015 16:34:14.290087000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191654.290087000" showname="Epoch Time: 1443191654.290087000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.000031000" showname="Time delta from previous captured frame: 0.000031000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.000031000" showname="Time delta from previous displayed frame: 0.000031000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="7.824456000" showname="Time since reference or first frame: 7.824456000 seconds" size="0"/> - <field name="frame.number" pos="0" show="14" showname="Frame Number: 14" size="0"/> - <field name="frame.len" pos="0" show="62" showname="Frame Length: 62 bytes (496 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="62" showname="Capture Length: 62 bytes (496 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ethertype:ip:sctp" showname="Protocols in frame: eth:ethertype:ip:sctp" size="0"/> - </proto> - - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.17 (192.168.12.17), Dst: 192.168.12.213 (192.168.12.213)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header Length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="2" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="48" showname="Total Length: 48" size="2" value="0030"/> - <field name="ip.id" pos="18" show="0" showname="Identification: 0x0000 (0)" size="2" value="0000"/> - <field name="ip.flags" pos="20" show="2" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="40977" showname="Header checksum: 0xa011 [validation disabled]" size="2" value="a011"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="a011"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="a011"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.17" showname="Source: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.17" showname="Source Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="ip.dst" pos="30" show="192.168.12.213" showname="Destination: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.213" showname="Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80c11"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80cd5"/> - </proto> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: 36412 (36412), Dst Port: 36412 (36412)" size="28"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="1425553323" showname="Verification tag: 0x54f837ab" size="4" value="54f837ab"/> - <field name="sctp.assoc_index" pos="34" show="0" showname="Assocation index: 0" size="0"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="446407238" showname="Checksum: 0x1a9ba246 (not verified)" size="4" value="1a9ba246"/> - <field name="" pos="46" show="SACK chunk (Cumulative TSN: 3304831191, a_rwnd: 106437, gaps: 0, duplicate TSNs: 0)" size="16" value="03000010c4fbb8d700019fc500000000"> - <field name="sctp.chunk_type" pos="46" show="3" showname="Chunk type: SACK (3)" size="1" value="03"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="03" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="03" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0" showname="Chunk flags: 0x00" size="1" value="00"> - <field name="sctp.sack_nounce_sum" pos="47" show="0" showname=".... ...0 = Nounce sum: 0" size="1" unmaskedvalue="00" value="0"/> - </field> - <field name="sctp.chunk_length" pos="48" show="16" showname="Chunk length: 16" size="2" value="0010"/> - <field name="sctp.sack_cumulative_tsn_ack" pos="50" show="3304831191" showname="Cumulative TSN ACK: 3304831191" size="4" value="c4fbb8d7"> - <field name="sctp.ack" pos="96" show="3304831191" showname="Acknowledges TSN: 3304831191" size="0"> - <field name="sctp.ack_frame" pos="46" show="13" showname="Chunk acknowledged in frame: 13" size="0"/> - <field name="sctp.sack_rtt" pos="46" show="0.000031000" showname="The RTT since DATA was: 0.000031000 seconds" size="0"/> - </field> - </field> - <field name="sctp.sack_a_rwnd" pos="54" show="106437" showname="Advertised receiver window credit (a_rwnd): 106437" size="4" value="00019fc5"/> - <field name="sctp.sack_number_of_gap_blocks" pos="58" show="0" showname="Number of gap acknowledgement blocks: 0" size="2" value="0000"/> - <field name="sctp.sack_number_of_duplicated_tsns" pos="60" show="0" showname="Number of duplicated TSNs: 0" size="2" value="0000"/> - </field> - </proto> -</packet> -<packet> - - <proto name="frame" pos="0" showname="Frame 15: 114 bytes on wire (912 bits), 114 bytes captured (912 bits) on interface 0" size="114"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0 (eth0)" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:34:14.290488000 CEST" showname="Arrival Time: Sep 25, 2015 16:34:14.290488000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191654.290488000" showname="Epoch Time: 1443191654.290488000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.000401000" showname="Time delta from previous captured frame: 0.000401000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.000401000" showname="Time delta from previous displayed frame: 0.000401000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="7.824857000" showname="Time since reference or first frame: 7.824857000 seconds" size="0"/> - <field name="frame.number" pos="0" show="15" showname="Frame Number: 15" size="0"/> - <field name="frame.len" pos="0" show="114" showname="Frame Length: 114 bytes (912 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="114" showname="Capture Length: 114 bytes (912 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ethertype:ip:sctp:s1ap:s1ap:s1ap:s1ap" showname="Protocols in frame: eth:ethertype:ip:sctp:s1ap:s1ap:s1ap:s1ap" size="0"/> - </proto> - - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.17 (192.168.12.17), Dst: 192.168.12.213 (192.168.12.213)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header Length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="2" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="100" showname="Total Length: 100" size="2" value="0064"/> - <field name="ip.id" pos="18" show="0" showname="Identification: 0x0000 (0)" size="2" value="0000"/> - <field name="ip.flags" pos="20" show="2" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="40925" showname="Header checksum: 0x9fdd [validation disabled]" size="2" value="9fdd"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="9fdd"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="9fdd"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.17" showname="Source: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.17" showname="Source Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="ip.dst" pos="30" show="192.168.12.213" showname="Destination: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.213" showname="Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80c11"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80cd5"/> - </proto> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: 36412 (36412), Dst Port: 36412 (36412)" size="28"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="1425553323" showname="Verification tag: 0x54f837ab" size="4" value="54f837ab"/> - <field name="sctp.assoc_index" pos="34" show="0" showname="Assocation index: 0" size="0"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="2477264025" showname="Checksum: 0x93a80c99 (not verified)" size="4" value="93a80c99"/> - <field name="" pos="46" show="DATA chunk(ordered, complete segment, TSN: 2008295175, SID: 0, SSN: 0, PPID: 301989888, payload length: 49 bytes)" size="16" value="0003004177b427070000000012000000"> - <field name="sctp.chunk_type" pos="46" show="0" showname="Chunk type: DATA (0)" size="1" value="00"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="00" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="00" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="3" showname="Chunk flags: 0x03" size="1" value="03"> - <field name="sctp.data_e_bit" pos="47" show="1" showname=".... ...1 = E-Bit: Last segment" size="1" unmaskedvalue="03" value="1"/> - <field name="sctp.data_b_bit" pos="47" show="1" showname=".... ..1. = B-Bit: First segment" size="1" unmaskedvalue="03" value="1"/> - <field name="sctp.data_u_bit" pos="47" show="0" showname=".... .0.. = U-Bit: Ordered delivery" size="1" unmaskedvalue="03" value="0"/> - <field name="sctp.data_i_bit" pos="47" show="0" showname=".... 0... = I-Bit: Possibly delay SACK" size="1" unmaskedvalue="03" value="0"/> - </field> - <field name="sctp.chunk_length" pos="48" show="65" showname="Chunk length: 65" size="2" value="0041"/> - <field name="sctp.data_tsn" pos="50" show="2008295175" showname="TSN: 2008295175" size="4" value="77b42707"/> - <field name="sctp.data_sid" pos="54" show="0" showname="Stream Identifier: 0x0000" size="2" value="0000"/> - <field name="sctp.data_ssn" pos="56" show="0" showname="Stream sequence number: 0" size="2" value="0000"/> - <field name="sctp.data_payload_proto_id" pos="58" show="301989888" showname="Payload protocol identifier: Unknown (301989888)" size="4" value="12000000"/> - <field name="sctp.chunk_padding" pos="111" show="00:00:00" showname="Chunk padding: 000000" size="3" value="000000"/> - </field> - </proto> - <proto name="s1ap" pos="62" showname="S1 Application Protocol" size="49"> - <field hide="yes" name="per.extension_bit" pos="62" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="20" value="0"/> - <field hide="yes" name="per.choice_index" pos="62" show="1" showname="Choice Index: 1" size="1" value="20"/> - <field name="s1ap.S1AP_PDU" pos="62" show="1" showname="S1AP-PDU: successfulOutcome (1)" size="49" value="2011002d00000200690021000002f8590006800000040005001e00080009c3650a011e1f2021222324381d08005740010a"> - <field name="s1ap.successfulOutcome_element" pos="62" show="" showname="successfulOutcome" size="49" value=""> - <field name="s1ap.procedureCode" pos="63" show="17" showname="procedureCode: id-S1Setup (17)" size="1" value="11"/> - <field hide="yes" name="per.enum_index" pos="64" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="64" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="65" show="45" showname="Open Type Length: 45" size="1" value="2d"/> - <field name="s1ap.value_element" pos="66" show="" showname="value" size="45" value=""> - <field name="s1ap.S1SetupResponse_element" pos="66" show="" showname="S1SetupResponse" size="45" value=""> - <field hide="yes" name="per.extension_bit" pos="66" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.sequence_of_length" pos="67" show="2" showname="Sequence-Of Length: 2" size="2" value="0002"/> - <field name="s1ap.protocolIEs" pos="69" show="2" showname="protocolIEs: 2 items" size="42" value="00690021000002f8590006800000040005001e00080009c3650a011e1f2021222324381d08005740010a"> - <field name="" pos="69" show="Item 0: id-ServedGUMMEIs" size="37" value="00690021000002f8590006800000040005001e00080009c3650a011e1f2021222324381d08"> - <field name="s1ap.ProtocolIE_Field_element" pos="69" show="" showname="ProtocolIE-Field" size="37" value=""> - <field name="s1ap.id" pos="69" show="105" showname="id: id-ServedGUMMEIs (105)" size="2" value="0069"/> - <field hide="yes" name="per.enum_index" pos="71" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="71" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="72" show="33" showname="Open Type Length: 33" size="1" value="21"/> - <field name="s1ap.value_element" pos="73" show="" showname="value" size="33" value=""> - <field hide="yes" name="per.sequence_of_length" pos="73" show="1" showname="Sequence-Of Length: 1" size="1" value="00"/> - <field name="s1ap.ServedGUMMEIs" pos="73" show="1" showname="ServedGUMMEIs: 1 item" size="33" value="000002f8590006800000040005001e00080009c3650a011e1f2021222324381d08"> - <field name="" pos="73" show="Item 0" size="33" value="000002f8590006800000040005001e00080009c3650a011e1f2021222324381d08"> - <field name="s1ap.ServedGUMMEIsItem_element" pos="73" show="" showname="ServedGUMMEIsItem" size="33" value=""> - <field hide="yes" name="per.extension_bit" pos="73" show="0" showname="...0 .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.optional_field_bit" pos="73" show="0" showname=".... 0... Optional Field Bit: False (iE-Extensions is NOT present)" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.sequence_of_length" pos="73" show="1" showname="Sequence-Of Length: 1" size="1" value="00"/> - <field name="s1ap.servedPLMNs" pos="74" show="1" showname="servedPLMNs: 1 item" size="4" value="0002f859"> - <field name="" pos="74" show="Item 0" size="4" value="0002f859"> - <field name="s1ap.PLMNidentity" pos="75" show="02:f8:59" showname="PLMNidentity: 02f859" size="3" value="02f859"/> - <field name="e212.mcc" pos="75" show="208" showname="Mobile Country Code (MCC): France (208)" size="2" value="02f8"/> - <field name="e212.mnc" pos="76" show="95" showname="Mobile Network Code (MNC): Unknown (95)" size="2" value="f859"/> - </field> - </field> - <field hide="yes" name="per.sequence_of_length" pos="78" show="7" showname="Sequence-Of Length: 7" size="2" value="0006"/> - <field name="s1ap.servedGroupIDs" pos="80" show="7" showname="servedGroupIDs: 7 items" size="14" value="800000040005001e00080009c365"> - <field name="" pos="80" show="Item 0" size="2" value="8000"> - <field name="s1ap.MME_Group_ID" pos="80" show="80:00" showname="MME-Group-ID: 8000" size="2" value="8000"/> - </field> - <field name="" pos="82" show="Item 1" size="2" value="0004"> - <field name="s1ap.MME_Group_ID" pos="82" show="00:04" showname="MME-Group-ID: 0004" size="2" value="0004"/> - </field> - <field name="" pos="84" show="Item 2" size="2" value="0005"> - <field name="s1ap.MME_Group_ID" pos="84" show="00:05" showname="MME-Group-ID: 0005" size="2" value="0005"/> - </field> - <field name="" pos="86" show="Item 3" size="2" value="001e"> - <field name="s1ap.MME_Group_ID" pos="86" show="00:1e" showname="MME-Group-ID: 001e" size="2" value="001e"/> - </field> - <field name="" pos="88" show="Item 4" size="2" value="0008"> - <field name="s1ap.MME_Group_ID" pos="88" show="00:08" showname="MME-Group-ID: 0008" size="2" value="0008"/> - </field> - <field name="" pos="90" show="Item 5" size="2" value="0009"> - <field name="s1ap.MME_Group_ID" pos="90" show="00:09" showname="MME-Group-ID: 0009" size="2" value="0009"/> - </field> - <field name="" pos="92" show="Item 6" size="2" value="c365"> - <field name="s1ap.MME_Group_ID" pos="92" show="c3:65" showname="MME-Group-ID: c365" size="2" value="c365"/> - </field> - </field> - <field hide="yes" name="per.sequence_of_length" pos="94" show="11" showname="Sequence-Of Length: 11" size="1" value="0a"/> - <field name="s1ap.servedMMECs" pos="95" show="11" showname="servedMMECs: 11 items" size="11" value="011e1f2021222324381d08"> - <field name="" pos="95" show="Item 0" size="1" value="01"> - <field name="s1ap.MME_Code" pos="95" show="01" showname="MME-Code: 01" size="1" value="01"/> - </field> - <field name="" pos="96" show="Item 1" size="1" value="1e"> - <field name="s1ap.MME_Code" pos="96" show="1e" showname="MME-Code: 1e" size="1" value="1e"/> - </field> - <field name="" pos="97" show="Item 2" size="1" value="1f"> - <field name="s1ap.MME_Code" pos="97" show="1f" showname="MME-Code: 1f" size="1" value="1f"/> - </field> - <field name="" pos="98" show="Item 3" size="1" value="20"> - <field name="s1ap.MME_Code" pos="98" show="20" showname="MME-Code: 20" size="1" value="20"/> - </field> - <field name="" pos="99" show="Item 4" size="1" value="21"> - <field name="s1ap.MME_Code" pos="99" show="21" showname="MME-Code: 21" size="1" value="21"/> - </field> - <field name="" pos="100" show="Item 5" size="1" value="22"> - <field name="s1ap.MME_Code" pos="100" show="22" showname="MME-Code: 22" size="1" value="22"/> - </field> - <field name="" pos="101" show="Item 6" size="1" value="23"> - <field name="s1ap.MME_Code" pos="101" show="23" showname="MME-Code: 23" size="1" value="23"/> - </field> - <field name="" pos="102" show="Item 7" size="1" value="24"> - <field name="s1ap.MME_Code" pos="102" show="24" showname="MME-Code: 24" size="1" value="24"/> - </field> - <field name="" pos="103" show="Item 8" size="1" value="38"> - <field name="s1ap.MME_Code" pos="103" show="38" showname="MME-Code: 38" size="1" value="38"/> - </field> - <field name="" pos="104" show="Item 9" size="1" value="1d"> - <field name="s1ap.MME_Code" pos="104" show="1d" showname="MME-Code: 1d" size="1" value="1d"/> - </field> - <field name="" pos="105" show="Item 10" size="1" value="08"> - <field name="s1ap.MME_Code" pos="105" show="08" showname="MME-Code: 08" size="1" value="08"/> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - <field name="" pos="106" show="Item 1: id-RelativeMMECapacity" size="5" value="005740010a"> - <field name="s1ap.ProtocolIE_Field_element" pos="106" show="" showname="ProtocolIE-Field" size="5" value=""> - <field name="s1ap.id" pos="106" show="87" showname="id: id-RelativeMMECapacity (87)" size="2" value="0057"/> - <field hide="yes" name="per.enum_index" pos="108" show="1" showname="Enumerated Index: 1" size="1" value="40"/> - <field name="s1ap.criticality" pos="108" show="1" showname="criticality: ignore (1)" size="1" value="40"/> - <field hide="yes" name="per.open_type_length" pos="109" show="1" showname="Open Type Length: 1" size="1" value="01"/> - <field name="s1ap.value_element" pos="110" show="" showname="value" size="1" value=""> - <field name="s1ap.RelativeMMECapacity" pos="110" show="10" showname="RelativeMMECapacity: 10" size="1" value="0a"/> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </proto> -</packet> -<packet> - - <proto name="frame" pos="0" showname="Frame 16: 62 bytes on wire (496 bits), 62 bytes captured (496 bits) on interface 0" size="62"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0 (eth0)" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:34:14.290617000 CEST" showname="Arrival Time: Sep 25, 2015 16:34:14.290617000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191654.290617000" showname="Epoch Time: 1443191654.290617000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.000129000" showname="Time delta from previous captured frame: 0.000129000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.000129000" showname="Time delta from previous displayed frame: 0.000129000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="7.824986000" showname="Time since reference or first frame: 7.824986000 seconds" size="0"/> - <field name="frame.number" pos="0" show="16" showname="Frame Number: 16" size="0"/> - <field name="frame.len" pos="0" show="62" showname="Frame Length: 62 bytes (496 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="62" showname="Capture Length: 62 bytes (496 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ethertype:ip:sctp" showname="Protocols in frame: eth:ethertype:ip:sctp" size="0"/> - </proto> - - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.213 (192.168.12.213), Dst: 192.168.12.17 (192.168.12.17)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header Length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="2" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="48" showname="Total Length: 48" size="2" value="0030"/> - <field name="ip.id" pos="18" show="2" showname="Identification: 0x0002 (2)" size="2" value="0002"/> - <field name="ip.flags" pos="20" show="2" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="40975" showname="Header checksum: 0xa00f [validation disabled]" size="2" value="a00f"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="a00f"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="a00f"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.213" showname="Source: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.213" showname="Source Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="ip.dst" pos="30" show="192.168.12.17" showname="Destination: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.17" showname="Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80cd5"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80c11"/> - </proto> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: 36412 (36412), Dst Port: 36412 (36412)" size="28"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="1288826016" showname="Verification tag: 0x4cd1eca0" size="4" value="4cd1eca0"/> - <field name="sctp.assoc_index" pos="34" show="0" showname="Assocation index: 0" size="0"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="1938150339" showname="Checksum: 0x7385d3c3 (not verified)" size="4" value="7385d3c3"/> - <field name="" pos="46" show="SACK chunk (Cumulative TSN: 2008295175, a_rwnd: 106447, gaps: 0, duplicate TSNs: 0)" size="16" value="0300001077b4270700019fcf00000000"> - <field name="sctp.chunk_type" pos="46" show="3" showname="Chunk type: SACK (3)" size="1" value="03"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="03" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="03" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0" showname="Chunk flags: 0x00" size="1" value="00"> - <field name="sctp.sack_nounce_sum" pos="47" show="0" showname=".... ...0 = Nounce sum: 0" size="1" unmaskedvalue="00" value="0"/> - </field> - <field name="sctp.chunk_length" pos="48" show="16" showname="Chunk length: 16" size="2" value="0010"/> - <field name="sctp.sack_cumulative_tsn_ack" pos="50" show="2008295175" showname="Cumulative TSN ACK: 2008295175" size="4" value="77b42707"> - <field name="sctp.ack" pos="96" show="2008295175" showname="Acknowledges TSN: 2008295175" size="0"> - <field name="sctp.ack_frame" pos="46" show="15" showname="Chunk acknowledged in frame: 15" size="0"/> - <field name="sctp.sack_rtt" pos="46" show="0.000129000" showname="The RTT since DATA was: 0.000129000 seconds" size="0"/> - </field> - </field> - <field name="sctp.sack_a_rwnd" pos="54" show="106447" showname="Advertised receiver window credit (a_rwnd): 106447" size="4" value="00019fcf"/> - <field name="sctp.sack_number_of_gap_blocks" pos="58" show="0" showname="Number of gap acknowledgement blocks: 0" size="2" value="0000"/> - <field name="sctp.sack_number_of_duplicated_tsns" pos="60" show="0" showname="Number of duplicated TSNs: 0" size="2" value="0000"/> - </field> - </proto> -</packet> -<packet> - - <proto name="frame" pos="0" showname="Frame 56: 98 bytes on wire (784 bits), 98 bytes captured (784 bits) on interface 0" size="98"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0 (eth0)" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:34:46.604468000 CEST" showname="Arrival Time: Sep 25, 2015 16:34:46.604468000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191686.604468000" showname="Epoch Time: 1443191686.604468000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.112851000" showname="Time delta from previous captured frame: 0.112851000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.112851000" showname="Time delta from previous displayed frame: 0.112851000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="40.138837000" showname="Time since reference or first frame: 40.138837000 seconds" size="0"/> - <field name="frame.number" pos="0" show="56" showname="Frame Number: 56" size="0"/> - <field name="frame.len" pos="0" show="98" showname="Frame Length: 98 bytes (784 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="98" showname="Capture Length: 98 bytes (784 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ethertype:ip:sctp" showname="Protocols in frame: eth:ethertype:ip:sctp" size="0"/> - </proto> - - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.213 (192.168.12.213), Dst: 192.168.12.17 (192.168.12.17)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header Length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="2" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="84" showname="Total Length: 84" size="2" value="0054"/> - <field name="ip.id" pos="18" show="3" showname="Identification: 0x0003 (3)" size="2" value="0003"/> - <field name="ip.flags" pos="20" show="2" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="40938" showname="Header checksum: 0x9fea [validation disabled]" size="2" value="9fea"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="9fea"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="9fea"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.213" showname="Source: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.213" showname="Source Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="ip.dst" pos="30" show="192.168.12.17" showname="Destination: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.17" showname="Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80cd5"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80c11"/> - </proto> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: 36412 (36412), Dst Port: 36412 (36412)" size="64"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="1288826016" showname="Verification tag: 0x4cd1eca0" size="4" value="4cd1eca0"/> - <field name="sctp.assoc_index" pos="34" show="0" showname="Assocation index: 0" size="0"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="173747858" showname="Checksum: 0x0a5b2e92 (not verified)" size="4" value="0a5b2e92"/> - <field name="" pos="46" show="HEARTBEAT chunk (Information: 48 bytes)" size="52" value="040000340001003002008e3cc0a80c110000000000000000007459d10088ffff1e201d8180932214010000007730e920aa62f65b"> - <field name="sctp.chunk_type" pos="46" show="4" showname="Chunk type: HEARTBEAT (4)" size="1" value="04"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="04" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="04" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0" showname="Chunk flags: 0x00" size="1" value="00"/> - <field name="sctp.chunk_length" pos="48" show="52" showname="Chunk length: 52" size="2" value="0034"/> - <field name="" pos="50" show="Heartbeat info parameter (Information: 44 bytes)" size="48" value="0001003002008e3cc0a80c110000000000000000007459d10088ffff1e201d8180932214010000007730e920aa62f65b"> - <field name="sctp.parameter_type" pos="50" show="1" showname="Parameter type: Heartbeat info (0x0001)" size="2" value="0001"> - <field name="sctp.parameter_bit_1" pos="50" show="0" showname="0... .... .... .... = Bit: Stop processing of chunk" size="2" unmaskedvalue="0001" value="0"/> - <field name="sctp.parameter_bit_2" pos="50" show="0" showname=".0.. .... .... .... = Bit: Do not report" size="2" unmaskedvalue="0001" value="0"/> - </field> - <field name="sctp.parameter_length" pos="52" show="48" showname="Parameter length: 48" size="2" value="0030"/> - <field name="sctp.parameter_heartbeat_information" pos="54" show="02:00:8e:3c:c0:a8:0c:11:00:00:00:00:00:00:00:00:00:74:59:d1:00:88:ff:ff:1e:20:1d:81:80:93:22:14:01:00:00:00:77:30:e9:20:aa:62:f6:5b" showname="Heartbeat information: 02008e3cc0a80c110000000000000000007459d10088ffff..." size="44" value="02008e3cc0a80c110000000000000000007459d10088ffff1e201d8180932214010000007730e920aa62f65b"/> - </field> - </field> - </proto> -</packet> -<packet> - - <proto name="frame" pos="0" showname="Frame 57: 98 bytes on wire (784 bits), 98 bytes captured (784 bits) on interface 0" size="98"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0 (eth0)" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:34:46.604504000 CEST" showname="Arrival Time: Sep 25, 2015 16:34:46.604504000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191686.604504000" showname="Epoch Time: 1443191686.604504000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.000036000" showname="Time delta from previous captured frame: 0.000036000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.000036000" showname="Time delta from previous displayed frame: 0.000036000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="40.138873000" showname="Time since reference or first frame: 40.138873000 seconds" size="0"/> - <field name="frame.number" pos="0" show="57" showname="Frame Number: 57" size="0"/> - <field name="frame.len" pos="0" show="98" showname="Frame Length: 98 bytes (784 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="98" showname="Capture Length: 98 bytes (784 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ethertype:ip:sctp" showname="Protocols in frame: eth:ethertype:ip:sctp" size="0"/> - </proto> - - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.17 (192.168.12.17), Dst: 192.168.12.213 (192.168.12.213)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header Length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="2" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="84" showname="Total Length: 84" size="2" value="0054"/> - <field name="ip.id" pos="18" show="0" showname="Identification: 0x0000 (0)" size="2" value="0000"/> - <field name="ip.flags" pos="20" show="2" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="40941" showname="Header checksum: 0x9fed [validation disabled]" size="2" value="9fed"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="9fed"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="9fed"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.17" showname="Source: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.17" showname="Source Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="ip.dst" pos="30" show="192.168.12.213" showname="Destination: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.213" showname="Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80c11"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80cd5"/> - </proto> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: 36412 (36412), Dst Port: 36412 (36412)" size="64"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="1425553323" showname="Verification tag: 0x54f837ab" size="4" value="54f837ab"/> - <field name="sctp.assoc_index" pos="34" show="0" showname="Assocation index: 0" size="0"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="948061674" showname="Checksum: 0x388245ea (not verified)" size="4" value="388245ea"/> - <field name="" pos="46" show="HEARTBEAT_ACK chunk (Information: 48 bytes)" size="52" value="050000340001003002008e3cc0a80c110000000000000000007459d10088ffff1e201d8180932214010000007730e920aa62f65b"> - <field name="sctp.chunk_type" pos="46" show="5" showname="Chunk type: HEARTBEAT_ACK (5)" size="1" value="05"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="05" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="05" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0" showname="Chunk flags: 0x00" size="1" value="00"/> - <field name="sctp.chunk_length" pos="48" show="52" showname="Chunk length: 52" size="2" value="0034"/> - <field name="" pos="50" show="Heartbeat info parameter (Information: 44 bytes)" size="48" value="0001003002008e3cc0a80c110000000000000000007459d10088ffff1e201d8180932214010000007730e920aa62f65b"> - <field name="sctp.parameter_type" pos="50" show="1" showname="Parameter type: Heartbeat info (0x0001)" size="2" value="0001"> - <field name="sctp.parameter_bit_1" pos="50" show="0" showname="0... .... .... .... = Bit: Stop processing of chunk" size="2" unmaskedvalue="0001" value="0"/> - <field name="sctp.parameter_bit_2" pos="50" show="0" showname=".0.. .... .... .... = Bit: Do not report" size="2" unmaskedvalue="0001" value="0"/> - </field> - <field name="sctp.parameter_length" pos="52" show="48" showname="Parameter length: 48" size="2" value="0030"/> - <field name="sctp.parameter_heartbeat_information" pos="54" show="02:00:8e:3c:c0:a8:0c:11:00:00:00:00:00:00:00:00:00:74:59:d1:00:88:ff:ff:1e:20:1d:81:80:93:22:14:01:00:00:00:77:30:e9:20:aa:62:f6:5b" showname="Heartbeat information: 02008e3cc0a80c110000000000000000007459d10088ffff..." size="44" value="02008e3cc0a80c110000000000000000007459d10088ffff1e201d8180932214010000007730e920aa62f65b"/> - </field> - </field> - </proto> -</packet> -<packet> - - <proto name="frame" pos="0" showname="Frame 60: 98 bytes on wire (784 bits), 98 bytes captured (784 bits) on interface 0" size="98"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0 (eth0)" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:34:47.154133000 CEST" showname="Arrival Time: Sep 25, 2015 16:34:47.154133000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191687.154133000" showname="Epoch Time: 1443191687.154133000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.500903000" showname="Time delta from previous captured frame: 0.500903000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.500903000" showname="Time delta from previous displayed frame: 0.500903000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="40.688502000" showname="Time since reference or first frame: 40.688502000 seconds" size="0"/> - <field name="frame.number" pos="0" show="60" showname="Frame Number: 60" size="0"/> - <field name="frame.len" pos="0" show="98" showname="Frame Length: 98 bytes (784 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="98" showname="Capture Length: 98 bytes (784 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ethertype:ip:sctp" showname="Protocols in frame: eth:ethertype:ip:sctp" size="0"/> - </proto> - - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.17 (192.168.12.17), Dst: 192.168.12.213 (192.168.12.213)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header Length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="2" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="84" showname="Total Length: 84" size="2" value="0054"/> - <field name="ip.id" pos="18" show="0" showname="Identification: 0x0000 (0)" size="2" value="0000"/> - <field name="ip.flags" pos="20" show="2" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="40941" showname="Header checksum: 0x9fed [validation disabled]" size="2" value="9fed"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="9fed"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="9fed"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.17" showname="Source: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.17" showname="Source Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="ip.dst" pos="30" show="192.168.12.213" showname="Destination: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.213" showname="Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80c11"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80cd5"/> - </proto> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: 36412 (36412), Dst Port: 36412 (36412)" size="64"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="1425553323" showname="Verification tag: 0x54f837ab" size="4" value="54f837ab"/> - <field name="sctp.assoc_index" pos="34" show="0" showname="Assocation index: 0" size="0"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="1053809432" showname="Checksum: 0x3ecfdb18 (not verified)" size="4" value="3ecfdb18"/> - <field name="" pos="46" show="HEARTBEAT chunk (Information: 48 bytes)" size="52" value="040000340001003002008e3cc0a80cd50000000000000000000000000000000000000000e00c3300010000008db53fb930a0b65f"> - <field name="sctp.chunk_type" pos="46" show="4" showname="Chunk type: HEARTBEAT (4)" size="1" value="04"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="04" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="04" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0" showname="Chunk flags: 0x00" size="1" value="00"/> - <field name="sctp.chunk_length" pos="48" show="52" showname="Chunk length: 52" size="2" value="0034"/> - <field name="" pos="50" show="Heartbeat info parameter (Information: 44 bytes)" size="48" value="0001003002008e3cc0a80cd50000000000000000000000000000000000000000e00c3300010000008db53fb930a0b65f"> - <field name="sctp.parameter_type" pos="50" show="1" showname="Parameter type: Heartbeat info (0x0001)" size="2" value="0001"> - <field name="sctp.parameter_bit_1" pos="50" show="0" showname="0... .... .... .... = Bit: Stop processing of chunk" size="2" unmaskedvalue="0001" value="0"/> - <field name="sctp.parameter_bit_2" pos="50" show="0" showname=".0.. .... .... .... = Bit: Do not report" size="2" unmaskedvalue="0001" value="0"/> - </field> - <field name="sctp.parameter_length" pos="52" show="48" showname="Parameter length: 48" size="2" value="0030"/> - <field name="sctp.parameter_heartbeat_information" pos="54" show="02:00:8e:3c:c0:a8:0c:d5:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:e0:0c:33:00:01:00:00:00:8d:b5:3f:b9:30:a0:b6:5f" showname="Heartbeat information: 02008e3cc0a80cd500000000000000000000000000000000..." size="44" value="02008e3cc0a80cd50000000000000000000000000000000000000000e00c3300010000008db53fb930a0b65f"/> - </field> - </field> - </proto> -</packet> -<packet> - - <proto name="frame" pos="0" showname="Frame 61: 98 bytes on wire (784 bits), 98 bytes captured (784 bits) on interface 0" size="98"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0 (eth0)" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:34:47.154270000 CEST" showname="Arrival Time: Sep 25, 2015 16:34:47.154270000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191687.154270000" showname="Epoch Time: 1443191687.154270000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.000137000" showname="Time delta from previous captured frame: 0.000137000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.000137000" showname="Time delta from previous displayed frame: 0.000137000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="40.688639000" showname="Time since reference or first frame: 40.688639000 seconds" size="0"/> - <field name="frame.number" pos="0" show="61" showname="Frame Number: 61" size="0"/> - <field name="frame.len" pos="0" show="98" showname="Frame Length: 98 bytes (784 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="98" showname="Capture Length: 98 bytes (784 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ethertype:ip:sctp" showname="Protocols in frame: eth:ethertype:ip:sctp" size="0"/> - </proto> - - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.213 (192.168.12.213), Dst: 192.168.12.17 (192.168.12.17)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header Length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="2" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="84" showname="Total Length: 84" size="2" value="0054"/> - <field name="ip.id" pos="18" show="4" showname="Identification: 0x0004 (4)" size="2" value="0004"/> - <field name="ip.flags" pos="20" show="2" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="40937" showname="Header checksum: 0x9fe9 [validation disabled]" size="2" value="9fe9"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="9fe9"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="9fe9"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.213" showname="Source: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.213" showname="Source Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="ip.dst" pos="30" show="192.168.12.17" showname="Destination: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.17" showname="Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80cd5"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80c11"/> - </proto> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: 36412 (36412), Dst Port: 36412 (36412)" size="64"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="1288826016" showname="Verification tag: 0x4cd1eca0" size="4" value="4cd1eca0"/> - <field name="sctp.assoc_index" pos="34" show="0" showname="Assocation index: 0" size="0"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="202813536" showname="Checksum: 0x0c16b060 (not verified)" size="4" value="0c16b060"/> - <field name="" pos="46" show="HEARTBEAT_ACK chunk (Information: 48 bytes)" size="52" value="050000340001003002008e3cc0a80cd50000000000000000000000000000000000000000e00c3300010000008db53fb930a0b65f"> - <field name="sctp.chunk_type" pos="46" show="5" showname="Chunk type: HEARTBEAT_ACK (5)" size="1" value="05"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="05" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="05" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0" showname="Chunk flags: 0x00" size="1" value="00"/> - <field name="sctp.chunk_length" pos="48" show="52" showname="Chunk length: 52" size="2" value="0034"/> - <field name="" pos="50" show="Heartbeat info parameter (Information: 44 bytes)" size="48" value="0001003002008e3cc0a80cd50000000000000000000000000000000000000000e00c3300010000008db53fb930a0b65f"> - <field name="sctp.parameter_type" pos="50" show="1" showname="Parameter type: Heartbeat info (0x0001)" size="2" value="0001"> - <field name="sctp.parameter_bit_1" pos="50" show="0" showname="0... .... .... .... = Bit: Stop processing of chunk" size="2" unmaskedvalue="0001" value="0"/> - <field name="sctp.parameter_bit_2" pos="50" show="0" showname=".0.. .... .... .... = Bit: Do not report" size="2" unmaskedvalue="0001" value="0"/> - </field> - <field name="sctp.parameter_length" pos="52" show="48" showname="Parameter length: 48" size="2" value="0030"/> - <field name="sctp.parameter_heartbeat_information" pos="54" show="02:00:8e:3c:c0:a8:0c:d5:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:e0:0c:33:00:01:00:00:00:8d:b5:3f:b9:30:a0:b6:5f" showname="Heartbeat information: 02008e3cc0a80cd500000000000000000000000000000000..." size="44" value="02008e3cc0a80cd50000000000000000000000000000000000000000e00c3300010000008db53fb930a0b65f"/> - </field> - </field> - </proto> -</packet> -<packet> - - <proto name="frame" pos="0" showname="Frame 76: 186 bytes on wire (1488 bits), 186 bytes captured (1488 bits) on interface 0" size="186"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0 (eth0)" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:34:53.748321000 CEST" showname="Arrival Time: Sep 25, 2015 16:34:53.748321000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191693.748321000" showname="Epoch Time: 1443191693.748321000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="1.074002000" showname="Time delta from previous captured frame: 1.074002000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="1.074002000" showname="Time delta from previous displayed frame: 1.074002000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="47.282690000" showname="Time since reference or first frame: 47.282690000 seconds" size="0"/> - <field name="frame.number" pos="0" show="76" showname="Frame Number: 76" size="0"/> - <field name="frame.len" pos="0" show="186" showname="Frame Length: 186 bytes (1488 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="186" showname="Capture Length: 186 bytes (1488 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ethertype:ip:sctp:s1ap:s1ap:s1ap:s1ap:nas-eps:ipcp:s1ap:s1ap:s1ap:s1ap" showname="Protocols in frame: eth:ethertype:ip:sctp:s1ap:s1ap:s1ap:s1ap:nas-eps:ipcp:s1ap:s1ap:s1ap:s1ap" size="0"/> - </proto> - - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.213 (192.168.12.213), Dst: 192.168.12.17 (192.168.12.17)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header Length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="2" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="172" showname="Total Length: 172" size="2" value="00ac"/> - <field name="ip.id" pos="18" show="5" showname="Identification: 0x0005 (5)" size="2" value="0005"/> - <field name="ip.flags" pos="20" show="2" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="40848" showname="Header checksum: 0x9f90 [validation disabled]" size="2" value="9f90"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="9f90"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="9f90"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.213" showname="Source: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.213" showname="Source Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="ip.dst" pos="30" show="192.168.12.17" showname="Destination: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.17" showname="Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80cd5"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80c11"/> - </proto> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: 36412 (36412), Dst Port: 36412 (36412)" size="28"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="1288826016" showname="Verification tag: 0x4cd1eca0" size="4" value="4cd1eca0"/> - <field name="sctp.assoc_index" pos="34" show="0" showname="Assocation index: 0" size="0"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="1207174120" showname="Checksum: 0x47f403e8 (not verified)" size="4" value="47f403e8"/> - <field name="" pos="46" show="DATA chunk(ordered, complete segment, TSN: 3304831192, SID: 1, SSN: 0, PPID: 18, payload length: 122 bytes)" size="16" value="0003008ac4fbb8d80001000000000012"> - <field name="sctp.chunk_type" pos="46" show="0" showname="Chunk type: DATA (0)" size="1" value="00"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="00" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="00" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="3" showname="Chunk flags: 0x03" size="1" value="03"> - <field name="sctp.data_e_bit" pos="47" show="1" showname=".... ...1 = E-Bit: Last segment" size="1" unmaskedvalue="03" value="1"/> - <field name="sctp.data_b_bit" pos="47" show="1" showname=".... ..1. = B-Bit: First segment" size="1" unmaskedvalue="03" value="1"/> - <field name="sctp.data_u_bit" pos="47" show="0" showname=".... .0.. = U-Bit: Ordered delivery" size="1" unmaskedvalue="03" value="0"/> - <field name="sctp.data_i_bit" pos="47" show="0" showname=".... 0... = I-Bit: Possibly delay SACK" size="1" unmaskedvalue="03" value="0"/> - </field> - <field name="sctp.chunk_length" pos="48" show="138" showname="Chunk length: 138" size="2" value="008a"/> - <field name="sctp.data_tsn" pos="50" show="3304831192" showname="TSN: 3304831192" size="4" value="c4fbb8d8"/> - <field name="sctp.data_sid" pos="54" show="1" showname="Stream Identifier: 0x0001" size="2" value="0001"/> - <field name="sctp.data_ssn" pos="56" show="0" showname="Stream sequence number: 0" size="2" value="0000"/> - <field name="sctp.data_payload_proto_id" pos="58" show="18" showname="Payload protocol identifier: S1 Application Protocol (S1AP) (18)" size="4" value="00000012"/> - <field name="sctp.chunk_padding" pos="184" show="00:00" showname="Chunk padding: 0000" size="2" value="0000"/> - </field> - </proto> - <proto name="s1ap" pos="62" showname="S1 Application Protocol" size="122"> - <field hide="yes" name="per.extension_bit" pos="62" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.choice_index" pos="62" show="0" showname="Choice Index: 0" size="1" value="00"/> - <field name="s1ap.S1AP_PDU" pos="62" show="0" showname="S1AP-PDU: initiatingMessage (0)" size="122" value="000c0076000006000800048006692d001a00414017c4dba6bb020741010bf602f8598000016c00092002e0e000200201d011271a8080211001000010810600000000830600000000000d00000a005202f8590001004300060002f8590001006440080002f85900e000000086400130004b000700000000800001"> - <field name="s1ap.initiatingMessage_element" pos="62" show="" showname="initiatingMessage" size="122" value=""> - <field name="s1ap.procedureCode" pos="63" show="12" showname="procedureCode: id-initialUEMessage (12)" size="1" value="0c"/> - <field hide="yes" name="per.enum_index" pos="64" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="64" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="65" show="118" showname="Open Type Length: 118" size="1" value="76"/> - <field name="s1ap.value_element" pos="66" show="" showname="value" size="118" value=""> - <field name="s1ap.InitialUEMessage_element" pos="66" show="" showname="InitialUEMessage" size="118" value=""> - <field hide="yes" name="per.extension_bit" pos="66" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.sequence_of_length" pos="67" show="6" showname="Sequence-Of Length: 6" size="2" value="0006"/> - <field name="s1ap.protocolIEs" pos="69" show="6" showname="protocolIEs: 6 items" size="115" value="000800048006692d001a00414017c4dba6bb020741010bf602f8598000016c00092002e0e000200201d011271a8080211001000010810600000000830600000000000d00000a005202f8590001004300060002f8590001006440080002f85900e000000086400130004b000700000000800001"> - <field name="" pos="69" show="Item 0: id-eNB-UE-S1AP-ID" size="8" value="000800048006692d"> - <field name="s1ap.ProtocolIE_Field_element" pos="69" show="" showname="ProtocolIE-Field" size="8" value=""> - <field name="s1ap.id" pos="69" show="8" showname="id: id-eNB-UE-S1AP-ID (8)" size="2" value="0008"/> - <field hide="yes" name="per.enum_index" pos="71" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="71" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="72" show="4" showname="Open Type Length: 4" size="1" value="04"/> - <field name="s1ap.value_element" pos="73" show="" showname="value" size="4" value=""> - <field name="s1ap.ENB_UE_S1AP_ID" pos="73" show="420141" showname="ENB-UE-S1AP-ID: 420141" size="4" value="8006692d"/> - </field> - </field> - </field> - <field name="" pos="77" show="Item 1: id-NAS-PDU" size="69" value="001a00414017c4dba6bb020741010bf602f8598000016c00092002e0e000200201d011271a8080211001000010810600000000830600000000000d00000a005202f8590001"> - <field name="s1ap.ProtocolIE_Field_element" pos="77" show="" showname="ProtocolIE-Field" size="69" value=""> - <field name="s1ap.id" pos="77" show="26" showname="id: id-NAS-PDU (26)" size="2" value="001a"/> - <field hide="yes" name="per.enum_index" pos="79" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="79" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="80" show="65" showname="Open Type Length: 65" size="1" value="41"/> - <field name="s1ap.value_element" pos="81" show="" showname="value" size="65" value=""> - <field hide="yes" name="per.octet_string_length" pos="81" show="64" showname="Octet String Length: 64" size="1" value="40"/> - <field name="s1ap.NAS_PDU" pos="82" show="17:c4:db:a6:bb:02:07:41:01:0b:f6:02:f8:59:80:00:01:6c:00:09:20:02:e0:e0:00:20:02:01:d0:11:27:1a:80:80:21:10:01:00:00:10:81:06:00:00:00:00:83:06:00:00:00:00:00:0d:00:00:0a:00:52:02:f8:59:00:01" showname="NAS-PDU: 17c4dba6bb020741010bf602f8598000016c00092002e0e0..." size="64" value="17c4dba6bb020741010bf602f8598000016c00092002e0e000200201d011271a8080211001000010810600000000830600000000000d00000a005202f8590001"/> - <proto name="nas-eps" pos="82" showname="Non-Access-Stratum (NAS)PDU" size="64"> - <field name="nas_eps.security_header_type" pos="82" show="1" showname="0001 .... = Security header type: Integrity protected (1)" size="1" unmaskedvalue="17" value="1"/> - <field name="gsm_a.L3_protocol_discriminator" pos="82" show="7" showname=".... 0111 = Protocol discriminator: EPS mobility management messages (0x07)" size="1" unmaskedvalue="17" value="7"/> - <field name="nas_eps.msg_auth_code" pos="83" show="3302729403" showname="Message authentication code: 0xc4dba6bb" size="4" value="c4dba6bb"/> - <field name="nas_eps.seq_no" pos="87" show="2" showname="Sequence number: 2" size="1" value="02"/> - <field name="nas_eps.security_header_type" pos="88" show="0" showname="0000 .... = Security header type: Plain NAS message, not security protected (0)" size="1" unmaskedvalue="07" value="0"/> - <field name="gsm_a.L3_protocol_discriminator" pos="88" show="7" showname=".... 0111 = Protocol discriminator: EPS mobility management messages (0x07)" size="1" unmaskedvalue="07" value="7"/> - <field name="nas_eps.nas_msg_emm_type" pos="89" show="65" showname="NAS EPS Mobility Management Message Type: Attach request (0x41)" size="1" value="41"/> - <field name="nas_eps.emm.tsc" pos="90" show="0" showname="0... .... = Type of security context flag (TSC): Native security context (for KSIasme)" size="1" value="01"/> - <field name="nas_eps.emm.nas_key_set_id" pos="90" show="0" showname=".000 .... = NAS key set identifier: (0)" size="1" value="01"/> - <field name="nas_eps.spare_bits" pos="90" show="0" showname=".... 0... = Spare bit(s): 0x00" size="1" value="01"/> - <field name="nas_eps.emm.eps_att_type" pos="90" show="1" showname=".... .001 = EPS attach type: EPS attach (1)" size="1" value="01"/> - <field name="" pos="91" show="EPS mobile identity" size="12" value="0bf602f8598000016c000920"> - <field name="gsm_a.len" pos="91" show="11" showname="Length: 11" size="1" value="0b"/> - <field name="nas_eps.emm.odd_even" pos="92" show="0" showname=".... 0... = odd/even indic: 0" size="1" unmaskedvalue="f6" value="0"/> - <field name="nas_eps.emm.type_of_id" pos="92" show="6" showname=".... .110 = Type of identity: GUTI (6)" size="1" unmaskedvalue="f6" value="6"/> - <field name="e212.mcc" pos="93" show="208" showname="Mobile Country Code (MCC): France (208)" size="2" value="02f8"/> - <field name="e212.mnc" pos="94" show="95" showname="Mobile Network Code (MNC): Unknown (95)" size="2" value="f859"/> - <field name="nas_eps.emm.mme_grp_id" pos="96" show="32768" showname="MME Group ID: 32768" size="2" value="8000"/> - <field name="nas_eps.emm.mme_code" pos="98" show="1" showname="MME Code: 1" size="1" value="01"/> - <field name="nas_eps.emm.m_tmsi" pos="99" show="1811941664" showname="M-TMSI: 0x6c000920" size="4" value="6c000920"/> - </field> - <field name="" pos="103" show="UE network capability" size="3" value="02e0e0"> - <field name="gsm_a.len" pos="103" show="2" showname="Length: 2" size="1" value="02"/> - <field name="nas_eps.emm.eea0" pos="104" show="1" showname="1... .... = EEA0: Supported" size="1" unmaskedvalue="e0" value="1"/> - <field name="nas_eps.emm.128eea1" pos="104" show="1" showname=".1.. .... = 128-EEA1: Supported" size="1" unmaskedvalue="e0" value="1"/> - <field name="nas_eps.emm.128eea2" pos="104" show="1" showname="..1. .... = 128-EEA2: Supported" size="1" unmaskedvalue="e0" value="1"/> - <field name="nas_eps.emm.eea3" pos="104" show="0" showname="...0 .... = 128-EEA3: Not Supported" size="1" unmaskedvalue="e0" value="0"/> - <field name="nas_eps.emm.eea4" pos="104" show="0" showname=".... 0... = EEA4: Not Supported" size="1" unmaskedvalue="e0" value="0"/> - <field name="nas_eps.emm.eea5" pos="104" show="0" showname=".... .0.. = EEA5: Not Supported" size="1" unmaskedvalue="e0" value="0"/> - <field name="nas_eps.emm.eea6" pos="104" show="0" showname=".... ..0. = EEA6: Not Supported" size="1" unmaskedvalue="e0" value="0"/> - <field name="nas_eps.emm.eea7" pos="104" show="0" showname=".... ...0 = EEA7: Not Supported" size="1" unmaskedvalue="e0" value="0"/> - <field name="nas_eps.emm.eia0" pos="105" show="1" showname="1... .... = EIA0: Supported" size="1" unmaskedvalue="e0" value="1"/> - <field name="nas_eps.emm.128eia1" pos="105" show="1" showname=".1.. .... = 128-EIA1: Supported" size="1" unmaskedvalue="e0" value="1"/> - <field name="nas_eps.emm.128eia2" pos="105" show="1" showname="..1. .... = 128-EIA2: Supported" size="1" unmaskedvalue="e0" value="1"/> - <field name="nas_eps.emm.eia3" pos="105" show="0" showname="...0 .... = 128-EIA3: Not Supported" size="1" unmaskedvalue="e0" value="0"/> - <field name="nas_eps.emm.eia4" pos="105" show="0" showname=".... 0... = EIA4: Not Supported" size="1" unmaskedvalue="e0" value="0"/> - <field name="nas_eps.emm.eia5" pos="105" show="0" showname=".... .0.. = EIA5: Not Supported" size="1" unmaskedvalue="e0" value="0"/> - <field name="nas_eps.emm.eia6" pos="105" show="0" showname=".... ..0. = EIA6: Not Supported" size="1" unmaskedvalue="e0" value="0"/> - <field name="nas_eps.emm.eia7" pos="105" show="0" showname=".... ...0 = EIA7: Not Supported" size="1" unmaskedvalue="e0" value="0"/> - </field> - <field name="" pos="106" show="ESM message container" size="34" value="00200201d011271a8080211001000010810600000000830600000000000d00000a00"> - <field name="gsm_a.len" pos="106" show="32" showname="Length: 32" size="2" value="0020"/> - <field name="nas_eps.emm.esm_msg_cont" pos="108" show="02:01:d0:11:27:1a:80:80:21:10:01:00:00:10:81:06:00:00:00:00:83:06:00:00:00:00:00:0d:00:00:0a:00" showname="ESM message container contents: 0201d011271a808021100100001081060000000083060000..." size="32" value="0201d011271a8080211001000010810600000000830600000000000d00000a00"> - <field name="nas_eps.bearer_id" pos="108" show="0" showname="0000 .... = EPS bearer identity: No EPS bearer identity assigned (0)" size="1" unmaskedvalue="02" value="0"/> - <field name="gsm_a.L3_protocol_discriminator" pos="108" show="2" showname=".... 0010 = Protocol discriminator: EPS session management messages (0x02)" size="1" unmaskedvalue="02" value="2"/> - <field name="nas_eps.esm.proc_trans_id" pos="109" show="1" showname="Procedure transaction identity: 1" size="1" value="01"/> - <field name="nas_eps.nas_msg_esm_type" pos="110" show="208" showname="NAS EPS session management messages: PDN connectivity request (0xd0)" size="1" value="d0"/> - <field name="nas_eps.esm_pdn_type" pos="111" show="1" showname="0001 .... = PDN type: IPv4 (1)" size="1" value="11"/> - <field name="nas_eps.esm_request_type" pos="111" show="1" showname=".... 0001 = Request type: initial request (1)" size="1" value="11"/> - <field name="" pos="112" show="Protocol Configuration Options" size="28" value="271a8080211001000010810600000000830600000000000d00000a00"> - <field name="gsm_a.gm.elem_id" pos="112" show="39" showname="Element ID: 0x27" size="1" value="27"/> - <field name="gsm_a.len" pos="113" show="26" showname="Length: 26" size="1" value="1a"/> - <field name="gsm_a.gm.sm.link_dir" pos="114" show="0" showname="Link direction: MS to network (0)" size="0"/> - <field name="gsm_a.gm.sm.ext" pos="114" show="1" showname="1... .... = Extension: True" size="1" unmaskedvalue="80" value="1"/> - <field name="" pos="114" show="Configuration Protocol: PPP for use with IP PDP type or IP PDN type (0)" size="1" value="80"/> - <field name="gsm_a.gm.sm.pco_pid" pos="115" show="32801" showname="Protocol or Container ID: Internet Protocol Control Protocol (0x8021)" size="2" value="8021"> - <field name="" pos="117" show="Length: 0x10 (16)" size="1" value="10"/> - <proto name="ipcp" pos="118" showname="PPP IP Control Protocol" size="16"> - <field name="ppp.code" pos="118" show="1" showname="Code: Configuration Request (1)" size="1" value="01"/> - <field name="ppp.identifier" pos="119" show="0" showname="Identifier: 0 (0x00)" size="1" value="00"/> - <field name="ppp.length" pos="120" show="16" showname="Length: 16" size="2" value="0010"/> - <field name="" pos="122" show="Options: (12 bytes), Primary DNS Server IP Address, Secondary DNS Server IP Address" size="12" value="810600000000830600000000"> - <field name="" pos="122" show="Primary DNS Server IP Address: 0.0.0.0" size="6" value="810600000000"> - <field name="ipcp.opt.type" pos="122" show="129" showname="Type: Primary DNS Server IP Address (129)" size="1" value="81"/> - <field name="ipcp.opt.length" pos="123" show="6" showname="Length: 6" size="1" value="06"/> - <field name="ipcp.opt.pri_dns_address" pos="124" show="0.0.0.0" showname="Primary DNS Address: 0.0.0.0 (0.0.0.0)" size="4" value="00000000"/> - </field> - <field name="" pos="128" show="Secondary DNS Server IP Address: 0.0.0.0" size="6" value="830600000000"> - <field name="ipcp.opt.type" pos="128" show="131" showname="Type: Secondary DNS Server IP Address (131)" size="1" value="83"/> - <field name="ipcp.opt.length" pos="129" show="6" showname="Length: 6" size="1" value="06"/> - <field name="ipcp.opt.sec_dns_address" pos="130" show="0.0.0.0" showname="Secondary DNS Address: 0.0.0.0 (0.0.0.0)" size="4" value="00000000"/> - </field> - </field> - </proto> - </field> - <field name="gsm_a.gm.sm.pco_pid" pos="134" show="13" showname="Protocol or Container ID: DNS Server IPv4 Address Request (0x000d)" size="2" value="000d"> - <field name="" pos="136" show="Length: 0x00 (0)" size="1" value="00"/> - </field> - <field name="gsm_a.gm.sm.pco_pid" pos="137" show="10" showname="Protocol or Container ID: IP address allocation via NAS signalling (0x000a)" size="2" value="000a"> - <field name="" pos="139" show="Length: 0x00 (0)" size="1" value="00"/> - </field> - </field> - </field> - </field> - <field name="" pos="140" show="Tracking area identity - Last visited registered TAI" size="6" value="5202f8590001"> - <field name="nas_eps.emm.elem_id" pos="140" show="82" showname="Element ID: 0x52" size="1" value="52"/> - <field name="e212.mcc" pos="141" show="208" showname="Mobile Country Code (MCC): France (208)" size="2" value="02f8"/> - <field name="e212.mnc" pos="142" show="95" showname="Mobile Network Code (MNC): Unknown (95)" size="2" value="f859"/> - <field name="nas_eps.emm.tai_tac" pos="144" show="1" showname="Tracking area code(TAC): 0x0001" size="2" value="0001"/> - </field> - </proto> - </field> - </field> - </field> - <field name="" pos="146" show="Item 2: id-TAI" size="10" value="004300060002f8590001"> - <field name="s1ap.ProtocolIE_Field_element" pos="146" show="" showname="ProtocolIE-Field" size="10" value=""> - <field name="s1ap.id" pos="146" show="67" showname="id: id-TAI (67)" size="2" value="0043"/> - <field hide="yes" name="per.enum_index" pos="148" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="148" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="149" show="6" showname="Open Type Length: 6" size="1" value="06"/> - <field name="s1ap.value_element" pos="150" show="" showname="value" size="6" value=""> - <field name="s1ap.TAI_element" pos="150" show="" showname="TAI" size="6" value=""> - <field hide="yes" name="per.extension_bit" pos="150" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.optional_field_bit" pos="150" show="0" showname=".0.. .... Optional Field Bit: False (iE-Extensions is NOT present)" size="1" unmaskedvalue="00" value="0"/> - <field name="s1ap.pLMNidentity" pos="151" show="02:f8:59" showname="pLMNidentity: 02f859" size="3" value="02f859"/> - <field name="e212.mcc" pos="151" show="208" showname="Mobile Country Code (MCC): France (208)" size="2" value="02f8"/> - <field name="e212.mnc" pos="152" show="95" showname="Mobile Network Code (MNC): Unknown (95)" size="2" value="f859"/> - <field name="s1ap.tAC" pos="154" show="00:01" showname="tAC: 0001" size="2" value="0001"/> - </field> - </field> - </field> - </field> - <field name="" pos="156" show="Item 3: id-EUTRAN-CGI" size="12" value="006440080002f85900e00000"> - <field name="s1ap.ProtocolIE_Field_element" pos="156" show="" showname="ProtocolIE-Field" size="12" value=""> - <field name="s1ap.id" pos="156" show="100" showname="id: id-EUTRAN-CGI (100)" size="2" value="0064"/> - <field hide="yes" name="per.enum_index" pos="158" show="1" showname="Enumerated Index: 1" size="1" value="40"/> - <field name="s1ap.criticality" pos="158" show="1" showname="criticality: ignore (1)" size="1" value="40"/> - <field hide="yes" name="per.open_type_length" pos="159" show="8" showname="Open Type Length: 8" size="1" value="08"/> - <field name="s1ap.value_element" pos="160" show="" showname="value" size="8" value=""> - <field name="s1ap.EUTRAN_CGI_element" pos="160" show="" showname="EUTRAN-CGI" size="7" value=""> - <field hide="yes" name="per.extension_bit" pos="160" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.optional_field_bit" pos="160" show="0" showname=".0.. .... Optional Field Bit: False (iE-Extensions is NOT present)" size="1" unmaskedvalue="00" value="0"/> - <field name="s1ap.pLMNidentity" pos="161" show="02:f8:59" showname="pLMNidentity: 02f859" size="3" value="02f859"/> - <field name="e212.mcc" pos="161" show="208" showname="Mobile Country Code (MCC): France (208)" size="2" value="02f8"/> - <field name="e212.mnc" pos="162" show="95" showname="Mobile Network Code (MNC): Unknown (95)" size="2" value="f859"/> - <field name="s1ap.cell_ID" pos="160" show="00:e0:00:00" showname="cell-ID: 00e00000 [bit length 28, 4 LSB pad bits, 0000 0000 1110 0000 0000 0000 0000 .... decimal value 917504]" size="4" value="00e00000"/> - </field> - </field> - </field> - </field> - <field name="" pos="168" show="Item 4: id-RRC-Establishment-Cause" size="5" value="0086400130"> - <field name="s1ap.ProtocolIE_Field_element" pos="168" show="" showname="ProtocolIE-Field" size="5" value=""> - <field name="s1ap.id" pos="168" show="134" showname="id: id-RRC-Establishment-Cause (134)" size="2" value="0086"/> - <field hide="yes" name="per.enum_index" pos="170" show="1" showname="Enumerated Index: 1" size="1" value="40"/> - <field name="s1ap.criticality" pos="170" show="1" showname="criticality: ignore (1)" size="1" value="40"/> - <field hide="yes" name="per.open_type_length" pos="171" show="1" showname="Open Type Length: 1" size="1" value="01"/> - <field name="s1ap.value_element" pos="172" show="" showname="value" size="1" value=""> - <field hide="yes" name="per.extension_present_bit" pos="172" show="0" showname="0... .... Extension Present Bit: False" size="1" unmaskedvalue="30" value="0"/> - <field hide="yes" name="per.enum_index" pos="172" show="3" showname="Enumerated Index: 3" size="1" value="30"/> - <field name="s1ap.RRC_Establishment_Cause" pos="172" show="3" showname="RRC-Establishment-Cause: mo-Signalling (3)" size="1" value="30"/> - </field> - </field> - </field> - <field name="" pos="173" show="Item 5: id-GUMMEI-ID" size="11" value="004b000700000000800001"> - <field name="s1ap.ProtocolIE_Field_element" pos="173" show="" showname="ProtocolIE-Field" size="11" value=""> - <field name="s1ap.id" pos="173" show="75" showname="id: id-GUMMEI-ID (75)" size="2" value="004b"/> - <field hide="yes" name="per.enum_index" pos="175" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="175" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="176" show="7" showname="Open Type Length: 7" size="1" value="07"/> - <field name="s1ap.value_element" pos="177" show="" showname="value" size="7" value=""> - <field name="s1ap.GUMMEI_element" pos="177" show="" showname="GUMMEI" size="7" value=""> - <field hide="yes" name="per.extension_bit" pos="177" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.optional_field_bit" pos="177" show="0" showname=".0.. .... Optional Field Bit: False (iE-Extensions is NOT present)" size="1" unmaskedvalue="00" value="0"/> - <field name="s1ap.pLMN_Identity" pos="178" show="00:00:00" showname="pLMN-Identity: 000000" size="3" value="000000"/> - <field name="e212.mcc" pos="178" show="0" showname="Mobile Country Code (MCC): Unknown (0)" size="2" value="0000"/> - <field name="e212.mnc" pos="179" show="0" showname="Mobile Network Code (MNC): Unknown (000)" size="2" value="0000"/> - <field name="s1ap.mME_Group_ID" pos="181" show="80:00" showname="mME-Group-ID: 8000" size="2" value="8000"/> - <field name="s1ap.mME_Code" pos="183" show="01" showname="mME-Code: 01" size="1" value="01"/> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </proto> -</packet> -<packet> - - <proto name="frame" pos="0" showname="Frame 77: 110 bytes on wire (880 bits), 110 bytes captured (880 bits) on interface 0" size="110"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0 (eth0)" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:34:53.749945000 CEST" showname="Arrival Time: Sep 25, 2015 16:34:53.749945000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191693.749945000" showname="Epoch Time: 1443191693.749945000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.001624000" showname="Time delta from previous captured frame: 0.001624000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.001624000" showname="Time delta from previous displayed frame: 0.001624000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="47.284314000" showname="Time since reference or first frame: 47.284314000 seconds" size="0"/> - <field name="frame.number" pos="0" show="77" showname="Frame Number: 77" size="0"/> - <field name="frame.len" pos="0" show="110" showname="Frame Length: 110 bytes (880 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="110" showname="Capture Length: 110 bytes (880 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ethertype:ip:sctp:s1ap:s1ap:s1ap:s1ap:s1ap:nas-eps" showname="Protocols in frame: eth:ethertype:ip:sctp:s1ap:s1ap:s1ap:s1ap:s1ap:nas-eps" size="0"/> - </proto> - - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.17 (192.168.12.17), Dst: 192.168.12.213 (192.168.12.213)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header Length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="2" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="96" showname="Total Length: 96" size="2" value="0060"/> - <field name="ip.id" pos="18" show="0" showname="Identification: 0x0000 (0)" size="2" value="0000"/> - <field name="ip.flags" pos="20" show="2" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="40929" showname="Header checksum: 0x9fe1 [validation disabled]" size="2" value="9fe1"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="9fe1"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="9fe1"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.17" showname="Source: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.17" showname="Source Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="ip.dst" pos="30" show="192.168.12.213" showname="Destination: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.213" showname="Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80c11"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80cd5"/> - </proto> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: 36412 (36412), Dst Port: 36412 (36412)" size="44"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="1425553323" showname="Verification tag: 0x54f837ab" size="4" value="54f837ab"/> - <field name="sctp.assoc_index" pos="34" show="0" showname="Assocation index: 0" size="0"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="1777986730" showname="Checksum: 0x69f9ecaa (not verified)" size="4" value="69f9ecaa"/> - <field name="" pos="46" show="SACK chunk (Cumulative TSN: 3304831192, a_rwnd: 106496, gaps: 0, duplicate TSNs: 0)" size="16" value="03000010c4fbb8d80001a00000000000"> - <field name="sctp.chunk_type" pos="46" show="3" showname="Chunk type: SACK (3)" size="1" value="03"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="03" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="03" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0" showname="Chunk flags: 0x00" size="1" value="00"> - <field name="sctp.sack_nounce_sum" pos="47" show="0" showname=".... ...0 = Nounce sum: 0" size="1" unmaskedvalue="00" value="0"/> - </field> - <field name="sctp.chunk_length" pos="48" show="16" showname="Chunk length: 16" size="2" value="0010"/> - <field name="sctp.sack_cumulative_tsn_ack" pos="50" show="3304831192" showname="Cumulative TSN ACK: 3304831192" size="4" value="c4fbb8d8"> - <field name="sctp.ack" pos="96" show="3304831192" showname="Acknowledges TSN: 3304831192" size="0"> - <field name="sctp.ack_frame" pos="46" show="76" showname="Chunk acknowledged in frame: 76" size="0"/> - <field name="sctp.sack_rtt" pos="46" show="0.001624000" showname="The RTT since DATA was: 0.001624000 seconds" size="0"/> - </field> - </field> - <field name="sctp.sack_a_rwnd" pos="54" show="106496" showname="Advertised receiver window credit (a_rwnd): 106496" size="4" value="0001a000"/> - <field name="sctp.sack_number_of_gap_blocks" pos="58" show="0" showname="Number of gap acknowledgement blocks: 0" size="2" value="0000"/> - <field name="sctp.sack_number_of_duplicated_tsns" pos="60" show="0" showname="Number of duplicated TSNs: 0" size="2" value="0000"/> - </field> - <field name="" pos="62" show="DATA chunk(ordered, complete segment, TSN: 2008295176, SID: 1, SSN: 0, PPID: 301989888, payload length: 32 bytes)" size="16" value="0003003077b427080001000012000000"> - <field name="sctp.chunk_type" pos="62" show="0" showname="Chunk type: DATA (0)" size="1" value="00"> - <field name="sctp.chunk_bit_1" pos="62" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="00" value="0"/> - <field name="sctp.chunk_bit_2" pos="62" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="00" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="63" show="3" showname="Chunk flags: 0x03" size="1" value="03"> - <field name="sctp.data_e_bit" pos="63" show="1" showname=".... ...1 = E-Bit: Last segment" size="1" unmaskedvalue="03" value="1"/> - <field name="sctp.data_b_bit" pos="63" show="1" showname=".... ..1. = B-Bit: First segment" size="1" unmaskedvalue="03" value="1"/> - <field name="sctp.data_u_bit" pos="63" show="0" showname=".... .0.. = U-Bit: Ordered delivery" size="1" unmaskedvalue="03" value="0"/> - <field name="sctp.data_i_bit" pos="63" show="0" showname=".... 0... = I-Bit: Possibly delay SACK" size="1" unmaskedvalue="03" value="0"/> - </field> - <field name="sctp.chunk_length" pos="64" show="48" showname="Chunk length: 48" size="2" value="0030"/> - <field name="sctp.data_tsn" pos="66" show="2008295176" showname="TSN: 2008295176" size="4" value="77b42708"/> - <field name="sctp.data_sid" pos="70" show="1" showname="Stream Identifier: 0x0001" size="2" value="0001"/> - <field name="sctp.data_ssn" pos="72" show="0" showname="Stream sequence number: 0" size="2" value="0000"/> - <field name="sctp.data_payload_proto_id" pos="74" show="301989888" showname="Payload protocol identifier: Unknown (301989888)" size="4" value="12000000"/> - </field> - </proto> - <proto name="s1ap" pos="78" showname="S1 Application Protocol" size="32"> - <field hide="yes" name="per.extension_bit" pos="78" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.choice_index" pos="78" show="0" showname="Choice Index: 0" size="1" value="00"/> - <field name="s1ap.S1AP_PDU" pos="78" show="0" showname="S1AP-PDU: initiatingMessage (0)" size="32" value="000b001c00000300000005c0740010d0000800048006692d001a000403075501"> - <field name="s1ap.initiatingMessage_element" pos="78" show="" showname="initiatingMessage" size="32" value=""> - <field name="s1ap.procedureCode" pos="79" show="11" showname="procedureCode: id-downlinkNASTransport (11)" size="1" value="0b"/> - <field hide="yes" name="per.enum_index" pos="80" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="80" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="81" show="28" showname="Open Type Length: 28" size="1" value="1c"/> - <field name="s1ap.value_element" pos="82" show="" showname="value" size="28" value=""> - <field name="s1ap.DownlinkNASTransport_element" pos="82" show="" showname="DownlinkNASTransport" size="28" value=""> - <field hide="yes" name="per.extension_bit" pos="82" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.sequence_of_length" pos="83" show="3" showname="Sequence-Of Length: 3" size="2" value="0003"/> - <field name="s1ap.protocolIEs" pos="85" show="3" showname="protocolIEs: 3 items" size="25" value="00000005c0740010d0000800048006692d001a000403075501"> - <field name="" pos="85" show="Item 0: id-MME-UE-S1AP-ID" size="9" value="00000005c0740010d0"> - <field name="s1ap.ProtocolIE_Field_element" pos="85" show="" showname="ProtocolIE-Field" size="9" value=""> - <field name="s1ap.id" pos="85" show="0" showname="id: id-MME-UE-S1AP-ID (0)" size="2" value="0000"/> - <field hide="yes" name="per.enum_index" pos="87" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="87" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="88" show="5" showname="Open Type Length: 5" size="1" value="05"/> - <field name="s1ap.value_element" pos="89" show="" showname="value" size="5" value=""> - <field name="s1ap.MME_UE_S1AP_ID" pos="89" show="1946161360" showname="MME-UE-S1AP-ID: 1946161360" size="5" value="c0740010d0"/> - </field> - </field> - </field> - <field name="" pos="94" show="Item 1: id-eNB-UE-S1AP-ID" size="8" value="000800048006692d"> - <field name="s1ap.ProtocolIE_Field_element" pos="94" show="" showname="ProtocolIE-Field" size="8" value=""> - <field name="s1ap.id" pos="94" show="8" showname="id: id-eNB-UE-S1AP-ID (8)" size="2" value="0008"/> - <field hide="yes" name="per.enum_index" pos="96" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="96" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="97" show="4" showname="Open Type Length: 4" size="1" value="04"/> - <field name="s1ap.value_element" pos="98" show="" showname="value" size="4" value=""> - <field name="s1ap.ENB_UE_S1AP_ID" pos="98" show="420141" showname="ENB-UE-S1AP-ID: 420141" size="4" value="8006692d"/> - </field> - </field> - </field> - <field name="" pos="102" show="Item 2: id-NAS-PDU" size="8" value="001a000403075501"> - <field name="s1ap.ProtocolIE_Field_element" pos="102" show="" showname="ProtocolIE-Field" size="8" value=""> - <field name="s1ap.id" pos="102" show="26" showname="id: id-NAS-PDU (26)" size="2" value="001a"/> - <field hide="yes" name="per.enum_index" pos="104" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="104" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="105" show="4" showname="Open Type Length: 4" size="1" value="04"/> - <field name="s1ap.value_element" pos="106" show="" showname="value" size="4" value=""> - <field hide="yes" name="per.octet_string_length" pos="106" show="3" showname="Octet String Length: 3" size="1" value="03"/> - <field name="s1ap.NAS_PDU" pos="107" show="07:55:01" showname="NAS-PDU: 075501" size="3" value="075501"/> - <proto name="nas-eps" pos="107" showname="Non-Access-Stratum (NAS)PDU" size="3"> - <field name="nas_eps.security_header_type" pos="107" show="0" showname="0000 .... = Security header type: Plain NAS message, not security protected (0)" size="1" unmaskedvalue="07" value="0"/> - <field name="gsm_a.L3_protocol_discriminator" pos="107" show="7" showname=".... 0111 = Protocol discriminator: EPS mobility management messages (0x07)" size="1" unmaskedvalue="07" value="7"/> - <field name="nas_eps.nas_msg_emm_type" pos="108" show="85" showname="NAS EPS Mobility Management Message Type: Identity request (0x55)" size="1" value="55"/> - <field name="nas_eps.emm.spare_half_octet" pos="109" show="0" showname="0000 .... = Spare half octet: 0" size="1" value="01"/> - <field name="nas_eps.emm.id_type2" pos="109" show="1" showname=".... 0001 = Identity type 2: IMSI (1)" size="1" value="01"/> - </proto> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </proto> -</packet> -<packet> - - <proto name="frame" pos="0" showname="Frame 78: 146 bytes on wire (1168 bits), 146 bytes captured (1168 bits) on interface 0" size="146"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0 (eth0)" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:34:53.767126000 CEST" showname="Arrival Time: Sep 25, 2015 16:34:53.767126000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191693.767126000" showname="Epoch Time: 1443191693.767126000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.017181000" showname="Time delta from previous captured frame: 0.017181000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.017181000" showname="Time delta from previous displayed frame: 0.017181000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="47.301495000" showname="Time since reference or first frame: 47.301495000 seconds" size="0"/> - <field name="frame.number" pos="0" show="78" showname="Frame Number: 78" size="0"/> - <field name="frame.len" pos="0" show="146" showname="Frame Length: 146 bytes (1168 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="146" showname="Capture Length: 146 bytes (1168 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ethertype:ip:sctp:s1ap:s1ap:s1ap:s1ap:s1ap:nas-eps:s1ap:s1ap" showname="Protocols in frame: eth:ethertype:ip:sctp:s1ap:s1ap:s1ap:s1ap:s1ap:nas-eps:s1ap:s1ap" size="0"/> - </proto> - - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.213 (192.168.12.213), Dst: 192.168.12.17 (192.168.12.17)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header Length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="2" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="132" showname="Total Length: 132" size="2" value="0084"/> - <field name="ip.id" pos="18" show="6" showname="Identification: 0x0006 (6)" size="2" value="0006"/> - <field name="ip.flags" pos="20" show="2" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="40887" showname="Header checksum: 0x9fb7 [validation disabled]" size="2" value="9fb7"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="9fb7"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="9fb7"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.213" showname="Source: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.213" showname="Source Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="ip.dst" pos="30" show="192.168.12.17" showname="Destination: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.17" showname="Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80cd5"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80c11"/> - </proto> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: 36412 (36412), Dst Port: 36412 (36412)" size="44"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="1288826016" showname="Verification tag: 0x4cd1eca0" size="4" value="4cd1eca0"/> - <field name="sctp.assoc_index" pos="34" show="0" showname="Assocation index: 0" size="0"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="1823354789" showname="Checksum: 0x6cae2fa5 (not verified)" size="4" value="6cae2fa5"/> - <field name="" pos="46" show="SACK chunk (Cumulative TSN: 2008295176, a_rwnd: 106496, gaps: 0, duplicate TSNs: 0)" size="16" value="0300001077b427080001a00000000000"> - <field name="sctp.chunk_type" pos="46" show="3" showname="Chunk type: SACK (3)" size="1" value="03"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="03" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="03" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0" showname="Chunk flags: 0x00" size="1" value="00"> - <field name="sctp.sack_nounce_sum" pos="47" show="0" showname=".... ...0 = Nounce sum: 0" size="1" unmaskedvalue="00" value="0"/> - </field> - <field name="sctp.chunk_length" pos="48" show="16" showname="Chunk length: 16" size="2" value="0010"/> - <field name="sctp.sack_cumulative_tsn_ack" pos="50" show="2008295176" showname="Cumulative TSN ACK: 2008295176" size="4" value="77b42708"> - <field name="sctp.ack" pos="96" show="2008295176" showname="Acknowledges TSN: 2008295176" size="0"> - <field name="sctp.ack_frame" pos="46" show="77" showname="Chunk acknowledged in frame: 77" size="0"/> - <field name="sctp.sack_rtt" pos="46" show="0.017181000" showname="The RTT since DATA was: 0.017181000 seconds" size="0"/> - </field> - </field> - <field name="sctp.sack_a_rwnd" pos="54" show="106496" showname="Advertised receiver window credit (a_rwnd): 106496" size="4" value="0001a000"/> - <field name="sctp.sack_number_of_gap_blocks" pos="58" show="0" showname="Number of gap acknowledgement blocks: 0" size="2" value="0000"/> - <field name="sctp.sack_number_of_duplicated_tsns" pos="60" show="0" showname="Number of duplicated TSNs: 0" size="2" value="0000"/> - </field> - <field name="" pos="62" show="DATA chunk(ordered, complete segment, TSN: 3304831193, SID: 1, SSN: 1, PPID: 18, payload length: 68 bytes)" size="16" value="00030054c4fbb8d90001000100000012"> - <field name="sctp.chunk_type" pos="62" show="0" showname="Chunk type: DATA (0)" size="1" value="00"> - <field name="sctp.chunk_bit_1" pos="62" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="00" value="0"/> - <field name="sctp.chunk_bit_2" pos="62" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="00" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="63" show="3" showname="Chunk flags: 0x03" size="1" value="03"> - <field name="sctp.data_e_bit" pos="63" show="1" showname=".... ...1 = E-Bit: Last segment" size="1" unmaskedvalue="03" value="1"/> - <field name="sctp.data_b_bit" pos="63" show="1" showname=".... ..1. = B-Bit: First segment" size="1" unmaskedvalue="03" value="1"/> - <field name="sctp.data_u_bit" pos="63" show="0" showname=".... .0.. = U-Bit: Ordered delivery" size="1" unmaskedvalue="03" value="0"/> - <field name="sctp.data_i_bit" pos="63" show="0" showname=".... 0... = I-Bit: Possibly delay SACK" size="1" unmaskedvalue="03" value="0"/> - </field> - <field name="sctp.chunk_length" pos="64" show="84" showname="Chunk length: 84" size="2" value="0054"/> - <field name="sctp.data_tsn" pos="66" show="3304831193" showname="TSN: 3304831193" size="4" value="c4fbb8d9"/> - <field name="sctp.data_sid" pos="70" show="1" showname="Stream Identifier: 0x0001" size="2" value="0001"/> - <field name="sctp.data_ssn" pos="72" show="1" showname="Stream sequence number: 1" size="2" value="0001"/> - <field name="sctp.data_payload_proto_id" pos="74" show="18" showname="Payload protocol identifier: S1 Application Protocol (S1AP) (18)" size="4" value="00000012"/> - </field> - </proto> - <proto name="s1ap" pos="78" showname="S1 Application Protocol" size="68"> - <field hide="yes" name="per.extension_bit" pos="78" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.choice_index" pos="78" show="0" showname="Choice Index: 0" size="1" value="00"/> - <field name="s1ap.S1AP_PDU" pos="78" show="0" showname="S1AP-PDU: initiatingMessage (0)" size="68" value="000d404000000500000005c0740010d0000800048006692d001a00121117b3e0e284030756082980590000000020006440080002f85900e00000004340060002f8590001"> - <field name="s1ap.initiatingMessage_element" pos="78" show="" showname="initiatingMessage" size="68" value=""> - <field name="s1ap.procedureCode" pos="79" show="13" showname="procedureCode: id-uplinkNASTransport (13)" size="1" value="0d"/> - <field hide="yes" name="per.enum_index" pos="80" show="1" showname="Enumerated Index: 1" size="1" value="40"/> - <field name="s1ap.criticality" pos="80" show="1" showname="criticality: ignore (1)" size="1" value="40"/> - <field hide="yes" name="per.open_type_length" pos="81" show="64" showname="Open Type Length: 64" size="1" value="40"/> - <field name="s1ap.value_element" pos="82" show="" showname="value" size="64" value=""> - <field name="s1ap.UplinkNASTransport_element" pos="82" show="" showname="UplinkNASTransport" size="64" value=""> - <field hide="yes" name="per.extension_bit" pos="82" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.sequence_of_length" pos="83" show="5" showname="Sequence-Of Length: 5" size="2" value="0005"/> - <field name="s1ap.protocolIEs" pos="85" show="5" showname="protocolIEs: 5 items" size="61" value="00000005c0740010d0000800048006692d001a00121117b3e0e284030756082980590000000020006440080002f85900e00000004340060002f8590001"> - <field name="" pos="85" show="Item 0: id-MME-UE-S1AP-ID" size="9" value="00000005c0740010d0"> - <field name="s1ap.ProtocolIE_Field_element" pos="85" show="" showname="ProtocolIE-Field" size="9" value=""> - <field name="s1ap.id" pos="85" show="0" showname="id: id-MME-UE-S1AP-ID (0)" size="2" value="0000"/> - <field hide="yes" name="per.enum_index" pos="87" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="87" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="88" show="5" showname="Open Type Length: 5" size="1" value="05"/> - <field name="s1ap.value_element" pos="89" show="" showname="value" size="5" value=""> - <field name="s1ap.MME_UE_S1AP_ID" pos="89" show="1946161360" showname="MME-UE-S1AP-ID: 1946161360" size="5" value="c0740010d0"/> - </field> - </field> - </field> - <field name="" pos="94" show="Item 1: id-eNB-UE-S1AP-ID" size="8" value="000800048006692d"> - <field name="s1ap.ProtocolIE_Field_element" pos="94" show="" showname="ProtocolIE-Field" size="8" value=""> - <field name="s1ap.id" pos="94" show="8" showname="id: id-eNB-UE-S1AP-ID (8)" size="2" value="0008"/> - <field hide="yes" name="per.enum_index" pos="96" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="96" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="97" show="4" showname="Open Type Length: 4" size="1" value="04"/> - <field name="s1ap.value_element" pos="98" show="" showname="value" size="4" value=""> - <field name="s1ap.ENB_UE_S1AP_ID" pos="98" show="420141" showname="ENB-UE-S1AP-ID: 420141" size="4" value="8006692d"/> - </field> - </field> - </field> - <field name="" pos="102" show="Item 2: id-NAS-PDU" size="22" value="001a00121117b3e0e284030756082980590000000020"> - <field name="s1ap.ProtocolIE_Field_element" pos="102" show="" showname="ProtocolIE-Field" size="22" value=""> - <field name="s1ap.id" pos="102" show="26" showname="id: id-NAS-PDU (26)" size="2" value="001a"/> - <field hide="yes" name="per.enum_index" pos="104" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="104" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="105" show="18" showname="Open Type Length: 18" size="1" value="12"/> - <field name="s1ap.value_element" pos="106" show="" showname="value" size="18" value=""> - <field hide="yes" name="per.octet_string_length" pos="106" show="17" showname="Octet String Length: 17" size="1" value="11"/> - <field name="s1ap.NAS_PDU" pos="107" show="17:b3:e0:e2:84:03:07:56:08:29:80:59:00:00:00:00:20" showname="NAS-PDU: 17b3e0e284030756082980590000000020" size="17" value="17b3e0e284030756082980590000000020"/> - <proto name="nas-eps" pos="107" showname="Non-Access-Stratum (NAS)PDU" size="17"> - <field name="nas_eps.security_header_type" pos="107" show="1" showname="0001 .... = Security header type: Integrity protected (1)" size="1" unmaskedvalue="17" value="1"/> - <field name="gsm_a.L3_protocol_discriminator" pos="107" show="7" showname=".... 0111 = Protocol discriminator: EPS mobility management messages (0x07)" size="1" unmaskedvalue="17" value="7"/> - <field name="nas_eps.msg_auth_code" pos="108" show="3017859716" showname="Message authentication code: 0xb3e0e284" size="4" value="b3e0e284"/> - <field name="nas_eps.seq_no" pos="112" show="3" showname="Sequence number: 3" size="1" value="03"/> - <field name="nas_eps.security_header_type" pos="113" show="0" showname="0000 .... = Security header type: Plain NAS message, not security protected (0)" size="1" unmaskedvalue="07" value="0"/> - <field name="gsm_a.L3_protocol_discriminator" pos="113" show="7" showname=".... 0111 = Protocol discriminator: EPS mobility management messages (0x07)" size="1" unmaskedvalue="07" value="7"/> - <field name="nas_eps.nas_msg_emm_type" pos="114" show="86" showname="NAS EPS Mobility Management Message Type: Identity response (0x56)" size="1" value="56"/> - <field name="" pos="115" show="Mobile identity - IMSI (208950000000002)" size="9" value="082980590000000020"> - <field name="gsm_a.len" pos="115" show="8" showname="Length: 8" size="1" value="08"/> - <field name="" pos="116" show="0010 .... = Identity Digit 1: 2" size="1" value="29"/> - <field name="gsm_a.oddevenind" pos="116" show="1" showname=".... 1... = Odd/even indication: Odd number of identity digits" size="1" unmaskedvalue="29" value="1"/> - <field name="gsm_a.ie.mobileid.type" pos="116" show="1" showname=".... .001 = Mobile Identity Type: IMSI (1)" size="1" unmaskedvalue="29" value="1"/> - <field name="gsm_a.imsi" pos="116" show="208950000000002" showname="BCD Digits: 208950000000002" size="8" value="2980590000000020"/> - </field> - </proto> - </field> - </field> - </field> - <field name="" pos="124" show="Item 3: id-EUTRAN-CGI" size="12" value="006440080002f85900e00000"> - <field name="s1ap.ProtocolIE_Field_element" pos="124" show="" showname="ProtocolIE-Field" size="12" value=""> - <field name="s1ap.id" pos="124" show="100" showname="id: id-EUTRAN-CGI (100)" size="2" value="0064"/> - <field hide="yes" name="per.enum_index" pos="126" show="1" showname="Enumerated Index: 1" size="1" value="40"/> - <field name="s1ap.criticality" pos="126" show="1" showname="criticality: ignore (1)" size="1" value="40"/> - <field hide="yes" name="per.open_type_length" pos="127" show="8" showname="Open Type Length: 8" size="1" value="08"/> - <field name="s1ap.value_element" pos="128" show="" showname="value" size="8" value=""> - <field name="s1ap.EUTRAN_CGI_element" pos="128" show="" showname="EUTRAN-CGI" size="7" value=""> - <field hide="yes" name="per.extension_bit" pos="128" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.optional_field_bit" pos="128" show="0" showname=".0.. .... Optional Field Bit: False (iE-Extensions is NOT present)" size="1" unmaskedvalue="00" value="0"/> - <field name="s1ap.pLMNidentity" pos="129" show="02:f8:59" showname="pLMNidentity: 02f859" size="3" value="02f859"/> - <field name="e212.mcc" pos="129" show="208" showname="Mobile Country Code (MCC): France (208)" size="2" value="02f8"/> - <field name="e212.mnc" pos="130" show="95" showname="Mobile Network Code (MNC): Unknown (95)" size="2" value="f859"/> - <field name="s1ap.cell_ID" pos="128" show="00:e0:00:00" showname="cell-ID: 00e00000 [bit length 28, 4 LSB pad bits, 0000 0000 1110 0000 0000 0000 0000 .... decimal value 917504]" size="4" value="00e00000"/> - </field> - </field> - </field> - </field> - <field name="" pos="136" show="Item 4: id-TAI" size="10" value="004340060002f8590001"> - <field name="s1ap.ProtocolIE_Field_element" pos="136" show="" showname="ProtocolIE-Field" size="10" value=""> - <field name="s1ap.id" pos="136" show="67" showname="id: id-TAI (67)" size="2" value="0043"/> - <field hide="yes" name="per.enum_index" pos="138" show="1" showname="Enumerated Index: 1" size="1" value="40"/> - <field name="s1ap.criticality" pos="138" show="1" showname="criticality: ignore (1)" size="1" value="40"/> - <field hide="yes" name="per.open_type_length" pos="139" show="6" showname="Open Type Length: 6" size="1" value="06"/> - <field name="s1ap.value_element" pos="140" show="" showname="value" size="6" value=""> - <field name="s1ap.TAI_element" pos="140" show="" showname="TAI" size="6" value=""> - <field hide="yes" name="per.extension_bit" pos="140" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.optional_field_bit" pos="140" show="0" showname=".0.. .... Optional Field Bit: False (iE-Extensions is NOT present)" size="1" unmaskedvalue="00" value="0"/> - <field name="s1ap.pLMNidentity" pos="141" show="02:f8:59" showname="pLMNidentity: 02f859" size="3" value="02f859"/> - <field name="e212.mcc" pos="141" show="208" showname="Mobile Country Code (MCC): France (208)" size="2" value="02f8"/> - <field name="e212.mnc" pos="142" show="95" showname="Mobile Network Code (MNC): Unknown (95)" size="2" value="f859"/> - <field name="s1ap.tAC" pos="144" show="00:01" showname="tAC: 0001" size="2" value="0001"/> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </proto> -</packet> -<packet> - - <proto name="frame" pos="0" showname="Frame 79: 146 bytes on wire (1168 bits), 146 bytes captured (1168 bits) on interface 0" size="146"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0 (eth0)" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:34:53.771623000 CEST" showname="Arrival Time: Sep 25, 2015 16:34:53.771623000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191693.771623000" showname="Epoch Time: 1443191693.771623000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.004497000" showname="Time delta from previous captured frame: 0.004497000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.004497000" showname="Time delta from previous displayed frame: 0.004497000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="47.305992000" showname="Time since reference or first frame: 47.305992000 seconds" size="0"/> - <field name="frame.number" pos="0" show="79" showname="Frame Number: 79" size="0"/> - <field name="frame.len" pos="0" show="146" showname="Frame Length: 146 bytes (1168 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="146" showname="Capture Length: 146 bytes (1168 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ethertype:ip:sctp:s1ap:s1ap:s1ap:s1ap:s1ap:nas-eps" showname="Protocols in frame: eth:ethertype:ip:sctp:s1ap:s1ap:s1ap:s1ap:s1ap:nas-eps" size="0"/> - </proto> - - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.17 (192.168.12.17), Dst: 192.168.12.213 (192.168.12.213)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header Length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="2" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="132" showname="Total Length: 132" size="2" value="0084"/> - <field name="ip.id" pos="18" show="0" showname="Identification: 0x0000 (0)" size="2" value="0000"/> - <field name="ip.flags" pos="20" show="2" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="40893" showname="Header checksum: 0x9fbd [validation disabled]" size="2" value="9fbd"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="9fbd"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="9fbd"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.17" showname="Source: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.17" showname="Source Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="ip.dst" pos="30" show="192.168.12.213" showname="Destination: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.213" showname="Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80c11"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80cd5"/> - </proto> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: 36412 (36412), Dst Port: 36412 (36412)" size="44"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="1425553323" showname="Verification tag: 0x54f837ab" size="4" value="54f837ab"/> - <field name="sctp.assoc_index" pos="34" show="0" showname="Assocation index: 0" size="0"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="4128518844" showname="Checksum: 0xf61432bc (not verified)" size="4" value="f61432bc"/> - <field name="" pos="46" show="SACK chunk (Cumulative TSN: 3304831193, a_rwnd: 106496, gaps: 0, duplicate TSNs: 0)" size="16" value="03000010c4fbb8d90001a00000000000"> - <field name="sctp.chunk_type" pos="46" show="3" showname="Chunk type: SACK (3)" size="1" value="03"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="03" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="03" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0" showname="Chunk flags: 0x00" size="1" value="00"> - <field name="sctp.sack_nounce_sum" pos="47" show="0" showname=".... ...0 = Nounce sum: 0" size="1" unmaskedvalue="00" value="0"/> - </field> - <field name="sctp.chunk_length" pos="48" show="16" showname="Chunk length: 16" size="2" value="0010"/> - <field name="sctp.sack_cumulative_tsn_ack" pos="50" show="3304831193" showname="Cumulative TSN ACK: 3304831193" size="4" value="c4fbb8d9"> - <field name="sctp.ack" pos="96" show="3304831193" showname="Acknowledges TSN: 3304831193" size="0"> - <field name="sctp.ack_frame" pos="46" show="78" showname="Chunk acknowledged in frame: 78" size="0"/> - <field name="sctp.sack_rtt" pos="46" show="0.004497000" showname="The RTT since DATA was: 0.004497000 seconds" size="0"/> - </field> - </field> - <field name="sctp.sack_a_rwnd" pos="54" show="106496" showname="Advertised receiver window credit (a_rwnd): 106496" size="4" value="0001a000"/> - <field name="sctp.sack_number_of_gap_blocks" pos="58" show="0" showname="Number of gap acknowledgement blocks: 0" size="2" value="0000"/> - <field name="sctp.sack_number_of_duplicated_tsns" pos="60" show="0" showname="Number of duplicated TSNs: 0" size="2" value="0000"/> - </field> - <field name="" pos="62" show="DATA chunk(ordered, complete segment, TSN: 2008295177, SID: 1, SSN: 1, PPID: 301989888, payload length: 65 bytes)" size="16" value="0003005177b427090001000112000000"> - <field name="sctp.chunk_type" pos="62" show="0" showname="Chunk type: DATA (0)" size="1" value="00"> - <field name="sctp.chunk_bit_1" pos="62" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="00" value="0"/> - <field name="sctp.chunk_bit_2" pos="62" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="00" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="63" show="3" showname="Chunk flags: 0x03" size="1" value="03"> - <field name="sctp.data_e_bit" pos="63" show="1" showname=".... ...1 = E-Bit: Last segment" size="1" unmaskedvalue="03" value="1"/> - <field name="sctp.data_b_bit" pos="63" show="1" showname=".... ..1. = B-Bit: First segment" size="1" unmaskedvalue="03" value="1"/> - <field name="sctp.data_u_bit" pos="63" show="0" showname=".... .0.. = U-Bit: Ordered delivery" size="1" unmaskedvalue="03" value="0"/> - <field name="sctp.data_i_bit" pos="63" show="0" showname=".... 0... = I-Bit: Possibly delay SACK" size="1" unmaskedvalue="03" value="0"/> - </field> - <field name="sctp.chunk_length" pos="64" show="81" showname="Chunk length: 81" size="2" value="0051"/> - <field name="sctp.data_tsn" pos="66" show="2008295177" showname="TSN: 2008295177" size="4" value="77b42709"/> - <field name="sctp.data_sid" pos="70" show="1" showname="Stream Identifier: 0x0001" size="2" value="0001"/> - <field name="sctp.data_ssn" pos="72" show="1" showname="Stream sequence number: 1" size="2" value="0001"/> - <field name="sctp.data_payload_proto_id" pos="74" show="301989888" showname="Payload protocol identifier: Unknown (301989888)" size="4" value="12000000"/> - <field name="sctp.chunk_padding" pos="143" show="00:00:00" showname="Chunk padding: 000000" size="3" value="000000"/> - </field> - </proto> - <proto name="s1ap" pos="78" showname="S1 Application Protocol" size="65"> - <field hide="yes" name="per.extension_bit" pos="78" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.choice_index" pos="78" show="0" showname="Choice Index: 0" size="1" value="00"/> - <field name="s1ap.S1AP_PDU" pos="78" show="0" showname="S1AP-PDU: initiatingMessage (0)" size="65" value="000b003d00000300000005c0740010d0000800048006692d001a00252407520007cefaf5dd90a76da30d2c6775f4e41f10a19ee7945f198000a2a656d4988ff528"> - <field name="s1ap.initiatingMessage_element" pos="78" show="" showname="initiatingMessage" size="65" value=""> - <field name="s1ap.procedureCode" pos="79" show="11" showname="procedureCode: id-downlinkNASTransport (11)" size="1" value="0b"/> - <field hide="yes" name="per.enum_index" pos="80" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="80" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="81" show="61" showname="Open Type Length: 61" size="1" value="3d"/> - <field name="s1ap.value_element" pos="82" show="" showname="value" size="61" value=""> - <field name="s1ap.DownlinkNASTransport_element" pos="82" show="" showname="DownlinkNASTransport" size="61" value=""> - <field hide="yes" name="per.extension_bit" pos="82" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.sequence_of_length" pos="83" show="3" showname="Sequence-Of Length: 3" size="2" value="0003"/> - <field name="s1ap.protocolIEs" pos="85" show="3" showname="protocolIEs: 3 items" size="58" value="00000005c0740010d0000800048006692d001a00252407520007cefaf5dd90a76da30d2c6775f4e41f10a19ee7945f198000a2a656d4988ff528"> - <field name="" pos="85" show="Item 0: id-MME-UE-S1AP-ID" size="9" value="00000005c0740010d0"> - <field name="s1ap.ProtocolIE_Field_element" pos="85" show="" showname="ProtocolIE-Field" size="9" value=""> - <field name="s1ap.id" pos="85" show="0" showname="id: id-MME-UE-S1AP-ID (0)" size="2" value="0000"/> - <field hide="yes" name="per.enum_index" pos="87" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="87" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="88" show="5" showname="Open Type Length: 5" size="1" value="05"/> - <field name="s1ap.value_element" pos="89" show="" showname="value" size="5" value=""> - <field name="s1ap.MME_UE_S1AP_ID" pos="89" show="1946161360" showname="MME-UE-S1AP-ID: 1946161360" size="5" value="c0740010d0"/> - </field> - </field> - </field> - <field name="" pos="94" show="Item 1: id-eNB-UE-S1AP-ID" size="8" value="000800048006692d"> - <field name="s1ap.ProtocolIE_Field_element" pos="94" show="" showname="ProtocolIE-Field" size="8" value=""> - <field name="s1ap.id" pos="94" show="8" showname="id: id-eNB-UE-S1AP-ID (8)" size="2" value="0008"/> - <field hide="yes" name="per.enum_index" pos="96" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="96" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="97" show="4" showname="Open Type Length: 4" size="1" value="04"/> - <field name="s1ap.value_element" pos="98" show="" showname="value" size="4" value=""> - <field name="s1ap.ENB_UE_S1AP_ID" pos="98" show="420141" showname="ENB-UE-S1AP-ID: 420141" size="4" value="8006692d"/> - </field> - </field> - </field> - <field name="" pos="102" show="Item 2: id-NAS-PDU" size="41" value="001a00252407520007cefaf5dd90a76da30d2c6775f4e41f10a19ee7945f198000a2a656d4988ff528"> - <field name="s1ap.ProtocolIE_Field_element" pos="102" show="" showname="ProtocolIE-Field" size="41" value=""> - <field name="s1ap.id" pos="102" show="26" showname="id: id-NAS-PDU (26)" size="2" value="001a"/> - <field hide="yes" name="per.enum_index" pos="104" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="104" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="105" show="37" showname="Open Type Length: 37" size="1" value="25"/> - <field name="s1ap.value_element" pos="106" show="" showname="value" size="37" value=""> - <field hide="yes" name="per.octet_string_length" pos="106" show="36" showname="Octet String Length: 36" size="1" value="24"/> - <field name="s1ap.NAS_PDU" pos="107" show="07:52:00:07:ce:fa:f5:dd:90:a7:6d:a3:0d:2c:67:75:f4:e4:1f:10:a1:9e:e7:94:5f:19:80:00:a2:a6:56:d4:98:8f:f5:28" showname="NAS-PDU: 07520007cefaf5dd90a76da30d2c6775f4e41f10a19ee794..." size="36" value="07520007cefaf5dd90a76da30d2c6775f4e41f10a19ee7945f198000a2a656d4988ff528"/> - <proto name="nas-eps" pos="107" showname="Non-Access-Stratum (NAS)PDU" size="36"> - <field name="nas_eps.security_header_type" pos="107" show="0" showname="0000 .... = Security header type: Plain NAS message, not security protected (0)" size="1" unmaskedvalue="07" value="0"/> - <field name="gsm_a.L3_protocol_discriminator" pos="107" show="7" showname=".... 0111 = Protocol discriminator: EPS mobility management messages (0x07)" size="1" unmaskedvalue="07" value="7"/> - <field name="nas_eps.nas_msg_emm_type" pos="108" show="82" showname="NAS EPS Mobility Management Message Type: Authentication request (0x52)" size="1" value="52"/> - <field name="nas_eps.emm.spare_half_octet" pos="109" show="0" showname="0000 .... = Spare half octet: 0" size="1" value="00"/> - <field name="nas_eps.emm.tsc" pos="109" show="0" showname=".... 0... = Type of security context flag (TSC): Native security context (for KSIasme)" size="1" value="00"/> - <field name="nas_eps.emm.nas_key_set_id" pos="109" show="0" showname=".... .000 = NAS key set identifier: (0) ASME" size="1" value="00"/> - <field name="" pos="110" show="Authentication Parameter RAND - EPS challenge" size="16" value="07cefaf5dd90a76da30d2c6775f4e41f"> - <field name="gsm_a.dtap.rand" pos="110" show="07:ce:fa:f5:dd:90:a7:6d:a3:0d:2c:67:75:f4:e4:1f" showname="RAND value: 07cefaf5dd90a76da30d2c6775f4e41f" size="16" value="07cefaf5dd90a76da30d2c6775f4e41f"/> - </field> - <field name="" pos="126" show="Authentication Parameter AUTN (UMTS and EPS authentication challenge) - EPS challenge" size="17" value="10a19ee7945f198000a2a656d4988ff528"> - <field name="gsm_a.len" pos="126" show="16" showname="Length: 16" size="1" value="10"/> - <field name="gsm_a.dtap.autn" pos="127" show="a1:9e:e7:94:5f:19:80:00:a2:a6:56:d4:98:8f:f5:28" showname="AUTN value: a19ee7945f198000a2a656d4988ff528" size="16" value="a19ee7945f198000a2a656d4988ff528"> - <field name="gsm_a.dtap.autn.sqn_xor_ak" pos="127" show="a1:9e:e7:94:5f:19" showname="SQN xor AK: a19ee7945f19" size="6" value="a19ee7945f19"/> - <field name="gsm_a.dtap.autn.amf" pos="133" show="80:00" showname="AMF: 8000" size="2" value="8000"/> - <field name="gsm_a.dtap.autn.mac" pos="135" show="a2:a6:56:d4:98:8f:f5:28" showname="MAC: a2a656d4988ff528" size="8" value="a2a656d4988ff528"/> - </field> - </field> - </proto> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </proto> -</packet> -<packet> - - <proto name="frame" pos="0" showname="Frame 80: 62 bytes on wire (496 bits), 62 bytes captured (496 bits) on interface 0" size="62"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0 (eth0)" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:34:53.971568000 CEST" showname="Arrival Time: Sep 25, 2015 16:34:53.971568000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191693.971568000" showname="Epoch Time: 1443191693.971568000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.199945000" showname="Time delta from previous captured frame: 0.199945000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.199945000" showname="Time delta from previous displayed frame: 0.199945000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="47.505937000" showname="Time since reference or first frame: 47.505937000 seconds" size="0"/> - <field name="frame.number" pos="0" show="80" showname="Frame Number: 80" size="0"/> - <field name="frame.len" pos="0" show="62" showname="Frame Length: 62 bytes (496 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="62" showname="Capture Length: 62 bytes (496 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ethertype:ip:sctp" showname="Protocols in frame: eth:ethertype:ip:sctp" size="0"/> - </proto> - - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.213 (192.168.12.213), Dst: 192.168.12.17 (192.168.12.17)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header Length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="2" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="48" showname="Total Length: 48" size="2" value="0030"/> - <field name="ip.id" pos="18" show="7" showname="Identification: 0x0007 (7)" size="2" value="0007"/> - <field name="ip.flags" pos="20" show="2" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="40970" showname="Header checksum: 0xa00a [validation disabled]" size="2" value="a00a"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="a00a"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="a00a"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.213" showname="Source: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.213" showname="Source Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="ip.dst" pos="30" show="192.168.12.17" showname="Destination: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.17" showname="Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80cd5"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80c11"/> - </proto> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: 36412 (36412), Dst Port: 36412 (36412)" size="28"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="1288826016" showname="Verification tag: 0x4cd1eca0" size="4" value="4cd1eca0"/> - <field name="sctp.assoc_index" pos="34" show="0" showname="Assocation index: 0" size="0"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="2417470431" showname="Checksum: 0x9017abdf (not verified)" size="4" value="9017abdf"/> - <field name="" pos="46" show="SACK chunk (Cumulative TSN: 2008295177, a_rwnd: 106496, gaps: 0, duplicate TSNs: 0)" size="16" value="0300001077b427090001a00000000000"> - <field name="sctp.chunk_type" pos="46" show="3" showname="Chunk type: SACK (3)" size="1" value="03"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="03" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="03" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0" showname="Chunk flags: 0x00" size="1" value="00"> - <field name="sctp.sack_nounce_sum" pos="47" show="0" showname=".... ...0 = Nounce sum: 0" size="1" unmaskedvalue="00" value="0"/> - </field> - <field name="sctp.chunk_length" pos="48" show="16" showname="Chunk length: 16" size="2" value="0010"/> - <field name="sctp.sack_cumulative_tsn_ack" pos="50" show="2008295177" showname="Cumulative TSN ACK: 2008295177" size="4" value="77b42709"> - <field name="sctp.ack" pos="96" show="2008295177" showname="Acknowledges TSN: 2008295177" size="0"> - <field name="sctp.ack_frame" pos="46" show="79" showname="Chunk acknowledged in frame: 79" size="0"/> - <field name="sctp.sack_rtt" pos="46" show="0.199945000" showname="The RTT since DATA was: 0.199945000 seconds" size="0"/> - </field> - </field> - <field name="sctp.sack_a_rwnd" pos="54" show="106496" showname="Advertised receiver window credit (a_rwnd): 106496" size="4" value="0001a000"/> - <field name="sctp.sack_number_of_gap_blocks" pos="58" show="0" showname="Number of gap acknowledgement blocks: 0" size="2" value="0000"/> - <field name="sctp.sack_number_of_duplicated_tsns" pos="60" show="0" showname="Number of duplicated TSNs: 0" size="2" value="0000"/> - </field> - </proto> -</packet> -<packet> - - <proto name="frame" pos="0" showname="Frame 81: 130 bytes on wire (1040 bits), 130 bytes captured (1040 bits) on interface 0" size="130"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0 (eth0)" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:34:53.977130000 CEST" showname="Arrival Time: Sep 25, 2015 16:34:53.977130000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191693.977130000" showname="Epoch Time: 1443191693.977130000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.005562000" showname="Time delta from previous captured frame: 0.005562000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.005562000" showname="Time delta from previous displayed frame: 0.005562000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="47.511499000" showname="Time since reference or first frame: 47.511499000 seconds" size="0"/> - <field name="frame.number" pos="0" show="81" showname="Frame Number: 81" size="0"/> - <field name="frame.len" pos="0" show="130" showname="Frame Length: 130 bytes (1040 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="130" showname="Capture Length: 130 bytes (1040 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ethertype:ip:sctp:s1ap:s1ap:s1ap:s1ap:s1ap:nas-eps:s1ap:s1ap" showname="Protocols in frame: eth:ethertype:ip:sctp:s1ap:s1ap:s1ap:s1ap:s1ap:nas-eps:s1ap:s1ap" size="0"/> - </proto> - - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.213 (192.168.12.213), Dst: 192.168.12.17 (192.168.12.17)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header Length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="2" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="116" showname="Total Length: 116" size="2" value="0074"/> - <field name="ip.id" pos="18" show="8" showname="Identification: 0x0008 (8)" size="2" value="0008"/> - <field name="ip.flags" pos="20" show="2" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="40901" showname="Header checksum: 0x9fc5 [validation disabled]" size="2" value="9fc5"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="9fc5"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="9fc5"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.213" showname="Source: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.213" showname="Source Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="ip.dst" pos="30" show="192.168.12.17" showname="Destination: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.17" showname="Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80cd5"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80c11"/> - </proto> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: 36412 (36412), Dst Port: 36412 (36412)" size="28"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="1288826016" showname="Verification tag: 0x4cd1eca0" size="4" value="4cd1eca0"/> - <field name="sctp.assoc_index" pos="34" show="0" showname="Assocation index: 0" size="0"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="801017725" showname="Checksum: 0x2fbe8f7d (not verified)" size="4" value="2fbe8f7d"/> - <field name="" pos="46" show="DATA chunk(ordered, complete segment, TSN: 3304831194, SID: 1, SSN: 2, PPID: 18, payload length: 68 bytes)" size="16" value="00030054c4fbb8da0001000200000012"> - <field name="sctp.chunk_type" pos="46" show="0" showname="Chunk type: DATA (0)" size="1" value="00"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="00" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="00" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="3" showname="Chunk flags: 0x03" size="1" value="03"> - <field name="sctp.data_e_bit" pos="47" show="1" showname=".... ...1 = E-Bit: Last segment" size="1" unmaskedvalue="03" value="1"/> - <field name="sctp.data_b_bit" pos="47" show="1" showname=".... ..1. = B-Bit: First segment" size="1" unmaskedvalue="03" value="1"/> - <field name="sctp.data_u_bit" pos="47" show="0" showname=".... .0.. = U-Bit: Ordered delivery" size="1" unmaskedvalue="03" value="0"/> - <field name="sctp.data_i_bit" pos="47" show="0" showname=".... 0... = I-Bit: Possibly delay SACK" size="1" unmaskedvalue="03" value="0"/> - </field> - <field name="sctp.chunk_length" pos="48" show="84" showname="Chunk length: 84" size="2" value="0054"/> - <field name="sctp.data_tsn" pos="50" show="3304831194" showname="TSN: 3304831194" size="4" value="c4fbb8da"/> - <field name="sctp.data_sid" pos="54" show="1" showname="Stream Identifier: 0x0001" size="2" value="0001"/> - <field name="sctp.data_ssn" pos="56" show="2" showname="Stream sequence number: 2" size="2" value="0002"/> - <field name="sctp.data_payload_proto_id" pos="58" show="18" showname="Payload protocol identifier: S1 Application Protocol (S1AP) (18)" size="4" value="00000012"/> - </field> - </proto> - <proto name="s1ap" pos="62" showname="S1 Application Protocol" size="68"> - <field hide="yes" name="per.extension_bit" pos="62" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.choice_index" pos="62" show="0" showname="Choice Index: 0" size="1" value="00"/> - <field name="s1ap.S1AP_PDU" pos="62" show="0" showname="S1AP-PDU: initiatingMessage (0)" size="68" value="000d404000000500000005c0740010d0000800048006692d001a00121117aecd82eb0407530829a497732efc0114006440080002f85900e00000004340060002f8590001"> - <field name="s1ap.initiatingMessage_element" pos="62" show="" showname="initiatingMessage" size="68" value=""> - <field name="s1ap.procedureCode" pos="63" show="13" showname="procedureCode: id-uplinkNASTransport (13)" size="1" value="0d"/> - <field hide="yes" name="per.enum_index" pos="64" show="1" showname="Enumerated Index: 1" size="1" value="40"/> - <field name="s1ap.criticality" pos="64" show="1" showname="criticality: ignore (1)" size="1" value="40"/> - <field hide="yes" name="per.open_type_length" pos="65" show="64" showname="Open Type Length: 64" size="1" value="40"/> - <field name="s1ap.value_element" pos="66" show="" showname="value" size="64" value=""> - <field name="s1ap.UplinkNASTransport_element" pos="66" show="" showname="UplinkNASTransport" size="64" value=""> - <field hide="yes" name="per.extension_bit" pos="66" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.sequence_of_length" pos="67" show="5" showname="Sequence-Of Length: 5" size="2" value="0005"/> - <field name="s1ap.protocolIEs" pos="69" show="5" showname="protocolIEs: 5 items" size="61" value="00000005c0740010d0000800048006692d001a00121117aecd82eb0407530829a497732efc0114006440080002f85900e00000004340060002f8590001"> - <field name="" pos="69" show="Item 0: id-MME-UE-S1AP-ID" size="9" value="00000005c0740010d0"> - <field name="s1ap.ProtocolIE_Field_element" pos="69" show="" showname="ProtocolIE-Field" size="9" value=""> - <field name="s1ap.id" pos="69" show="0" showname="id: id-MME-UE-S1AP-ID (0)" size="2" value="0000"/> - <field hide="yes" name="per.enum_index" pos="71" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="71" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="72" show="5" showname="Open Type Length: 5" size="1" value="05"/> - <field name="s1ap.value_element" pos="73" show="" showname="value" size="5" value=""> - <field name="s1ap.MME_UE_S1AP_ID" pos="73" show="1946161360" showname="MME-UE-S1AP-ID: 1946161360" size="5" value="c0740010d0"/> - </field> - </field> - </field> - <field name="" pos="78" show="Item 1: id-eNB-UE-S1AP-ID" size="8" value="000800048006692d"> - <field name="s1ap.ProtocolIE_Field_element" pos="78" show="" showname="ProtocolIE-Field" size="8" value=""> - <field name="s1ap.id" pos="78" show="8" showname="id: id-eNB-UE-S1AP-ID (8)" size="2" value="0008"/> - <field hide="yes" name="per.enum_index" pos="80" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="80" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="81" show="4" showname="Open Type Length: 4" size="1" value="04"/> - <field name="s1ap.value_element" pos="82" show="" showname="value" size="4" value=""> - <field name="s1ap.ENB_UE_S1AP_ID" pos="82" show="420141" showname="ENB-UE-S1AP-ID: 420141" size="4" value="8006692d"/> - </field> - </field> - </field> - <field name="" pos="86" show="Item 2: id-NAS-PDU" size="22" value="001a00121117aecd82eb0407530829a497732efc0114"> - <field name="s1ap.ProtocolIE_Field_element" pos="86" show="" showname="ProtocolIE-Field" size="22" value=""> - <field name="s1ap.id" pos="86" show="26" showname="id: id-NAS-PDU (26)" size="2" value="001a"/> - <field hide="yes" name="per.enum_index" pos="88" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="88" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="89" show="18" showname="Open Type Length: 18" size="1" value="12"/> - <field name="s1ap.value_element" pos="90" show="" showname="value" size="18" value=""> - <field hide="yes" name="per.octet_string_length" pos="90" show="17" showname="Octet String Length: 17" size="1" value="11"/> - <field name="s1ap.NAS_PDU" pos="91" show="17:ae:cd:82:eb:04:07:53:08:29:a4:97:73:2e:fc:01:14" showname="NAS-PDU: 17aecd82eb0407530829a497732efc0114" size="17" value="17aecd82eb0407530829a497732efc0114"/> - <proto name="nas-eps" pos="91" showname="Non-Access-Stratum (NAS)PDU" size="17"> - <field name="nas_eps.security_header_type" pos="91" show="1" showname="0001 .... = Security header type: Integrity protected (1)" size="1" unmaskedvalue="17" value="1"/> - <field name="gsm_a.L3_protocol_discriminator" pos="91" show="7" showname=".... 0111 = Protocol discriminator: EPS mobility management messages (0x07)" size="1" unmaskedvalue="17" value="7"/> - <field name="nas_eps.msg_auth_code" pos="92" show="2932703979" showname="Message authentication code: 0xaecd82eb" size="4" value="aecd82eb"/> - <field name="nas_eps.seq_no" pos="96" show="4" showname="Sequence number: 4" size="1" value="04"/> - <field name="nas_eps.security_header_type" pos="97" show="0" showname="0000 .... = Security header type: Plain NAS message, not security protected (0)" size="1" unmaskedvalue="07" value="0"/> - <field name="gsm_a.L3_protocol_discriminator" pos="97" show="7" showname=".... 0111 = Protocol discriminator: EPS mobility management messages (0x07)" size="1" unmaskedvalue="07" value="7"/> - <field name="nas_eps.nas_msg_emm_type" pos="98" show="83" showname="NAS EPS Mobility Management Message Type: Authentication response (0x53)" size="1" value="53"/> - <field name="" pos="99" show="Authentication response parameter" size="9" value="0829a497732efc0114"> - <field name="gsm_a.len" pos="99" show="8" showname="Length: 8" size="1" value="08"/> - <field name="nas_eps.emm.res" pos="100" show="29:a4:97:73:2e:fc:01:14" showname="RES: 29a497732efc0114" size="8" value="29a497732efc0114"/> - </field> - </proto> - </field> - </field> - </field> - <field name="" pos="108" show="Item 3: id-EUTRAN-CGI" size="12" value="006440080002f85900e00000"> - <field name="s1ap.ProtocolIE_Field_element" pos="108" show="" showname="ProtocolIE-Field" size="12" value=""> - <field name="s1ap.id" pos="108" show="100" showname="id: id-EUTRAN-CGI (100)" size="2" value="0064"/> - <field hide="yes" name="per.enum_index" pos="110" show="1" showname="Enumerated Index: 1" size="1" value="40"/> - <field name="s1ap.criticality" pos="110" show="1" showname="criticality: ignore (1)" size="1" value="40"/> - <field hide="yes" name="per.open_type_length" pos="111" show="8" showname="Open Type Length: 8" size="1" value="08"/> - <field name="s1ap.value_element" pos="112" show="" showname="value" size="8" value=""> - <field name="s1ap.EUTRAN_CGI_element" pos="112" show="" showname="EUTRAN-CGI" size="7" value=""> - <field hide="yes" name="per.extension_bit" pos="112" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.optional_field_bit" pos="112" show="0" showname=".0.. .... Optional Field Bit: False (iE-Extensions is NOT present)" size="1" unmaskedvalue="00" value="0"/> - <field name="s1ap.pLMNidentity" pos="113" show="02:f8:59" showname="pLMNidentity: 02f859" size="3" value="02f859"/> - <field name="e212.mcc" pos="113" show="208" showname="Mobile Country Code (MCC): France (208)" size="2" value="02f8"/> - <field name="e212.mnc" pos="114" show="95" showname="Mobile Network Code (MNC): Unknown (95)" size="2" value="f859"/> - <field name="s1ap.cell_ID" pos="112" show="00:e0:00:00" showname="cell-ID: 00e00000 [bit length 28, 4 LSB pad bits, 0000 0000 1110 0000 0000 0000 0000 .... decimal value 917504]" size="4" value="00e00000"/> - </field> - </field> - </field> - </field> - <field name="" pos="120" show="Item 4: id-TAI" size="10" value="004340060002f8590001"> - <field name="s1ap.ProtocolIE_Field_element" pos="120" show="" showname="ProtocolIE-Field" size="10" value=""> - <field name="s1ap.id" pos="120" show="67" showname="id: id-TAI (67)" size="2" value="0043"/> - <field hide="yes" name="per.enum_index" pos="122" show="1" showname="Enumerated Index: 1" size="1" value="40"/> - <field name="s1ap.criticality" pos="122" show="1" showname="criticality: ignore (1)" size="1" value="40"/> - <field hide="yes" name="per.open_type_length" pos="123" show="6" showname="Open Type Length: 6" size="1" value="06"/> - <field name="s1ap.value_element" pos="124" show="" showname="value" size="6" value=""> - <field name="s1ap.TAI_element" pos="124" show="" showname="TAI" size="6" value=""> - <field hide="yes" name="per.extension_bit" pos="124" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.optional_field_bit" pos="124" show="0" showname=".0.. .... Optional Field Bit: False (iE-Extensions is NOT present)" size="1" unmaskedvalue="00" value="0"/> - <field name="s1ap.pLMNidentity" pos="125" show="02:f8:59" showname="pLMNidentity: 02f859" size="3" value="02f859"/> - <field name="e212.mcc" pos="125" show="208" showname="Mobile Country Code (MCC): France (208)" size="2" value="02f8"/> - <field name="e212.mnc" pos="126" show="95" showname="Mobile Network Code (MNC): Unknown (95)" size="2" value="f859"/> - <field name="s1ap.tAC" pos="128" show="00:01" showname="tAC: 0001" size="2" value="0001"/> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </proto> -</packet> -<packet> - - <proto name="frame" pos="0" showname="Frame 82: 122 bytes on wire (976 bits), 122 bytes captured (976 bits) on interface 0" size="122"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0 (eth0)" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:34:53.978741000 CEST" showname="Arrival Time: Sep 25, 2015 16:34:53.978741000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191693.978741000" showname="Epoch Time: 1443191693.978741000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.001611000" showname="Time delta from previous captured frame: 0.001611000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.001611000" showname="Time delta from previous displayed frame: 0.001611000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="47.513110000" showname="Time since reference or first frame: 47.513110000 seconds" size="0"/> - <field name="frame.number" pos="0" show="82" showname="Frame Number: 82" size="0"/> - <field name="frame.len" pos="0" show="122" showname="Frame Length: 122 bytes (976 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="122" showname="Capture Length: 122 bytes (976 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ethertype:ip:sctp:s1ap:s1ap:s1ap:s1ap:s1ap:nas-eps" showname="Protocols in frame: eth:ethertype:ip:sctp:s1ap:s1ap:s1ap:s1ap:s1ap:nas-eps" size="0"/> - </proto> - - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.17 (192.168.12.17), Dst: 192.168.12.213 (192.168.12.213)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header Length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="2" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="108" showname="Total Length: 108" size="2" value="006c"/> - <field name="ip.id" pos="18" show="0" showname="Identification: 0x0000 (0)" size="2" value="0000"/> - <field name="ip.flags" pos="20" show="2" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="40917" showname="Header checksum: 0x9fd5 [validation disabled]" size="2" value="9fd5"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="9fd5"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="9fd5"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.17" showname="Source: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.17" showname="Source Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="ip.dst" pos="30" show="192.168.12.213" showname="Destination: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.213" showname="Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80c11"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80cd5"/> - </proto> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: 36412 (36412), Dst Port: 36412 (36412)" size="44"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="1425553323" showname="Verification tag: 0x54f837ab" size="4" value="54f837ab"/> - <field name="sctp.assoc_index" pos="34" show="0" showname="Assocation index: 0" size="0"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="1543634177" showname="Checksum: 0x5c01fd01 (not verified)" size="4" value="5c01fd01"/> - <field name="" pos="46" show="SACK chunk (Cumulative TSN: 3304831194, a_rwnd: 106496, gaps: 0, duplicate TSNs: 0)" size="16" value="03000010c4fbb8da0001a00000000000"> - <field name="sctp.chunk_type" pos="46" show="3" showname="Chunk type: SACK (3)" size="1" value="03"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="03" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="03" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0" showname="Chunk flags: 0x00" size="1" value="00"> - <field name="sctp.sack_nounce_sum" pos="47" show="0" showname=".... ...0 = Nounce sum: 0" size="1" unmaskedvalue="00" value="0"/> - </field> - <field name="sctp.chunk_length" pos="48" show="16" showname="Chunk length: 16" size="2" value="0010"/> - <field name="sctp.sack_cumulative_tsn_ack" pos="50" show="3304831194" showname="Cumulative TSN ACK: 3304831194" size="4" value="c4fbb8da"> - <field name="sctp.ack" pos="96" show="3304831194" showname="Acknowledges TSN: 3304831194" size="0"> - <field name="sctp.ack_frame" pos="46" show="81" showname="Chunk acknowledged in frame: 81" size="0"/> - <field name="sctp.sack_rtt" pos="46" show="0.001611000" showname="The RTT since DATA was: 0.001611000 seconds" size="0"/> - </field> - </field> - <field name="sctp.sack_a_rwnd" pos="54" show="106496" showname="Advertised receiver window credit (a_rwnd): 106496" size="4" value="0001a000"/> - <field name="sctp.sack_number_of_gap_blocks" pos="58" show="0" showname="Number of gap acknowledgement blocks: 0" size="2" value="0000"/> - <field name="sctp.sack_number_of_duplicated_tsns" pos="60" show="0" showname="Number of duplicated TSNs: 0" size="2" value="0000"/> - </field> - <field name="" pos="62" show="DATA chunk(ordered, complete segment, TSN: 2008295178, SID: 1, SSN: 2, PPID: 301989888, payload length: 42 bytes)" size="16" value="0003003a77b4270a0001000212000000"> - <field name="sctp.chunk_type" pos="62" show="0" showname="Chunk type: DATA (0)" size="1" value="00"> - <field name="sctp.chunk_bit_1" pos="62" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="00" value="0"/> - <field name="sctp.chunk_bit_2" pos="62" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="00" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="63" show="3" showname="Chunk flags: 0x03" size="1" value="03"> - <field name="sctp.data_e_bit" pos="63" show="1" showname=".... ...1 = E-Bit: Last segment" size="1" unmaskedvalue="03" value="1"/> - <field name="sctp.data_b_bit" pos="63" show="1" showname=".... ..1. = B-Bit: First segment" size="1" unmaskedvalue="03" value="1"/> - <field name="sctp.data_u_bit" pos="63" show="0" showname=".... .0.. = U-Bit: Ordered delivery" size="1" unmaskedvalue="03" value="0"/> - <field name="sctp.data_i_bit" pos="63" show="0" showname=".... 0... = I-Bit: Possibly delay SACK" size="1" unmaskedvalue="03" value="0"/> - </field> - <field name="sctp.chunk_length" pos="64" show="58" showname="Chunk length: 58" size="2" value="003a"/> - <field name="sctp.data_tsn" pos="66" show="2008295178" showname="TSN: 2008295178" size="4" value="77b4270a"/> - <field name="sctp.data_sid" pos="70" show="1" showname="Stream Identifier: 0x0001" size="2" value="0001"/> - <field name="sctp.data_ssn" pos="72" show="2" showname="Stream sequence number: 2" size="2" value="0002"/> - <field name="sctp.data_payload_proto_id" pos="74" show="301989888" showname="Payload protocol identifier: Unknown (301989888)" size="4" value="12000000"/> - <field name="sctp.chunk_padding" pos="120" show="00:00" showname="Chunk padding: 0000" size="2" value="0000"/> - </field> - </proto> - <proto name="s1ap" pos="78" showname="S1 Application Protocol" size="42"> - <field hide="yes" name="per.extension_bit" pos="78" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.choice_index" pos="78" show="0" showname="Choice Index: 0" size="1" value="00"/> - <field name="s1ap.S1AP_PDU" pos="78" show="0" showname="S1AP-PDU: initiatingMessage (0)" size="42" value="000b002600000300000005c0740010d0000800048006692d001a000e0d376566048700075d020002e0e0"> - <field name="s1ap.initiatingMessage_element" pos="78" show="" showname="initiatingMessage" size="42" value=""> - <field name="s1ap.procedureCode" pos="79" show="11" showname="procedureCode: id-downlinkNASTransport (11)" size="1" value="0b"/> - <field hide="yes" name="per.enum_index" pos="80" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="80" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="81" show="38" showname="Open Type Length: 38" size="1" value="26"/> - <field name="s1ap.value_element" pos="82" show="" showname="value" size="38" value=""> - <field name="s1ap.DownlinkNASTransport_element" pos="82" show="" showname="DownlinkNASTransport" size="38" value=""> - <field hide="yes" name="per.extension_bit" pos="82" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.sequence_of_length" pos="83" show="3" showname="Sequence-Of Length: 3" size="2" value="0003"/> - <field name="s1ap.protocolIEs" pos="85" show="3" showname="protocolIEs: 3 items" size="35" value="00000005c0740010d0000800048006692d001a000e0d376566048700075d020002e0e0"> - <field name="" pos="85" show="Item 0: id-MME-UE-S1AP-ID" size="9" value="00000005c0740010d0"> - <field name="s1ap.ProtocolIE_Field_element" pos="85" show="" showname="ProtocolIE-Field" size="9" value=""> - <field name="s1ap.id" pos="85" show="0" showname="id: id-MME-UE-S1AP-ID (0)" size="2" value="0000"/> - <field hide="yes" name="per.enum_index" pos="87" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="87" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="88" show="5" showname="Open Type Length: 5" size="1" value="05"/> - <field name="s1ap.value_element" pos="89" show="" showname="value" size="5" value=""> - <field name="s1ap.MME_UE_S1AP_ID" pos="89" show="1946161360" showname="MME-UE-S1AP-ID: 1946161360" size="5" value="c0740010d0"/> - </field> - </field> - </field> - <field name="" pos="94" show="Item 1: id-eNB-UE-S1AP-ID" size="8" value="000800048006692d"> - <field name="s1ap.ProtocolIE_Field_element" pos="94" show="" showname="ProtocolIE-Field" size="8" value=""> - <field name="s1ap.id" pos="94" show="8" showname="id: id-eNB-UE-S1AP-ID (8)" size="2" value="0008"/> - <field hide="yes" name="per.enum_index" pos="96" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="96" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="97" show="4" showname="Open Type Length: 4" size="1" value="04"/> - <field name="s1ap.value_element" pos="98" show="" showname="value" size="4" value=""> - <field name="s1ap.ENB_UE_S1AP_ID" pos="98" show="420141" showname="ENB-UE-S1AP-ID: 420141" size="4" value="8006692d"/> - </field> - </field> - </field> - <field name="" pos="102" show="Item 2: id-NAS-PDU" size="18" value="001a000e0d376566048700075d020002e0e0"> - <field name="s1ap.ProtocolIE_Field_element" pos="102" show="" showname="ProtocolIE-Field" size="18" value=""> - <field name="s1ap.id" pos="102" show="26" showname="id: id-NAS-PDU (26)" size="2" value="001a"/> - <field hide="yes" name="per.enum_index" pos="104" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="104" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="105" show="14" showname="Open Type Length: 14" size="1" value="0e"/> - <field name="s1ap.value_element" pos="106" show="" showname="value" size="14" value=""> - <field hide="yes" name="per.octet_string_length" pos="106" show="13" showname="Octet String Length: 13" size="1" value="0d"/> - <field name="s1ap.NAS_PDU" pos="107" show="37:65:66:04:87:00:07:5d:02:00:02:e0:e0" showname="NAS-PDU: 376566048700075d020002e0e0" size="13" value="376566048700075d020002e0e0"/> - <proto name="nas-eps" pos="107" showname="Non-Access-Stratum (NAS)PDU" size="13"> - <field name="nas_eps.security_header_type" pos="107" show="3" showname="0011 .... = Security header type: Integrity protected with new EPS security context (3)" size="1" unmaskedvalue="37" value="3"/> - <field name="gsm_a.L3_protocol_discriminator" pos="107" show="7" showname=".... 0111 = Protocol discriminator: EPS mobility management messages (0x07)" size="1" unmaskedvalue="37" value="7"/> - <field name="nas_eps.msg_auth_code" pos="108" show="1701184647" showname="Message authentication code: 0x65660487" size="4" value="65660487"/> - <field name="nas_eps.seq_no" pos="112" show="0" showname="Sequence number: 0" size="1" value="00"/> - <field name="nas_eps.security_header_type" pos="113" show="0" showname="0000 .... = Security header type: Plain NAS message, not security protected (0)" size="1" unmaskedvalue="07" value="0"/> - <field name="gsm_a.L3_protocol_discriminator" pos="113" show="7" showname=".... 0111 = Protocol discriminator: EPS mobility management messages (0x07)" size="1" unmaskedvalue="07" value="7"/> - <field name="nas_eps.nas_msg_emm_type" pos="114" show="93" showname="NAS EPS Mobility Management Message Type: Security mode command (0x5d)" size="1" value="5d"/> - <field name="" pos="115" show="NAS security algorithms - Selected NAS security algorithms" size="1" value="02"> - <field name="nas_eps.spare_bits" pos="115" show="0" showname="0... .... = Spare bit(s): 0x00" size="1" value="02"/> - <field name="nas_eps.emm.toc" pos="115" show="0" showname=".000 .... = Type of ciphering algorithm: EPS encryption algorithm EEA0 (null ciphering algorithm) (0)" size="1" unmaskedvalue="02" value="0"/> - <field name="nas_eps.spare_bits" pos="115" show="0" showname=".... 0... = Spare bit(s): 0x00" size="1" value="02"/> - <field name="nas_eps.emm.toi" pos="115" show="2" showname=".... .010 = Type of integrity protection algorithm: EPS integrity algorithm 128-EIA2 (2)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="nas_eps.emm.spare_half_octet" pos="116" show="0" showname="0000 .... = Spare half octet: 0" size="1" value="00"/> - <field name="nas_eps.emm.tsc" pos="116" show="0" showname=".... 0... = Type of security context flag (TSC): Native security context (for KSIasme)" size="1" value="00"/> - <field name="nas_eps.emm.nas_key_set_id" pos="116" show="0" showname=".... .000 = NAS key set identifier: (0) ASME" size="1" value="00"/> - <field name="" pos="117" show="UE security capability - Replayed UE security capabilities" size="3" value="02e0e0"> - <field name="gsm_a.len" pos="117" show="2" showname="Length: 2" size="1" value="02"/> - <field name="nas_eps.emm.eea0" pos="118" show="1" showname="1... .... = EEA0: Supported" size="1" unmaskedvalue="e0" value="1"/> - <field name="nas_eps.emm.128eea1" pos="118" show="1" showname=".1.. .... = 128-EEA1: Supported" size="1" unmaskedvalue="e0" value="1"/> - <field name="nas_eps.emm.128eea2" pos="118" show="1" showname="..1. .... = 128-EEA2: Supported" size="1" unmaskedvalue="e0" value="1"/> - <field name="nas_eps.emm.eea3" pos="118" show="0" showname="...0 .... = 128-EEA3: Not Supported" size="1" unmaskedvalue="e0" value="0"/> - <field name="nas_eps.emm.eea4" pos="118" show="0" showname=".... 0... = EEA4: Not Supported" size="1" unmaskedvalue="e0" value="0"/> - <field name="nas_eps.emm.eea5" pos="118" show="0" showname=".... .0.. = EEA5: Not Supported" size="1" unmaskedvalue="e0" value="0"/> - <field name="nas_eps.emm.eea6" pos="118" show="0" showname=".... ..0. = EEA6: Not Supported" size="1" unmaskedvalue="e0" value="0"/> - <field name="nas_eps.emm.eea7" pos="118" show="0" showname=".... ...0 = EEA7: Not Supported" size="1" unmaskedvalue="e0" value="0"/> - <field name="nas_eps.emm.eia0" pos="119" show="1" showname="1... .... = EIA0: Supported" size="1" unmaskedvalue="e0" value="1"/> - <field name="nas_eps.emm.128eia1" pos="119" show="1" showname=".1.. .... = 128-EIA1: Supported" size="1" unmaskedvalue="e0" value="1"/> - <field name="nas_eps.emm.128eia2" pos="119" show="1" showname="..1. .... = 128-EIA2: Supported" size="1" unmaskedvalue="e0" value="1"/> - <field name="nas_eps.emm.eia3" pos="119" show="0" showname="...0 .... = 128-EIA3: Not Supported" size="1" unmaskedvalue="e0" value="0"/> - <field name="nas_eps.emm.eia4" pos="119" show="0" showname=".... 0... = EIA4: Not Supported" size="1" unmaskedvalue="e0" value="0"/> - <field name="nas_eps.emm.eia5" pos="119" show="0" showname=".... .0.. = EIA5: Not Supported" size="1" unmaskedvalue="e0" value="0"/> - <field name="nas_eps.emm.eia6" pos="119" show="0" showname=".... ..0. = EIA6: Not Supported" size="1" unmaskedvalue="e0" value="0"/> - <field name="nas_eps.emm.eia7" pos="119" show="0" showname=".... ...0 = EIA7: Not Supported" size="1" unmaskedvalue="e0" value="0"/> - </field> - </proto> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </proto> -</packet> -<packet> - - <proto name="frame" pos="0" showname="Frame 83: 138 bytes on wire (1104 bits), 138 bytes captured (1104 bits) on interface 0" size="138"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0 (eth0)" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:34:53.997356000 CEST" showname="Arrival Time: Sep 25, 2015 16:34:53.997356000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191693.997356000" showname="Epoch Time: 1443191693.997356000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.018615000" showname="Time delta from previous captured frame: 0.018615000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.018615000" showname="Time delta from previous displayed frame: 0.018615000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="47.531725000" showname="Time since reference or first frame: 47.531725000 seconds" size="0"/> - <field name="frame.number" pos="0" show="83" showname="Frame Number: 83" size="0"/> - <field name="frame.len" pos="0" show="138" showname="Frame Length: 138 bytes (1104 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="138" showname="Capture Length: 138 bytes (1104 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ethertype:ip:sctp:s1ap:s1ap:s1ap:s1ap:s1ap:nas-eps:s1ap:s1ap" showname="Protocols in frame: eth:ethertype:ip:sctp:s1ap:s1ap:s1ap:s1ap:s1ap:nas-eps:s1ap:s1ap" size="0"/> - </proto> - - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.213 (192.168.12.213), Dst: 192.168.12.17 (192.168.12.17)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header Length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="2" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="124" showname="Total Length: 124" size="2" value="007c"/> - <field name="ip.id" pos="18" show="9" showname="Identification: 0x0009 (9)" size="2" value="0009"/> - <field name="ip.flags" pos="20" show="2" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="40892" showname="Header checksum: 0x9fbc [validation disabled]" size="2" value="9fbc"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="9fbc"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="9fbc"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.213" showname="Source: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.213" showname="Source Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="ip.dst" pos="30" show="192.168.12.17" showname="Destination: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.17" showname="Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80cd5"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80c11"/> - </proto> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: 36412 (36412), Dst Port: 36412 (36412)" size="44"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="1288826016" showname="Verification tag: 0x4cd1eca0" size="4" value="4cd1eca0"/> - <field name="sctp.assoc_index" pos="34" show="0" showname="Assocation index: 0" size="0"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="3578791527" showname="Checksum: 0xd5500667 (not verified)" size="4" value="d5500667"/> - <field name="" pos="46" show="SACK chunk (Cumulative TSN: 2008295178, a_rwnd: 106496, gaps: 0, duplicate TSNs: 0)" size="16" value="0300001077b4270a0001a00000000000"> - <field name="sctp.chunk_type" pos="46" show="3" showname="Chunk type: SACK (3)" size="1" value="03"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="03" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="03" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0" showname="Chunk flags: 0x00" size="1" value="00"> - <field name="sctp.sack_nounce_sum" pos="47" show="0" showname=".... ...0 = Nounce sum: 0" size="1" unmaskedvalue="00" value="0"/> - </field> - <field name="sctp.chunk_length" pos="48" show="16" showname="Chunk length: 16" size="2" value="0010"/> - <field name="sctp.sack_cumulative_tsn_ack" pos="50" show="2008295178" showname="Cumulative TSN ACK: 2008295178" size="4" value="77b4270a"> - <field name="sctp.ack" pos="96" show="2008295178" showname="Acknowledges TSN: 2008295178" size="0"> - <field name="sctp.ack_frame" pos="46" show="82" showname="Chunk acknowledged in frame: 82" size="0"/> - <field name="sctp.sack_rtt" pos="46" show="0.018615000" showname="The RTT since DATA was: 0.018615000 seconds" size="0"/> - </field> - </field> - <field name="sctp.sack_a_rwnd" pos="54" show="106496" showname="Advertised receiver window credit (a_rwnd): 106496" size="4" value="0001a000"/> - <field name="sctp.sack_number_of_gap_blocks" pos="58" show="0" showname="Number of gap acknowledgement blocks: 0" size="2" value="0000"/> - <field name="sctp.sack_number_of_duplicated_tsns" pos="60" show="0" showname="Number of duplicated TSNs: 0" size="2" value="0000"/> - </field> - <field name="" pos="62" show="DATA chunk(ordered, complete segment, TSN: 3304831195, SID: 1, SSN: 3, PPID: 18, payload length: 59 bytes)" size="16" value="0003004bc4fbb8db0001000300000012"> - <field name="sctp.chunk_type" pos="62" show="0" showname="Chunk type: DATA (0)" size="1" value="00"> - <field name="sctp.chunk_bit_1" pos="62" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="00" value="0"/> - <field name="sctp.chunk_bit_2" pos="62" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="00" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="63" show="3" showname="Chunk flags: 0x03" size="1" value="03"> - <field name="sctp.data_e_bit" pos="63" show="1" showname=".... ...1 = E-Bit: Last segment" size="1" unmaskedvalue="03" value="1"/> - <field name="sctp.data_b_bit" pos="63" show="1" showname=".... ..1. = B-Bit: First segment" size="1" unmaskedvalue="03" value="1"/> - <field name="sctp.data_u_bit" pos="63" show="0" showname=".... .0.. = U-Bit: Ordered delivery" size="1" unmaskedvalue="03" value="0"/> - <field name="sctp.data_i_bit" pos="63" show="0" showname=".... 0... = I-Bit: Possibly delay SACK" size="1" unmaskedvalue="03" value="0"/> - </field> - <field name="sctp.chunk_length" pos="64" show="75" showname="Chunk length: 75" size="2" value="004b"/> - <field name="sctp.data_tsn" pos="66" show="3304831195" showname="TSN: 3304831195" size="4" value="c4fbb8db"/> - <field name="sctp.data_sid" pos="70" show="1" showname="Stream Identifier: 0x0001" size="2" value="0001"/> - <field name="sctp.data_ssn" pos="72" show="3" showname="Stream sequence number: 3" size="2" value="0003"/> - <field name="sctp.data_payload_proto_id" pos="74" show="18" showname="Payload protocol identifier: S1 Application Protocol (S1AP) (18)" size="4" value="00000012"/> - <field name="sctp.chunk_padding" pos="137" show="00" showname="Chunk padding: 00" size="1" value="00"/> - </field> - </proto> - <proto name="s1ap" pos="78" showname="S1 Application Protocol" size="59"> - <field hide="yes" name="per.extension_bit" pos="78" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.choice_index" pos="78" show="0" showname="Choice Index: 0" size="1" value="00"/> - <field name="s1ap.S1AP_PDU" pos="78" show="0" showname="S1AP-PDU: initiatingMessage (0)" size="59" value="000d403700000500000005c0740010d0000800048006692d001a0009084795eaf72e00075e006440080002f85900e00000004340060002f8590001"> - <field name="s1ap.initiatingMessage_element" pos="78" show="" showname="initiatingMessage" size="59" value=""> - <field name="s1ap.procedureCode" pos="79" show="13" showname="procedureCode: id-uplinkNASTransport (13)" size="1" value="0d"/> - <field hide="yes" name="per.enum_index" pos="80" show="1" showname="Enumerated Index: 1" size="1" value="40"/> - <field name="s1ap.criticality" pos="80" show="1" showname="criticality: ignore (1)" size="1" value="40"/> - <field hide="yes" name="per.open_type_length" pos="81" show="55" showname="Open Type Length: 55" size="1" value="37"/> - <field name="s1ap.value_element" pos="82" show="" showname="value" size="55" value=""> - <field name="s1ap.UplinkNASTransport_element" pos="82" show="" showname="UplinkNASTransport" size="55" value=""> - <field hide="yes" name="per.extension_bit" pos="82" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.sequence_of_length" pos="83" show="5" showname="Sequence-Of Length: 5" size="2" value="0005"/> - <field name="s1ap.protocolIEs" pos="85" show="5" showname="protocolIEs: 5 items" size="52" value="00000005c0740010d0000800048006692d001a0009084795eaf72e00075e006440080002f85900e00000004340060002f8590001"> - <field name="" pos="85" show="Item 0: id-MME-UE-S1AP-ID" size="9" value="00000005c0740010d0"> - <field name="s1ap.ProtocolIE_Field_element" pos="85" show="" showname="ProtocolIE-Field" size="9" value=""> - <field name="s1ap.id" pos="85" show="0" showname="id: id-MME-UE-S1AP-ID (0)" size="2" value="0000"/> - <field hide="yes" name="per.enum_index" pos="87" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="87" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="88" show="5" showname="Open Type Length: 5" size="1" value="05"/> - <field name="s1ap.value_element" pos="89" show="" showname="value" size="5" value=""> - <field name="s1ap.MME_UE_S1AP_ID" pos="89" show="1946161360" showname="MME-UE-S1AP-ID: 1946161360" size="5" value="c0740010d0"/> - </field> - </field> - </field> - <field name="" pos="94" show="Item 1: id-eNB-UE-S1AP-ID" size="8" value="000800048006692d"> - <field name="s1ap.ProtocolIE_Field_element" pos="94" show="" showname="ProtocolIE-Field" size="8" value=""> - <field name="s1ap.id" pos="94" show="8" showname="id: id-eNB-UE-S1AP-ID (8)" size="2" value="0008"/> - <field hide="yes" name="per.enum_index" pos="96" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="96" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="97" show="4" showname="Open Type Length: 4" size="1" value="04"/> - <field name="s1ap.value_element" pos="98" show="" showname="value" size="4" value=""> - <field name="s1ap.ENB_UE_S1AP_ID" pos="98" show="420141" showname="ENB-UE-S1AP-ID: 420141" size="4" value="8006692d"/> - </field> - </field> - </field> - <field name="" pos="102" show="Item 2: id-NAS-PDU" size="13" value="001a0009084795eaf72e00075e"> - <field name="s1ap.ProtocolIE_Field_element" pos="102" show="" showname="ProtocolIE-Field" size="13" value=""> - <field name="s1ap.id" pos="102" show="26" showname="id: id-NAS-PDU (26)" size="2" value="001a"/> - <field hide="yes" name="per.enum_index" pos="104" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="104" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="105" show="9" showname="Open Type Length: 9" size="1" value="09"/> - <field name="s1ap.value_element" pos="106" show="" showname="value" size="9" value=""> - <field hide="yes" name="per.octet_string_length" pos="106" show="8" showname="Octet String Length: 8" size="1" value="08"/> - <field name="s1ap.NAS_PDU" pos="107" show="47:95:ea:f7:2e:00:07:5e" showname="NAS-PDU: 4795eaf72e00075e" size="8" value="4795eaf72e00075e"/> - <proto name="nas-eps" pos="107" showname="Non-Access-Stratum (NAS)PDU" size="8"> - <field name="nas_eps.security_header_type" pos="107" show="4" showname="0100 .... = Security header type: Integrity protected and ciphered with new EPS security context (4)" size="1" unmaskedvalue="47" value="4"/> - <field name="gsm_a.L3_protocol_discriminator" pos="107" show="7" showname=".... 0111 = Protocol discriminator: EPS mobility management messages (0x07)" size="1" unmaskedvalue="47" value="7"/> - <field name="nas_eps.msg_auth_code" pos="108" show="2515203886" showname="Message authentication code: 0x95eaf72e" size="4" value="95eaf72e"/> - <field name="nas_eps.seq_no" pos="112" show="0" showname="Sequence number: 0" size="1" value="00"/> - <field name="nas_eps.security_header_type" pos="113" show="0" showname="0000 .... = Security header type: Plain NAS message, not security protected (0)" size="1" unmaskedvalue="07" value="0"/> - <field name="gsm_a.L3_protocol_discriminator" pos="113" show="7" showname=".... 0111 = Protocol discriminator: EPS mobility management messages (0x07)" size="1" unmaskedvalue="07" value="7"/> - <field name="nas_eps.nas_msg_emm_type" pos="114" show="94" showname="NAS EPS Mobility Management Message Type: Security mode complete (0x5e)" size="1" value="5e"/> - </proto> - </field> - </field> - </field> - <field name="" pos="115" show="Item 3: id-EUTRAN-CGI" size="12" value="006440080002f85900e00000"> - <field name="s1ap.ProtocolIE_Field_element" pos="115" show="" showname="ProtocolIE-Field" size="12" value=""> - <field name="s1ap.id" pos="115" show="100" showname="id: id-EUTRAN-CGI (100)" size="2" value="0064"/> - <field hide="yes" name="per.enum_index" pos="117" show="1" showname="Enumerated Index: 1" size="1" value="40"/> - <field name="s1ap.criticality" pos="117" show="1" showname="criticality: ignore (1)" size="1" value="40"/> - <field hide="yes" name="per.open_type_length" pos="118" show="8" showname="Open Type Length: 8" size="1" value="08"/> - <field name="s1ap.value_element" pos="119" show="" showname="value" size="8" value=""> - <field name="s1ap.EUTRAN_CGI_element" pos="119" show="" showname="EUTRAN-CGI" size="7" value=""> - <field hide="yes" name="per.extension_bit" pos="119" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.optional_field_bit" pos="119" show="0" showname=".0.. .... Optional Field Bit: False (iE-Extensions is NOT present)" size="1" unmaskedvalue="00" value="0"/> - <field name="s1ap.pLMNidentity" pos="120" show="02:f8:59" showname="pLMNidentity: 02f859" size="3" value="02f859"/> - <field name="e212.mcc" pos="120" show="208" showname="Mobile Country Code (MCC): France (208)" size="2" value="02f8"/> - <field name="e212.mnc" pos="121" show="95" showname="Mobile Network Code (MNC): Unknown (95)" size="2" value="f859"/> - <field name="s1ap.cell_ID" pos="119" show="00:e0:00:00" showname="cell-ID: 00e00000 [bit length 28, 4 LSB pad bits, 0000 0000 1110 0000 0000 0000 0000 .... decimal value 917504]" size="4" value="00e00000"/> - </field> - </field> - </field> - </field> - <field name="" pos="127" show="Item 4: id-TAI" size="10" value="004340060002f8590001"> - <field name="s1ap.ProtocolIE_Field_element" pos="127" show="" showname="ProtocolIE-Field" size="10" value=""> - <field name="s1ap.id" pos="127" show="67" showname="id: id-TAI (67)" size="2" value="0043"/> - <field hide="yes" name="per.enum_index" pos="129" show="1" showname="Enumerated Index: 1" size="1" value="40"/> - <field name="s1ap.criticality" pos="129" show="1" showname="criticality: ignore (1)" size="1" value="40"/> - <field hide="yes" name="per.open_type_length" pos="130" show="6" showname="Open Type Length: 6" size="1" value="06"/> - <field name="s1ap.value_element" pos="131" show="" showname="value" size="6" value=""> - <field name="s1ap.TAI_element" pos="131" show="" showname="TAI" size="6" value=""> - <field hide="yes" name="per.extension_bit" pos="131" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.optional_field_bit" pos="131" show="0" showname=".0.. .... Optional Field Bit: False (iE-Extensions is NOT present)" size="1" unmaskedvalue="00" value="0"/> - <field name="s1ap.pLMNidentity" pos="132" show="02:f8:59" showname="pLMNidentity: 02f859" size="3" value="02f859"/> - <field name="e212.mcc" pos="132" show="208" showname="Mobile Country Code (MCC): France (208)" size="2" value="02f8"/> - <field name="e212.mnc" pos="133" show="95" showname="Mobile Network Code (MNC): Unknown (95)" size="2" value="f859"/> - <field name="s1ap.tAC" pos="135" show="00:01" showname="tAC: 0001" size="2" value="0001"/> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </proto> -</packet> -<packet> - - <proto name="frame" pos="0" showname="Frame 84: 270 bytes on wire (2160 bits), 270 bytes captured (2160 bits) on interface 0" size="270"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0 (eth0)" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:34:54.002963000 CEST" showname="Arrival Time: Sep 25, 2015 16:34:54.002963000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191694.002963000" showname="Epoch Time: 1443191694.002963000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.005607000" showname="Time delta from previous captured frame: 0.005607000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.005607000" showname="Time delta from previous displayed frame: 0.005607000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="47.537332000" showname="Time since reference or first frame: 47.537332000 seconds" size="0"/> - <field name="frame.number" pos="0" show="84" showname="Frame Number: 84" size="0"/> - <field name="frame.len" pos="0" show="270" showname="Frame Length: 270 bytes (2160 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="270" showname="Capture Length: 270 bytes (2160 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ethertype:ip:sctp:s1ap:s1ap:s1ap:s1ap:s1ap:s1ap:s1ap:nas-eps:ipcp:s1ap:s1ap" showname="Protocols in frame: eth:ethertype:ip:sctp:s1ap:s1ap:s1ap:s1ap:s1ap:s1ap:s1ap:nas-eps:ipcp:s1ap:s1ap" size="0"/> - </proto> - - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.17 (192.168.12.17), Dst: 192.168.12.213 (192.168.12.213)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header Length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="2" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="256" showname="Total Length: 256" size="2" value="0100"/> - <field name="ip.id" pos="18" show="0" showname="Identification: 0x0000 (0)" size="2" value="0000"/> - <field name="ip.flags" pos="20" show="2" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="40769" showname="Header checksum: 0x9f41 [validation disabled]" size="2" value="9f41"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="9f41"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="9f41"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.17" showname="Source: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.17" showname="Source Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="ip.dst" pos="30" show="192.168.12.213" showname="Destination: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.213" showname="Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80c11"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80cd5"/> - </proto> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: 36412 (36412), Dst Port: 36412 (36412)" size="44"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="1425553323" showname="Verification tag: 0x54f837ab" size="4" value="54f837ab"/> - <field name="sctp.assoc_index" pos="34" show="0" showname="Assocation index: 0" size="0"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="3489541311" showname="Checksum: 0xcffe2cbf (not verified)" size="4" value="cffe2cbf"/> - <field name="" pos="46" show="SACK chunk (Cumulative TSN: 3304831195, a_rwnd: 106496, gaps: 0, duplicate TSNs: 0)" size="16" value="03000010c4fbb8db0001a00000000000"> - <field name="sctp.chunk_type" pos="46" show="3" showname="Chunk type: SACK (3)" size="1" value="03"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="03" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="03" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0" showname="Chunk flags: 0x00" size="1" value="00"> - <field name="sctp.sack_nounce_sum" pos="47" show="0" showname=".... ...0 = Nounce sum: 0" size="1" unmaskedvalue="00" value="0"/> - </field> - <field name="sctp.chunk_length" pos="48" show="16" showname="Chunk length: 16" size="2" value="0010"/> - <field name="sctp.sack_cumulative_tsn_ack" pos="50" show="3304831195" showname="Cumulative TSN ACK: 3304831195" size="4" value="c4fbb8db"> - <field name="sctp.ack" pos="96" show="3304831195" showname="Acknowledges TSN: 3304831195" size="0"> - <field name="sctp.ack_frame" pos="46" show="83" showname="Chunk acknowledged in frame: 83" size="0"/> - <field name="sctp.sack_rtt" pos="46" show="0.005607000" showname="The RTT since DATA was: 0.005607000 seconds" size="0"/> - </field> - </field> - <field name="sctp.sack_a_rwnd" pos="54" show="106496" showname="Advertised receiver window credit (a_rwnd): 106496" size="4" value="0001a000"/> - <field name="sctp.sack_number_of_gap_blocks" pos="58" show="0" showname="Number of gap acknowledgement blocks: 0" size="2" value="0000"/> - <field name="sctp.sack_number_of_duplicated_tsns" pos="60" show="0" showname="Number of duplicated TSNs: 0" size="2" value="0000"/> - </field> - <field name="" pos="62" show="DATA chunk(ordered, complete segment, TSN: 2008295179, SID: 1, SSN: 3, PPID: 301989888, payload length: 191 bytes)" size="16" value="000300cf77b4270b0001000312000000"> - <field name="sctp.chunk_type" pos="62" show="0" showname="Chunk type: DATA (0)" size="1" value="00"> - <field name="sctp.chunk_bit_1" pos="62" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="00" value="0"/> - <field name="sctp.chunk_bit_2" pos="62" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="00" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="63" show="3" showname="Chunk flags: 0x03" size="1" value="03"> - <field name="sctp.data_e_bit" pos="63" show="1" showname=".... ...1 = E-Bit: Last segment" size="1" unmaskedvalue="03" value="1"/> - <field name="sctp.data_b_bit" pos="63" show="1" showname=".... ..1. = B-Bit: First segment" size="1" unmaskedvalue="03" value="1"/> - <field name="sctp.data_u_bit" pos="63" show="0" showname=".... .0.. = U-Bit: Ordered delivery" size="1" unmaskedvalue="03" value="0"/> - <field name="sctp.data_i_bit" pos="63" show="0" showname=".... 0... = I-Bit: Possibly delay SACK" size="1" unmaskedvalue="03" value="0"/> - </field> - <field name="sctp.chunk_length" pos="64" show="207" showname="Chunk length: 207" size="2" value="00cf"/> - <field name="sctp.data_tsn" pos="66" show="2008295179" showname="TSN: 2008295179" size="4" value="77b4270b"/> - <field name="sctp.data_sid" pos="70" show="1" showname="Stream Identifier: 0x0001" size="2" value="0001"/> - <field name="sctp.data_ssn" pos="72" show="3" showname="Stream sequence number: 3" size="2" value="0003"/> - <field name="sctp.data_payload_proto_id" pos="74" show="301989888" showname="Payload protocol identifier: Unknown (301989888)" size="4" value="12000000"/> - <field name="sctp.chunk_padding" pos="269" show="00" showname="Chunk padding: 00" size="1" value="00"/> - </field> - </proto> - <proto name="s1ap" pos="78" showname="S1 Application Protocol" size="191"> - <field hide="yes" name="per.extension_bit" pos="78" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.choice_index" pos="78" show="0" showname="Choice Index: 0" size="1" value="00"/> - <field name="s1ap.S1AP_PDU" pos="78" show="0" showname="S1AP-PDU: initiatingMessage (0)" size="191" value="00090080ba00000600000005c0740010d0000800048006692d0042000a1805f5e1006002faf080001800670000340062450009040f80c0a80c11000000015327ad0aaa9a010742014a062002f859000100315201c1010909036f616904697076340501c0bc00025e04fefede9e271480802110030000108106c0a86a0c8306c0a80c64500bf602f8598000016c000920172c006b0005100002000000490020d3a2585db3755b592cdd43bd648158eb3d142a9f7295ef2da9003b8f7a7a5929"> - <field name="s1ap.initiatingMessage_element" pos="78" show="" showname="initiatingMessage" size="191" value=""> - <field name="s1ap.procedureCode" pos="79" show="9" showname="procedureCode: id-InitialContextSetup (9)" size="1" value="09"/> - <field hide="yes" name="per.enum_index" pos="80" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="80" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="81" show="186" showname="Open Type Length: 186" size="2" value="80ba"/> - <field name="s1ap.value_element" pos="83" show="" showname="value" size="186" value=""> - <field name="s1ap.InitialContextSetupRequest_element" pos="83" show="" showname="InitialContextSetupRequest" size="186" value=""> - <field hide="yes" name="per.extension_bit" pos="83" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.sequence_of_length" pos="84" show="6" showname="Sequence-Of Length: 6" size="2" value="0006"/> - <field name="s1ap.protocolIEs" pos="86" show="6" showname="protocolIEs: 6 items" size="183" value="00000005c0740010d0000800048006692d0042000a1805f5e1006002faf080001800670000340062450009040f80c0a80c11000000015327ad0aaa9a010742014a062002f859000100315201c1010909036f616904697076340501c0bc00025e04fefede9e271480802110030000108106c0a86a0c8306c0a80c64500bf602f8598000016c000920172c006b0005100002000000490020d3a2585db3755b592cdd43bd648158eb3d142a9f7295ef2da9003b8f7a7a5929"> - <field name="" pos="86" show="Item 0: id-MME-UE-S1AP-ID" size="9" value="00000005c0740010d0"> - <field name="s1ap.ProtocolIE_Field_element" pos="86" show="" showname="ProtocolIE-Field" size="9" value=""> - <field name="s1ap.id" pos="86" show="0" showname="id: id-MME-UE-S1AP-ID (0)" size="2" value="0000"/> - <field hide="yes" name="per.enum_index" pos="88" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="88" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="89" show="5" showname="Open Type Length: 5" size="1" value="05"/> - <field name="s1ap.value_element" pos="90" show="" showname="value" size="5" value=""> - <field name="s1ap.MME_UE_S1AP_ID" pos="90" show="1946161360" showname="MME-UE-S1AP-ID: 1946161360" size="5" value="c0740010d0"/> - </field> - </field> - </field> - <field name="" pos="95" show="Item 1: id-eNB-UE-S1AP-ID" size="8" value="000800048006692d"> - <field name="s1ap.ProtocolIE_Field_element" pos="95" show="" showname="ProtocolIE-Field" size="8" value=""> - <field name="s1ap.id" pos="95" show="8" showname="id: id-eNB-UE-S1AP-ID (8)" size="2" value="0008"/> - <field hide="yes" name="per.enum_index" pos="97" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="97" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="98" show="4" showname="Open Type Length: 4" size="1" value="04"/> - <field name="s1ap.value_element" pos="99" show="" showname="value" size="4" value=""> - <field name="s1ap.ENB_UE_S1AP_ID" pos="99" show="420141" showname="ENB-UE-S1AP-ID: 420141" size="4" value="8006692d"/> - </field> - </field> - </field> - <field name="" pos="103" show="Item 2: id-uEaggregateMaximumBitrate" size="14" value="0042000a1805f5e1006002faf080"> - <field name="s1ap.ProtocolIE_Field_element" pos="103" show="" showname="ProtocolIE-Field" size="14" value=""> - <field name="s1ap.id" pos="103" show="66" showname="id: id-uEaggregateMaximumBitrate (66)" size="2" value="0042"/> - <field hide="yes" name="per.enum_index" pos="105" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="105" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="106" show="10" showname="Open Type Length: 10" size="1" value="0a"/> - <field name="s1ap.value_element" pos="107" show="" showname="value" size="10" value=""> - <field name="s1ap.UEAggregateMaximumBitrate_element" pos="107" show="" showname="UEAggregateMaximumBitrate" size="10" value=""> - <field hide="yes" name="per.extension_bit" pos="107" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="18" value="0"/> - <field hide="yes" name="per.optional_field_bit" pos="107" show="0" showname=".0.. .... Optional Field Bit: False (iE-Extensions is NOT present)" size="1" unmaskedvalue="18" value="0"/> - <field name="s1ap.uEaggregateMaximumBitRateDL" pos="107" show="100000000" showname="uEaggregateMaximumBitRateDL: 100000000" size="5" value="1805f5e100"/> - <field name="s1ap.uEaggregateMaximumBitRateUL" pos="112" show="50000000" showname="uEaggregateMaximumBitRateUL: 50000000" size="5" value="6002faf080"/> - </field> - </field> - </field> - </field> - <field name="" pos="117" show="Item 3: id-E-RABToBeSetupListCtxtSUReq" size="107" value="001800670000340062450009040f80c0a80c11000000015327ad0aaa9a010742014a062002f859000100315201c1010909036f616904697076340501c0bc00025e04fefede9e271480802110030000108106c0a86a0c8306c0a80c64500bf602f8598000016c000920172c"> - <field name="s1ap.ProtocolIE_Field_element" pos="117" show="" showname="ProtocolIE-Field" size="107" value=""> - <field name="s1ap.id" pos="117" show="24" showname="id: id-E-RABToBeSetupListCtxtSUReq (24)" size="2" value="0018"/> - <field hide="yes" name="per.enum_index" pos="119" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="119" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="120" show="103" showname="Open Type Length: 103" size="1" value="67"/> - <field name="s1ap.value_element" pos="121" show="" showname="value" size="103" value=""> - <field hide="yes" name="per.sequence_of_length" pos="121" show="1" showname="Sequence-Of Length: 1" size="1" value="00"/> - <field name="s1ap.E_RABToBeSetupListCtxtSUReq" pos="122" show="1" showname="E-RABToBeSetupListCtxtSUReq: 1 item" size="102" value="00340062450009040f80c0a80c11000000015327ad0aaa9a010742014a062002f859000100315201c1010909036f616904697076340501c0bc00025e04fefede9e271480802110030000108106c0a86a0c8306c0a80c64500bf602f8598000016c000920172c"> - <field name="" pos="122" show="Item 0: id-E-RABToBeSetupItemCtxtSUReq" size="102" value="00340062450009040f80c0a80c11000000015327ad0aaa9a010742014a062002f859000100315201c1010909036f616904697076340501c0bc00025e04fefede9e271480802110030000108106c0a86a0c8306c0a80c64500bf602f8598000016c000920172c"> - <field name="s1ap.ProtocolIE_SingleContainer_element" pos="122" show="" showname="ProtocolIE-SingleContainer" size="102" value=""> - <field name="s1ap.id" pos="122" show="52" showname="id: id-E-RABToBeSetupItemCtxtSUReq (52)" size="2" value="0034"/> - <field hide="yes" name="per.enum_index" pos="124" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="124" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="125" show="98" showname="Open Type Length: 98" size="1" value="62"/> - <field name="s1ap.value_element" pos="126" show="" showname="value" size="98" value=""> - <field name="s1ap.E_RABToBeSetupItemCtxtSUReq_element" pos="126" show="" showname="E-RABToBeSetupItemCtxtSUReq" size="98" value=""> - <field hide="yes" name="per.extension_bit" pos="126" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="45" value="0"/> - <field hide="yes" name="per.optional_field_bit" pos="126" show="1" showname=".1.. .... Optional Field Bit: True (nAS-PDU is present)" size="1" unmaskedvalue="45" value="1"/> - <field hide="yes" name="per.optional_field_bit" pos="126" show="0" showname="..0. .... Optional Field Bit: False (iE-Extensions is NOT present)" size="1" unmaskedvalue="45" value="0"/> - <field hide="yes" name="per.extension_present_bit" pos="126" show="0" showname="...0 .... Extension Present Bit: False" size="1" unmaskedvalue="45" value="0"/> - <field name="s1ap.e_RAB_ID" pos="126" show="5" showname="e-RAB-ID: 5" size="1" value="45"/> - <field name="s1ap.e_RABlevelQoSParameters_element" pos="127" show="" showname="e-RABlevelQoSParameters" size="3" value=""> - <field hide="yes" name="per.extension_bit" pos="127" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.optional_field_bit" pos="127" show="0" showname=".0.. .... Optional Field Bit: False (gbrQosInformation is NOT present)" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.optional_field_bit" pos="127" show="0" showname="..0. .... Optional Field Bit: False (iE-Extensions is NOT present)" size="1" unmaskedvalue="00" value="0"/> - <field name="s1ap.qCI" pos="128" show="9" showname="qCI: 9" size="1" value="09"/> - <field name="s1ap.allocationRetentionPriority_element" pos="129" show="" showname="allocationRetentionPriority" size="1" value=""> - <field hide="yes" name="per.extension_bit" pos="129" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="04" value="0"/> - <field hide="yes" name="per.optional_field_bit" pos="129" show="0" showname=".0.. .... Optional Field Bit: False (iE-Extensions is NOT present)" size="1" unmaskedvalue="04" value="0"/> - <field name="s1ap.priorityLevel" pos="129" show="1" showname="priorityLevel: highest (1)" size="1" value="04"/> - <field hide="yes" name="per.enum_index" pos="129" show="0" showname="Enumerated Index: 0" size="1" value="04"/> - <field name="s1ap.pre_emptionCapability" pos="129" show="0" showname="pre-emptionCapability: shall-not-trigger-pre-emption (0)" size="1" value="04"/> - <field hide="yes" name="per.enum_index" pos="129" show="0" showname="Enumerated Index: 0" size="1" value="04"/> - <field name="s1ap.pre_emptionVulnerability" pos="129" show="0" showname="pre-emptionVulnerability: not-pre-emptable (0)" size="1" value="04"/> - </field> - </field> - <field name="per.extension_present_bit" pos="130" show="0" showname="0... .... Extension Present Bit: False" size="1" unmaskedvalue="0f" value="0"/> - <field hide="yes" name="per.bit_string_length" pos="130" show="32" showname="Bit String Length: 32" size="1" value="0f"/> - <field name="s1ap.transportLayerAddress" pos="132" show="c0:a8:0c:11" showname="transportLayerAddress: c0a80c11 [bit length 32, 1100 0000 1010 1000 0000 1100 0001 0001 decimal value 3232238609]" size="4" value="c0a80c11"> - <field name="s1ap.transportLayerAddressIPv4" pos="132" show="192.168.12.17" showname="transportLayerAddress(IPv4): 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - </field> - <field name="s1ap.gTP_TEID" pos="136" show="00:00:00:01" showname="gTP-TEID: 00000001" size="4" value="00000001"/> - <field hide="yes" name="per.octet_string_length" pos="140" show="83" showname="Octet String Length: 83" size="1" value="53"/> - <field name="s1ap.nAS_PDU" pos="141" show="27:ad:0a:aa:9a:01:07:42:01:4a:06:20:02:f8:59:00:01:00:31:52:01:c1:01:09:09:03:6f:61:69:04:69:70:76:34:05:01:c0:bc:00:02:5e:04:fe:fe:de:9e:27:14:80:80:21:10:03:00:00:10:81:06:c0:a8:6a:0c:83:06:c0:a8:0c:64:50:0b:f6:02:f8:59:80:00:01:6c:00:09:20:17:2c" showname="nAS-PDU: 27ad0aaa9a010742014a062002f859000100315201c10109..." size="83" value="27ad0aaa9a010742014a062002f859000100315201c1010909036f616904697076340501c0bc00025e04fefede9e271480802110030000108106c0a86a0c8306c0a80c64500bf602f8598000016c000920172c"/> - <proto name="nas-eps" pos="141" showname="Non-Access-Stratum (NAS)PDU" size="83"> - <field name="nas_eps.security_header_type" pos="141" show="2" showname="0010 .... = Security header type: Integrity protected and ciphered (2)" size="1" unmaskedvalue="27" value="2"/> - <field name="gsm_a.L3_protocol_discriminator" pos="141" show="7" showname=".... 0111 = Protocol discriminator: EPS mobility management messages (0x07)" size="1" unmaskedvalue="27" value="7"/> - <field name="nas_eps.msg_auth_code" pos="142" show="2903157402" showname="Message authentication code: 0xad0aaa9a" size="4" value="ad0aaa9a"/> - <field name="nas_eps.seq_no" pos="146" show="1" showname="Sequence number: 1" size="1" value="01"/> - <field name="nas_eps.security_header_type" pos="147" show="0" showname="0000 .... = Security header type: Plain NAS message, not security protected (0)" size="1" unmaskedvalue="07" value="0"/> - <field name="gsm_a.L3_protocol_discriminator" pos="147" show="7" showname=".... 0111 = Protocol discriminator: EPS mobility management messages (0x07)" size="1" unmaskedvalue="07" value="7"/> - <field name="nas_eps.nas_msg_emm_type" pos="148" show="66" showname="NAS EPS Mobility Management Message Type: Attach accept (0x42)" size="1" value="42"/> - <field name="nas_eps.emm.spare_half_octet" pos="149" show="0" showname="0000 .... = Spare half octet: 0" size="1" value="01"/> - <field name="nas_eps.spare_bits" pos="149" show="0" showname=".... 0... = Spare bit(s): 0x00" size="1" value="01"/> - <field name="nas_eps.emm.EPS_attach_result" pos="149" show="1" showname=".... .001 = Attach result: EPS only (1)" size="1" value="01"/> - <field name="" pos="150" show="GPRS Timer - T3412 value" size="1" value="4a"> - <field name="" pos="150" show="GPRS Timer: 60 min" size="1" value="4a"> - <field name="gsm_a.gm.gmm.gprs_timer_unit" pos="150" show="2" showname="010. .... = Unit: value is incremented in multiples of decihours (2)" size="1" unmaskedvalue="4a" value="2"/> - <field name="gsm_a.gm.gmm.gprs_timer_value" pos="150" show="10" showname="...0 1010 = Timer value: 10" size="1" unmaskedvalue="4a" value="A"/> - </field> - </field> - <field name="" pos="151" show="Tracking area identity list - TAI list" size="7" value="062002f8590001"> - <field name="gsm_a.len" pos="151" show="6" showname="Length: 6" size="1" value="06"/> - <field name="nas_eps.spare_bits" pos="152" show="0" showname="0... .... = Spare bit(s): 0x00" size="1" value="20"/> - <field name="nas_eps.emm.tai_tol" pos="152" show="1" showname=".01. .... = Type of list: list of TACs belonging to one PLMN, with consecutive TAC values (1)" size="1" unmaskedvalue="20" value="1"/> - <field name="nas_eps.emm.tai_n_elem" pos="152" show="0" showname="...0 0000 = Number of elements: 0 [+1 = 1 element(s)]" size="1" unmaskedvalue="20" value="0"/> - <field name="e212.mcc" pos="153" show="208" showname="Mobile Country Code (MCC): France (208)" size="2" value="02f8"/> - <field name="e212.mnc" pos="154" show="95" showname="Mobile Network Code (MNC): Unknown (95)" size="2" value="f859"/> - <field name="nas_eps.emm.tai_tac" pos="156" show="1" showname="Tracking area code(TAC): 0x0001" size="2" value="0001"/> - </field> - <field name="" pos="158" show="ESM message container" size="51" value="00315201c1010909036f616904697076340501c0bc00025e04fefede9e271480802110030000108106c0a86a0c8306c0a80c64"> - <field name="gsm_a.len" pos="158" show="49" showname="Length: 49" size="2" value="0031"/> - <field name="nas_eps.emm.esm_msg_cont" pos="160" show="52:01:c1:01:09:09:03:6f:61:69:04:69:70:76:34:05:01:c0:bc:00:02:5e:04:fe:fe:de:9e:27:14:80:80:21:10:03:00:00:10:81:06:c0:a8:6a:0c:83:06:c0:a8:0c:64" showname="ESM message container contents: 5201c1010909036f616904697076340501c0bc00025e04fe..." size="49" value="5201c1010909036f616904697076340501c0bc00025e04fefede9e271480802110030000108106c0a86a0c8306c0a80c64"> - <field name="nas_eps.bearer_id" pos="160" show="5" showname="0101 .... = EPS bearer identity: EPS bearer identity value 5 (5)" size="1" unmaskedvalue="52" value="5"/> - <field name="gsm_a.L3_protocol_discriminator" pos="160" show="2" showname=".... 0010 = Protocol discriminator: EPS session management messages (0x02)" size="1" unmaskedvalue="52" value="2"/> - <field name="nas_eps.esm.proc_trans_id" pos="161" show="1" showname="Procedure transaction identity: 1" size="1" value="01"/> - <field name="nas_eps.nas_msg_esm_type" pos="162" show="193" showname="NAS EPS session management messages: Activate default EPS bearer context request (0xc1)" size="1" value="c1"/> - <field name="" pos="163" show="EPS quality of service" size="2" value="0109"> - <field name="gsm_a.len" pos="163" show="1" showname="Length: 1" size="1" value="01"/> - <field name="nas_eps.emm.qci" pos="164" show="9" showname="Quality of Service Class Identifier (QCI): QCI 9 (9)" size="1" value="09"/> - </field> - <field name="" pos="165" show="Access Point Name" size="10" value="09036f61690469707634"> - <field name="gsm_a.len" pos="165" show="9" showname="Length: 9" size="1" value="09"/> - <field name="gsm_a.gm.sm.apn" pos="166" show="oai.ipv4" showname="APN: oai.ipv4" size="9" value="036f61690469707634"/> - </field> - <field name="" pos="175" show="PDN address" size="6" value="0501c0bc0002"> - <field name="gsm_a.len" pos="175" show="5" showname="Length: 5" size="1" value="05"/> - <field name="nas_eps.spare_bits" pos="176" show="0" showname="0000 0... = Spare bit(s): 0x00" size="1" value="01"/> - <field name="nas_eps.esm_pdn_type" pos="176" show="1" showname="PDN type: IPv4 (1)" size="1" value="01"/> - <field name="nas_eps.esm.pdn_ipv4" pos="177" show="192.188.0.2" showname="PDN IPv4: 192.188.0.2 (192.188.0.2)" size="4" value="c0bc0002"/> - </field> - <field name="" pos="181" show="APN aggregate maximum bit rate" size="6" value="5e04fefede9e"> - <field name="nas_eps.esm.elem_id" pos="181" show="94" showname="Element ID: 0x5e" size="1" value="5e"/> - <field name="gsm_a.len" pos="182" show="4" showname="Length: 4" size="1" value="04"/> - <field name="nas_eps.emm.apn_ambr_dl" pos="183" show="254" showname="APN-AMBR for downlink: 8640 kbps" size="1" value="fe"/> - <field name="nas_eps.emm.apn_ambr_ul" pos="184" show="254" showname="APN-AMBR for uplink: 8640 kbps" size="1" value="fe"/> - <field name="nas_eps.emm.apn_ambr_dl_ext" pos="185" show="222" showname="APN-AMBR for downlink (extended): 200 Mbps" size="1" value="de"/> - <field name="" pos="185" show="Total APN-AMBR for downlink : 200.000 Mbps" size="1" value="de"/> - <field name="nas_eps.emm.apn_ambr_ul_ext" pos="186" show="158" showname="APN-AMBR for uplink (extended): 100 Mbps" size="1" value="9e"/> - <field name="" pos="186" show="Total APN-AMBR for uplink : 100.000 Mbps" size="1" value="9e"/> - </field> - <field name="" pos="187" show="Protocol Configuration Options" size="22" value="271480802110030000108106c0a86a0c8306c0a80c64"> - <field name="gsm_a.gm.elem_id" pos="187" show="39" showname="Element ID: 0x27" size="1" value="27"/> - <field name="gsm_a.len" pos="188" show="20" showname="Length: 20" size="1" value="14"/> - <field name="gsm_a.gm.sm.link_dir" pos="189" show="1" showname="Link direction: Network to MS (1)" size="0"/> - <field name="gsm_a.gm.sm.ext" pos="189" show="1" showname="1... .... = Extension: True" size="1" unmaskedvalue="80" value="1"/> - <field name="" pos="189" show="Configuration Protocol: PPP for use with IP PDP type or IP PDN type (0)" size="1" value="80"/> - <field name="gsm_a.gm.sm.pco_pid" pos="190" show="32801" showname="Protocol or Container ID: Internet Protocol Control Protocol (0x8021)" size="2" value="8021"> - <field name="" pos="192" show="Length: 0x10 (16)" size="1" value="10"/> - <proto name="ipcp" pos="193" showname="PPP IP Control Protocol" size="16"> - <field name="ppp.code" pos="193" show="3" showname="Code: Configuration Nak (3)" size="1" value="03"/> - <field name="ppp.identifier" pos="194" show="0" showname="Identifier: 0 (0x00)" size="1" value="00"/> - <field name="ppp.length" pos="195" show="16" showname="Length: 16" size="2" value="0010"/> - <field name="" pos="197" show="Options: (12 bytes), Primary DNS Server IP Address, Secondary DNS Server IP Address" size="12" value="8106c0a86a0c8306c0a80c64"> - <field name="" pos="197" show="Primary DNS Server IP Address: 192.168.106.12" size="6" value="8106c0a86a0c"> - <field name="ipcp.opt.type" pos="197" show="129" showname="Type: Primary DNS Server IP Address (129)" size="1" value="81"/> - <field name="ipcp.opt.length" pos="198" show="6" showname="Length: 6" size="1" value="06"/> - <field name="ipcp.opt.pri_dns_address" pos="199" show="192.168.106.12" showname="Primary DNS Address: 192.168.106.12 (192.168.106.12)" size="4" value="c0a86a0c"/> - </field> - <field name="" pos="203" show="Secondary DNS Server IP Address: 192.168.12.100" size="6" value="8306c0a80c64"> - <field name="ipcp.opt.type" pos="203" show="131" showname="Type: Secondary DNS Server IP Address (131)" size="1" value="83"/> - <field name="ipcp.opt.length" pos="204" show="6" showname="Length: 6" size="1" value="06"/> - <field name="ipcp.opt.sec_dns_address" pos="205" show="192.168.12.100" showname="Secondary DNS Address: 192.168.12.100 (192.168.12.100)" size="4" value="c0a80c64"/> - </field> - </field> - </proto> - </field> - </field> - </field> - </field> - <field name="" pos="209" show="EPS mobile identity - GUTI" size="13" value="500bf602f8598000016c000920"> - <field name="nas_eps.emm.elem_id" pos="209" show="80" showname="Element ID: 0x50" size="1" value="50"/> - <field name="gsm_a.len" pos="210" show="11" showname="Length: 11" size="1" value="0b"/> - <field name="nas_eps.emm.odd_even" pos="211" show="0" showname=".... 0... = odd/even indic: 0" size="1" unmaskedvalue="f6" value="0"/> - <field name="nas_eps.emm.type_of_id" pos="211" show="6" showname=".... .110 = Type of identity: GUTI (6)" size="1" unmaskedvalue="f6" value="6"/> - <field name="e212.mcc" pos="212" show="208" showname="Mobile Country Code (MCC): France (208)" size="2" value="02f8"/> - <field name="e212.mnc" pos="213" show="95" showname="Mobile Network Code (MNC): Unknown (95)" size="2" value="f859"/> - <field name="nas_eps.emm.mme_grp_id" pos="215" show="32768" showname="MME Group ID: 32768" size="2" value="8000"/> - <field name="nas_eps.emm.mme_code" pos="217" show="1" showname="MME Code: 1" size="1" value="01"/> - <field name="nas_eps.emm.m_tmsi" pos="218" show="1811941664" showname="M-TMSI: 0x6c000920" size="4" value="6c000920"/> - </field> - <field name="" pos="222" show="GPRS Timer - T3402 value" size="2" value="172c"> - <field name="gsm_a.gm.elem_id" pos="222" show="23" showname="Element ID: 0x17" size="1" value="17"/> - <field name="" pos="223" show="GPRS Timer: 12 min" size="1" value="2c"> - <field name="gsm_a.gm.gmm.gprs_timer_unit" pos="223" show="1" showname="001. .... = Unit: value is incremented in multiples of 1 minute (1)" size="1" unmaskedvalue="2c" value="1"/> - <field name="gsm_a.gm.gmm.gprs_timer_value" pos="223" show="12" showname="...0 1100 = Timer value: 12" size="1" unmaskedvalue="2c" value="C"/> - </field> - </field> - </proto> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - <field name="" pos="224" show="Item 4: id-UESecurityCapabilities" size="9" value="006b00051000020000"> - <field name="s1ap.ProtocolIE_Field_element" pos="224" show="" showname="ProtocolIE-Field" size="9" value=""> - <field name="s1ap.id" pos="224" show="107" showname="id: id-UESecurityCapabilities (107)" size="2" value="006b"/> - <field hide="yes" name="per.enum_index" pos="226" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="226" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="227" show="5" showname="Open Type Length: 5" size="1" value="05"/> - <field name="s1ap.value_element" pos="228" show="" showname="value" size="5" value=""> - <field name="s1ap.UESecurityCapabilities_element" pos="228" show="" showname="UESecurityCapabilities" size="4" value=""> - <field hide="yes" name="per.extension_bit" pos="228" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="10" value="0"/> - <field hide="yes" name="per.optional_field_bit" pos="228" show="0" showname=".0.. .... Optional Field Bit: False (iE-Extensions is NOT present)" size="1" unmaskedvalue="10" value="0"/> - <field name="per.extension_present_bit" pos="228" show="0" showname="..0. .... Extension Present Bit: False" size="1" unmaskedvalue="10" value="0"/> - <field name="s1ap.encryptionAlgorithms" pos="228" show="80:00" showname="encryptionAlgorithms: 8000 [bit length 16, 1000 0000 0000 0000 decimal value 32768]" size="2" value="8000"/> - <field name="per.extension_present_bit" pos="230" show="0" showname="...0 .... Extension Present Bit: False" size="1" unmaskedvalue="02" value="0"/> - <field name="s1ap.integrityProtectionAlgorithms" pos="228" show="20:00" showname="integrityProtectionAlgorithms: 2000 [bit length 16, 0010 0000 0000 0000 decimal value 8192]" size="2" value="2000"/> - </field> - </field> - </field> - </field> - <field name="" pos="233" show="Item 5: id-SecurityKey" size="36" value="00490020d3a2585db3755b592cdd43bd648158eb3d142a9f7295ef2da9003b8f7a7a5929"> - <field name="s1ap.ProtocolIE_Field_element" pos="233" show="" showname="ProtocolIE-Field" size="36" value=""> - <field name="s1ap.id" pos="233" show="73" showname="id: id-SecurityKey (73)" size="2" value="0049"/> - <field hide="yes" name="per.enum_index" pos="235" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="235" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="236" show="32" showname="Open Type Length: 32" size="1" value="20"/> - <field name="s1ap.value_element" pos="237" show="" showname="value" size="32" value=""> - <field name="s1ap.SecurityKey" pos="237" show="d3:a2:58:5d:b3:75:5b:59:2c:dd:43:bd:64:81:58:eb:3d:14:2a:9f:72:95:ef:2d:a9:00:3b:8f:7a:7a:59:29" showname="SecurityKey: d3a2585db3755b592cdd43bd648158eb3d142a9f7295ef2d... [bit length 256]" size="32" value="d3a2585db3755b592cdd43bd648158eb3d142a9f7295ef2da9003b8f7a7a5929"/> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </proto> -</packet> -<packet> - - <proto name="frame" pos="0" showname="Frame 86: 126 bytes on wire (1008 bits), 126 bytes captured (1008 bits) on interface 0" size="126"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0 (eth0)" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:34:54.029328000 CEST" showname="Arrival Time: Sep 25, 2015 16:34:54.029328000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191694.029328000" showname="Epoch Time: 1443191694.029328000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.006335000" showname="Time delta from previous captured frame: 0.006335000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.006335000" showname="Time delta from previous displayed frame: 0.006335000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="47.563697000" showname="Time since reference or first frame: 47.563697000 seconds" size="0"/> - <field name="frame.number" pos="0" show="86" showname="Frame Number: 86" size="0"/> - <field name="frame.len" pos="0" show="126" showname="Frame Length: 126 bytes (1008 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="126" showname="Capture Length: 126 bytes (1008 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ethertype:ip:sctp:s1ap:s1ap:s1ap:s1ap:s1ap" showname="Protocols in frame: eth:ethertype:ip:sctp:s1ap:s1ap:s1ap:s1ap:s1ap" size="0"/> - </proto> - - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.213 (192.168.12.213), Dst: 192.168.12.17 (192.168.12.17)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header Length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="2" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="112" showname="Total Length: 112" size="2" value="0070"/> - <field name="ip.id" pos="18" show="10" showname="Identification: 0x000a (10)" size="2" value="000a"/> - <field name="ip.flags" pos="20" show="2" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="40903" showname="Header checksum: 0x9fc7 [validation disabled]" size="2" value="9fc7"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="9fc7"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="9fc7"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.213" showname="Source: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.213" showname="Source Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="ip.dst" pos="30" show="192.168.12.17" showname="Destination: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.17" showname="Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80cd5"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80c11"/> - </proto> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: 36412 (36412), Dst Port: 36412 (36412)" size="44"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="1288826016" showname="Verification tag: 0x4cd1eca0" size="4" value="4cd1eca0"/> - <field name="sctp.assoc_index" pos="34" show="0" showname="Assocation index: 0" size="0"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="2473517857" showname="Checksum: 0x936ee321 (not verified)" size="4" value="936ee321"/> - <field name="" pos="46" show="SACK chunk (Cumulative TSN: 2008295179, a_rwnd: 106496, gaps: 0, duplicate TSNs: 0)" size="16" value="0300001077b4270b0001a00000000000"> - <field name="sctp.chunk_type" pos="46" show="3" showname="Chunk type: SACK (3)" size="1" value="03"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="03" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="03" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0" showname="Chunk flags: 0x00" size="1" value="00"> - <field name="sctp.sack_nounce_sum" pos="47" show="0" showname=".... ...0 = Nounce sum: 0" size="1" unmaskedvalue="00" value="0"/> - </field> - <field name="sctp.chunk_length" pos="48" show="16" showname="Chunk length: 16" size="2" value="0010"/> - <field name="sctp.sack_cumulative_tsn_ack" pos="50" show="2008295179" showname="Cumulative TSN ACK: 2008295179" size="4" value="77b4270b"> - <field name="sctp.ack" pos="96" show="2008295179" showname="Acknowledges TSN: 2008295179" size="0"> - <field name="sctp.ack_frame" pos="46" show="84" showname="Chunk acknowledged in frame: 84" size="0"/> - <field name="sctp.sack_rtt" pos="46" show="0.026365000" showname="The RTT since DATA was: 0.026365000 seconds" size="0"/> - </field> - </field> - <field name="sctp.sack_a_rwnd" pos="54" show="106496" showname="Advertised receiver window credit (a_rwnd): 106496" size="4" value="0001a000"/> - <field name="sctp.sack_number_of_gap_blocks" pos="58" show="0" showname="Number of gap acknowledgement blocks: 0" size="2" value="0000"/> - <field name="sctp.sack_number_of_duplicated_tsns" pos="60" show="0" showname="Number of duplicated TSNs: 0" size="2" value="0000"/> - </field> - <field name="" pos="62" show="DATA chunk(ordered, complete segment, TSN: 3304831196, SID: 1, SSN: 4, PPID: 18, payload length: 48 bytes)" size="16" value="00030040c4fbb8dc0001000400000012"> - <field name="sctp.chunk_type" pos="62" show="0" showname="Chunk type: DATA (0)" size="1" value="00"> - <field name="sctp.chunk_bit_1" pos="62" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="00" value="0"/> - <field name="sctp.chunk_bit_2" pos="62" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="00" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="63" show="3" showname="Chunk flags: 0x03" size="1" value="03"> - <field name="sctp.data_e_bit" pos="63" show="1" showname=".... ...1 = E-Bit: Last segment" size="1" unmaskedvalue="03" value="1"/> - <field name="sctp.data_b_bit" pos="63" show="1" showname=".... ..1. = B-Bit: First segment" size="1" unmaskedvalue="03" value="1"/> - <field name="sctp.data_u_bit" pos="63" show="0" showname=".... .0.. = U-Bit: Ordered delivery" size="1" unmaskedvalue="03" value="0"/> - <field name="sctp.data_i_bit" pos="63" show="0" showname=".... 0... = I-Bit: Possibly delay SACK" size="1" unmaskedvalue="03" value="0"/> - </field> - <field name="sctp.chunk_length" pos="64" show="64" showname="Chunk length: 64" size="2" value="0040"/> - <field name="sctp.data_tsn" pos="66" show="3304831196" showname="TSN: 3304831196" size="4" value="c4fbb8dc"/> - <field name="sctp.data_sid" pos="70" show="1" showname="Stream Identifier: 0x0001" size="2" value="0001"/> - <field name="sctp.data_ssn" pos="72" show="4" showname="Stream sequence number: 4" size="2" value="0004"/> - <field name="sctp.data_payload_proto_id" pos="74" show="18" showname="Payload protocol identifier: S1 Application Protocol (S1AP) (18)" size="4" value="00000012"/> - </field> - </proto> - <proto name="s1ap" pos="78" showname="S1 Application Protocol" size="48"> - <field hide="yes" name="per.extension_bit" pos="78" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.choice_index" pos="78" show="0" showname="Choice Index: 0" size="1" value="00"/> - <field name="s1ap.S1AP_PDU" pos="78" show="0" showname="S1AP-PDU: initiatingMessage (0)" size="48" value="0016402c00000300000005c0740010d0000800048006692d004a40141381200003001060e0c1f83f07e0fd7837620000"> - <field name="s1ap.initiatingMessage_element" pos="78" show="" showname="initiatingMessage" size="48" value=""> - <field name="s1ap.procedureCode" pos="79" show="22" showname="procedureCode: id-UECapabilityInfoIndication (22)" size="1" value="16"/> - <field hide="yes" name="per.enum_index" pos="80" show="1" showname="Enumerated Index: 1" size="1" value="40"/> - <field name="s1ap.criticality" pos="80" show="1" showname="criticality: ignore (1)" size="1" value="40"/> - <field hide="yes" name="per.open_type_length" pos="81" show="44" showname="Open Type Length: 44" size="1" value="2c"/> - <field name="s1ap.value_element" pos="82" show="" showname="value" size="44" value=""> - <field name="s1ap.UECapabilityInfoIndication_element" pos="82" show="" showname="UECapabilityInfoIndication" size="44" value=""> - <field hide="yes" name="per.extension_bit" pos="82" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.sequence_of_length" pos="83" show="3" showname="Sequence-Of Length: 3" size="2" value="0003"/> - <field name="s1ap.protocolIEs" pos="85" show="3" showname="protocolIEs: 3 items" size="41" value="00000005c0740010d0000800048006692d004a40141381200003001060e0c1f83f07e0fd7837620000"> - <field name="" pos="85" show="Item 0: id-MME-UE-S1AP-ID" size="9" value="00000005c0740010d0"> - <field name="s1ap.ProtocolIE_Field_element" pos="85" show="" showname="ProtocolIE-Field" size="9" value=""> - <field name="s1ap.id" pos="85" show="0" showname="id: id-MME-UE-S1AP-ID (0)" size="2" value="0000"/> - <field hide="yes" name="per.enum_index" pos="87" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="87" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="88" show="5" showname="Open Type Length: 5" size="1" value="05"/> - <field name="s1ap.value_element" pos="89" show="" showname="value" size="5" value=""> - <field name="s1ap.MME_UE_S1AP_ID" pos="89" show="1946161360" showname="MME-UE-S1AP-ID: 1946161360" size="5" value="c0740010d0"/> - </field> - </field> - </field> - <field name="" pos="94" show="Item 1: id-eNB-UE-S1AP-ID" size="8" value="000800048006692d"> - <field name="s1ap.ProtocolIE_Field_element" pos="94" show="" showname="ProtocolIE-Field" size="8" value=""> - <field name="s1ap.id" pos="94" show="8" showname="id: id-eNB-UE-S1AP-ID (8)" size="2" value="0008"/> - <field hide="yes" name="per.enum_index" pos="96" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="96" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="97" show="4" showname="Open Type Length: 4" size="1" value="04"/> - <field name="s1ap.value_element" pos="98" show="" showname="value" size="4" value=""> - <field name="s1ap.ENB_UE_S1AP_ID" pos="98" show="420141" showname="ENB-UE-S1AP-ID: 420141" size="4" value="8006692d"/> - </field> - </field> - </field> - <field name="" pos="102" show="Item 2: id-UERadioCapability" size="24" value="004a40141381200003001060e0c1f83f07e0fd7837620000"> - <field name="s1ap.ProtocolIE_Field_element" pos="102" show="" showname="ProtocolIE-Field" size="24" value=""> - <field name="s1ap.id" pos="102" show="74" showname="id: id-UERadioCapability (74)" size="2" value="004a"/> - <field hide="yes" name="per.enum_index" pos="104" show="1" showname="Enumerated Index: 1" size="1" value="40"/> - <field name="s1ap.criticality" pos="104" show="1" showname="criticality: ignore (1)" size="1" value="40"/> - <field hide="yes" name="per.open_type_length" pos="105" show="20" showname="Open Type Length: 20" size="1" value="14"/> - <field name="s1ap.value_element" pos="106" show="" showname="value" size="20" value=""> - <field hide="yes" name="per.octet_string_length" pos="106" show="19" showname="Octet String Length: 19" size="1" value="13"/> - <field name="s1ap.UERadioCapability" pos="107" show="81:20:00:03:00:10:60:e0:c1:f8:3f:07:e0:fd:78:37:62:00:00" showname="UERadioCapability: 81200003001060e0c1f83f07e0fd7837620000" size="19" value="81200003001060e0c1f83f07e0fd7837620000"> - <field name="lte-rrc.UERadioAccessCapabilityInformation_element" pos="107" show="" showname="UERadioAccessCapabilityInformation" size="1" value=""> - <field hide="yes" name="per.choice_index" pos="107" show="1" showname="Choice Index: 1" size="1" value="81"/> - <field name="lte-rrc.criticalExtensions" pos="107" show="1" showname="criticalExtensions: criticalExtensionsFuture (1)" size="1" value="81"> - <field name="lte-rrc.criticalExtensionsFuture_element" pos="107" show="" showname="criticalExtensionsFuture" size="1" value=""/> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </proto> -</packet> -<packet> - - <proto name="frame" pos="0" showname="Frame 87: 62 bytes on wire (496 bits), 62 bytes captured (496 bits) on interface 0" size="62"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0 (eth0)" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:34:54.226130000 CEST" showname="Arrival Time: Sep 25, 2015 16:34:54.226130000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191694.226130000" showname="Epoch Time: 1443191694.226130000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.196802000" showname="Time delta from previous captured frame: 0.196802000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.196802000" showname="Time delta from previous displayed frame: 0.196802000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="47.760499000" showname="Time since reference or first frame: 47.760499000 seconds" size="0"/> - <field name="frame.number" pos="0" show="87" showname="Frame Number: 87" size="0"/> - <field name="frame.len" pos="0" show="62" showname="Frame Length: 62 bytes (496 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="62" showname="Capture Length: 62 bytes (496 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ethertype:ip:sctp" showname="Protocols in frame: eth:ethertype:ip:sctp" size="0"/> - </proto> - - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.17 (192.168.12.17), Dst: 192.168.12.213 (192.168.12.213)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header Length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="2" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="48" showname="Total Length: 48" size="2" value="0030"/> - <field name="ip.id" pos="18" show="0" showname="Identification: 0x0000 (0)" size="2" value="0000"/> - <field name="ip.flags" pos="20" show="2" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="40977" showname="Header checksum: 0xa011 [validation disabled]" size="2" value="a011"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="a011"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="a011"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.17" showname="Source: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.17" showname="Source Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="ip.dst" pos="30" show="192.168.12.213" showname="Destination: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.213" showname="Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80c11"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80cd5"/> - </proto> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: 36412 (36412), Dst Port: 36412 (36412)" size="28"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="1425553323" showname="Verification tag: 0x54f837ab" size="4" value="54f837ab"/> - <field name="sctp.assoc_index" pos="34" show="0" showname="Assocation index: 0" size="0"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="1271492293" showname="Checksum: 0x4bc96ec5 (not verified)" size="4" value="4bc96ec5"/> - <field name="" pos="46" show="SACK chunk (Cumulative TSN: 3304831196, a_rwnd: 106496, gaps: 0, duplicate TSNs: 0)" size="16" value="03000010c4fbb8dc0001a00000000000"> - <field name="sctp.chunk_type" pos="46" show="3" showname="Chunk type: SACK (3)" size="1" value="03"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="03" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="03" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0" showname="Chunk flags: 0x00" size="1" value="00"> - <field name="sctp.sack_nounce_sum" pos="47" show="0" showname=".... ...0 = Nounce sum: 0" size="1" unmaskedvalue="00" value="0"/> - </field> - <field name="sctp.chunk_length" pos="48" show="16" showname="Chunk length: 16" size="2" value="0010"/> - <field name="sctp.sack_cumulative_tsn_ack" pos="50" show="3304831196" showname="Cumulative TSN ACK: 3304831196" size="4" value="c4fbb8dc"> - <field name="sctp.ack" pos="96" show="3304831196" showname="Acknowledges TSN: 3304831196" size="0"> - <field name="sctp.ack_frame" pos="46" show="86" showname="Chunk acknowledged in frame: 86" size="0"/> - <field name="sctp.sack_rtt" pos="46" show="0.196802000" showname="The RTT since DATA was: 0.196802000 seconds" size="0"/> - </field> - </field> - <field name="sctp.sack_a_rwnd" pos="54" show="106496" showname="Advertised receiver window credit (a_rwnd): 106496" size="4" value="0001a000"/> - <field name="sctp.sack_number_of_gap_blocks" pos="58" show="0" showname="Number of gap acknowledgement blocks: 0" size="2" value="0000"/> - <field name="sctp.sack_number_of_duplicated_tsns" pos="60" show="0" showname="Number of duplicated TSNs: 0" size="2" value="0000"/> - </field> - </proto> -</packet> -<packet> - - <proto name="frame" pos="0" showname="Frame 88: 186 bytes on wire (1488 bits), 186 bytes captured (1488 bits) on interface 0" size="186"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0 (eth0)" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:34:54.226402000 CEST" showname="Arrival Time: Sep 25, 2015 16:34:54.226402000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191694.226402000" showname="Epoch Time: 1443191694.226402000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.000272000" showname="Time delta from previous captured frame: 0.000272000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.000272000" showname="Time delta from previous displayed frame: 0.000272000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="47.760771000" showname="Time since reference or first frame: 47.760771000 seconds" size="0"/> - <field name="frame.number" pos="0" show="88" showname="Frame Number: 88" size="0"/> - <field name="frame.len" pos="0" show="186" showname="Frame Length: 186 bytes (1488 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="186" showname="Capture Length: 186 bytes (1488 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ethertype:ip:sctp:s1ap:s1ap:s1ap:s1ap:s1ap:s1ap:s1ap:s1ap:s1ap:s1ap:s1ap:nas-eps:s1ap:s1ap" showname="Protocols in frame: eth:ethertype:ip:sctp:s1ap:s1ap:s1ap:s1ap:s1ap:s1ap:s1ap:s1ap:s1ap:s1ap:s1ap:nas-eps:s1ap:s1ap" size="0"/> - </proto> - - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.213 (192.168.12.213), Dst: 192.168.12.17 (192.168.12.17)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header Length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="2" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="172" showname="Total Length: 172" size="2" value="00ac"/> - <field name="ip.id" pos="18" show="11" showname="Identification: 0x000b (11)" size="2" value="000b"/> - <field name="ip.flags" pos="20" show="2" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="40842" showname="Header checksum: 0x9f8a [validation disabled]" size="2" value="9f8a"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="9f8a"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="9f8a"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.213" showname="Source: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.213" showname="Source Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="ip.dst" pos="30" show="192.168.12.17" showname="Destination: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.17" showname="Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80cd5"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80c11"/> - </proto> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: 36412 (36412), Dst Port: 36412 (36412)" size="28"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="1288826016" showname="Verification tag: 0x4cd1eca0" size="4" value="4cd1eca0"/> - <field name="sctp.assoc_index" pos="34" show="0" showname="Assocation index: 0" size="0"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="2952833288" showname="Checksum: 0xb000a908 (not verified)" size="4" value="b000a908"/> - <field name="" pos="46" show="DATA chunk(ordered, complete segment, TSN: 3304831197, SID: 1, SSN: 5, PPID: 18, payload length: 43 bytes)" size="16" value="0003003bc4fbb8dd0001000500000012"> - <field name="sctp.chunk_type" pos="46" show="0" showname="Chunk type: DATA (0)" size="1" value="00"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="00" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="00" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="3" showname="Chunk flags: 0x03" size="1" value="03"> - <field name="sctp.data_e_bit" pos="47" show="1" showname=".... ...1 = E-Bit: Last segment" size="1" unmaskedvalue="03" value="1"/> - <field name="sctp.data_b_bit" pos="47" show="1" showname=".... ..1. = B-Bit: First segment" size="1" unmaskedvalue="03" value="1"/> - <field name="sctp.data_u_bit" pos="47" show="0" showname=".... .0.. = U-Bit: Ordered delivery" size="1" unmaskedvalue="03" value="0"/> - <field name="sctp.data_i_bit" pos="47" show="0" showname=".... 0... = I-Bit: Possibly delay SACK" size="1" unmaskedvalue="03" value="0"/> - </field> - <field name="sctp.chunk_length" pos="48" show="59" showname="Chunk length: 59" size="2" value="003b"/> - <field name="sctp.data_tsn" pos="50" show="3304831197" showname="TSN: 3304831197" size="4" value="c4fbb8dd"/> - <field name="sctp.data_sid" pos="54" show="1" showname="Stream Identifier: 0x0001" size="2" value="0001"/> - <field name="sctp.data_ssn" pos="56" show="5" showname="Stream sequence number: 5" size="2" value="0005"/> - <field name="sctp.data_payload_proto_id" pos="58" show="18" showname="Payload protocol identifier: S1 Application Protocol (S1AP) (18)" size="4" value="00000012"/> - <field name="sctp.chunk_padding" pos="105" show="00" showname="Chunk padding: 00" size="1" value="00"/> - </field> - </proto> - <proto name="s1ap" pos="62" showname="S1 Application Protocol" size="43"> - <field hide="yes" name="per.extension_bit" pos="62" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="20" value="0"/> - <field hide="yes" name="per.choice_index" pos="62" show="1" showname="Choice Index: 1" size="1" value="20"/> - <field name="s1ap.S1AP_PDU" pos="62" show="1" showname="S1AP-PDU: successfulOutcome (1)" size="43" value="2009002700000300004005c0740010d0000840048006692d0033400f000032400a0a1fc0a80cd5ca6fe0dd"> - <field name="s1ap.successfulOutcome_element" pos="62" show="" showname="successfulOutcome" size="43" value=""> - <field name="s1ap.procedureCode" pos="63" show="9" showname="procedureCode: id-InitialContextSetup (9)" size="1" value="09"/> - <field hide="yes" name="per.enum_index" pos="64" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="64" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="65" show="39" showname="Open Type Length: 39" size="1" value="27"/> - <field name="s1ap.value_element" pos="66" show="" showname="value" size="39" value=""> - <field name="s1ap.InitialContextSetupResponse_element" pos="66" show="" showname="InitialContextSetupResponse" size="39" value=""> - <field hide="yes" name="per.extension_bit" pos="66" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.sequence_of_length" pos="67" show="3" showname="Sequence-Of Length: 3" size="2" value="0003"/> - <field name="s1ap.protocolIEs" pos="69" show="3" showname="protocolIEs: 3 items" size="36" value="00004005c0740010d0000840048006692d0033400f000032400a0a1fc0a80cd5ca6fe0dd"> - <field name="" pos="69" show="Item 0: id-MME-UE-S1AP-ID" size="9" value="00004005c0740010d0"> - <field name="s1ap.ProtocolIE_Field_element" pos="69" show="" showname="ProtocolIE-Field" size="9" value=""> - <field name="s1ap.id" pos="69" show="0" showname="id: id-MME-UE-S1AP-ID (0)" size="2" value="0000"/> - <field hide="yes" name="per.enum_index" pos="71" show="1" showname="Enumerated Index: 1" size="1" value="40"/> - <field name="s1ap.criticality" pos="71" show="1" showname="criticality: ignore (1)" size="1" value="40"/> - <field hide="yes" name="per.open_type_length" pos="72" show="5" showname="Open Type Length: 5" size="1" value="05"/> - <field name="s1ap.value_element" pos="73" show="" showname="value" size="5" value=""> - <field name="s1ap.MME_UE_S1AP_ID" pos="73" show="1946161360" showname="MME-UE-S1AP-ID: 1946161360" size="5" value="c0740010d0"/> - </field> - </field> - </field> - <field name="" pos="78" show="Item 1: id-eNB-UE-S1AP-ID" size="8" value="000840048006692d"> - <field name="s1ap.ProtocolIE_Field_element" pos="78" show="" showname="ProtocolIE-Field" size="8" value=""> - <field name="s1ap.id" pos="78" show="8" showname="id: id-eNB-UE-S1AP-ID (8)" size="2" value="0008"/> - <field hide="yes" name="per.enum_index" pos="80" show="1" showname="Enumerated Index: 1" size="1" value="40"/> - <field name="s1ap.criticality" pos="80" show="1" showname="criticality: ignore (1)" size="1" value="40"/> - <field hide="yes" name="per.open_type_length" pos="81" show="4" showname="Open Type Length: 4" size="1" value="04"/> - <field name="s1ap.value_element" pos="82" show="" showname="value" size="4" value=""> - <field name="s1ap.ENB_UE_S1AP_ID" pos="82" show="420141" showname="ENB-UE-S1AP-ID: 420141" size="4" value="8006692d"/> - </field> - </field> - </field> - <field name="" pos="86" show="Item 2: id-E-RABSetupListCtxtSURes" size="19" value="0033400f000032400a0a1fc0a80cd5ca6fe0dd"> - <field name="s1ap.ProtocolIE_Field_element" pos="86" show="" showname="ProtocolIE-Field" size="19" value=""> - <field name="s1ap.id" pos="86" show="51" showname="id: id-E-RABSetupListCtxtSURes (51)" size="2" value="0033"/> - <field hide="yes" name="per.enum_index" pos="88" show="1" showname="Enumerated Index: 1" size="1" value="40"/> - <field name="s1ap.criticality" pos="88" show="1" showname="criticality: ignore (1)" size="1" value="40"/> - <field hide="yes" name="per.open_type_length" pos="89" show="15" showname="Open Type Length: 15" size="1" value="0f"/> - <field name="s1ap.value_element" pos="90" show="" showname="value" size="15" value=""> - <field hide="yes" name="per.sequence_of_length" pos="90" show="1" showname="Sequence-Of Length: 1" size="1" value="00"/> - <field name="s1ap.E_RABSetupListCtxtSURes" pos="91" show="1" showname="E-RABSetupListCtxtSURes: 1 item" size="14" value="0032400a0a1fc0a80cd5ca6fe0dd"> - <field name="" pos="91" show="Item 0: id-E-RABSetupItemCtxtSURes" size="14" value="0032400a0a1fc0a80cd5ca6fe0dd"> - <field name="s1ap.ProtocolIE_SingleContainer_element" pos="91" show="" showname="ProtocolIE-SingleContainer" size="14" value=""> - <field name="s1ap.id" pos="91" show="50" showname="id: id-E-RABSetupItemCtxtSURes (50)" size="2" value="0032"/> - <field hide="yes" name="per.enum_index" pos="93" show="1" showname="Enumerated Index: 1" size="1" value="40"/> - <field name="s1ap.criticality" pos="93" show="1" showname="criticality: ignore (1)" size="1" value="40"/> - <field hide="yes" name="per.open_type_length" pos="94" show="10" showname="Open Type Length: 10" size="1" value="0a"/> - <field name="s1ap.value_element" pos="95" show="" showname="value" size="10" value=""> - <field name="s1ap.E_RABSetupItemCtxtSURes_element" pos="95" show="" showname="E-RABSetupItemCtxtSURes" size="10" value=""> - <field hide="yes" name="per.extension_bit" pos="95" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="0a" value="0"/> - <field hide="yes" name="per.optional_field_bit" pos="95" show="0" showname=".0.. .... Optional Field Bit: False (iE-Extensions is NOT present)" size="1" unmaskedvalue="0a" value="0"/> - <field hide="yes" name="per.extension_present_bit" pos="95" show="0" showname="..0. .... Extension Present Bit: False" size="1" unmaskedvalue="0a" value="0"/> - <field name="s1ap.e_RAB_ID" pos="95" show="5" showname="e-RAB-ID: 5" size="1" value="0a"/> - <field name="per.extension_present_bit" pos="95" show="0" showname=".... ...0 Extension Present Bit: False" size="1" unmaskedvalue="0a" value="0"/> - <field hide="yes" name="per.bit_string_length" pos="96" show="32" showname="Bit String Length: 32" size="1" value="1f"/> - <field name="s1ap.transportLayerAddress" pos="97" show="c0:a8:0c:d5" showname="transportLayerAddress: c0a80cd5 [bit length 32, 1100 0000 1010 1000 0000 1100 1101 0101 decimal value 3232238805]" size="4" value="c0a80cd5"> - <field name="s1ap.transportLayerAddressIPv4" pos="97" show="192.168.12.213" showname="transportLayerAddress(IPv4): 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - </field> - <field name="s1ap.gTP_TEID" pos="101" show="ca:6f:e0:dd" showname="gTP-TEID: ca6fe0dd" size="4" value="ca6fe0dd"/> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </proto> - <proto name="sctp" pos="106" showname="Stream Control Transmission Protocol" size="16"> - <field name="" pos="106" show="DATA chunk(ordered, complete segment, TSN: 3304831198, SID: 1, SSN: 6, PPID: 18, payload length: 64 bytes)" size="16" value="00030050c4fbb8de0001000600000012"> - <field name="sctp.chunk_type" pos="106" show="0" showname="Chunk type: DATA (0)" size="1" value="00"> - <field name="sctp.chunk_bit_1" pos="106" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="00" value="0"/> - <field name="sctp.chunk_bit_2" pos="106" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="00" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="107" show="3" showname="Chunk flags: 0x03" size="1" value="03"> - <field name="sctp.data_e_bit" pos="107" show="1" showname=".... ...1 = E-Bit: Last segment" size="1" unmaskedvalue="03" value="1"/> - <field name="sctp.data_b_bit" pos="107" show="1" showname=".... ..1. = B-Bit: First segment" size="1" unmaskedvalue="03" value="1"/> - <field name="sctp.data_u_bit" pos="107" show="0" showname=".... .0.. = U-Bit: Ordered delivery" size="1" unmaskedvalue="03" value="0"/> - <field name="sctp.data_i_bit" pos="107" show="0" showname=".... 0... = I-Bit: Possibly delay SACK" size="1" unmaskedvalue="03" value="0"/> - </field> - <field name="sctp.chunk_length" pos="108" show="80" showname="Chunk length: 80" size="2" value="0050"/> - <field name="sctp.data_tsn" pos="110" show="3304831198" showname="TSN: 3304831198" size="4" value="c4fbb8de"/> - <field name="sctp.data_sid" pos="114" show="1" showname="Stream Identifier: 0x0001" size="2" value="0001"/> - <field name="sctp.data_ssn" pos="116" show="6" showname="Stream sequence number: 6" size="2" value="0006"/> - <field name="sctp.data_payload_proto_id" pos="118" show="18" showname="Payload protocol identifier: S1 Application Protocol (S1AP) (18)" size="4" value="00000012"/> - </field> - </proto> - <proto name="s1ap" pos="122" showname="S1 Application Protocol" size="64"> - <field hide="yes" name="per.extension_bit" pos="122" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.choice_index" pos="122" show="0" showname="Choice Index: 0" size="1" value="00"/> - <field name="s1ap.S1AP_PDU" pos="122" show="0" showname="S1AP-PDU: initiatingMessage (0)" size="64" value="000d403c00000500000005c0740010d0000800048006692d001a000e0d275cf0408901074300035200c2006440080002f85900e00000004340060002f8590001"> - <field name="s1ap.initiatingMessage_element" pos="122" show="" showname="initiatingMessage" size="64" value=""> - <field name="s1ap.procedureCode" pos="123" show="13" showname="procedureCode: id-uplinkNASTransport (13)" size="1" value="0d"/> - <field hide="yes" name="per.enum_index" pos="124" show="1" showname="Enumerated Index: 1" size="1" value="40"/> - <field name="s1ap.criticality" pos="124" show="1" showname="criticality: ignore (1)" size="1" value="40"/> - <field hide="yes" name="per.open_type_length" pos="125" show="60" showname="Open Type Length: 60" size="1" value="3c"/> - <field name="s1ap.value_element" pos="126" show="" showname="value" size="60" value=""> - <field name="s1ap.UplinkNASTransport_element" pos="126" show="" showname="UplinkNASTransport" size="60" value=""> - <field hide="yes" name="per.extension_bit" pos="126" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.sequence_of_length" pos="127" show="5" showname="Sequence-Of Length: 5" size="2" value="0005"/> - <field name="s1ap.protocolIEs" pos="129" show="5" showname="protocolIEs: 5 items" size="57" value="00000005c0740010d0000800048006692d001a000e0d275cf0408901074300035200c2006440080002f85900e00000004340060002f8590001"> - <field name="" pos="129" show="Item 0: id-MME-UE-S1AP-ID" size="9" value="00000005c0740010d0"> - <field name="s1ap.ProtocolIE_Field_element" pos="129" show="" showname="ProtocolIE-Field" size="9" value=""> - <field name="s1ap.id" pos="129" show="0" showname="id: id-MME-UE-S1AP-ID (0)" size="2" value="0000"/> - <field hide="yes" name="per.enum_index" pos="131" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="131" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="132" show="5" showname="Open Type Length: 5" size="1" value="05"/> - <field name="s1ap.value_element" pos="133" show="" showname="value" size="5" value=""> - <field name="s1ap.MME_UE_S1AP_ID" pos="133" show="1946161360" showname="MME-UE-S1AP-ID: 1946161360" size="5" value="c0740010d0"/> - </field> - </field> - </field> - <field name="" pos="138" show="Item 1: id-eNB-UE-S1AP-ID" size="8" value="000800048006692d"> - <field name="s1ap.ProtocolIE_Field_element" pos="138" show="" showname="ProtocolIE-Field" size="8" value=""> - <field name="s1ap.id" pos="138" show="8" showname="id: id-eNB-UE-S1AP-ID (8)" size="2" value="0008"/> - <field hide="yes" name="per.enum_index" pos="140" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="140" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="141" show="4" showname="Open Type Length: 4" size="1" value="04"/> - <field name="s1ap.value_element" pos="142" show="" showname="value" size="4" value=""> - <field name="s1ap.ENB_UE_S1AP_ID" pos="142" show="420141" showname="ENB-UE-S1AP-ID: 420141" size="4" value="8006692d"/> - </field> - </field> - </field> - <field name="" pos="146" show="Item 2: id-NAS-PDU" size="18" value="001a000e0d275cf0408901074300035200c2"> - <field name="s1ap.ProtocolIE_Field_element" pos="146" show="" showname="ProtocolIE-Field" size="18" value=""> - <field name="s1ap.id" pos="146" show="26" showname="id: id-NAS-PDU (26)" size="2" value="001a"/> - <field hide="yes" name="per.enum_index" pos="148" show="0" showname="Enumerated Index: 0" size="1" value="00"/> - <field name="s1ap.criticality" pos="148" show="0" showname="criticality: reject (0)" size="1" value="00"/> - <field hide="yes" name="per.open_type_length" pos="149" show="14" showname="Open Type Length: 14" size="1" value="0e"/> - <field name="s1ap.value_element" pos="150" show="" showname="value" size="14" value=""> - <field hide="yes" name="per.octet_string_length" pos="150" show="13" showname="Octet String Length: 13" size="1" value="0d"/> - <field name="s1ap.NAS_PDU" pos="151" show="27:5c:f0:40:89:01:07:43:00:03:52:00:c2" showname="NAS-PDU: 275cf0408901074300035200c2" size="13" value="275cf0408901074300035200c2"/> - <proto name="nas-eps" pos="151" showname="Non-Access-Stratum (NAS)PDU" size="13"> - <field name="nas_eps.security_header_type" pos="151" show="2" showname="0010 .... = Security header type: Integrity protected and ciphered (2)" size="1" unmaskedvalue="27" value="2"/> - <field name="gsm_a.L3_protocol_discriminator" pos="151" show="7" showname=".... 0111 = Protocol discriminator: EPS mobility management messages (0x07)" size="1" unmaskedvalue="27" value="7"/> - <field name="nas_eps.msg_auth_code" pos="152" show="1559249033" showname="Message authentication code: 0x5cf04089" size="4" value="5cf04089"/> - <field name="nas_eps.seq_no" pos="156" show="1" showname="Sequence number: 1" size="1" value="01"/> - <field name="nas_eps.security_header_type" pos="157" show="0" showname="0000 .... = Security header type: Plain NAS message, not security protected (0)" size="1" unmaskedvalue="07" value="0"/> - <field name="gsm_a.L3_protocol_discriminator" pos="157" show="7" showname=".... 0111 = Protocol discriminator: EPS mobility management messages (0x07)" size="1" unmaskedvalue="07" value="7"/> - <field name="nas_eps.nas_msg_emm_type" pos="158" show="67" showname="NAS EPS Mobility Management Message Type: Attach complete (0x43)" size="1" value="43"/> - <field name="" pos="159" show="ESM message container" size="5" value="00035200c2"> - <field name="gsm_a.len" pos="159" show="3" showname="Length: 3" size="2" value="0003"/> - <field name="nas_eps.emm.esm_msg_cont" pos="161" show="52:00:c2" showname="ESM message container contents: 5200c2" size="3" value="5200c2"> - <field name="nas_eps.bearer_id" pos="161" show="5" showname="0101 .... = EPS bearer identity: EPS bearer identity value 5 (5)" size="1" unmaskedvalue="52" value="5"/> - <field name="gsm_a.L3_protocol_discriminator" pos="161" show="2" showname=".... 0010 = Protocol discriminator: EPS session management messages (0x02)" size="1" unmaskedvalue="52" value="2"/> - <field name="nas_eps.esm.proc_trans_id" pos="162" show="0" showname="Procedure transaction identity: 0" size="1" value="00"/> - <field name="nas_eps.nas_msg_esm_type" pos="163" show="194" showname="NAS EPS session management messages: Activate default EPS bearer context accept (0xc2)" size="1" value="c2"/> - </field> - </field> - </proto> - </field> - </field> - </field> - <field name="" pos="164" show="Item 3: id-EUTRAN-CGI" size="12" value="006440080002f85900e00000"> - <field name="s1ap.ProtocolIE_Field_element" pos="164" show="" showname="ProtocolIE-Field" size="12" value=""> - <field name="s1ap.id" pos="164" show="100" showname="id: id-EUTRAN-CGI (100)" size="2" value="0064"/> - <field hide="yes" name="per.enum_index" pos="166" show="1" showname="Enumerated Index: 1" size="1" value="40"/> - <field name="s1ap.criticality" pos="166" show="1" showname="criticality: ignore (1)" size="1" value="40"/> - <field hide="yes" name="per.open_type_length" pos="167" show="8" showname="Open Type Length: 8" size="1" value="08"/> - <field name="s1ap.value_element" pos="168" show="" showname="value" size="8" value=""> - <field name="s1ap.EUTRAN_CGI_element" pos="168" show="" showname="EUTRAN-CGI" size="7" value=""> - <field hide="yes" name="per.extension_bit" pos="168" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.optional_field_bit" pos="168" show="0" showname=".0.. .... Optional Field Bit: False (iE-Extensions is NOT present)" size="1" unmaskedvalue="00" value="0"/> - <field name="s1ap.pLMNidentity" pos="169" show="02:f8:59" showname="pLMNidentity: 02f859" size="3" value="02f859"/> - <field name="e212.mcc" pos="169" show="208" showname="Mobile Country Code (MCC): France (208)" size="2" value="02f8"/> - <field name="e212.mnc" pos="170" show="95" showname="Mobile Network Code (MNC): Unknown (95)" size="2" value="f859"/> - <field name="s1ap.cell_ID" pos="168" show="00:e0:00:00" showname="cell-ID: 00e00000 [bit length 28, 4 LSB pad bits, 0000 0000 1110 0000 0000 0000 0000 .... decimal value 917504]" size="4" value="00e00000"/> - </field> - </field> - </field> - </field> - <field name="" pos="176" show="Item 4: id-TAI" size="10" value="004340060002f8590001"> - <field name="s1ap.ProtocolIE_Field_element" pos="176" show="" showname="ProtocolIE-Field" size="10" value=""> - <field name="s1ap.id" pos="176" show="67" showname="id: id-TAI (67)" size="2" value="0043"/> - <field hide="yes" name="per.enum_index" pos="178" show="1" showname="Enumerated Index: 1" size="1" value="40"/> - <field name="s1ap.criticality" pos="178" show="1" showname="criticality: ignore (1)" size="1" value="40"/> - <field hide="yes" name="per.open_type_length" pos="179" show="6" showname="Open Type Length: 6" size="1" value="06"/> - <field name="s1ap.value_element" pos="180" show="" showname="value" size="6" value=""> - <field name="s1ap.TAI_element" pos="180" show="" showname="TAI" size="6" value=""> - <field hide="yes" name="per.extension_bit" pos="180" show="0" showname="0... .... Extension Bit: False" size="1" unmaskedvalue="00" value="0"/> - <field hide="yes" name="per.optional_field_bit" pos="180" show="0" showname=".0.. .... Optional Field Bit: False (iE-Extensions is NOT present)" size="1" unmaskedvalue="00" value="0"/> - <field name="s1ap.pLMNidentity" pos="181" show="02:f8:59" showname="pLMNidentity: 02f859" size="3" value="02f859"/> - <field name="e212.mcc" pos="181" show="208" showname="Mobile Country Code (MCC): France (208)" size="2" value="02f8"/> - <field name="e212.mnc" pos="182" show="95" showname="Mobile Network Code (MNC): Unknown (95)" size="2" value="f859"/> - <field name="s1ap.tAC" pos="184" show="00:01" showname="tAC: 0001" size="2" value="0001"/> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </field> - </proto> -</packet> -<packet> - - <proto name="frame" pos="0" showname="Frame 89: 62 bytes on wire (496 bits), 62 bytes captured (496 bits) on interface 0" size="62"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0 (eth0)" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:34:54.426135000 CEST" showname="Arrival Time: Sep 25, 2015 16:34:54.426135000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191694.426135000" showname="Epoch Time: 1443191694.426135000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.199733000" showname="Time delta from previous captured frame: 0.199733000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.199733000" showname="Time delta from previous displayed frame: 0.199733000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="47.960504000" showname="Time since reference or first frame: 47.960504000 seconds" size="0"/> - <field name="frame.number" pos="0" show="89" showname="Frame Number: 89" size="0"/> - <field name="frame.len" pos="0" show="62" showname="Frame Length: 62 bytes (496 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="62" showname="Capture Length: 62 bytes (496 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ethertype:ip:sctp" showname="Protocols in frame: eth:ethertype:ip:sctp" size="0"/> - </proto> - - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.17 (192.168.12.17), Dst: 192.168.12.213 (192.168.12.213)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header Length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="2" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="48" showname="Total Length: 48" size="2" value="0030"/> - <field name="ip.id" pos="18" show="0" showname="Identification: 0x0000 (0)" size="2" value="0000"/> - <field name="ip.flags" pos="20" show="2" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="40977" showname="Header checksum: 0xa011 [validation disabled]" size="2" value="a011"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="a011"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="a011"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.17" showname="Source: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.17" showname="Source Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="ip.dst" pos="30" show="192.168.12.213" showname="Destination: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.213" showname="Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80c11"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80cd5"/> - </proto> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: 36412 (36412), Dst Port: 36412 (36412)" size="28"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="1425553323" showname="Verification tag: 0x54f837ab" size="4" value="54f837ab"/> - <field name="sctp.assoc_index" pos="34" show="0" showname="Assocation index: 0" size="0"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="705953576" showname="Checksum: 0x2a13ff28 (not verified)" size="4" value="2a13ff28"/> - <field name="" pos="46" show="SACK chunk (Cumulative TSN: 3304831198, a_rwnd: 106496, gaps: 0, duplicate TSNs: 0)" size="16" value="03000010c4fbb8de0001a00000000000"> - <field name="sctp.chunk_type" pos="46" show="3" showname="Chunk type: SACK (3)" size="1" value="03"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="03" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="03" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0" showname="Chunk flags: 0x00" size="1" value="00"> - <field name="sctp.sack_nounce_sum" pos="47" show="0" showname=".... ...0 = Nounce sum: 0" size="1" unmaskedvalue="00" value="0"/> - </field> - <field name="sctp.chunk_length" pos="48" show="16" showname="Chunk length: 16" size="2" value="0010"/> - <field name="sctp.sack_cumulative_tsn_ack" pos="50" show="3304831198" showname="Cumulative TSN ACK: 3304831198" size="4" value="c4fbb8de"> - <field name="sctp.ack" pos="96" show="3304831197" showname="Acknowledges TSN: 3304831197" size="0"> - <field name="sctp.ack_frame" pos="46" show="88" showname="Chunk acknowledged in frame: 88" size="0"/> - <field name="sctp.sack_rtt" pos="46" show="0.199733000" showname="The RTT since DATA was: 0.199733000 seconds" size="0"/> - </field> - <field name="sctp.ack" pos="96" show="3304831198" showname="Acknowledges TSN: 3304831198" size="0"> - <field name="sctp.ack_frame" pos="46" show="88" showname="Chunk acknowledged in frame: 88" size="0"/> - <field name="sctp.sack_rtt" pos="46" show="0.199733000" showname="The RTT since DATA was: 0.199733000 seconds" size="0"/> - </field> - </field> - <field name="sctp.sack_a_rwnd" pos="54" show="106496" showname="Advertised receiver window credit (a_rwnd): 106496" size="4" value="0001a000"/> - <field name="sctp.sack_number_of_gap_blocks" pos="58" show="0" showname="Number of gap acknowledgement blocks: 0" size="2" value="0000"/> - <field name="sctp.sack_number_of_duplicated_tsns" pos="60" show="0" showname="Number of duplicated TSNs: 0" size="2" value="0000"/> - </field> - </proto> -</packet> -<packet> - - <proto name="frame" pos="0" showname="Frame 176: 98 bytes on wire (784 bits), 98 bytes captured (784 bits) on interface 0" size="98"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0 (eth0)" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:35:24.530270000 CEST" showname="Arrival Time: Sep 25, 2015 16:35:24.530270000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191724.530270000" showname="Epoch Time: 1443191724.530270000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.030375000" showname="Time delta from previous captured frame: 0.030375000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.030375000" showname="Time delta from previous displayed frame: 0.030375000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="78.064639000" showname="Time since reference or first frame: 78.064639000 seconds" size="0"/> - <field name="frame.number" pos="0" show="176" showname="Frame Number: 176" size="0"/> - <field name="frame.len" pos="0" show="98" showname="Frame Length: 98 bytes (784 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="98" showname="Capture Length: 98 bytes (784 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ethertype:ip:sctp" showname="Protocols in frame: eth:ethertype:ip:sctp" size="0"/> - </proto> - - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.17 (192.168.12.17), Dst: 192.168.12.213 (192.168.12.213)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header Length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="2" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="84" showname="Total Length: 84" size="2" value="0054"/> - <field name="ip.id" pos="18" show="0" showname="Identification: 0x0000 (0)" size="2" value="0000"/> - <field name="ip.flags" pos="20" show="2" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="40941" showname="Header checksum: 0x9fed [validation disabled]" size="2" value="9fed"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="9fed"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="9fed"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.17" showname="Source: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.17" showname="Source Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="ip.dst" pos="30" show="192.168.12.213" showname="Destination: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.213" showname="Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80c11"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80cd5"/> - </proto> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: 36412 (36412), Dst Port: 36412 (36412)" size="64"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="1425553323" showname="Verification tag: 0x54f837ab" size="4" value="54f837ab"/> - <field name="sctp.assoc_index" pos="34" show="0" showname="Assocation index: 0" size="0"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="1940683722" showname="Checksum: 0x73ac7bca (not verified)" size="4" value="73ac7bca"/> - <field name="" pos="46" show="HEARTBEAT chunk (Information: 48 bytes)" size="52" value="040000340001003002008e3cc0a80cd5000000000000000000000000000000000000000060313300010000008db53fb930a0b65f"> - <field name="sctp.chunk_type" pos="46" show="4" showname="Chunk type: HEARTBEAT (4)" size="1" value="04"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="04" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="04" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0" showname="Chunk flags: 0x00" size="1" value="00"/> - <field name="sctp.chunk_length" pos="48" show="52" showname="Chunk length: 52" size="2" value="0034"/> - <field name="" pos="50" show="Heartbeat info parameter (Information: 44 bytes)" size="48" value="0001003002008e3cc0a80cd5000000000000000000000000000000000000000060313300010000008db53fb930a0b65f"> - <field name="sctp.parameter_type" pos="50" show="1" showname="Parameter type: Heartbeat info (0x0001)" size="2" value="0001"> - <field name="sctp.parameter_bit_1" pos="50" show="0" showname="0... .... .... .... = Bit: Stop processing of chunk" size="2" unmaskedvalue="0001" value="0"/> - <field name="sctp.parameter_bit_2" pos="50" show="0" showname=".0.. .... .... .... = Bit: Do not report" size="2" unmaskedvalue="0001" value="0"/> - </field> - <field name="sctp.parameter_length" pos="52" show="48" showname="Parameter length: 48" size="2" value="0030"/> - <field name="sctp.parameter_heartbeat_information" pos="54" show="02:00:8e:3c:c0:a8:0c:d5:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:60:31:33:00:01:00:00:00:8d:b5:3f:b9:30:a0:b6:5f" showname="Heartbeat information: 02008e3cc0a80cd500000000000000000000000000000000..." size="44" value="02008e3cc0a80cd5000000000000000000000000000000000000000060313300010000008db53fb930a0b65f"/> - </field> - </field> - </proto> -</packet> -<packet> - - <proto name="frame" pos="0" showname="Frame 177: 98 bytes on wire (784 bits), 98 bytes captured (784 bits) on interface 0" size="98"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0 (eth0)" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:35:24.530415000 CEST" showname="Arrival Time: Sep 25, 2015 16:35:24.530415000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191724.530415000" showname="Epoch Time: 1443191724.530415000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.000145000" showname="Time delta from previous captured frame: 0.000145000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.000145000" showname="Time delta from previous displayed frame: 0.000145000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="78.064784000" showname="Time since reference or first frame: 78.064784000 seconds" size="0"/> - <field name="frame.number" pos="0" show="177" showname="Frame Number: 177" size="0"/> - <field name="frame.len" pos="0" show="98" showname="Frame Length: 98 bytes (784 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="98" showname="Capture Length: 98 bytes (784 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ethertype:ip:sctp" showname="Protocols in frame: eth:ethertype:ip:sctp" size="0"/> - </proto> - - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.213 (192.168.12.213), Dst: 192.168.12.17 (192.168.12.17)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header Length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="2" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="84" showname="Total Length: 84" size="2" value="0054"/> - <field name="ip.id" pos="18" show="12" showname="Identification: 0x000c (12)" size="2" value="000c"/> - <field name="ip.flags" pos="20" show="2" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="40929" showname="Header checksum: 0x9fe1 [validation disabled]" size="2" value="9fe1"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="9fe1"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="9fe1"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.213" showname="Source: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.213" showname="Source Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="ip.dst" pos="30" show="192.168.12.17" showname="Destination: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.17" showname="Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80cd5"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80c11"/> - </proto> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: 36412 (36412), Dst Port: 36412 (36412)" size="64"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="1288826016" showname="Verification tag: 0x4cd1eca0" size="4" value="4cd1eca0"/> - <field name="sctp.assoc_index" pos="34" show="0" showname="Assocation index: 0" size="0"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="1098191026" showname="Checksum: 0x417510b2 (not verified)" size="4" value="417510b2"/> - <field name="" pos="46" show="HEARTBEAT_ACK chunk (Information: 48 bytes)" size="52" value="050000340001003002008e3cc0a80cd5000000000000000000000000000000000000000060313300010000008db53fb930a0b65f"> - <field name="sctp.chunk_type" pos="46" show="5" showname="Chunk type: HEARTBEAT_ACK (5)" size="1" value="05"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="05" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="05" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0" showname="Chunk flags: 0x00" size="1" value="00"/> - <field name="sctp.chunk_length" pos="48" show="52" showname="Chunk length: 52" size="2" value="0034"/> - <field name="" pos="50" show="Heartbeat info parameter (Information: 44 bytes)" size="48" value="0001003002008e3cc0a80cd5000000000000000000000000000000000000000060313300010000008db53fb930a0b65f"> - <field name="sctp.parameter_type" pos="50" show="1" showname="Parameter type: Heartbeat info (0x0001)" size="2" value="0001"> - <field name="sctp.parameter_bit_1" pos="50" show="0" showname="0... .... .... .... = Bit: Stop processing of chunk" size="2" unmaskedvalue="0001" value="0"/> - <field name="sctp.parameter_bit_2" pos="50" show="0" showname=".0.. .... .... .... = Bit: Do not report" size="2" unmaskedvalue="0001" value="0"/> - </field> - <field name="sctp.parameter_length" pos="52" show="48" showname="Parameter length: 48" size="2" value="0030"/> - <field name="sctp.parameter_heartbeat_information" pos="54" show="02:00:8e:3c:c0:a8:0c:d5:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:60:31:33:00:01:00:00:00:8d:b5:3f:b9:30:a0:b6:5f" showname="Heartbeat information: 02008e3cc0a80cd500000000000000000000000000000000..." size="44" value="02008e3cc0a80cd5000000000000000000000000000000000000000060313300010000008db53fb930a0b65f"/> - </field> - </field> - </proto> -</packet> -<packet> - - <proto name="frame" pos="0" showname="Frame 185: 98 bytes on wire (784 bits), 98 bytes captured (784 bits) on interface 0" size="98"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0 (eth0)" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:35:25.005065000 CEST" showname="Arrival Time: Sep 25, 2015 16:35:25.005065000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191725.005065000" showname="Epoch Time: 1443191725.005065000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.087558000" showname="Time delta from previous captured frame: 0.087558000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.087558000" showname="Time delta from previous displayed frame: 0.087558000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="78.539434000" showname="Time since reference or first frame: 78.539434000 seconds" size="0"/> - <field name="frame.number" pos="0" show="185" showname="Frame Number: 185" size="0"/> - <field name="frame.len" pos="0" show="98" showname="Frame Length: 98 bytes (784 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="98" showname="Capture Length: 98 bytes (784 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ethertype:ip:sctp" showname="Protocols in frame: eth:ethertype:ip:sctp" size="0"/> - </proto> - - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.213 (192.168.12.213), Dst: 192.168.12.17 (192.168.12.17)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header Length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="2" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="84" showname="Total Length: 84" size="2" value="0054"/> - <field name="ip.id" pos="18" show="13" showname="Identification: 0x000d (13)" size="2" value="000d"/> - <field name="ip.flags" pos="20" show="2" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="40928" showname="Header checksum: 0x9fe0 [validation disabled]" size="2" value="9fe0"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="9fe0"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="9fe0"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.213" showname="Source: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.213" showname="Source Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="ip.dst" pos="30" show="192.168.12.17" showname="Destination: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.17" showname="Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80cd5"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80c11"/> - </proto> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: 36412 (36412), Dst Port: 36412 (36412)" size="64"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="1288826016" showname="Verification tag: 0x4cd1eca0" size="4" value="4cd1eca0"/> - <field name="sctp.assoc_index" pos="34" show="0" showname="Assocation index: 0" size="0"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="2886205372" showname="Checksum: 0xac07ffbc (not verified)" size="4" value="ac07ffbc"/> - <field name="" pos="46" show="HEARTBEAT chunk (Information: 48 bytes)" size="52" value="040000340001003002008e3cc0a80c110000000000000000007459d10088ffff1e201d8180292314010000007730e920aa62f65b"> - <field name="sctp.chunk_type" pos="46" show="4" showname="Chunk type: HEARTBEAT (4)" size="1" value="04"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="04" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="04" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0" showname="Chunk flags: 0x00" size="1" value="00"/> - <field name="sctp.chunk_length" pos="48" show="52" showname="Chunk length: 52" size="2" value="0034"/> - <field name="" pos="50" show="Heartbeat info parameter (Information: 44 bytes)" size="48" value="0001003002008e3cc0a80c110000000000000000007459d10088ffff1e201d8180292314010000007730e920aa62f65b"> - <field name="sctp.parameter_type" pos="50" show="1" showname="Parameter type: Heartbeat info (0x0001)" size="2" value="0001"> - <field name="sctp.parameter_bit_1" pos="50" show="0" showname="0... .... .... .... = Bit: Stop processing of chunk" size="2" unmaskedvalue="0001" value="0"/> - <field name="sctp.parameter_bit_2" pos="50" show="0" showname=".0.. .... .... .... = Bit: Do not report" size="2" unmaskedvalue="0001" value="0"/> - </field> - <field name="sctp.parameter_length" pos="52" show="48" showname="Parameter length: 48" size="2" value="0030"/> - <field name="sctp.parameter_heartbeat_information" pos="54" show="02:00:8e:3c:c0:a8:0c:11:00:00:00:00:00:00:00:00:00:74:59:d1:00:88:ff:ff:1e:20:1d:81:80:29:23:14:01:00:00:00:77:30:e9:20:aa:62:f6:5b" showname="Heartbeat information: 02008e3cc0a80c110000000000000000007459d10088ffff..." size="44" value="02008e3cc0a80c110000000000000000007459d10088ffff1e201d8180292314010000007730e920aa62f65b"/> - </field> - </field> - </proto> -</packet> -<packet> - - <proto name="frame" pos="0" showname="Frame 186: 98 bytes on wire (784 bits), 98 bytes captured (784 bits) on interface 0" size="98"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0 (eth0)" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:35:25.005098000 CEST" showname="Arrival Time: Sep 25, 2015 16:35:25.005098000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191725.005098000" showname="Epoch Time: 1443191725.005098000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.000033000" showname="Time delta from previous captured frame: 0.000033000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.000033000" showname="Time delta from previous displayed frame: 0.000033000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="78.539467000" showname="Time since reference or first frame: 78.539467000 seconds" size="0"/> - <field name="frame.number" pos="0" show="186" showname="Frame Number: 186" size="0"/> - <field name="frame.len" pos="0" show="98" showname="Frame Length: 98 bytes (784 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="98" showname="Capture Length: 98 bytes (784 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ethertype:ip:sctp" showname="Protocols in frame: eth:ethertype:ip:sctp" size="0"/> - </proto> - - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.17 (192.168.12.17), Dst: 192.168.12.213 (192.168.12.213)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header Length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="2" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="84" showname="Total Length: 84" size="2" value="0054"/> - <field name="ip.id" pos="18" show="0" showname="Identification: 0x0000 (0)" size="2" value="0000"/> - <field name="ip.flags" pos="20" show="2" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="40941" showname="Header checksum: 0x9fed [validation disabled]" size="2" value="9fed"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="9fed"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="9fed"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.17" showname="Source: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.17" showname="Source Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="ip.dst" pos="30" show="192.168.12.213" showname="Destination: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.213" showname="Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80c11"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80cd5"/> - </proto> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: 36412 (36412), Dst Port: 36412 (36412)" size="64"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="1425553323" showname="Verification tag: 0x54f837ab" size="4" value="54f837ab"/> - <field name="sctp.assoc_index" pos="34" show="0" showname="Assocation index: 0" size="0"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="2665387204" showname="Checksum: 0x9ede94c4 (not verified)" size="4" value="9ede94c4"/> - <field name="" pos="46" show="HEARTBEAT_ACK chunk (Information: 48 bytes)" size="52" value="050000340001003002008e3cc0a80c110000000000000000007459d10088ffff1e201d8180292314010000007730e920aa62f65b"> - <field name="sctp.chunk_type" pos="46" show="5" showname="Chunk type: HEARTBEAT_ACK (5)" size="1" value="05"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="05" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="05" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0" showname="Chunk flags: 0x00" size="1" value="00"/> - <field name="sctp.chunk_length" pos="48" show="52" showname="Chunk length: 52" size="2" value="0034"/> - <field name="" pos="50" show="Heartbeat info parameter (Information: 44 bytes)" size="48" value="0001003002008e3cc0a80c110000000000000000007459d10088ffff1e201d8180292314010000007730e920aa62f65b"> - <field name="sctp.parameter_type" pos="50" show="1" showname="Parameter type: Heartbeat info (0x0001)" size="2" value="0001"> - <field name="sctp.parameter_bit_1" pos="50" show="0" showname="0... .... .... .... = Bit: Stop processing of chunk" size="2" unmaskedvalue="0001" value="0"/> - <field name="sctp.parameter_bit_2" pos="50" show="0" showname=".0.. .... .... .... = Bit: Do not report" size="2" unmaskedvalue="0001" value="0"/> - </field> - <field name="sctp.parameter_length" pos="52" show="48" showname="Parameter length: 48" size="2" value="0030"/> - <field name="sctp.parameter_heartbeat_information" pos="54" show="02:00:8e:3c:c0:a8:0c:11:00:00:00:00:00:00:00:00:00:74:59:d1:00:88:ff:ff:1e:20:1d:81:80:29:23:14:01:00:00:00:77:30:e9:20:aa:62:f6:5b" showname="Heartbeat information: 02008e3cc0a80c110000000000000000007459d10088ffff..." size="44" value="02008e3cc0a80c110000000000000000007459d10088ffff1e201d8180292314010000007730e920aa62f65b"/> - </field> - </field> - </proto> -</packet> -<packet> - - <proto name="frame" pos="0" showname="Frame 421: 98 bytes on wire (784 bits), 98 bytes captured (784 bits) on interface 0" size="98"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0 (eth0)" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:35:55.122133000 CEST" showname="Arrival Time: Sep 25, 2015 16:35:55.122133000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191755.122133000" showname="Epoch Time: 1443191755.122133000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.163967000" showname="Time delta from previous captured frame: 0.163967000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.163967000" showname="Time delta from previous displayed frame: 0.163967000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="108.656502000" showname="Time since reference or first frame: 108.656502000 seconds" size="0"/> - <field name="frame.number" pos="0" show="421" showname="Frame Number: 421" size="0"/> - <field name="frame.len" pos="0" show="98" showname="Frame Length: 98 bytes (784 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="98" showname="Capture Length: 98 bytes (784 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ethertype:ip:sctp" showname="Protocols in frame: eth:ethertype:ip:sctp" size="0"/> - </proto> - - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.17 (192.168.12.17), Dst: 192.168.12.213 (192.168.12.213)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header Length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="2" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="84" showname="Total Length: 84" size="2" value="0054"/> - <field name="ip.id" pos="18" show="0" showname="Identification: 0x0000 (0)" size="2" value="0000"/> - <field name="ip.flags" pos="20" show="2" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="40941" showname="Header checksum: 0x9fed [validation disabled]" size="2" value="9fed"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="9fed"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="9fed"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.17" showname="Source: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.17" showname="Source Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="ip.dst" pos="30" show="192.168.12.213" showname="Destination: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.213" showname="Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80c11"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80cd5"/> - </proto> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: 36412 (36412), Dst Port: 36412 (36412)" size="64"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="1425553323" showname="Verification tag: 0x54f837ab" size="4" value="54f837ab"/> - <field name="sctp.assoc_index" pos="34" show="0" showname="Assocation index: 0" size="0"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="2452800186" showname="Checksum: 0x9232c2ba (not verified)" size="4" value="9232c2ba"/> - <field name="" pos="46" show="HEARTBEAT chunk (Information: 48 bytes)" size="52" value="040000340001003002008e3cc0a80cd50000000000000000000000000000000000000000404f3300010000008db53fb930a0b65f"> - <field name="sctp.chunk_type" pos="46" show="4" showname="Chunk type: HEARTBEAT (4)" size="1" value="04"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="04" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="04" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0" showname="Chunk flags: 0x00" size="1" value="00"/> - <field name="sctp.chunk_length" pos="48" show="52" showname="Chunk length: 52" size="2" value="0034"/> - <field name="" pos="50" show="Heartbeat info parameter (Information: 44 bytes)" size="48" value="0001003002008e3cc0a80cd50000000000000000000000000000000000000000404f3300010000008db53fb930a0b65f"> - <field name="sctp.parameter_type" pos="50" show="1" showname="Parameter type: Heartbeat info (0x0001)" size="2" value="0001"> - <field name="sctp.parameter_bit_1" pos="50" show="0" showname="0... .... .... .... = Bit: Stop processing of chunk" size="2" unmaskedvalue="0001" value="0"/> - <field name="sctp.parameter_bit_2" pos="50" show="0" showname=".0.. .... .... .... = Bit: Do not report" size="2" unmaskedvalue="0001" value="0"/> - </field> - <field name="sctp.parameter_length" pos="52" show="48" showname="Parameter length: 48" size="2" value="0030"/> - <field name="sctp.parameter_heartbeat_information" pos="54" show="02:00:8e:3c:c0:a8:0c:d5:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:40:4f:33:00:01:00:00:00:8d:b5:3f:b9:30:a0:b6:5f" showname="Heartbeat information: 02008e3cc0a80cd500000000000000000000000000000000..." size="44" value="02008e3cc0a80cd50000000000000000000000000000000000000000404f3300010000008db53fb930a0b65f"/> - </field> - </field> - </proto> -</packet> -<packet> - - <proto name="frame" pos="0" showname="Frame 422: 98 bytes on wire (784 bits), 98 bytes captured (784 bits) on interface 0" size="98"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0 (eth0)" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:35:55.122270000 CEST" showname="Arrival Time: Sep 25, 2015 16:35:55.122270000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191755.122270000" showname="Epoch Time: 1443191755.122270000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.000137000" showname="Time delta from previous captured frame: 0.000137000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.000137000" showname="Time delta from previous displayed frame: 0.000137000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="108.656639000" showname="Time since reference or first frame: 108.656639000 seconds" size="0"/> - <field name="frame.number" pos="0" show="422" showname="Frame Number: 422" size="0"/> - <field name="frame.len" pos="0" show="98" showname="Frame Length: 98 bytes (784 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="98" showname="Capture Length: 98 bytes (784 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ethertype:ip:sctp" showname="Protocols in frame: eth:ethertype:ip:sctp" size="0"/> - </proto> - - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.213 (192.168.12.213), Dst: 192.168.12.17 (192.168.12.17)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header Length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="2" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="84" showname="Total Length: 84" size="2" value="0054"/> - <field name="ip.id" pos="18" show="14" showname="Identification: 0x000e (14)" size="2" value="000e"/> - <field name="ip.flags" pos="20" show="2" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="40927" showname="Header checksum: 0x9fdf [validation disabled]" size="2" value="9fdf"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="9fdf"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="9fdf"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.213" showname="Source: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.213" showname="Source Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="ip.dst" pos="30" show="192.168.12.17" showname="Destination: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.17" showname="Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80cd5"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80c11"/> - </proto> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: 36412 (36412), Dst Port: 36412 (36412)" size="64"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="1288826016" showname="Verification tag: 0x4cd1eca0" size="4" value="4cd1eca0"/> - <field name="sctp.assoc_index" pos="34" show="0" showname="Assocation index: 0" size="0"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="2699798978" showname="Checksum: 0xa0eba9c2 (not verified)" size="4" value="a0eba9c2"/> - <field name="" pos="46" show="HEARTBEAT_ACK chunk (Information: 48 bytes)" size="52" value="050000340001003002008e3cc0a80cd50000000000000000000000000000000000000000404f3300010000008db53fb930a0b65f"> - <field name="sctp.chunk_type" pos="46" show="5" showname="Chunk type: HEARTBEAT_ACK (5)" size="1" value="05"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="05" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="05" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0" showname="Chunk flags: 0x00" size="1" value="00"/> - <field name="sctp.chunk_length" pos="48" show="52" showname="Chunk length: 52" size="2" value="0034"/> - <field name="" pos="50" show="Heartbeat info parameter (Information: 44 bytes)" size="48" value="0001003002008e3cc0a80cd50000000000000000000000000000000000000000404f3300010000008db53fb930a0b65f"> - <field name="sctp.parameter_type" pos="50" show="1" showname="Parameter type: Heartbeat info (0x0001)" size="2" value="0001"> - <field name="sctp.parameter_bit_1" pos="50" show="0" showname="0... .... .... .... = Bit: Stop processing of chunk" size="2" unmaskedvalue="0001" value="0"/> - <field name="sctp.parameter_bit_2" pos="50" show="0" showname=".0.. .... .... .... = Bit: Do not report" size="2" unmaskedvalue="0001" value="0"/> - </field> - <field name="sctp.parameter_length" pos="52" show="48" showname="Parameter length: 48" size="2" value="0030"/> - <field name="sctp.parameter_heartbeat_information" pos="54" show="02:00:8e:3c:c0:a8:0c:d5:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:40:4f:33:00:01:00:00:00:8d:b5:3f:b9:30:a0:b6:5f" showname="Heartbeat information: 02008e3cc0a80cd500000000000000000000000000000000..." size="44" value="02008e3cc0a80cd50000000000000000000000000000000000000000404f3300010000008db53fb930a0b65f"/> - </field> - </field> - </proto> -</packet> -<packet> - - <proto name="frame" pos="0" showname="Frame 426: 98 bytes on wire (784 bits), 98 bytes captured (784 bits) on interface 0" size="98"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0 (eth0)" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:35:56.493553000 CEST" showname="Arrival Time: Sep 25, 2015 16:35:56.493553000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191756.493553000" showname="Epoch Time: 1443191756.493553000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.655441000" showname="Time delta from previous captured frame: 0.655441000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.655441000" showname="Time delta from previous displayed frame: 0.655441000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="110.027922000" showname="Time since reference or first frame: 110.027922000 seconds" size="0"/> - <field name="frame.number" pos="0" show="426" showname="Frame Number: 426" size="0"/> - <field name="frame.len" pos="0" show="98" showname="Frame Length: 98 bytes (784 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="98" showname="Capture Length: 98 bytes (784 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ethertype:ip:sctp" showname="Protocols in frame: eth:ethertype:ip:sctp" size="0"/> - </proto> - - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.213 (192.168.12.213), Dst: 192.168.12.17 (192.168.12.17)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header Length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="2" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="84" showname="Total Length: 84" size="2" value="0054"/> - <field name="ip.id" pos="18" show="15" showname="Identification: 0x000f (15)" size="2" value="000f"/> - <field name="ip.flags" pos="20" show="2" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="40926" showname="Header checksum: 0x9fde [validation disabled]" size="2" value="9fde"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="9fde"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="9fde"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.213" showname="Source: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.213" showname="Source Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="ip.dst" pos="30" show="192.168.12.17" showname="Destination: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.17" showname="Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80cd5"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80c11"/> - </proto> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: 36412 (36412), Dst Port: 36412 (36412)" size="64"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="1288826016" showname="Verification tag: 0x4cd1eca0" size="4" value="4cd1eca0"/> - <field name="sctp.assoc_index" pos="34" show="0" showname="Assocation index: 0" size="0"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="3768706648" showname="Checksum: 0xe0a1e658 (not verified)" size="4" value="e0a1e658"/> - <field name="" pos="46" show="HEARTBEAT chunk (Information: 48 bytes)" size="52" value="040000340001003002008e3cc0a80c110000000000000000007459d10088ffff1e201d8180a42314010000007730e920aa62f65b"> - <field name="sctp.chunk_type" pos="46" show="4" showname="Chunk type: HEARTBEAT (4)" size="1" value="04"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="04" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="04" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0" showname="Chunk flags: 0x00" size="1" value="00"/> - <field name="sctp.chunk_length" pos="48" show="52" showname="Chunk length: 52" size="2" value="0034"/> - <field name="" pos="50" show="Heartbeat info parameter (Information: 44 bytes)" size="48" value="0001003002008e3cc0a80c110000000000000000007459d10088ffff1e201d8180a42314010000007730e920aa62f65b"> - <field name="sctp.parameter_type" pos="50" show="1" showname="Parameter type: Heartbeat info (0x0001)" size="2" value="0001"> - <field name="sctp.parameter_bit_1" pos="50" show="0" showname="0... .... .... .... = Bit: Stop processing of chunk" size="2" unmaskedvalue="0001" value="0"/> - <field name="sctp.parameter_bit_2" pos="50" show="0" showname=".0.. .... .... .... = Bit: Do not report" size="2" unmaskedvalue="0001" value="0"/> - </field> - <field name="sctp.parameter_length" pos="52" show="48" showname="Parameter length: 48" size="2" value="0030"/> - <field name="sctp.parameter_heartbeat_information" pos="54" show="02:00:8e:3c:c0:a8:0c:11:00:00:00:00:00:00:00:00:00:74:59:d1:00:88:ff:ff:1e:20:1d:81:80:a4:23:14:01:00:00:00:77:30:e9:20:aa:62:f6:5b" showname="Heartbeat information: 02008e3cc0a80c110000000000000000007459d10088ffff..." size="44" value="02008e3cc0a80c110000000000000000007459d10088ffff1e201d8180a42314010000007730e920aa62f65b"/> - </field> - </field> - </proto> -</packet> -<packet> - - <proto name="frame" pos="0" showname="Frame 427: 98 bytes on wire (784 bits), 98 bytes captured (784 bits) on interface 0" size="98"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0 (eth0)" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:35:56.493586000 CEST" showname="Arrival Time: Sep 25, 2015 16:35:56.493586000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191756.493586000" showname="Epoch Time: 1443191756.493586000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.000033000" showname="Time delta from previous captured frame: 0.000033000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.000033000" showname="Time delta from previous displayed frame: 0.000033000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="110.027955000" showname="Time since reference or first frame: 110.027955000 seconds" size="0"/> - <field name="frame.number" pos="0" show="427" showname="Frame Number: 427" size="0"/> - <field name="frame.len" pos="0" show="98" showname="Frame Length: 98 bytes (784 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="98" showname="Capture Length: 98 bytes (784 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ethertype:ip:sctp" showname="Protocols in frame: eth:ethertype:ip:sctp" size="0"/> - </proto> - - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.17 (192.168.12.17), Dst: 192.168.12.213 (192.168.12.213)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header Length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="2" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="84" showname="Total Length: 84" size="2" value="0054"/> - <field name="ip.id" pos="18" show="0" showname="Identification: 0x0000 (0)" size="2" value="0000"/> - <field name="ip.flags" pos="20" show="2" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="40941" showname="Header checksum: 0x9fed [validation disabled]" size="2" value="9fed"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="9fed"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="9fed"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.17" showname="Source: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.17" showname="Source Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="ip.dst" pos="30" show="192.168.12.213" showname="Destination: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.213" showname="Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80c11"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80cd5"/> - </proto> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: 36412 (36412), Dst Port: 36412 (36412)" size="64"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="1425553323" showname="Verification tag: 0x54f837ab" size="4" value="54f837ab"/> - <field name="sctp.assoc_index" pos="34" show="0" showname="Assocation index: 0" size="0"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="3531115808" showname="Checksum: 0xd2788d20 (not verified)" size="4" value="d2788d20"/> - <field name="" pos="46" show="HEARTBEAT_ACK chunk (Information: 48 bytes)" size="52" value="050000340001003002008e3cc0a80c110000000000000000007459d10088ffff1e201d8180a42314010000007730e920aa62f65b"> - <field name="sctp.chunk_type" pos="46" show="5" showname="Chunk type: HEARTBEAT_ACK (5)" size="1" value="05"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="05" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="05" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0" showname="Chunk flags: 0x00" size="1" value="00"/> - <field name="sctp.chunk_length" pos="48" show="52" showname="Chunk length: 52" size="2" value="0034"/> - <field name="" pos="50" show="Heartbeat info parameter (Information: 44 bytes)" size="48" value="0001003002008e3cc0a80c110000000000000000007459d10088ffff1e201d8180a42314010000007730e920aa62f65b"> - <field name="sctp.parameter_type" pos="50" show="1" showname="Parameter type: Heartbeat info (0x0001)" size="2" value="0001"> - <field name="sctp.parameter_bit_1" pos="50" show="0" showname="0... .... .... .... = Bit: Stop processing of chunk" size="2" unmaskedvalue="0001" value="0"/> - <field name="sctp.parameter_bit_2" pos="50" show="0" showname=".0.. .... .... .... = Bit: Do not report" size="2" unmaskedvalue="0001" value="0"/> - </field> - <field name="sctp.parameter_length" pos="52" show="48" showname="Parameter length: 48" size="2" value="0030"/> - <field name="sctp.parameter_heartbeat_information" pos="54" show="02:00:8e:3c:c0:a8:0c:11:00:00:00:00:00:00:00:00:00:74:59:d1:00:88:ff:ff:1e:20:1d:81:80:a4:23:14:01:00:00:00:77:30:e9:20:aa:62:f6:5b" showname="Heartbeat information: 02008e3cc0a80c110000000000000000007459d10088ffff..." size="44" value="02008e3cc0a80c110000000000000000007459d10088ffff1e201d8180a42314010000007730e920aa62f65b"/> - </field> - </field> - </proto> -</packet> -<packet> - - <proto name="frame" pos="0" showname="Frame 491: 54 bytes on wire (432 bits), 54 bytes captured (432 bits) on interface 0" size="54"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0 (eth0)" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:36:14.355024000 CEST" showname="Arrival Time: Sep 25, 2015 16:36:14.355024000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191774.355024000" showname="Epoch Time: 1443191774.355024000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.484347000" showname="Time delta from previous captured frame: 0.484347000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.484347000" showname="Time delta from previous displayed frame: 0.484347000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="127.889393000" showname="Time since reference or first frame: 127.889393000 seconds" size="0"/> - <field name="frame.number" pos="0" show="491" showname="Frame Number: 491" size="0"/> - <field name="frame.len" pos="0" show="54" showname="Frame Length: 54 bytes (432 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="54" showname="Capture Length: 54 bytes (432 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ethertype:ip:sctp" showname="Protocols in frame: eth:ethertype:ip:sctp" size="0"/> - </proto> - - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.17 (192.168.12.17), Dst: 192.168.12.213 (192.168.12.213)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header Length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="2" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="40" showname="Total Length: 40" size="2" value="0028"/> - <field name="ip.id" pos="18" show="0" showname="Identification: 0x0000 (0)" size="2" value="0000"/> - <field name="ip.flags" pos="20" show="2" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="40985" showname="Header checksum: 0xa019 [validation disabled]" size="2" value="a019"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="a019"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="a019"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.17" showname="Source: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.17" showname="Source Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="ip.dst" pos="30" show="192.168.12.213" showname="Destination: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.213" showname="Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80c11"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80cd5"/> - </proto> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: 36412 (36412), Dst Port: 36412 (36412)" size="20"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="1425553323" showname="Verification tag: 0x54f837ab" size="4" value="54f837ab"/> - <field name="sctp.assoc_index" pos="34" show="0" showname="Assocation index: 0" size="0"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="3563692304" showname="Checksum: 0xd469a110 (not verified)" size="4" value="d469a110"/> - <field name="" pos="46" show="SHUTDOWN chunk (Cumulative TSN ack: 3304831198)" size="8" value="07000008c4fbb8de"> - <field name="sctp.chunk_type" pos="46" show="7" showname="Chunk type: SHUTDOWN (7)" size="1" value="07"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="07" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="07" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0" showname="Chunk flags: 0x00" size="1" value="00"/> - <field name="sctp.chunk_length" pos="48" show="8" showname="Chunk length: 8" size="2" value="0008"/> - <field name="sctp.shutdown_cumulative_tsn_ack" pos="50" show="3304831198" showname="Cumulative TSN Ack: 3304831198" size="4" value="c4fbb8de"/> - </field> - </proto> -</packet> -<packet> - - <proto name="frame" pos="0" showname="Frame 492: 60 bytes on wire (480 bits), 60 bytes captured (480 bits) on interface 0" size="60"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0 (eth0)" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:36:14.355162000 CEST" showname="Arrival Time: Sep 25, 2015 16:36:14.355162000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191774.355162000" showname="Epoch Time: 1443191774.355162000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.000138000" showname="Time delta from previous captured frame: 0.000138000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.000138000" showname="Time delta from previous displayed frame: 0.000138000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="127.889531000" showname="Time since reference or first frame: 127.889531000 seconds" size="0"/> - <field name="frame.number" pos="0" show="492" showname="Frame Number: 492" size="0"/> - <field name="frame.len" pos="0" show="60" showname="Frame Length: 60 bytes (480 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="60" showname="Capture Length: 60 bytes (480 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ethertype:ip:sctp" showname="Protocols in frame: eth:ethertype:ip:sctp" size="0"/> - </proto> - - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.213 (192.168.12.213), Dst: 192.168.12.17 (192.168.12.17)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header Length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="2" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="36" showname="Total Length: 36" size="2" value="0024"/> - <field name="ip.id" pos="18" show="16" showname="Identification: 0x0010 (16)" size="2" value="0010"/> - <field name="ip.flags" pos="20" show="2" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="40973" showname="Header checksum: 0xa00d [validation disabled]" size="2" value="a00d"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="a00d"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="a00d"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.213" showname="Source: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.213" showname="Source Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="ip.dst" pos="30" show="192.168.12.17" showname="Destination: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.17" showname="Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80cd5"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80c11"/> - </proto> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: 36412 (36412), Dst Port: 36412 (36412)" size="16"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="1288826016" showname="Verification tag: 0x4cd1eca0" size="4" value="4cd1eca0"/> - <field name="sctp.assoc_index" pos="34" show="0" showname="Assocation index: 0" size="0"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="3792983264" showname="Checksum: 0xe21454e0 (not verified)" size="4" value="e21454e0"/> - <field name="" pos="46" show="SHUTDOWN_ACK chunk" size="4" value="08000004"> - <field name="sctp.chunk_type" pos="46" show="8" showname="Chunk type: SHUTDOWN_ACK (8)" size="1" value="08"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="08" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="08" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0" showname="Chunk flags: 0x00" size="1" value="00"/> - <field name="sctp.chunk_length" pos="48" show="4" showname="Chunk length: 4" size="2" value="0004"/> - </field> - </proto> -</packet> -<packet> - - <proto name="frame" pos="0" showname="Frame 493: 50 bytes on wire (400 bits), 50 bytes captured (400 bits) on interface 0" size="50"> - <field name="frame.interface_id" pos="0" show="0" showname="Interface id: 0 (eth0)" size="0"/> - <field name="frame.encap_type" pos="0" show="1" showname="Encapsulation type: Ethernet (1)" size="0"/> - <field name="frame.time" pos="0" show="Sep 25, 2015 16:36:14.355191000 CEST" showname="Arrival Time: Sep 25, 2015 16:36:14.355191000 CEST" size="0"/> - <field name="frame.offset_shift" pos="0" show="0.000000000" showname="Time shift for this packet: 0.000000000 seconds" size="0"/> - <field name="frame.time_epoch" pos="0" show="1443191774.355191000" showname="Epoch Time: 1443191774.355191000 seconds" size="0"/> - <field name="frame.time_delta" pos="0" show="0.000029000" showname="Time delta from previous captured frame: 0.000029000 seconds" size="0"/> - <field name="frame.time_delta_displayed" pos="0" show="0.000029000" showname="Time delta from previous displayed frame: 0.000029000 seconds" size="0"/> - <field name="frame.time_relative" pos="0" show="127.889560000" showname="Time since reference or first frame: 127.889560000 seconds" size="0"/> - <field name="frame.number" pos="0" show="493" showname="Frame Number: 493" size="0"/> - <field name="frame.len" pos="0" show="50" showname="Frame Length: 50 bytes (400 bits)" size="0"/> - <field name="frame.cap_len" pos="0" show="50" showname="Capture Length: 50 bytes (400 bits)" size="0"/> - <field name="frame.marked" pos="0" show="0" showname="Frame is marked: False" size="0"/> - <field name="frame.ignored" pos="0" show="0" showname="Frame is ignored: False" size="0"/> - <field name="frame.protocols" pos="0" show="eth:ethertype:ip:sctp" showname="Protocols in frame: eth:ethertype:ip:sctp" size="0"/> - </proto> - - <proto name="ip" pos="14" showname="Internet Protocol Version 4, Src: 192.168.12.17 (192.168.12.17), Dst: 192.168.12.213 (192.168.12.213)" size="20"> - <field name="ip.version" pos="14" show="4" showname="Version: 4" size="1" value="45"/> - <field name="ip.hdr_len" pos="14" show="20" showname="Header Length: 20 bytes" size="1" value="45"/> - <field name="ip.dsfield" pos="15" show="2" showname="Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02: ECT(0) (ECN-Capable Transport))" size="1" value="02"> - <field name="ip.dsfield.dscp" pos="15" show="0" showname="0000 00.. = Differentiated Services Codepoint: Default (0x00)" size="1" unmaskedvalue="02" value="0"/> - <field name="ip.dsfield.ecn" pos="15" show="2" showname=".... ..10 = Explicit Congestion Notification: ECT(0) (ECN-Capable Transport) (0x02)" size="1" unmaskedvalue="02" value="2"/> - </field> - <field name="ip.len" pos="16" show="36" showname="Total Length: 36" size="2" value="0024"/> - <field name="ip.id" pos="18" show="0" showname="Identification: 0x0000 (0)" size="2" value="0000"/> - <field name="ip.flags" pos="20" show="2" showname="Flags: 0x02 (Don't Fragment)" size="1" value="40"> - <field name="ip.flags.rb" pos="20" show="0" showname="0... .... = Reserved bit: Not set" size="1" value="40"/> - <field name="ip.flags.df" pos="20" show="1" showname=".1.. .... = Don't fragment: Set" size="1" value="40"/> - <field name="ip.flags.mf" pos="20" show="0" showname="..0. .... = More fragments: Not set" size="1" value="40"/> - </field> - <field name="ip.frag_offset" pos="20" show="0" showname="Fragment offset: 0" size="2" value="4000"/> - <field name="ip.ttl" pos="22" show="64" showname="Time to live: 64" size="1" value="40"/> - <field name="ip.proto" pos="23" show="132" showname="Protocol: SCTP (132)" size="1" value="84"/> - <field name="ip.checksum" pos="24" show="40989" showname="Header checksum: 0xa01d [validation disabled]" size="2" value="a01d"> - <field name="ip.checksum_good" pos="24" show="0" showname="Good: False" size="2" value="a01d"/> - <field name="ip.checksum_bad" pos="24" show="0" showname="Bad: False" size="2" value="a01d"/> - </field> - <field name="ip.src" pos="26" show="192.168.12.17" showname="Source: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.addr" pos="26" show="192.168.12.17" showname="Source or Destination Address: 192.168.12.17 (192.168.12.17)" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.src_host" pos="26" show="192.168.12.17" showname="Source Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field hide="yes" name="ip.host" pos="26" show="192.168.12.17" showname="Source or Destination Host: 192.168.12.17" size="4" value="c0a80c11"/> - <field name="ip.dst" pos="30" show="192.168.12.213" showname="Destination: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.addr" pos="30" show="192.168.12.213" showname="Source or Destination Address: 192.168.12.213 (192.168.12.213)" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.dst_host" pos="30" show="192.168.12.213" showname="Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field hide="yes" name="ip.host" pos="30" show="192.168.12.213" showname="Source or Destination Host: 192.168.12.213" size="4" value="c0a80cd5"/> - <field name="" pos="26" show="Source GeoIP: Unknown" size="4" value="c0a80c11"/> - <field name="" pos="30" show="Destination GeoIP: Unknown" size="4" value="c0a80cd5"/> - </proto> - <proto name="sctp" pos="34" showname="Stream Control Transmission Protocol, Src Port: 36412 (36412), Dst Port: 36412 (36412)" size="16"> - <field name="sctp.srcport" pos="34" show="36412" showname="Source port: 36412" size="2" value="8e3c"/> - <field name="sctp.dstport" pos="36" show="36412" showname="Destination port: 36412" size="2" value="8e3c"/> - <field name="sctp.verification_tag" pos="38" show="1425553323" showname="Verification tag: 0x54f837ab" size="4" value="54f837ab"/> - <field name="sctp.assoc_index" pos="34" show="0" showname="Assocation index: 0" size="0"/> - <field hide="yes" name="sctp.port" pos="34" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field hide="yes" name="sctp.port" pos="36" show="36412" showname="Port: 36412" size="2" value="8e3c"/> - <field name="sctp.checksum" pos="42" show="688292166" showname="Checksum: 0x29068146 (not verified)" size="4" value="29068146"/> - <field name="" pos="46" show="SHUTDOWN_COMPLETE chunk" size="4" value="0e000004"> - <field name="sctp.chunk_type" pos="46" show="14" showname="Chunk type: SHUTDOWN_COMPLETE (14)" size="1" value="0e"> - <field name="sctp.chunk_bit_1" pos="46" show="0" showname="0... .... = Bit: Stop processing of the packet" size="1" unmaskedvalue="0e" value="0"/> - <field name="sctp.chunk_bit_2" pos="46" show="0" showname=".0.. .... = Bit: Do not report" size="1" unmaskedvalue="0e" value="0"/> - </field> - <field name="sctp.chunk_flags" pos="47" show="0" showname="Chunk flags: 0x00" size="1" value="00"> - <field name="sctp.shutdown_complete_t_bit" pos="47" show="0" showname=".... ...0 = T-Bit: Tag not reflected" size="1" unmaskedvalue="00" value="0"/> - </field> - <field name="sctp.chunk_length" pos="48" show="4" showname="Chunk length: 4" size="2" value="0004"/> - </field> - </proto> -</packet> -</pdml> diff --git a/openair3/TEST/EPC_TEST/generate_scenario.c b/openair3/TEST/EPC_TEST/generate_scenario.c deleted file mode 100644 index a8a359094518ae62b32f9dac52f5d40bc3539647..0000000000000000000000000000000000000000 --- a/openair3/TEST/EPC_TEST/generate_scenario.c +++ /dev/null @@ -1,684 +0,0 @@ -/* - * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The OpenAirInterface Software Alliance licenses this file to You under - * the OAI Public License, Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.openairinterface.org/?page_id=698 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - *------------------------------------------------------------------------------- - * For more information about the OpenAirInterface (OAI) Software Alliance: - * contact@openairinterface.org - */ - -/* - generate_scenario.c - ------------------- - AUTHOR : Lionel GAUTHIER - COMPANY : EURECOM - EMAIL : Lionel.Gauthier@eurecom.fr - */ - -#include <string.h> -#include <limits.h> -#include <libconfig.h> -#include <inttypes.h> -#include <getopt.h> -#include <libgen.h> -#include <unistd.h> -#include <errno.h> -#include <fcntl.h> -#include <sys/types.h> -#include <sys/stat.h> -#include <unistd.h> -#include <libxml/xmlmemory.h> -#include <libxml/debugXML.h> -#include <libxml/HTMLtree.h> -#include <libxml/xmlIO.h> -#include <libxml/DOCBparser.h> -#include <libxml/xinclude.h> -#include <libxml/catalog.h> -#include <libxslt/xslt.h> -#include <libxslt/xsltInternals.h> -#include <libxslt/transform.h> -#include <libxslt/xsltutils.h> - -#include "assertions.h" -#include "generate_scenario.h" -#include "s1ap_eNB.h" -#include "intertask_interface.h" - -#define ENB_CONFIG_STRING_ACTIVE_ENBS "Active_eNBs" - -#define ENB_CONFIG_STRING_ENB_LIST "eNBs" -#define ENB_CONFIG_STRING_ENB_ID "eNB_ID" -#define ENB_CONFIG_STRING_CELL_TYPE "cell_type" -#define ENB_CONFIG_STRING_ENB_NAME "eNB_name" - -#define ENB_CONFIG_STRING_TRACKING_AREA_CODE "tracking_area_code" -#define ENB_CONFIG_STRING_MOBILE_COUNTRY_CODE "mobile_country_code" -#define ENB_CONFIG_STRING_MOBILE_NETWORK_CODE "mobile_network_code" - - -#define ENB_CONFIG_STRING_MME_IP_ADDRESS "mme_ip_address" -#define ENB_CONFIG_STRING_MME_IPV4_ADDRESS "ipv4" -#define ENB_CONFIG_STRING_MME_IPV6_ADDRESS "ipv6" -#define ENB_CONFIG_STRING_MME_IP_ADDRESS_ACTIVE "active" -#define ENB_CONFIG_STRING_MME_IP_ADDRESS_PREFERENCE "preference" - -#define ENB_CONFIG_STRING_SCTP_CONFIG "SCTP" -#define ENB_CONFIG_STRING_SCTP_INSTREAMS "SCTP_INSTREAMS" -#define ENB_CONFIG_STRING_SCTP_OUTSTREAMS "SCTP_OUTSTREAMS" - -#define ENB_CONFIG_STRING_NETWORK_INTERFACES_CONFIG "NETWORK_INTERFACES" -#define ENB_CONFIG_STRING_ENB_INTERFACE_NAME_FOR_S1_MME "ENB_INTERFACE_NAME_FOR_S1_MME" -#define ENB_CONFIG_STRING_ENB_IPV4_ADDRESS_FOR_S1_MME "ENB_IPV4_ADDRESS_FOR_S1_MME" -#define ENB_CONFIG_STRING_ENB_INTERFACE_NAME_FOR_S1U "ENB_INTERFACE_NAME_FOR_S1U" -#define ENB_CONFIG_STRING_ENB_IPV4_ADDR_FOR_S1U "ENB_IPV4_ADDRESS_FOR_S1U" -#define ENB_CONFIG_STRING_ENB_PORT_FOR_S1U "ENB_PORT_FOR_S1U" - - -#define ENB_CONFIG_MAX_XSLT_PARAMS 32 - -Enb_properties_array_t g_enb_properties; -char *g_test_dir = NULL; -char *g_pdml_in_origin = NULL; -extern int xmlLoadExtDtdDefaultValue; - -#define GENERATE_PDML_FILE 1 -#define GENERATE_SCENARIO 2 - -#define GS_IS_FILE 1 -#define GS_IS_DIR 2 - -//------------------------------------------------------------------------------ -// test if file exist in current directory -int is_file_exists( const char const * file_nameP, const char const *file_roleP) -{ - struct stat s; - int err = stat(file_nameP, &s); - if(-1 == err) { - if(ENOENT == errno) { - fprintf(stderr, "Please provide a valid %s, %s does not exist\n", file_roleP, file_nameP); - } else { - perror("stat"); - exit(1); - } - } else { - if(S_ISREG(s.st_mode)) { - return GS_IS_FILE; - } else if(S_ISDIR(s.st_mode)) { - return GS_IS_DIR; - } else { - fprintf(stderr, "Please provide a valid test %s, %s exists but is not found valid\n", file_roleP, file_nameP); - } - } - return 0; -} - - -//------------------------------------------------------------------------------ -int strip_extension(char *in_filename) -{ - static const uint8_t name_min_len = 1; - static const uint8_t max_ext_len = 5; // .pdml ! - fprintf(stdout, "strip_extension %s\n", in_filename); - - if (NULL != in_filename) { - /* Check chars starting at end of string to find last '.' */ - for (ssize_t i = strlen(in_filename); i >= name_min_len; i--) { - if (in_filename[i] == '.') { - in_filename[i] = '\0'; - return i; - } - } - } - return -1; -} -//------------------------------------------------------------------------------ -// return number of splitted items -int split_path( char * pathP, char *** resP) -{ - char * saveptr1; - char * p = strtok_r (pathP, "/", &saveptr1); - int n_spaces = 0; - - /// split string and append tokens to 'res' - while (p) { - *resP = realloc (*resP, sizeof (char*) * ++n_spaces); - AssertFatal (*resP, "realloc failed"); - (*resP)[n_spaces-1] = p; - p = strtok_r (NULL, "/", &saveptr1); - } - return n_spaces; -} - -//------------------------------------------------------------------------------ -int generate_test_scenario(const char const * test_nameP, const char const * pdml_in_basenameP) -//------------------------------------------------------------------------------ -{ - //int fd_pdml_in; - xsltStylesheetPtr cur = NULL; - xmlDocPtr doc, res; - FILE *test_scenario_file = NULL; - const char test_scenario_filename[NAME_MAX]; - const char *params[2*ENB_CONFIG_MAX_XSLT_PARAMS]; - int nb_params = 0; - int i,j; - char astring[1024]; - char *astring2 = NULL; - struct in_addr addr; - - memset(test_scenario_filename, 0, sizeof(test_scenario_filename)); - memset(astring, 0, sizeof(astring)); - if (getcwd(astring, sizeof(astring)) != NULL) { - fprintf(stdout, "working in %s directory\n", astring); - } else { - perror("getcwd() error"); - exit(1); - } - - xmlSubstituteEntitiesDefault(1); - xmlLoadExtDtdDefaultValue = 1; - cur = xsltParseStylesheetFile("/usr/share/oai/xsl/generic_scenario.xsl"); - if (NULL == cur) { - AssertFatal (0, "Could not parse stylesheet file /usr/share/oai/xsl/generic_scenario.xsl!\n"); - } else { - fprintf(stdout, "XSLT style sheet: /usr/share/oai/xsl/generic_scenario.xsl\n"); - } - - doc = xmlParseFile(pdml_in_basenameP); - if (NULL == doc) { - AssertFatal (0, "Could not parse pdml file %s!\n", pdml_in_basenameP); - } else { - fprintf(stdout, "pdml file: %s\n", pdml_in_basenameP); - } - params[nb_params++] = "test_name"; - sprintf(astring, "%s", pdml_in_basenameP); - if (strip_extension(astring) > 0) { - astring2 = strdup(astring); - sprintf(astring, "\"%s\"", astring2); - free(astring2); - astring2 = NULL; - } else { - fprintf(stderr, "Assigning test name failed: %s\n", astring); - } - params[nb_params++] = strdup(astring); - - for (i = 0; i < g_enb_properties.number; i++) { - // eNB S1-C IPv4 address - sprintf(astring, "enb%d_s1c", i); - params[nb_params++] = strdup(astring); - addr.s_addr = g_enb_properties.properties[i]->enb_ipv4_address_for_S1_MME; - sprintf(astring, "\"%s\"", inet_ntoa(addr)); - params[nb_params++] = strdup(astring); - - // MME S1-C IPv4 address - for (j = 0; j < g_enb_properties.properties[i]->nb_mme; j++) { - sprintf(astring, "mme%d_s1c_%d", i, j); - params[nb_params++] = strdup(astring); - AssertFatal (g_enb_properties.properties[i]->mme_ip_address[j].ipv4_address, - "Only support MME IPv4 address\n"); - sprintf(astring, "\"%s\"", g_enb_properties.properties[i]->mme_ip_address[j].ipv4_address); - params[nb_params++] = strdup(astring); - } - } - params[nb_params] = NULL; - res = xsltApplyStylesheet(cur, doc, params); - if (NULL != res) { - // since pdml filename is not relative (no path), just filename in current directory we can safely remove - sprintf(test_scenario_filename,"%s",pdml_in_basenameP); - if (strip_extension(test_scenario_filename) > 0) { - strcat(test_scenario_filename, ".xml"); - test_scenario_file = fopen( test_scenario_filename, "w+"); - if (NULL != test_scenario_file) { - xsltSaveResultToFile(test_scenario_file, res, cur); - fclose(test_scenario_file); - fprintf(stdout, "Wrote test scenario to %s\n", test_scenario_filename); - } else { - fprintf(stderr, "Error in fopen(%s)\n", test_scenario_filename); - } - } else { - fprintf(stderr, "Error in strip_extension()\n"); - } - } else { - fprintf(stderr, "Error in xsltApplyStylesheet()\n"); - } - xsltFreeStylesheet(cur); - xmlFreeDoc(res); - xmlFreeDoc(doc); - - xsltCleanupGlobals(); - xmlCleanupParser(); -} - -//------------------------------------------------------------------------------ -static void enb_config_display(void) -//------------------------------------------------------------------------------ -{ - int i; - - printf( "\n----------------------------------------------------------------------\n"); - printf( " ENB CONFIG FILE CONTENT LOADED:\n"); - printf( "----------------------------------------------------------------------\n"); - for (i = 0; i < g_enb_properties.number; i++) { - printf( "ENB CONFIG for instance %d:\n\n", i); - printf( "\teNB name: \t%s\n",g_enb_properties.properties[i]->eNB_name); - printf( "\teNB ID: \t%"PRIu32"\n",g_enb_properties.properties[i]->eNB_id); - printf( "\tCell type: \t%s\n",g_enb_properties.properties[i]->cell_type == CELL_MACRO_ENB ? "CELL_MACRO_ENB":"CELL_HOME_ENB"); - printf( "\tTAC: \t%"PRIu16"\n",g_enb_properties.properties[i]->tac); - printf( "\tMCC: \t%"PRIu16"\n",g_enb_properties.properties[i]->mcc); - - if (g_enb_properties.properties[i]->mnc_digit_length == 3) { - printf( "\tMNC: \t%03"PRIu16"\n",g_enb_properties.properties[i]->mnc); - } else { - printf( "\tMNC: \t%02"PRIu16"\n",g_enb_properties.properties[i]->mnc); - } - printf( "\n--------------------------------------------------------\n"); - } -} - - -#ifdef LIBCONFIG_LONG -#define libconfig_int long -#else -#define libconfig_int int -#endif -//------------------------------------------------------------------------------ -void enb_config_init(const char const * lib_config_file_name_pP) -//------------------------------------------------------------------------------ -{ - config_t cfg; - config_setting_t *setting = NULL; - config_setting_t *subsetting = NULL; - config_setting_t *setting_mme_addresses = NULL; - config_setting_t *setting_mme_address = NULL; - config_setting_t *setting_enb = NULL; - int num_enb_properties = 0; - int enb_properties_index = 0; - int num_enbs = 0; - int num_mme_address = 0; - int i = 0; - int j = 0; - int parse_errors = 0; - libconfig_int enb_id = 0; - const char* cell_type = NULL; - const char* tac = 0; - const char* enb_name = NULL; - const char* mcc = 0; - const char* mnc = 0; - char* ipv4 = NULL; - char* ipv6 = NULL; - char* active = NULL; - char* preference = NULL; - const char* active_enb[EPC_TEST_SCENARIO_MAX_ENB]; - char* enb_interface_name_for_S1U = NULL; - char* enb_ipv4_address_for_S1U = NULL; - libconfig_int enb_port_for_S1U = 0; - char* enb_interface_name_for_S1_MME = NULL; - char* enb_ipv4_address_for_S1_MME = NULL; - char *address = NULL; - char *cidr = NULL; - - - AssertFatal (lib_config_file_name_pP != NULL, - "Bad parameter lib_config_file_name_pP %s , must reference a valid eNB config file\n", - lib_config_file_name_pP); - - memset((char*)active_enb, 0 , EPC_TEST_SCENARIO_MAX_ENB * sizeof(char*)); - - config_init(&cfg); - - /* Read the file. If there is an error, report it and exit. */ - if (! config_read_file(&cfg, lib_config_file_name_pP)) { - config_destroy(&cfg); - AssertFatal (0, "Failed to parse eNB configuration file %s!\n", lib_config_file_name_pP); - } - - // Get list of active eNBs, (only these will be configured) - setting = config_lookup(&cfg, ENB_CONFIG_STRING_ACTIVE_ENBS); - - if (setting != NULL) { - num_enbs = config_setting_length(setting); - - for (i = 0; i < num_enbs; i++) { - setting_enb = config_setting_get_elem(setting, i); - active_enb[i] = config_setting_get_string (setting_enb); - AssertFatal (active_enb[i] != NULL, - "Failed to parse config file %s, %dth attribute %s \n", - lib_config_file_name_pP, i, ENB_CONFIG_STRING_ACTIVE_ENBS); - active_enb[i] = strdup(active_enb[i]); - num_enb_properties += 1; - } - } - - /* Output a list of all eNBs. */ - setting = config_lookup(&cfg, ENB_CONFIG_STRING_ENB_LIST); - - if (setting != NULL) { - enb_properties_index = g_enb_properties.number; - parse_errors = 0; - num_enbs = config_setting_length(setting); - - for (i = 0; i < num_enbs; i++) { - setting_enb = config_setting_get_elem(setting, i); - - if (! config_setting_lookup_int(setting_enb, ENB_CONFIG_STRING_ENB_ID, &enb_id)) { - /* Calculate a default eNB ID */ -# if defined(ENABLE_USE_MME) - uint32_t hash; - - hash = s1ap_generate_eNB_id (); - enb_id = i + (hash & 0xFFFF8); -# else - enb_id = i; -# endif - } - - if ( !( config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_CELL_TYPE, &cell_type) - && config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_ENB_NAME, &enb_name) - && config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_TRACKING_AREA_CODE, &tac) - && config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_MOBILE_COUNTRY_CODE, &mcc) - && config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_MOBILE_NETWORK_CODE, &mnc) - - - ) - ) { - AssertError (0, parse_errors ++, - "Failed to parse eNB configuration file %s, %d th enb\n", - lib_config_file_name_pP, i); - continue; // FIXME this prevents segfaults below, not sure what happens after function exit - } - - // search if in active list - for (j=0; j < num_enb_properties; j++) { - if (strcmp(active_enb[j], enb_name) == 0) { - g_enb_properties.properties[enb_properties_index] = calloc(1, sizeof(Enb_properties_t)); - - g_enb_properties.properties[enb_properties_index]->eNB_id = enb_id; - - if (strcmp(cell_type, "CELL_MACRO_ENB") == 0) { - g_enb_properties.properties[enb_properties_index]->cell_type = CELL_MACRO_ENB; - } else if (strcmp(cell_type, "CELL_HOME_ENB") == 0) { - g_enb_properties.properties[enb_properties_index]->cell_type = CELL_HOME_ENB; - } else { - AssertError (0, parse_errors ++, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for cell_type choice: CELL_MACRO_ENB or CELL_HOME_ENB !\n", - lib_config_file_name_pP, i, cell_type); - } - - g_enb_properties.properties[enb_properties_index]->eNB_name = strdup(enb_name); - g_enb_properties.properties[enb_properties_index]->tac = (uint16_t)atoi(tac); - g_enb_properties.properties[enb_properties_index]->mcc = (uint16_t)atoi(mcc); - g_enb_properties.properties[enb_properties_index]->mnc = (uint16_t)atoi(mnc); - g_enb_properties.properties[enb_properties_index]->mnc_digit_length = strlen(mnc); - AssertFatal((g_enb_properties.properties[enb_properties_index]->mnc_digit_length == 2) || - (g_enb_properties.properties[enb_properties_index]->mnc_digit_length == 3), - "BAD MNC DIGIT LENGTH %d", - g_enb_properties.properties[i]->mnc_digit_length); - - - setting_mme_addresses = config_setting_get_member (setting_enb, ENB_CONFIG_STRING_MME_IP_ADDRESS); - num_mme_address = config_setting_length(setting_mme_addresses); - g_enb_properties.properties[enb_properties_index]->nb_mme = 0; - - for (j = 0; j < num_mme_address; j++) { - setting_mme_address = config_setting_get_elem(setting_mme_addresses, j); - - if ( !( - config_setting_lookup_string(setting_mme_address, ENB_CONFIG_STRING_MME_IPV4_ADDRESS, (const char **)&ipv4) - && config_setting_lookup_string(setting_mme_address, ENB_CONFIG_STRING_MME_IPV6_ADDRESS, (const char **)&ipv6) - && config_setting_lookup_string(setting_mme_address, ENB_CONFIG_STRING_MME_IP_ADDRESS_ACTIVE, (const char **)&active) - && config_setting_lookup_string(setting_mme_address, ENB_CONFIG_STRING_MME_IP_ADDRESS_PREFERENCE, (const char **)&preference) - ) - ) { - AssertError (0, parse_errors ++, - "Failed to parse eNB configuration file %s, %d th enb %d th mme address !\n", - lib_config_file_name_pP, i, j); - continue; // FIXME will prevent segfaults below, not sure what happens at function exit... - } - - g_enb_properties.properties[enb_properties_index]->nb_mme += 1; - - g_enb_properties.properties[enb_properties_index]->mme_ip_address[j].ipv4_address = strdup(ipv4); - g_enb_properties.properties[enb_properties_index]->mme_ip_address[j].ipv6_address = strdup(ipv6); - - if (strcmp(active, "yes") == 0) { - g_enb_properties.properties[enb_properties_index]->mme_ip_address[j].active = 1; - } // else { (calloc) - - if (strcmp(preference, "ipv4") == 0) { - g_enb_properties.properties[enb_properties_index]->mme_ip_address[j].ipv4 = 1; - } else if (strcmp(preference, "ipv6") == 0) { - g_enb_properties.properties[enb_properties_index]->mme_ip_address[j].ipv6 = 1; - } else if (strcmp(preference, "no") == 0) { - g_enb_properties.properties[enb_properties_index]->mme_ip_address[j].ipv4 = 1; - g_enb_properties.properties[enb_properties_index]->mme_ip_address[j].ipv6 = 1; - } - } - - - // NETWORK_INTERFACES - subsetting = config_setting_get_member (setting_enb, ENB_CONFIG_STRING_NETWORK_INTERFACES_CONFIG); - - if (subsetting != NULL) { - if ( ( - config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_ENB_INTERFACE_NAME_FOR_S1_MME, - (const char **)&enb_interface_name_for_S1_MME) - && config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_ENB_IPV4_ADDRESS_FOR_S1_MME, - (const char **)&enb_ipv4_address_for_S1_MME) - && config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_ENB_INTERFACE_NAME_FOR_S1U, - (const char **)&enb_interface_name_for_S1U) - && config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_ENB_IPV4_ADDR_FOR_S1U, - (const char **)&enb_ipv4_address_for_S1U) - && config_setting_lookup_int(subsetting, ENB_CONFIG_STRING_ENB_PORT_FOR_S1U, - &enb_port_for_S1U) - ) - ) { - g_enb_properties.properties[enb_properties_index]->enb_interface_name_for_S1U = strdup(enb_interface_name_for_S1U); - cidr = enb_ipv4_address_for_S1U; - address = strtok(cidr, "/"); - - if (address) { - IPV4_STR_ADDR_TO_INT_NWBO ( address, g_enb_properties.properties[enb_properties_index]->enb_ipv4_address_for_S1U, "BAD IP ADDRESS FORMAT FOR eNB S1_U !\n" ); - } - - g_enb_properties.properties[enb_properties_index]->enb_port_for_S1U = enb_port_for_S1U; - - g_enb_properties.properties[enb_properties_index]->enb_interface_name_for_S1_MME = strdup(enb_interface_name_for_S1_MME); - cidr = enb_ipv4_address_for_S1_MME; - address = strtok(cidr, "/"); - - if (address) { - IPV4_STR_ADDR_TO_INT_NWBO ( address, g_enb_properties.properties[enb_properties_index]->enb_ipv4_address_for_S1_MME, "BAD IP ADDRESS FORMAT FOR eNB S1_MME !\n" ); - } - } - } // if (subsetting != NULL) { - enb_properties_index += 1; - } // if (strcmp(active_enb[j], enb_name) == 0) - } // for (j=0; j < num_enb_properties; j++) - } // for (i = 0; i < num_enbs; i++) - } // if (setting != NULL) { - - g_enb_properties.number += num_enb_properties; - - - AssertFatal (parse_errors == 0, - "Failed to parse eNB configuration file %s, found %d error%s !\n", - lib_config_file_name_pP, parse_errors, parse_errors > 1 ? "s" : ""); -} - - -//------------------------------------------------------------------------------ -static void usage ( - int argc, - char *argv[]) -//------------------------------------------------------------------------------ -{ - fprintf (stdout, "Please report any bug to: %s\n",PACKAGE_BUGREPORT); - fprintf (stdout, "Usage: %s [options]\n\n", argv[0]); - fprintf (stdout, "\n"); - fprintf (stdout, "Mandatory options:\n"); - fprintf (stdout, "\t-c | --enb-conf-file <file> Provide the old eNB config file for generating a copy of the original test\n"); - fprintf (stdout, "\t-d | --test-dir <dir> Directory where a set of files related to a particular test are located\n"); - fprintf (stdout, "\t-p | --pdml <file> File name (with no path) in 'test-dir' directory of an original scenario that has to be reworked (IP addresses) with new testbed\n"); - fprintf (stdout, "\n"); - fprintf (stdout, "Other options:\n"); - fprintf (stdout, "\t-h | --help Print this help and return\n"); - fprintf (stdout, "\t-v | --version Print informations about the version of this executable\n"); - fprintf (stdout, "\n"); - fprintf (stdout, "Example of generate_scenario use case: \n"); - fprintf (stdout, "\n"); - fprintf (stdout, " Generate a generix xml scenario from a captured pcap file: \n"); - fprintf (stdout, " +---------------------+ \n"); - fprintf (stdout, " |captured pcap-ng file| \n"); - fprintf (stdout, " +----------+----------+ \n"); - fprintf (stdout, " |\n"); - fprintf (stdout, " mme_test_s1_pcap2pdml --pcap_file <`captured pcap-ng file`>\n"); - fprintf (stdout, " |\n"); - fprintf (stdout, " +--------V----------+ +--------------------+\n"); - fprintf (stdout, " |'pdml-in-orig' file| |'enb-conf-file' file|\n"); - fprintf (stdout, " +--------+----------+ +--------------------+\n"); - fprintf (stdout, " | |\n"); - fprintf (stdout, " +----------------------------+\n"); - fprintf (stdout, " |\n"); - fprintf (stdout, " generate_scenario -d <dir> -p <'pdml-in-orig' file> -c <'enb-conf-file' file> \n"); - fprintf (stdout, " |\n"); - fprintf (stdout, " +------------V--------------+\n"); - fprintf (stdout, " +'xml-test-scenario' file |\n"); - fprintf (stdout, " +---------------------------+\n"); - fprintf (stdout, "\n"); -} - -//------------------------------------------------------------------------------ -int -config_parse_opt_line ( - int argc, - char *argv[]) -//------------------------------------------------------------------------------ -{ - int option; - int rv = 0; - char *enb_config_file_name = NULL; - char *pdml_in_file_name = NULL; - char *test_dir_name = NULL; - - enum long_option_e { - LONG_OPTION_START = 0x100, /* Start after regular single char options */ - LONG_OPTION_ENB_CONF_FILE, - LONG_OPTION_PDML, - LONG_OPTION_TEST_DIR, - LONG_OPTION_HELP, - LONG_OPTION_VERSION, - }; - - static struct option long_options[] = { - {"enb-conf-file", required_argument, 0, LONG_OPTION_ENB_CONF_FILE}, - {"pdml ", required_argument, 0, LONG_OPTION_PDML}, - {"test-dir", required_argument, 0, LONG_OPTION_TEST_DIR}, - {"help", no_argument, 0, LONG_OPTION_HELP}, - {"version", no_argument, 0, LONG_OPTION_VERSION}, - {NULL, 0, NULL, 0} - }; - - /* - * Parsing command line - */ - while ((option = getopt_long (argc, argv, "vhp:n:c:s:d:", long_options, NULL)) != -1) { - switch (option) { - case LONG_OPTION_ENB_CONF_FILE: - case 'c': - if (optarg) { - enb_config_file_name = optarg; - printf("eNB config file name is %s\n", enb_config_file_name); - rv |= GENERATE_SCENARIO; - } - break; - - case LONG_OPTION_PDML: - case 'p': - if (optarg) { - pdml_in_file_name = strdup(optarg); - printf("PDML input file name is %s\n", pdml_in_file_name); - rv |= GENERATE_SCENARIO; - } - break; - - case LONG_OPTION_TEST_DIR: - case 'd': - if (optarg) { - test_dir_name = strdup(optarg); - if (is_file_exists(test_dir_name, "test dirname") != GS_IS_DIR) { - fprintf(stderr, "Please provide a valid test dirname, %s is not a valid directory name\n", test_dir_name); - exit(1); - } - printf("Test dir name is %s\n", test_dir_name); - } - break; - - case LONG_OPTION_VERSION: - case 'v': - printf("Version %s\n", PACKAGE_VERSION); - exit (0); - break; - - case LONG_OPTION_HELP: - case 'h': - default: - usage (argc, argv); - exit (0); - } - } - if (NULL == test_dir_name) { - fprintf(stderr, "Please provide a valid test dirname\n"); - exit(1); - } - g_test_dir = test_dir_name; test_dir_name = NULL; - if (chdir(g_test_dir) != 0) { - fprintf(stderr, "Error: chdir %s returned %s\n", g_test_dir, strerror(errno)); - exit(1); - } - if (rv & GENERATE_SCENARIO) { - if (NULL == enb_config_file_name) { - fprintf(stderr, "Error: please provide the original eNB config file name that should be in %s\n", g_test_dir); - } - if (is_file_exists(enb_config_file_name, "ENB config file") != GS_IS_FILE) { - fprintf(stderr, "Error: eNB config file name %s is not found in dir %s\n", enb_config_file_name, g_test_dir); - } - enb_config_init(enb_config_file_name); - //enb_config_display(); - - if (NULL == pdml_in_file_name) { - fprintf(stderr, "Error: please provide the PDML file name that should be in %s\n", g_test_dir); - } - if (is_file_exists(pdml_in_file_name, "PDML file") != GS_IS_FILE) { - fprintf(stderr, "Error: PDML file name %s is not found in dir %s\n", pdml_in_file_name, g_test_dir); - } - g_pdml_in_origin = pdml_in_file_name; pdml_in_file_name = NULL; - } - return rv; -} - -//------------------------------------------------------------------------------ -int main( int argc, char **argv ) -//------------------------------------------------------------------------------ -{ - int actions = 0; - - memset((char*) &g_enb_properties, 0 , sizeof(g_enb_properties)); - - actions = config_parse_opt_line (argc, argv); //Command-line options - if (actions & GENERATE_SCENARIO) { - generate_test_scenario(g_test_dir, g_pdml_in_origin); - } - - return 0; -} diff --git a/openair3/TEST/EPC_TEST/generate_scenario.h b/openair3/TEST/EPC_TEST/generate_scenario.h deleted file mode 100644 index 8deded3f524fff04579cff3f3d69eb7147f2d3d0..0000000000000000000000000000000000000000 --- a/openair3/TEST/EPC_TEST/generate_scenario.h +++ /dev/null @@ -1,119 +0,0 @@ -/* - * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The OpenAirInterface Software Alliance licenses this file to You under - * the OAI Public License, Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.openairinterface.org/?page_id=698 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - *------------------------------------------------------------------------------- - * For more information about the OpenAirInterface (OAI) Software Alliance: - * contact@openairinterface.org - */ - -/* - generate_scenario.h - ------------------- - AUTHOR : Lionel GAUTHIER - COMPANY : EURECOM - EMAIL : Lionel.Gauthier@eurecom.fr -*/ - -#ifndef GENERATE_SCENARIO_H_ -#define GENERATE_SCENARIO_H_ -#include <sys/socket.h> -#include <netinet/in.h> -#include <arpa/inet.h> - -#include "commonDef.h" -#include "platform_types.h" -#include "platform_constants.h" -#include "s1ap_messages_types.h" -#include "SystemInformationBlockType2.h" - -#define IPV4_STR_ADDR_TO_INT_NWBO(AdDr_StR,NwBo,MeSsAgE ) do {\ - struct in_addr inp;\ - if ( inet_aton(AdDr_StR, &inp ) < 0 ) {\ - AssertFatal (0, MeSsAgE);\ - } else {\ - NwBo = inp.s_addr;\ - }\ - } while (0); - -/** @defgroup _enb_app ENB APP - * @ingroup _oai2 - * @{ - */ - -// Hard to find a defined value for max enb... -#define EPC_TEST_SCENARIO_MAX_ENB 4 - - -typedef struct mme_ip_address_s { - unsigned ipv4:1; - unsigned ipv6:1; - unsigned active:1; - char *ipv4_address; - char *ipv6_address; -} mme_ip_address_t; - -typedef struct Enb_properties_s { - /* Unique eNB_id to identify the eNB within EPC. - * For macro eNB ids this field should be 20 bits long. - * For home eNB ids this field should be 28 bits long. - */ - uint32_t eNB_id; - - /* The type of the cell */ - enum cell_type_e cell_type; - - /* Optional name for the cell - * NOTE: the name can be NULL (i.e no name) and will be cropped to 150 - * characters. - */ - char *eNB_name; - - /* Tracking area code */ - uint16_t tac; - - /* Mobile Country Code - * Mobile Network Code - */ - uint16_t mcc; - uint16_t mnc; - uint8_t mnc_digit_length; - - /* Nb of MME to connect to */ - uint8_t nb_mme; - /* List of MME to connect to */ - mme_ip_address_t mme_ip_address[S1AP_MAX_NB_MME_IP_ADDRESS]; - - int sctp_in_streams; - int sctp_out_streams; - - char *enb_interface_name_for_S1U; - in_addr_t enb_ipv4_address_for_S1U; - tcp_udp_port_t enb_port_for_S1U; - - char *enb_interface_name_for_S1_MME; - in_addr_t enb_ipv4_address_for_S1_MME; - -} Enb_properties_t; - -typedef struct Enb_properties_array_s { - int number; - Enb_properties_t *properties[EPC_TEST_SCENARIO_MAX_ENB]; -} Enb_properties_array_t; - -void enb_config_init(const char const * lib_config_file_name_pP); - -#endif /* ENB_CONFIG_H_ */ -/** @} */ diff --git a/openair3/TEST/EPC_TEST/play_scenario.c b/openair3/TEST/EPC_TEST/play_scenario.c deleted file mode 100644 index ebaffdb39edd69f10e83824e96d57bd4f0f8e732..0000000000000000000000000000000000000000 --- a/openair3/TEST/EPC_TEST/play_scenario.c +++ /dev/null @@ -1,1240 +0,0 @@ -/* - * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The OpenAirInterface Software Alliance licenses this file to You under - * the OAI Public License, Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.openairinterface.org/?page_id=698 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - *------------------------------------------------------------------------------- - * For more information about the OpenAirInterface (OAI) Software Alliance: - * contact@openairinterface.org - */ - -/* - play_scenario.c - ------------------- - AUTHOR : Lionel GAUTHIER - COMPANY : EURECOM - EMAIL : Lionel.Gauthier@eurecom.fr - */ - -#include <string.h> -#include <limits.h> -#include <libconfig.h> -#include <inttypes.h> -#include <getopt.h> -#include <libgen.h> -#include <unistd.h> -#include <errno.h> -#include <fcntl.h> -#include <sys/types.h> -#include <sys/stat.h> -#include <sys/time.h> -#include <unistd.h> -#include <sys/socket.h> -#include <netinet/in.h> -#include <arpa/inet.h> -#include <pthread.h> - - -#include "assertions.h" -#include "s1ap_common.h" -#include "intertask_interface.h" -#include "play_scenario.h" -#include "sctp_eNB_task.h" -#include "sctp_default_values.h" -#include "log.h" -//------------------------------------------------------------------------------ -#define PLAY_SCENARIO 1 -#define GS_IS_FILE 1 -#define GS_IS_DIR 2 -//------------------------------------------------------------------------------ -Enb_properties_array_t g_enb_properties; -int g_max_speed = 0; -//------------------------------------------------------------------------------ -extern et_scenario_t *g_scenario; -extern int xmlLoadExtDtdDefaultValue; -extern int asn_debug; -extern int asn1_xer_print; -extern pthread_mutex_t g_fsm_lock; - -//------------------------------------------------------------------------------ -// MEMO: -// Scenario with several eNBs: We may have to create ethx.y interfaces -// - - - -//------------------------------------------------------------------------------ -// test if file exist in current directory -int is_file_exists( const char const * file_nameP, const char const *file_roleP) -{ - struct stat s; - int err = stat(file_nameP, &s); - if(-1 == err) { - if(ENOENT == errno) { - fprintf(stderr, "Please provide a valid %s, %s does not exist\n", file_roleP, file_nameP); - } else { - perror("stat"); - exit(1); - } - } else { - if(S_ISREG(s.st_mode)) { - return GS_IS_FILE; - } else if(S_ISDIR(s.st_mode)) { - return GS_IS_DIR; - } else { - fprintf(stderr, "Please provide a valid test %s, %s exists but is not found valid\n", file_roleP, file_nameP); - } - } - return 0; -} - - -//------------------------------------------------------------------------------ -int et_strip_extension(char *in_filename) -{ - static const uint8_t name_min_len = 1; - static const uint8_t max_ext_len = 5; // .pdml ! - fprintf(stdout, "strip_extension %s\n", in_filename); - - if (NULL != in_filename) { - /* Check chars starting at end of string to find last '.' */ - for (ssize_t i = strlen(in_filename); i > name_min_len; i--) { - if (in_filename[i] == '.') { - in_filename[i] = '\0'; - return i; - } - } - } - return -1; -} -//------------------------------------------------------------------------------ -// return number of splitted items -void et_get_shift_arg( char * line_argument, shift_packet_t * const shift) -{ - int len = strlen(line_argument); - int i = 0; - int j = 0; - int num_milli = 0; - char my_num[64]; - int negative = 0; - - - while ((line_argument[i] != ':') && (i < len)) { - if (isdigit(line_argument[i])) { // may occur '\"' - my_num[j++] = line_argument[i]; - } - i += 1; - } - AssertFatal(':' == line_argument[i], "Bad format"); - i += 1; // ':' - my_num[j++] = '\0'; - shift->frame_number = atoi(my_num); - AssertFatal(i<len, "Shift argument %s bad format", line_argument); - - if (line_argument[i] == '-') { - negative = 1; - i += 1; - } else if (line_argument[i] == '+') { - i += 1; - } - AssertFatal(i<len, "Shift argument %s bad format", line_argument); - j = 0; - while ((line_argument[i] != '.') && (i < len)) { - my_num[j++] = line_argument[i++]; - } - my_num[j] = '\0'; - j = 0; - i += 1; - shift->shift_seconds = atoi(my_num); - // may omit .mmm, accept .m or .mm or .mmm or ... - while ((i < len) && (num_milli++ < 3)){ - my_num[j++] = line_argument[i++]; - } - while (num_milli++ < 6){ - my_num[j++] = '0'; - } - my_num[j] = '\0'; - shift->shift_microseconds = atoi(my_num); - if (negative == 1) { - shift->shift_seconds = - shift->shift_seconds; - shift->shift_microseconds = - shift->shift_microseconds; - } -} -//------------------------------------------------------------------------------ -// return number of splitted items -int split_path( char * pathP, char *** resP) -{ - char * saveptr1; - char * p = strtok_r (pathP, "/", &saveptr1); - int n_spaces = 0; - - /// split string and append tokens to 'res' - while (p) { - *resP = realloc (*resP, sizeof (char*) * ++n_spaces); - AssertFatal (*resP, "realloc failed"); - (*resP)[n_spaces-1] = p; - p = strtok_r (NULL, "/", &saveptr1); - } - return n_spaces; -} -//------------------------------------------------------------------------------ -void et_free_packet(et_packet_t* packet) -{ - if (packet) { - switch (packet->sctp_hdr.chunk_type) { - case SCTP_CID_DATA: - et_free_pointer(packet->sctp_hdr.u.data_hdr.payload.binary_stream); - break; - default: - ; - } - et_free_pointer(packet); - } -} - -//------------------------------------------------------------------------------ -void et_free_scenario(et_scenario_t* scenario) -{ - et_packet_t *packet = NULL; - et_packet_t *next_packet = NULL; - if (scenario) { - packet = scenario->list_packet; - while (packet) { - next_packet = packet->next; - et_free_packet(packet); - packet = next_packet->next; - } - et_free_pointer(scenario); - pthread_mutex_destroy(&g_fsm_lock); - } -} - -//------------------------------------------------------------------------------ -char * et_ip2ip_str(const et_ip_t * const ip) -{ - static char str[INET6_ADDRSTRLEN]; - - sprintf(str, "ERROR"); - switch (ip->address_family) { - case AF_INET6: - inet_ntop(AF_INET6, &(ip->address.ipv6), str, INET6_ADDRSTRLEN); - break; - case AF_INET: - inet_ntop(AF_INET, &(ip->address.ipv4), str, INET_ADDRSTRLEN); - break; - default: - ; - } - return str; -} -//------------------------------------------------------------------------------ -//convert hexstring to len bytes of data -//returns 0 on success, negative on error -//data is a buffer of at least len bytes -//hexstring is upper or lower case hexadecimal, NOT prepended with "0x" -int et_hex2data(unsigned char * const data, const unsigned char * const hexstring, const unsigned int len) -{ - unsigned const char *pos = hexstring; - char *endptr = NULL; - size_t count = 0; - - fprintf(stdout, "%s(%s,%u)\n", __FUNCTION__, hexstring, len); - - if ((len > 1) && (strlen((const char*)hexstring) % 2)) { - //or hexstring has an odd length - return -3; - } - - if (len == 1) { - char buf[5] = {'0', 'x', 0, pos[0], '\0'}; - data[0] = strtol(buf, &endptr, 16); - /* Check for various possible errors */ - AssertFatal ((errno == 0) || (data[0] != 0), "ERROR %s() strtol: %s\n", __FUNCTION__, strerror(errno)); - AssertFatal (endptr != buf, "ERROR %s() No digits were found\n", __FUNCTION__); - return 0; - } - - for(count = 0; count < len/2; count++) { - char buf[5] = {'0', 'x', pos[0], pos[1], 0}; - data[count] = strtol(buf, &endptr, 16); - pos += 2 * sizeof(char); - AssertFatal (endptr[0] == '\0', "ERROR %s() non-hexadecimal character encountered buf %p endptr %p buf %s count %zu pos %p\n", __FUNCTION__, buf, endptr, buf, count, pos); - AssertFatal (endptr != buf, "ERROR %s() No digits were found\n", __FUNCTION__); - } - return 0; -} -//------------------------------------------------------------------------------ -sctp_cid_t et_chunk_type_str2cid(const xmlChar * const chunk_type_str) -{ - if ((!xmlStrcmp(chunk_type_str, (const xmlChar *)"DATA"))) { return SCTP_CID_DATA;} - if ((!xmlStrcmp(chunk_type_str, (const xmlChar *)"INIT"))) { return SCTP_CID_INIT;} - if ((!xmlStrcmp(chunk_type_str, (const xmlChar *)"INIT_ACK"))) { return SCTP_CID_INIT_ACK;} - if ((!xmlStrcmp(chunk_type_str, (const xmlChar *)"SACK"))) { return SCTP_CID_SACK;} - if ((!xmlStrcmp(chunk_type_str, (const xmlChar *)"HEARTBEAT"))) { return SCTP_CID_HEARTBEAT;} - if ((!xmlStrcmp(chunk_type_str, (const xmlChar *)"HEARTBEAT_ACK"))) { return SCTP_CID_HEARTBEAT_ACK;} - if ((!xmlStrcmp(chunk_type_str, (const xmlChar *)"ABORT"))) { return SCTP_CID_ABORT;} - if ((!xmlStrcmp(chunk_type_str, (const xmlChar *)"SHUTDOWN"))) { return SCTP_CID_SHUTDOWN;} - if ((!xmlStrcmp(chunk_type_str, (const xmlChar *)"SHUTDOWN_ACK"))) { return SCTP_CID_SHUTDOWN_ACK;} - if ((!xmlStrcmp(chunk_type_str, (const xmlChar *)"ERROR"))) { return SCTP_CID_ERROR;} - if ((!xmlStrcmp(chunk_type_str, (const xmlChar *)"COOKIE_ECHO"))) { return SCTP_CID_COOKIE_ECHO;} - if ((!xmlStrcmp(chunk_type_str, (const xmlChar *)"COOKIE_ACK"))) { return SCTP_CID_COOKIE_ACK;} - if ((!xmlStrcmp(chunk_type_str, (const xmlChar *)"ECN_ECNE"))) { return SCTP_CID_ECN_ECNE;} - if ((!xmlStrcmp(chunk_type_str, (const xmlChar *)"ECN_CWR"))) { return SCTP_CID_ECN_CWR;} - if ((!xmlStrcmp(chunk_type_str, (const xmlChar *)"SHUTDOWN_COMPLETE"))) { return SCTP_CID_SHUTDOWN_COMPLETE;} - if ((!xmlStrcmp(chunk_type_str, (const xmlChar *)"AUTH"))) { return SCTP_CID_AUTH;} - if ((!xmlStrcmp(chunk_type_str, (const xmlChar *)"FWD_TSN"))) { return SCTP_CID_FWD_TSN;} - if ((!xmlStrcmp(chunk_type_str, (const xmlChar *)"ASCONF"))) { return SCTP_CID_ASCONF;} - if ((!xmlStrcmp(chunk_type_str, (const xmlChar *)"ASCONF_ACK"))) { return SCTP_CID_ASCONF_ACK;} - AssertFatal (0, "ERROR: %s() cannot convert: %s\n", __FUNCTION__, chunk_type_str); -} -//------------------------------------------------------------------------------ -const char * const et_chunk_type_cid2str(const sctp_cid_t chunk_type) -{ - switch (chunk_type) { - case SCTP_CID_DATA: return "DATA"; break; - case SCTP_CID_INIT: return "INIT"; break; - case SCTP_CID_INIT_ACK: return "INIT_ACK"; break; - case SCTP_CID_SACK: return "SACK"; break; - case SCTP_CID_HEARTBEAT: return "HEARTBEAT"; break; - case SCTP_CID_HEARTBEAT_ACK: return "HEARTBEAT_ACK"; break; - case SCTP_CID_ABORT: return "ABORT"; break; - case SCTP_CID_SHUTDOWN: return "SHUTDOWN"; break; - case SCTP_CID_SHUTDOWN_ACK: return "SHUTDOWN_ACK"; break; - case SCTP_CID_ERROR: return "ERROR"; break; - case SCTP_CID_COOKIE_ECHO: return "COOKIE_ECHO"; break; - case SCTP_CID_COOKIE_ACK: return "COOKIE_ACK"; break; - case SCTP_CID_ECN_ECNE: return "ECN_ECNE"; break; - case SCTP_CID_ECN_CWR: return "ECN_CWR"; break; - case SCTP_CID_SHUTDOWN_COMPLETE: return "SHUTDOWN_COMPLETE"; break; - case SCTP_CID_AUTH: return "AUTH"; break; - case SCTP_CID_FWD_TSN: return "FWD_TSN"; break; - case SCTP_CID_ASCONF: return "ASCONF"; break; - case SCTP_CID_ASCONF_ACK: return "ASCONF_ACK"; break; - default: - AssertFatal (0, "ERROR: Unknown chunk_type %d!\n", chunk_type); - } -} -//------------------------------------------------------------------------------ -const char * const et_error_match2str(const int err) -{ - switch (err) { - // from asn_compare.h - case COMPARE_ERR_CODE_NO_MATCH: return "CODE_NO_MATCH"; break; - case COMPARE_ERR_CODE_TYPE_MISMATCH: return "TYPE_MISMATCH"; break; - case COMPARE_ERR_CODE_TYPE_ARG_NULL: return "TYPE_ARG_NULL"; break; - case COMPARE_ERR_CODE_VALUE_NULL: return "VALUE_NULL"; break; - case COMPARE_ERR_CODE_VALUE_ARG_NULL: return "VALUE_ARG_NULL"; break; - case COMPARE_ERR_CODE_CHOICE_NUM: return "CHOICE_NUM"; break; - case COMPARE_ERR_CODE_CHOICE_PRESENT: return "CHOICE_PRESENT"; break; - case COMPARE_ERR_CODE_CHOICE_MALFORMED: return "CHOICE_MALFORMED"; break; - case COMPARE_ERR_CODE_SET_MALFORMED: return "SET_MALFORMED"; break; - case COMPARE_ERR_CODE_COLLECTION_NUM_ELEMENTS: return "COLLECTION_NUM_ELEMENTS"; break; - // from play_scenario.h - case ET_ERROR_MATCH_PACKET_SCTP_CHUNK_TYPE: return "SCTP_CHUNK_TYPE"; break; - case ET_ERROR_MATCH_PACKET_SCTP_PPID: return "SCTP_PPID"; break; - case ET_ERROR_MATCH_PACKET_SCTP_ASSOC_ID: return "SCTP_ASSOC_ID"; break; - case ET_ERROR_MATCH_PACKET_SCTP_STREAM_ID: return "SCTP_STREAM_ID"; break; - case ET_ERROR_MATCH_PACKET_SCTP_SSN: return "SCTP_SSN"; break; - case ET_ERROR_MATCH_PACKET_S1AP_PRESENT: return "S1AP_PRESENT"; break; - case ET_ERROR_MATCH_PACKET_S1AP_PROCEDURE_CODE: return "S1AP_PROCEDURE_CODE"; break; - case ET_ERROR_MATCH_PACKET_S1AP_CRITICALITY: return "S1AP_CRITICALITY"; break; - default: - AssertFatal (0, "ERROR: Unknown match error %d!(TODO handle an1c error codes)\n", err); - } -} -//------------------------------------------------------------------------------ -et_packet_action_t et_action_str2et_action_t(const xmlChar * const action) -{ - if ((!xmlStrcmp(action, (const xmlChar *)"SEND"))) { return ET_PACKET_ACTION_S1C_SEND;} - if ((!xmlStrcmp(action, (const xmlChar *)"RECEIVE"))) { return ET_PACKET_ACTION_S1C_RECEIVE;} - AssertFatal (0, "ERROR: cannot convert: %s\n", action); - //if (NULL == action) {return ACTION_S1C_NULL;} -} -//------------------------------------------------------------------------------ -void et_ip_str2et_ip(const xmlChar * const ip_str, et_ip_t * const ip) -{ - AssertFatal (NULL != ip_str, "ERROR Cannot convert null string to ip address!\n"); - AssertFatal (NULL != ip, "ERROR out parameter pointer is NULL!\n"); - // store this IP address in sa: - if (inet_pton(AF_INET, (const char*)ip_str, (void*)&(ip->address.ipv4)) > 0) { - ip->address_family = AF_INET; - strncpy((char *)ip->str, (const char *)ip_str, INET_ADDRSTRLEN+1); - } else if (inet_pton(AF_INET6, (const char*)ip_str, (void*)&(ip->address.ipv6)) > 0) { - ip->address_family = AF_INET6; - strncpy((char *)ip->str, (const char *)ip_str, INET6_ADDRSTRLEN+1); - } else { - ip->address_family = AF_UNSPEC; - AssertFatal (0, "ERROR %s() Could not parse ip address %s!\n", __FUNCTION__, ip_str); - } -} -//------------------------------------------------------------------------------ -int et_compare_et_ip_to_net_ip_address(const et_ip_t * const ip, const net_ip_address_t * const net_ip) -{ - AssertFatal (NULL != ip, "ERROR ip parameter\n"); - AssertFatal (NULL != net_ip, "ERROR net_ip parameter\n"); - switch (ip->address_family) { - case AF_INET: - if (net_ip->ipv4) { - //S1AP_DEBUG("%s(%s,%s)=%d\n",__FUNCTION__,ip->str, net_ip->ipv4_address, strcmp(ip->str, net_ip->ipv4_address)); - return strcmp(ip->str, net_ip->ipv4_address); - } - //S1AP_DEBUG("%s(%s,%s)=-1 (IP version (4) not matching)\n",__FUNCTION__,ip->str, net_ip->ipv4_address); - return -1; - break; - case AF_INET6: - if (net_ip->ipv6) { - //S1AP_DEBUG("%s(%s,%s)=%d\n",__FUNCTION__,ip->str, net_ip->ipv4_address, strcmp(ip->str, net_ip->ipv6_address)); - return strcmp(ip->str, net_ip->ipv6_address); - } - //S1AP_DEBUG("%s(%s,%s)=-1 (IP version (6) not matching)\n",__FUNCTION__,ip->str, net_ip->ipv6_address); - return -1; - break; - default: - S1AP_DEBUG("%s(%s,...)=-1 (unknown IP version)\n",__FUNCTION__,ip->str); - return -1; - } -} - -#ifdef LIBCONFIG_LONG -#define libconfig_int long -#else -#define libconfig_int int -#endif -//------------------------------------------------------------------------------ -void et_enb_config_init(const char const * lib_config_file_name_pP) -//------------------------------------------------------------------------------ -{ - config_t cfg; - config_setting_t *setting = NULL; - config_setting_t *subsetting = NULL; - config_setting_t *setting_mme_addresses = NULL; - config_setting_t *setting_mme_address = NULL; - config_setting_t *setting_enb = NULL; - libconfig_int my_int; - int num_enb_properties = 0; - int enb_properties_index = 0; - int num_enbs = 0; - int num_mme_address = 0; - int i = 0; - int j = 0; - int parse_errors = 0; - libconfig_int enb_id = 0; - const char* cell_type = NULL; - const char* tac = 0; - const char* enb_name = NULL; - const char* mcc = 0; - const char* mnc = 0; - char* ipv4 = NULL; - char* ipv6 = NULL; - char* active = NULL; - char* preference = NULL; - const char* active_enb[MAX_ENB]; - char* enb_interface_name_for_S1U = NULL; - char* enb_ipv4_address_for_S1U = NULL; - libconfig_int enb_port_for_S1U = 0; - char* enb_interface_name_for_S1_MME = NULL; - char* enb_ipv4_address_for_S1_MME = NULL; - char *address = NULL; - char *cidr = NULL; - - - AssertFatal (lib_config_file_name_pP != NULL, - "Bad parameter lib_config_file_name_pP %s , must reference a valid eNB config file\n", - lib_config_file_name_pP); - - memset((char*)active_enb, 0 , MAX_ENB * sizeof(char*)); - - config_init(&cfg); - - /* Read the file. If there is an error, report it and exit. */ - if (! config_read_file(&cfg, lib_config_file_name_pP)) { - config_destroy(&cfg); - AssertFatal (0, "Failed to parse eNB configuration file %s!\n", lib_config_file_name_pP); - } - - // Get list of active eNBs, (only these will be configured) - setting = config_lookup(&cfg, ENB_CONFIG_STRING_ACTIVE_ENBS); - - if (setting != NULL) { - num_enbs = config_setting_length(setting); - - for (i = 0; i < num_enbs; i++) { - setting_enb = config_setting_get_elem(setting, i); - active_enb[i] = config_setting_get_string (setting_enb); - AssertFatal (active_enb[i] != NULL, - "Failed to parse config file %s, %dth attribute %s \n", - lib_config_file_name_pP, i, ENB_CONFIG_STRING_ACTIVE_ENBS); - active_enb[i] = strdup(active_enb[i]); - num_enb_properties += 1; - } - } - - /* Output a list of all eNBs. */ - setting = config_lookup(&cfg, ENB_CONFIG_STRING_ENB_LIST); - - if (setting != NULL) { - enb_properties_index = g_enb_properties.number; - parse_errors = 0; - num_enbs = config_setting_length(setting); - - for (i = 0; i < num_enbs; i++) { - setting_enb = config_setting_get_elem(setting, i); - - if (! config_setting_lookup_int(setting_enb, ENB_CONFIG_STRING_ENB_ID, &enb_id)) { - /* Calculate a default eNB ID */ -# if defined(ENABLE_USE_MME) - uint32_t hash; - - hash = et_s1ap_generate_eNB_id (); - enb_id = i + (hash & 0xFFFF8); -# else - enb_id = i; -# endif - } - - if ( !( config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_CELL_TYPE, &cell_type) - && config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_ENB_NAME, &enb_name) - && config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_TRACKING_AREA_CODE, &tac) - && config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_MOBILE_COUNTRY_CODE, &mcc) - && config_setting_lookup_string(setting_enb, ENB_CONFIG_STRING_MOBILE_NETWORK_CODE, &mnc) - - - ) - ) { - AssertError (0, parse_errors ++, - "Failed to parse eNB configuration file %s, %d th enb\n", - lib_config_file_name_pP, i); - continue; // FIXME this prevents segfaults below, not sure what happens after function exit - } - - // search if in active list - for (j=0; j < num_enb_properties; j++) { - if (strcmp(active_enb[j], enb_name) == 0) { - g_enb_properties.properties[enb_properties_index] = calloc(1, sizeof(Enb_properties_t)); - - g_enb_properties.properties[enb_properties_index]->eNB_id = enb_id; - - if (strcmp(cell_type, "CELL_MACRO_ENB") == 0) { - g_enb_properties.properties[enb_properties_index]->cell_type = CELL_MACRO_ENB; - } else if (strcmp(cell_type, "CELL_HOME_ENB") == 0) { - g_enb_properties.properties[enb_properties_index]->cell_type = CELL_HOME_ENB; - } else { - AssertError (0, parse_errors ++, - "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for cell_type choice: CELL_MACRO_ENB or CELL_HOME_ENB !\n", - lib_config_file_name_pP, i, cell_type); - } - - g_enb_properties.properties[enb_properties_index]->eNB_name = strdup(enb_name); - g_enb_properties.properties[enb_properties_index]->tac = (uint16_t)atoi(tac); - g_enb_properties.properties[enb_properties_index]->mcc = (uint16_t)atoi(mcc); - g_enb_properties.properties[enb_properties_index]->mnc = (uint16_t)atoi(mnc); - g_enb_properties.properties[enb_properties_index]->mnc_digit_length = strlen(mnc); - AssertFatal((g_enb_properties.properties[enb_properties_index]->mnc_digit_length == 2) || - (g_enb_properties.properties[enb_properties_index]->mnc_digit_length == 3), - "BAD MNC DIGIT LENGTH %d", - g_enb_properties.properties[i]->mnc_digit_length); - - - setting_mme_addresses = config_setting_get_member (setting_enb, ENB_CONFIG_STRING_MME_IP_ADDRESS); - num_mme_address = config_setting_length(setting_mme_addresses); - g_enb_properties.properties[enb_properties_index]->nb_mme = 0; - - for (j = 0; j < num_mme_address; j++) { - setting_mme_address = config_setting_get_elem(setting_mme_addresses, j); - - if ( !( - config_setting_lookup_string(setting_mme_address, ENB_CONFIG_STRING_MME_IPV4_ADDRESS, (const char **)&ipv4) - && config_setting_lookup_string(setting_mme_address, ENB_CONFIG_STRING_MME_IPV6_ADDRESS, (const char **)&ipv6) - && config_setting_lookup_string(setting_mme_address, ENB_CONFIG_STRING_MME_IP_ADDRESS_ACTIVE, (const char **)&active) - && config_setting_lookup_string(setting_mme_address, ENB_CONFIG_STRING_MME_IP_ADDRESS_PREFERENCE, (const char **)&preference) - ) - ) { - AssertError (0, parse_errors ++, - "Failed to parse eNB configuration file %s, %d th enb %d th mme address !\n", - lib_config_file_name_pP, i, j); - continue; // FIXME will prevent segfaults below, not sure what happens at function exit... - } - - g_enb_properties.properties[enb_properties_index]->nb_mme += 1; - - g_enb_properties.properties[enb_properties_index]->mme_ip_address[j].ipv4_address = strdup(ipv4); - g_enb_properties.properties[enb_properties_index]->mme_ip_address[j].ipv6_address = strdup(ipv6); - - if (strcmp(active, "yes") == 0) { - g_enb_properties.properties[enb_properties_index]->mme_ip_address[j].active = 1; - } // else { (calloc) - - if (strcmp(preference, "ipv4") == 0) { - g_enb_properties.properties[enb_properties_index]->mme_ip_address[j].ipv4 = 1; - } else if (strcmp(preference, "ipv6") == 0) { - g_enb_properties.properties[enb_properties_index]->mme_ip_address[j].ipv6 = 1; - } else if (strcmp(preference, "no") == 0) { - g_enb_properties.properties[enb_properties_index]->mme_ip_address[j].ipv4 = 1; - g_enb_properties.properties[enb_properties_index]->mme_ip_address[j].ipv6 = 1; - } - } - // SCTP SETTING - g_enb_properties.properties[enb_properties_index]->sctp_out_streams = SCTP_OUT_STREAMS; - g_enb_properties.properties[enb_properties_index]->sctp_in_streams = SCTP_IN_STREAMS; - subsetting = config_setting_get_member (setting_enb, ENB_CONFIG_STRING_SCTP_CONFIG); - - if (subsetting != NULL) { - if ( (config_setting_lookup_int( subsetting, ENB_CONFIG_STRING_SCTP_INSTREAMS, &my_int) )) { - g_enb_properties.properties[enb_properties_index]->sctp_in_streams = (uint16_t)my_int; - } - - if ( (config_setting_lookup_int( subsetting, ENB_CONFIG_STRING_SCTP_OUTSTREAMS, &my_int) )) { - g_enb_properties.properties[enb_properties_index]->sctp_out_streams = (uint16_t)my_int; - } - } - - - // NETWORK_INTERFACES - subsetting = config_setting_get_member (setting_enb, ENB_CONFIG_STRING_NETWORK_INTERFACES_CONFIG); - - if (subsetting != NULL) { - if ( ( - config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_ENB_INTERFACE_NAME_FOR_S1_MME, - (const char **)&enb_interface_name_for_S1_MME) - && config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_ENB_IPV4_ADDRESS_FOR_S1_MME, - (const char **)&enb_ipv4_address_for_S1_MME) - && config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_ENB_INTERFACE_NAME_FOR_S1U, - (const char **)&enb_interface_name_for_S1U) - && config_setting_lookup_string( subsetting, ENB_CONFIG_STRING_ENB_IPV4_ADDR_FOR_S1U, - (const char **)&enb_ipv4_address_for_S1U) - && config_setting_lookup_int(subsetting, ENB_CONFIG_STRING_ENB_PORT_FOR_S1U, - &enb_port_for_S1U) - ) - ) { - g_enb_properties.properties[enb_properties_index]->enb_interface_name_for_S1U = strdup(enb_interface_name_for_S1U); - cidr = enb_ipv4_address_for_S1U; - address = strtok(cidr, "/"); - - if (address) { - IPV4_STR_ADDR_TO_INT_NWBO ( address, g_enb_properties.properties[enb_properties_index]->enb_ipv4_address_for_S1U, "BAD IP ADDRESS FORMAT FOR eNB S1_U !\n" ); - } - - g_enb_properties.properties[enb_properties_index]->enb_port_for_S1U = enb_port_for_S1U; - - g_enb_properties.properties[enb_properties_index]->enb_interface_name_for_S1_MME = strdup(enb_interface_name_for_S1_MME); - cidr = enb_ipv4_address_for_S1_MME; - address = strtok(cidr, "/"); - - if (address) { - IPV4_STR_ADDR_TO_INT_NWBO ( address, g_enb_properties.properties[enb_properties_index]->enb_ipv4_address_for_S1_MME, "BAD IP ADDRESS FORMAT FOR eNB S1_MME !\n" ); - } - } - } // if (subsetting != NULL) { - enb_properties_index += 1; - } // if (strcmp(active_enb[j], enb_name) == 0) - } // for (j=0; j < num_enb_properties; j++) - } // for (i = 0; i < num_enbs; i++) - } // if (setting != NULL) { - - g_enb_properties.number += num_enb_properties; - - - AssertFatal (parse_errors == 0, - "Failed to parse eNB configuration file %s, found %d error%s !\n", - lib_config_file_name_pP, parse_errors, parse_errors > 1 ? "s" : ""); -} -/*------------------------------------------------------------------------------*/ -const Enb_properties_array_t *et_enb_config_get(void) -{ - return &g_enb_properties; -} -/*------------------------------------------------------------------------------*/ -void et_eNB_app_register(const Enb_properties_array_t *enb_properties) -{ - uint32_t enb_id = 0; - uint32_t mme_id = 0; - MessageDef *msg_p = NULL; - char *str = NULL; - struct in_addr addr = {.s_addr = 0}; - - - g_scenario->register_enb_pending = 0; - for (enb_id = 0; (enb_id < enb_properties->number) ; enb_id++) { - { - s1ap_register_enb_req_t *s1ap_register_eNB = NULL; - - /* note: there is an implicit relationship between the data structure and the message name */ - msg_p = itti_alloc_new_message (TASK_ENB_APP, S1AP_REGISTER_ENB_REQ); - - s1ap_register_eNB = &S1AP_REGISTER_ENB_REQ(msg_p); - - /* Some default/random parameters */ - s1ap_register_eNB->eNB_id = enb_properties->properties[enb_id]->eNB_id; - s1ap_register_eNB->cell_type = enb_properties->properties[enb_id]->cell_type; - s1ap_register_eNB->eNB_name = enb_properties->properties[enb_id]->eNB_name; - s1ap_register_eNB->tac = enb_properties->properties[enb_id]->tac; - s1ap_register_eNB->mcc = enb_properties->properties[enb_id]->mcc; - s1ap_register_eNB->mnc = enb_properties->properties[enb_id]->mnc; - s1ap_register_eNB->mnc_digit_length = enb_properties->properties[enb_id]->mnc_digit_length; - - s1ap_register_eNB->nb_mme = enb_properties->properties[enb_id]->nb_mme; - AssertFatal (s1ap_register_eNB->nb_mme <= S1AP_MAX_NB_MME_IP_ADDRESS, "Too many MME for eNB %d (%d/%d)!", enb_id, s1ap_register_eNB->nb_mme, - S1AP_MAX_NB_MME_IP_ADDRESS); - - for (mme_id = 0; mme_id < s1ap_register_eNB->nb_mme; mme_id++) { - s1ap_register_eNB->mme_ip_address[mme_id].ipv4 = enb_properties->properties[enb_id]->mme_ip_address[mme_id].ipv4; - s1ap_register_eNB->mme_ip_address[mme_id].ipv6 = enb_properties->properties[enb_id]->mme_ip_address[mme_id].ipv6; - strncpy (s1ap_register_eNB->mme_ip_address[mme_id].ipv4_address, - enb_properties->properties[enb_id]->mme_ip_address[mme_id].ipv4_address, - sizeof(s1ap_register_eNB->mme_ip_address[0].ipv4_address)); - strncpy (s1ap_register_eNB->mme_ip_address[mme_id].ipv6_address, - enb_properties->properties[enb_id]->mme_ip_address[mme_id].ipv6_address, - sizeof(s1ap_register_eNB->mme_ip_address[0].ipv6_address)); - } - - s1ap_register_eNB->sctp_in_streams = enb_properties->properties[enb_id]->sctp_in_streams; - s1ap_register_eNB->sctp_out_streams = enb_properties->properties[enb_id]->sctp_out_streams; - - - s1ap_register_eNB->enb_ip_address.ipv6 = 0; - s1ap_register_eNB->enb_ip_address.ipv4 = 1; - addr.s_addr = enb_properties->properties[enb_id]->enb_ipv4_address_for_S1_MME; - str = inet_ntoa(addr); - strcpy(s1ap_register_eNB->enb_ip_address.ipv4_address, str); - - g_scenario->register_enb_pending++; - itti_send_msg_to_task (TASK_S1AP, ENB_MODULE_ID_TO_INSTANCE(enb_id), msg_p); - } - } -} -/*------------------------------------------------------------------------------*/ -void *et_eNB_app_task(void *args_p) -{ - et_scenario_t *scenario = (et_scenario_t*)args_p; - MessageDef *msg_p = NULL; - const char *msg_name = NULL; - instance_t instance = 0; - int result = 0; - - itti_mark_task_ready (TASK_ENB_APP); - - do { - // Wait for a message - itti_receive_msg (TASK_ENB_APP, &msg_p); - - msg_name = ITTI_MSG_NAME (msg_p); - instance = ITTI_MSG_DESTINATION_INSTANCE (msg_p); - - switch (ITTI_MSG_ID(msg_p)) { - case TERMINATE_MESSAGE: - itti_exit_task (); - break; - - case S1AP_REGISTER_ENB_CNF: - LOG_I(ENB_APP, "[eNB %d] Received %s: associated MME %d\n", instance, msg_name, - S1AP_REGISTER_ENB_CNF(msg_p).nb_mme); - - DevAssert(scenario->register_enb_pending > 0); - scenario->register_enb_pending--; - - /* Check if at least eNB is registered with one MME */ - if (S1AP_REGISTER_ENB_CNF(msg_p).nb_mme > 0) { - scenario->registered_enb++; - } - - /* Check if all register eNB requests have been processed */ - if (scenario->register_enb_pending == 0) { - timer_remove(scenario->enb_register_retry_timer_id); - if (scenario->registered_enb == scenario->enb_properties->number) { - /* If all eNB are registered, start scenario */ - LOG_D(ENB_APP, " All eNB are now associated with a MME\n"); - et_event_t event; - event.code = ET_EVENT_S1C_CONNECTED; - et_scenario_fsm_notify_event(event); - } else { - uint32_t not_associated = scenario->enb_properties->number - scenario->registered_enb; - - LOG_W(ENB_APP, " %d eNB %s not associated with a MME, retrying registration in %d seconds ...\n", - not_associated, not_associated > 1 ? "are" : "is", ET_ENB_REGISTER_RETRY_DELAY); - - /* Restart the eNB registration process in ENB_REGISTER_RETRY_DELAY seconds */ - if (timer_setup (ET_ENB_REGISTER_RETRY_DELAY, 0, TASK_ENB_APP, INSTANCE_DEFAULT, TIMER_ONE_SHOT, - NULL, &scenario->enb_register_retry_timer_id) < 0) { - LOG_E(ENB_APP, " Can not start eNB register retry timer, use \"sleep\" instead!\n"); - - sleep(ET_ENB_REGISTER_RETRY_DELAY); - /* Restart the registration process */ - scenario->registered_enb = 0; - et_eNB_app_register (scenario->enb_properties); - } - } - } - - break; - - case S1AP_DEREGISTERED_ENB_IND: - LOG_W(ENB_APP, "[eNB %d] Received %s: associated MME %d\n", instance, msg_name, - S1AP_DEREGISTERED_ENB_IND(msg_p).nb_mme); - - /* TODO handle recovering of registration */ - break; - - case TIMER_HAS_EXPIRED: - LOG_I(ENB_APP, " Received %s: timer_id %d\n", msg_name, TIMER_HAS_EXPIRED(msg_p).timer_id); - - if (TIMER_HAS_EXPIRED (msg_p).timer_id == scenario->enb_register_retry_timer_id) { - /* Restart the registration process */ - scenario->registered_enb = 0; - et_eNB_app_register (scenario->enb_properties); - } - break; - - default: - LOG_E(ENB_APP, "Received unexpected message %s\n", msg_name); - break; - } - - result = itti_free (ITTI_MSG_ORIGIN_ID(msg_p), msg_p); - AssertFatal (result == EXIT_SUCCESS, "Failed to free memory (%d)!\n", result); - } while (1); - return NULL; -} - -//------------------------------------------------------------------------------ -int et_play_scenario(et_scenario_t* const scenario, const struct shift_packet_s *shifts) -{ - et_event_t event; - struct shift_packet_s *shift = shifts; - et_packet_t *packet = NULL; - et_packet_t *next_packet = NULL; - struct timeval shift_all_packets = { .tv_sec = 0, .tv_usec = 0 }; - struct timeval relative_last_sent_packet = { .tv_sec = 0, .tv_usec = 0 }; - struct timeval relative_last_received_packet = { .tv_sec = 0, .tv_usec = 0 }; - struct timeval initial_time = { .tv_sec = 0, .tv_usec = 0 }; - char first_packet = 1; - char first_sent_packet = 1; - char first_received_packet = 1; - - // first apply timing shifts if requested - while (shift) { - packet = scenario->list_packet; - while (packet) { - //fprintf(stdout, "*shift: %p\n", shift); - //fprintf(stdout, "\tframe_number: %d\n", shift->frame_number); - //fprintf(stdout, "\tshift_seconds: %ld\n", shift->shift_seconds); - //fprintf(stdout, "\tshift_microseconds: %ld\n", shift->shift_microseconds); - //fprintf(stdout, "\tsingle: %d\n\n", shift->single); - //fprintf(stdout, "\tshift_all_packets_seconds: %ld\n", shift_all_packets.tv_sec); - //fprintf(stdout, "\tshift_all_packets_microseconds: %ld\n", shift_all_packets.tv_usec); - - AssertFatal((packet->time_relative_to_first_packet.tv_sec >= 0) && (packet->time_relative_to_first_packet.tv_usec >= 0), - "Bad timing result time_relative_to_first_packet=%d.%d packet num %u, original frame number %u", - packet->time_relative_to_first_packet.tv_sec, - packet->time_relative_to_first_packet.tv_usec, - packet->packet_number, - packet->original_frame_number); - AssertFatal((packet->time_relative_to_last_received_packet.tv_sec >= 0) && (packet->time_relative_to_last_received_packet.tv_usec >= 0), - "Bad timing result time_relative_to_last_received_packet=%d.%d packet num %u, original frame number %u", - packet->time_relative_to_last_received_packet.tv_sec, - packet->time_relative_to_last_received_packet.tv_usec, - packet->packet_number, - packet->original_frame_number); - AssertFatal((packet->time_relative_to_last_sent_packet.tv_sec >= 0) && (packet->time_relative_to_last_sent_packet.tv_usec >= 0), - "Bad timing result time_relative_to_last_sent_packet=%d.%d packet num %u, original frame number %u", - packet->time_relative_to_last_sent_packet.tv_sec, - packet->time_relative_to_last_sent_packet.tv_usec, - packet->packet_number, - packet->original_frame_number); -// fprintf(stdout, "\tpacket num %u, original frame number %u time_relative_to_first_packet=%d.%d\n", -// packet->packet_number, -// packet->original_frame_number, -// packet->time_relative_to_first_packet.tv_sec, -// packet->time_relative_to_first_packet.tv_usec); -// fprintf(stdout, "\tpacket num %u, original frame number %u time_relative_to_last_received_packet=%d.%d\n", -// packet->packet_number, -// packet->original_frame_number, -// packet->time_relative_to_last_received_packet.tv_sec, -// packet->time_relative_to_last_received_packet.tv_usec); -// fprintf(stdout, "\tpacket num %u, original frame number %u time_relative_to_last_sent_packet=%d.%d\n", -// packet->packet_number, -// packet->original_frame_number, -// packet->time_relative_to_last_sent_packet.tv_sec, -// packet->time_relative_to_last_sent_packet.tv_usec); - - if ((shift->single) && (shift->frame_number == packet->original_frame_number)) { - struct timeval t_offset = { .tv_sec = shift->shift_seconds, .tv_usec = shift->shift_microseconds }; - et_packet_shift_timing(packet, &t_offset); - next_packet = packet->next; - if (next_packet) { - t_offset.tv_sec = -t_offset.tv_sec; - t_offset.tv_usec = -t_offset.tv_usec; - - if (packet->action == ET_PACKET_ACTION_S1C_SEND) { - timeval_add(&next_packet->time_relative_to_last_sent_packet, &next_packet->time_relative_to_last_sent_packet, &t_offset); - } else if (packet->action == ET_PACKET_ACTION_S1C_RECEIVE) { - timeval_add(&next_packet->time_relative_to_last_received_packet, &next_packet->time_relative_to_last_received_packet, &t_offset); - } - } - } - if ((0 == shift->single) && (shift->frame_number == packet->original_frame_number)) { - shift_all_packets.tv_sec = shift->shift_seconds; - shift_all_packets.tv_usec = shift->shift_microseconds; - timeval_add(&packet->time_relative_to_first_packet, &packet->time_relative_to_first_packet, &shift_all_packets); - fprintf(stdout, "\tpacket num %u, now original frame number %u time_relative_to_first_packet=%d.%d\n", - packet->packet_number, - packet->original_frame_number, - packet->time_relative_to_first_packet.tv_sec, - packet->time_relative_to_first_packet.tv_usec); - AssertFatal((packet->time_relative_to_first_packet.tv_sec >= 0) && (packet->time_relative_to_first_packet.tv_usec >= 0), - "Bad timing result time_relative_to_first_packet=%d.%d packet num %u, original frame number %u", - packet->time_relative_to_first_packet.tv_sec, - packet->time_relative_to_first_packet.tv_usec, - packet->packet_number, - packet->original_frame_number); - } else if ((0 == shift->single) && (shift->frame_number < packet->original_frame_number)) { - timeval_add(&packet->time_relative_to_first_packet, &packet->time_relative_to_first_packet, &shift_all_packets); - fprintf(stdout, "\tpacket num %u, now original frame number %u time_relative_to_first_packet=%d.%d\n", - packet->packet_number, - packet->original_frame_number, - packet->time_relative_to_first_packet.tv_sec, - packet->time_relative_to_first_packet.tv_usec); - AssertFatal((packet->time_relative_to_first_packet.tv_sec >= 0) && (packet->time_relative_to_first_packet.tv_usec >= 0), - "Bad timing result time_relative_to_first_packet=%d.%d packet num %u, original frame number %u", - packet->time_relative_to_first_packet.tv_sec, - packet->time_relative_to_first_packet.tv_usec, - packet->packet_number, - packet->original_frame_number); - } - packet = packet->next; - } - shift = shift->next; - } - // now recompute time_relative_to_last_received_packet, time_relative_to_last_sent_packet - packet = scenario->list_packet; - while (packet) { - if (first_packet > 0) { - initial_time = packet->time_relative_to_first_packet; - packet->time_relative_to_first_packet.tv_sec = 0; - packet->time_relative_to_first_packet.tv_usec = 0; - first_packet = 0; - } else { - timersub(&packet->time_relative_to_first_packet, &initial_time, - &packet->time_relative_to_first_packet); - } - if (packet->action == ET_PACKET_ACTION_S1C_SEND) { - if (first_sent_packet > 0) { - relative_last_sent_packet = packet->time_relative_to_first_packet; - packet->time_relative_to_last_sent_packet.tv_sec = 0; - packet->time_relative_to_last_sent_packet.tv_usec = 0; - first_sent_packet = 0; - } else { - timersub(&packet->time_relative_to_first_packet, &relative_last_sent_packet, - &packet->time_relative_to_last_sent_packet); - relative_last_sent_packet = packet->time_relative_to_first_packet; - } - if (first_received_packet > 0) { - packet->time_relative_to_last_received_packet.tv_sec = 0; - packet->time_relative_to_last_received_packet.tv_usec = 0; - } else { - timersub(&packet->time_relative_to_first_packet, &relative_last_received_packet, - &packet->time_relative_to_last_received_packet); - } - } else if (packet->action == ET_PACKET_ACTION_S1C_RECEIVE) { - if (first_received_packet > 0) { - relative_last_received_packet.tv_sec = packet->time_relative_to_first_packet.tv_sec; - relative_last_received_packet.tv_usec = packet->time_relative_to_first_packet.tv_usec; - packet->time_relative_to_last_received_packet.tv_sec = 0; - packet->time_relative_to_last_received_packet.tv_usec = 0; - first_received_packet = 0; - } else { - timersub(&packet->time_relative_to_first_packet, &relative_last_received_packet, - &packet->time_relative_to_last_received_packet); - relative_last_received_packet = packet->time_relative_to_first_packet; - } - if (first_sent_packet > 0) { - packet->time_relative_to_last_sent_packet.tv_sec = 0; - packet->time_relative_to_last_sent_packet.tv_usec = 0; - } else { - timersub(&packet->time_relative_to_first_packet, &relative_last_sent_packet, - &packet->time_relative_to_last_sent_packet); - } - } - packet = packet->next; - } - //et_display_scenario(scenario); - - // create SCTP ITTI task: same as eNB code - if (itti_create_task (TASK_SCTP, sctp_eNB_task, NULL) < 0) { - LOG_E(SCTP, "Create task for SCTP failed\n"); - return -1; - } - - // create S1AP ITTI task: not as same as eNB code - if (itti_create_task (TASK_S1AP, et_s1ap_eNB_task, NULL) < 0) { - LOG_E(S1AP, "Create task for S1AP failed\n"); - return -1; - } - - // create ENB_APP ITTI task: not as same as eNB code - if (itti_create_task (TASK_ENB_APP, et_eNB_app_task, scenario) < 0) { - LOG_E(ENB_APP, "Create task for ENB_APP failed\n"); - return -1; - } - - event.code = ET_EVENT_INIT; - event.u.init.scenario = scenario; - et_scenario_fsm_notify_event(event); - - - return 0; -} - -//------------------------------------------------------------------------------ -static void et_usage ( - int argc, - char *argv[]) -//------------------------------------------------------------------------------ -{ - fprintf (stdout, "Please report any bug to: %s\n",PACKAGE_BUGREPORT); - fprintf (stdout, "Usage: %s [options]\n\n", argv[0]); - fprintf (stdout, "\n"); - fprintf (stdout, "\t-d | --test-dir <dir> Directory where a set of files related to a particular test are located\n"); - fprintf (stdout, "\t-c | --enb-conf-file <file> Provide an eNB config file, valid for the testbed\n"); - fprintf (stdout, "\t-D | --delay-on-exit <delay-in-sec> Wait delay-in-sec before exiting\n"); - fprintf (stdout, "\t-f | --shift-packet <frame:[+|-]seconds[.usec]> Shift the timing of a packet'\n"); - fprintf (stdout, "\t-F | --shift-packets <frame:[+|-]seconds[.usec]> Shift the timing of packets starting at frame 'frame' included\n"); - fprintf (stdout, "\t-m | --max-speed Play scenario as fast as possible without respecting frame timings\n"); - fprintf (stdout, "\t-s | --scenario <file> File name (with no path) of a test scenario that has to be replayed ()\n"); - fprintf (stdout, "\n"); - fprintf (stdout, "Other options:\n"); - fprintf (stdout, "\t-h | --help Print this help and return\n"); - fprintf (stdout, "\t-v | --version Print informations about the version of this executable\n"); - fprintf (stdout, "\n"); -} - -//------------------------------------------------------------------------------ -int -et_config_parse_opt_line ( - int argc, - char *argv[], - char **et_dir_name, - char **scenario_file_name, - char **enb_config_file_name, - shift_packet_t **shifts, - int *delay_on_exit) -//------------------------------------------------------------------------------ -{ - int option = 0; - int rv = 0; - shift_packet_t *shift = NULL; - - enum long_option_e { - LONG_OPTION_START = 0x100, /* Start after regular single char options */ - LONG_OPTION_ENB_CONF_FILE, - LONG_OPTION_SCENARIO_FILE, - LONG_OPTION_MAX_SPEED, - LONG_OPTION_TEST_DIR, - LONG_OPTION_DELAY_EXIT, - LONG_OPTION_SHIFT_PACKET, - LONG_OPTION_SHIFT_PACKETS, - LONG_OPTION_HELP, - LONG_OPTION_VERSION - }; - - static struct option long_options[] = { - {"enb-conf-file", required_argument, 0, LONG_OPTION_ENB_CONF_FILE}, - {"scenario ", required_argument, 0, LONG_OPTION_SCENARIO_FILE}, - {"max-speed ", no_argument, 0, LONG_OPTION_MAX_SPEED}, - {"test-dir", required_argument, 0, LONG_OPTION_TEST_DIR}, - {"delay-on-exit", required_argument, 0, LONG_OPTION_DELAY_EXIT}, - {"shift-packet", required_argument, 0, LONG_OPTION_SHIFT_PACKET}, - {"shift-packets", required_argument, 0, LONG_OPTION_SHIFT_PACKETS}, - {"help", no_argument, 0, LONG_OPTION_HELP}, - {"version", no_argument, 0, LONG_OPTION_VERSION}, - {NULL, 0, NULL, 0} - }; - - /* - * Parsing command line - */ - while ((option = getopt_long (argc, argv, "vhmc:s:d:f:F", long_options, NULL)) != -1) { - switch (option) { - case LONG_OPTION_ENB_CONF_FILE: - case 'c': - if (optarg) { - *enb_config_file_name = strdup(optarg); - printf("eNB config file name is %s\n", *enb_config_file_name); - rv |= PLAY_SCENARIO; - } - break; - - case LONG_OPTION_SCENARIO_FILE: - case 's': - if (optarg) { - *scenario_file_name = strdup(optarg); - printf("Scenario file name is %s\n", *scenario_file_name); - rv |= PLAY_SCENARIO; - } - break; - - case LONG_OPTION_TEST_DIR: - case 'd': - if (optarg) { - *et_dir_name = strdup(optarg); - if (is_file_exists(*et_dir_name, "test dirname") != GS_IS_DIR) { - fprintf(stderr, "Please provide a valid test dirname, %s is not a valid directory name\n", *et_dir_name); - exit(1); - } - printf("Test dir name is %s\n", *et_dir_name); - } - break; - - case LONG_OPTION_DELAY_EXIT: - case 'D': - if (optarg) { - delay_on_exit = atoi(optarg); - if (0 > delay_on_exit) { - fprintf(stderr, "Please provide a valid -D/--delay-on-exit argument, %s is not a valid value\n", delay_on_exit); - exit(1); - } - printf("Delay on exit is %d\n", (int) delay_on_exit); - } - break; - - - case LONG_OPTION_SHIFT_PACKET: - case 'f': - if (optarg) { - if (NULL == *shifts) { - shift = calloc(1, sizeof (*shift)); - *shifts = shift; - } else { - shift->next = calloc(1, sizeof (*shift)); - shift = shift->next; - } - shift->single = 1; - printf("Arg Shift packet %s\n", optarg); - et_get_shift_arg(optarg, shift); - } - break; - - case LONG_OPTION_SHIFT_PACKETS: - case 'F': - if (optarg) { - if (NULL == *shifts) { - shift = calloc(1, sizeof (*shift)); - *shifts = shift; - } else { - shift->next = calloc(1, sizeof (*shift)); - shift = shift->next; - } - et_get_shift_arg(optarg, shift); - printf("Arg Shift packets %s\n", optarg); - } - break; - - case LONG_OPTION_MAX_SPEED: - case 'm': - g_max_speed = 1; - break; - - case LONG_OPTION_VERSION: - case 'v': - printf("Version %s\n", PACKAGE_VERSION); - exit (0); - break; - - case LONG_OPTION_HELP: - case 'h': - default: - et_usage (argc, argv); - exit (0); - } - } - if (NULL == *et_dir_name) { - fprintf(stderr, "Please provide a valid test dirname\n"); - exit(1); - } - if (chdir(*et_dir_name) != 0) { - fprintf(stderr, "ERROR: chdir %s returned %s\n", *et_dir_name, strerror(errno)); - exit(1); - } - if (rv & PLAY_SCENARIO) { - if (NULL == *enb_config_file_name) { - fprintf(stderr, "ERROR: please provide the original eNB config file name that should be in %s\n", *et_dir_name); - } - if (is_file_exists(*enb_config_file_name, "eNB config file") != GS_IS_FILE) { - fprintf(stderr, "ERROR: original eNB config file name %s is not found in dir %s\n", *enb_config_file_name, *et_dir_name); - } - et_enb_config_init(*enb_config_file_name); - - if (NULL == *scenario_file_name) { - fprintf(stderr, "ERROR: please provide the scenario file name that should be in %s\n", *et_dir_name); - } - if (is_file_exists(*scenario_file_name, "Scenario file") != GS_IS_FILE) { - fprintf(stderr, "ERROR: Scenario file name %s is not found in dir %s\n", *scenario_file_name, *et_dir_name); - } - } - return rv; -} - -//------------------------------------------------------------------------------ -int main( int argc, char **argv ) -//------------------------------------------------------------------------------ -{ - int actions = 0; - char *et_dir_name = NULL; - char *scenario_file_name = NULL; - char *enb_config_file_name = NULL; - struct shift_packet_s *shifts = NULL; - int ret = 0; - int delay_on_exit = 0; - et_scenario_t *scenario = NULL; - char play_scenario_filename[NAME_MAX]; - - memset(play_scenario_filename, 0, sizeof(play_scenario_filename)); - - // logging - logInit(); - set_glog(LOG_TRACE, LOG_MED); - - itti_init(TASK_MAX, tasks_info); - - set_comp_log(ENB_APP, LOG_TRACE, LOG_MED, 1); - set_comp_log(S1AP, LOG_TRACE, LOG_MED, 1); - set_comp_log(SCTP, LOG_TRACE, LOG_FULL, 1); - asn_debug = 0; - asn1_xer_print = 1; - - //parameters - actions = et_config_parse_opt_line (argc, argv, &et_dir_name, &scenario_file_name, &enb_config_file_name, &shifts, &delay_on_exit); //Command-line options - if (actions & PLAY_SCENARIO) { - if (et_generate_xml_scenario(et_dir_name, scenario_file_name,enb_config_file_name, play_scenario_filename) == 0) { - if (NULL != (scenario = et_generate_scenario(play_scenario_filename))) { - ret = et_play_scenario(scenario, shifts); - } else { - fprintf(stderr, "ERROR: Could not generate scenario from tsml file\n"); - ret = -1; - } - } else { - fprintf(stderr, "ERROR: Could not generate tsml scenario from xml file\n"); - ret = -1; - } - et_free_pointer(et_dir_name); - et_free_pointer(scenario_file_name); - et_free_pointer(enb_config_file_name); - } - itti_wait_tasks_end(); - if (0 < delay_on_exit) { - sleep(delay_on_exit); - } - return ret; -} - - diff --git a/openair3/TEST/EPC_TEST/play_scenario.h b/openair3/TEST/EPC_TEST/play_scenario.h deleted file mode 100644 index 6a2264f8bada61664d660566db82e0022f634939..0000000000000000000000000000000000000000 --- a/openair3/TEST/EPC_TEST/play_scenario.h +++ /dev/null @@ -1,499 +0,0 @@ -/* - * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The OpenAirInterface Software Alliance licenses this file to You under - * the OAI Public License, Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.openairinterface.org/?page_id=698 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - *------------------------------------------------------------------------------- - * For more information about the OpenAirInterface (OAI) Software Alliance: - * contact@openairinterface.org - */ - -/* - play_scenario.h - ------------------- - AUTHOR : Lionel GAUTHIER - COMPANY : EURECOM - EMAIL : Lionel.Gauthier@eurecom.fr -*/ - -#ifndef PLAY_SCENARIO_H_ -#define PLAY_SCENARIO_H_ -# include <time.h> -# include <stdint.h> -# include <libxml/tree.h> -# include <libxml/xpath.h> -# include <netinet/in.h> - -#include "S1AP-PDU.h" -#include "s1ap_ies_defs.h" -#include "play_scenario_s1ap_eNB_defs.h" -#include "hashtable.h" -#include "asn_compare.h" - -#define ET_XPATH_EXPRESSION_MAX_LENGTH 400 - - -// powers of 2 -#define ET_BIT_MASK_MATCH_SCTP_STREAM 1 -#define ET_BIT_MASK_MATCH_SCTP_SSN 2 -//#define ET_BIT_MASK_MATCH_S1AP_ 2 - -#define MAX_ENB 16 - -#define ENB_CONFIG_STRING_ACTIVE_ENBS "Active_eNBs" - -#define ENB_CONFIG_STRING_ENB_LIST "eNBs" -#define ENB_CONFIG_STRING_ENB_ID "eNB_ID" -#define ENB_CONFIG_STRING_CELL_TYPE "cell_type" -#define ENB_CONFIG_STRING_ENB_NAME "eNB_name" - -#define ENB_CONFIG_STRING_TRACKING_AREA_CODE "tracking_area_code" -#define ENB_CONFIG_STRING_MOBILE_COUNTRY_CODE "mobile_country_code" -#define ENB_CONFIG_STRING_MOBILE_NETWORK_CODE "mobile_network_code" - - -#define ENB_CONFIG_STRING_MME_IP_ADDRESS "mme_ip_address" -#define ENB_CONFIG_STRING_MME_IPV4_ADDRESS "ipv4" -#define ENB_CONFIG_STRING_MME_IPV6_ADDRESS "ipv6" -#define ENB_CONFIG_STRING_MME_IP_ADDRESS_ACTIVE "active" -#define ENB_CONFIG_STRING_MME_IP_ADDRESS_PREFERENCE "preference" - -#define ENB_CONFIG_STRING_SCTP_CONFIG "SCTP" -#define ENB_CONFIG_STRING_SCTP_INSTREAMS "SCTP_INSTREAMS" -#define ENB_CONFIG_STRING_SCTP_OUTSTREAMS "SCTP_OUTSTREAMS" - -#define ENB_CONFIG_STRING_NETWORK_INTERFACES_CONFIG "NETWORK_INTERFACES" -#define ENB_CONFIG_STRING_ENB_INTERFACE_NAME_FOR_S1_MME "ENB_INTERFACE_NAME_FOR_S1_MME" -#define ENB_CONFIG_STRING_ENB_IPV4_ADDRESS_FOR_S1_MME "ENB_IPV4_ADDRESS_FOR_S1_MME" -#define ENB_CONFIG_STRING_ENB_INTERFACE_NAME_FOR_S1U "ENB_INTERFACE_NAME_FOR_S1U" -#define ENB_CONFIG_STRING_ENB_IPV4_ADDR_FOR_S1U "ENB_IPV4_ADDRESS_FOR_S1U" -#define ENB_CONFIG_STRING_ENB_PORT_FOR_S1U "ENB_PORT_FOR_S1U" - - -typedef struct shift_packet_s { - unsigned int frame_number; // original frame number - int shift_seconds; - int shift_microseconds; - int single; // shift timing only for this packet (not also following packets) - struct shift_packet_s *next; -} shift_packet_t; - - -typedef struct mme_ip_address_s { - unsigned ipv4:1; - unsigned ipv6:1; - unsigned active:1; - char *ipv4_address; - char *ipv6_address; -} mme_ip_address_t; - -#define IPV4_STR_ADDR_TO_INT_NWBO(AdDr_StR,NwBo,MeSsAgE ) do {\ - struct in_addr inp;\ - if ( inet_aton(AdDr_StR, &inp ) < 0 ) {\ - AssertFatal (0, MeSsAgE);\ - } else {\ - NwBo = inp.s_addr;\ - }\ - } while (0); - - -typedef struct Enb_properties_s { - /* Unique eNB_id to identify the eNB within EPC. - * For macro eNB ids this field should be 20 bits long. - * For home eNB ids this field should be 28 bits long. - */ - uint32_t eNB_id; - - /* The type of the cell */ - enum cell_type_e cell_type; - - /* Optional name for the cell - * NOTE: the name can be NULL (i.e no name) and will be cropped to 150 - * characters. - */ - char *eNB_name; - - /* Tracking area code */ - uint16_t tac; - - /* Mobile Country Code - * Mobile Network Code - */ - uint16_t mcc; - uint16_t mnc; - uint8_t mnc_digit_length; - - - - /* Physical parameters */ - - int16_t Nid_cell[1+MAX_NUM_CCs];// for testing, change later - /* Nb of MME to connect to */ - uint8_t nb_mme; - /* List of MME to connect to */ - mme_ip_address_t mme_ip_address[S1AP_MAX_NB_MME_IP_ADDRESS]; - - int sctp_in_streams; - int sctp_out_streams; - - char *enb_interface_name_for_S1U; - in_addr_t enb_ipv4_address_for_S1U; - tcp_udp_port_t enb_port_for_S1U; - - char *enb_interface_name_for_S1_MME; - in_addr_t enb_ipv4_address_for_S1_MME; - -} Enb_properties_t; - -typedef struct Enb_properties_array_s { - int number; - Enb_properties_t *properties[MAX_ENB]; -} Enb_properties_array_t; - -# define ET_ENB_REGISTER_RETRY_DELAY 3 -# define ET_FSM_STATE_WAITING_RX_EVENT_DELAY_SEC 15 - -typedef enum { - ET_PACKET_STATUS_START = 0, - ET_PACKET_STATUS_NONE = ET_PACKET_STATUS_START, - ET_PACKET_STATUS_NOT_TAKEN_IN_ACCOUNT, - ET_PACKET_STATUS_SCHEDULED_FOR_SENDING, - ET_PACKET_STATUS_SENT, - ET_PACKET_STATUS_SCHEDULED_FOR_RECEIVING, - ET_PACKET_STATUS_RECEIVED, - ET_PACKET_STATUS_END -} et_packet_status_t; - -typedef enum { - ET_FSM_STATE_START = 0, - ET_FSM_STATE_NULL = ET_FSM_STATE_START, - ET_FSM_STATE_CONNECTING_S1C, - ET_FSM_STATE_WAITING_RX_EVENT, - ET_FSM_STATE_WAITING_TX_EVENT, - ET_FSM_STATE_RUNNING, - ET_FSM_STATE_END -} et_fsm_state_t; - -enum COMPARE_ERR_CODE_e; - -typedef enum { - ET_ERROR_MATCH_START = COMPARE_ERR_CODE_END, - ET_ERROR_MATCH_PACKET_SCTP_CHUNK_TYPE = ET_ERROR_MATCH_START, - ET_ERROR_MATCH_PACKET_SCTP_PPID, - ET_ERROR_MATCH_PACKET_SCTP_ASSOC_ID, - ET_ERROR_MATCH_PACKET_SCTP_STREAM_ID, - ET_ERROR_MATCH_PACKET_SCTP_SSN, - ET_ERROR_MATCH_PACKET_S1AP_PRESENT, - ET_ERROR_MATCH_PACKET_S1AP_PROCEDURE_CODE, - ET_ERROR_MATCH_PACKET_S1AP_CRITICALITY, - ET_ERROR_MATCH_END -} et_error_match_code_t; - - - - -typedef enum { - ET_PACKET_ACTION_S1C_START = 0, - ET_PACKET_ACTION_S1C_NULL = ET_PACKET_ACTION_S1C_START, - ET_PACKET_ACTION_S1C_SEND, - ET_PACKET_ACTION_S1C_RECEIVE, - ET_PACKET_ACTION_S1C_END -} et_packet_action_t; - -// from kernel source file 3.19/include/linux/sctp.h -typedef enum { - SCTP_CID_DATA = 0, - SCTP_CID_INIT = 1, - SCTP_CID_INIT_ACK = 2, - SCTP_CID_SACK = 3, - SCTP_CID_HEARTBEAT = 4, - SCTP_CID_HEARTBEAT_ACK = 5, - SCTP_CID_ABORT = 6, - SCTP_CID_SHUTDOWN = 7, - SCTP_CID_SHUTDOWN_ACK = 8, - SCTP_CID_ERROR = 9, - SCTP_CID_COOKIE_ECHO = 10, - SCTP_CID_COOKIE_ACK = 11, - SCTP_CID_ECN_ECNE = 12, - SCTP_CID_ECN_CWR = 13, - SCTP_CID_SHUTDOWN_COMPLETE = 14, - - /* AUTH Extension Section 4.1 */ - SCTP_CID_AUTH = 0x0F, - - /* PR-SCTP Sec 3.2 */ - SCTP_CID_FWD_TSN = 0xC0, - - /* Use hex, as defined in ADDIP sec. 3.1 */ - SCTP_CID_ASCONF = 0xC1, - SCTP_CID_ASCONF_ACK = 0x80, -} sctp_cid_t; /* enum */ - -typedef enum { - TEST_S1AP_PDU_TYPE_START = 0, - TEST_S1AP_PDU_TYPE_UNKNOWN = TEST_S1AP_PDU_TYPE_START, - TEST_S1AP_PDU_TYPE_INITIATING, - TEST_S1AP_PDU_TYPE_SUCCESSFUL_OUTCOME, - TEST_S1AP_PDU_TYPE_UNSUCCESSFUL_OUTCOME, - TEST_S1AP_PDU_TYPE_END -} et_s1ap_pdu_type_t; - - -typedef struct et_s1ap_s { - //et_s1ap_pdu_type_t pdu_type; - S1AP_S1AP_PDU_t pdu; // decoded ASN1 C type: choice of initiatingMessage, successfulOutcome, unsuccessfulOutcome - uint16_t xml_stream_pos_offset; - uint16_t binary_stream_pos; - uint16_t binary_stream_allocated_size; - uint8_t *binary_stream; - xmlDocPtr doc; // XML representation of the S1AP PDU -} et_s1ap_t; - - -// from kernel source file 3.19/include/linux/sctp.h, Big Endians -typedef struct sctp_datahdr_s { - uint32_t tsn; - uint16_t stream; - uint16_t ssn; - uint32_t ppid; - uint32_t assoc_id; // filled when running scenario - et_s1ap_t payload; -} sctp_datahdr_t; - -// from kernel source file 3.19/include/linux/sctp.h, Big Endians -typedef struct sctp_inithdr { - uint32_t init_tag; - uint32_t a_rwnd; - uint16_t num_outbound_streams; - uint16_t num_inbound_streams; - uint32_t initial_tsn; - uint8_t params[0]; -} sctp_inithdr_t; - -typedef sctp_inithdr_t sctp_initackhdr_t; - -typedef struct et_sctp_hdr_s { - unsigned int src_port; - unsigned int dst_port; - sctp_cid_t chunk_type; - union { - sctp_datahdr_t data_hdr; - sctp_inithdr_t init_hdr; - sctp_initackhdr_t init_ack_hdr; - } u; -} et_sctp_hdr_t; - -typedef struct et_ip_s { - unsigned int address_family; // AF_INET, AF_INET6 - union { - struct in6_addr ipv6; - in_addr_t ipv4; - } address; - char str[INET6_ADDRSTRLEN+1]; -} et_ip_t; - -typedef struct et_ip_hdr_s { - et_ip_t src; - et_ip_t dst; -} et_ip_hdr_t; - -typedef struct et_packet_s { - et_packet_action_t action; - struct timeval time_relative_to_first_packet; - struct timeval time_relative_to_last_sent_packet; - struct timeval time_relative_to_last_received_packet; - unsigned int original_frame_number; - unsigned int packet_number; - instance_t enb_instance; - et_ip_hdr_t ip_hdr; - et_sctp_hdr_t sctp_hdr; - struct et_packet_s *next; - - //scenario running vars - et_packet_status_t status; - long timer_id; // ITTI timer id for waiting rx packets - struct timeval timestamp_packet; // timestamp when rx or tx packet -} et_packet_t; - - -typedef struct sctp_epoll_s { - /* Array of events monitored by the task. - * By default only one fd is monitored (the one used to received messages - * from other tasks). - * More events can be suscribed later by the task itself. - */ - struct epoll_event *events; - - int epoll_nb_events; - -} thread_desc_t; - -typedef struct et_scenario_s { - xmlChar *name; - et_packet_t *list_packet; - //-------------------------- - // playing scenario - //-------------------------- - Enb_properties_array_t *enb_properties; - uint32_t register_enb_pending; - uint32_t registered_enb; - long enb_register_retry_timer_id; - - - hash_table_t *hash_mme2association_id; - hash_table_t *hash_old_ue_mme_id2ue_mme_id; - struct timeval time_last_tx_packet; // Time last sent packet - struct timeval time_last_rx_packet; // Time last packet received with all previous scenario RX packet received. - et_packet_t *last_rx_packet; // Last packet received with all previous scenario RX packet received. - et_packet_t *last_tx_packet; // Last sent packet - et_packet_t *next_packet; // Next packet to be handled in the scenario (RX or TX packet) - - int timer_count; -} et_scenario_t; - - -typedef enum { - ET_EVENT_START = 0, - ET_EVENT_INIT = ET_EVENT_START, - ET_EVENT_S1C_CONNECTED, - ET_EVENT_RX_SCTP_EVENT, - ET_EVENT_RX_S1AP, - ET_EVENT_RX_PACKET_TIME_OUT, - ET_EVENT_TX_TIMED_PACKET, - ET_EVENT_TICK, - ET_EVENT_END -} et_event_code_t; - -typedef struct et_event_init_s { - et_scenario_t *scenario; -} et_event_init_t; - -typedef struct et_event_s1ap_data_ind_s { - sctp_datahdr_t sctp_datahdr; -} et_event_s1ap_data_ind_t; - -typedef struct et_event_s1ap_data_req_s { - -} et_event_s1ap_data_req_t; - -typedef struct et_event_s { - et_event_code_t code; - union { - et_event_init_t init; - et_event_s1ap_data_ind_t s1ap_data_ind; - et_packet_t *tx_timed_packet; - et_packet_t *rx_packet_time_out; - } u; -} et_event_t; - -inline void et_free_pointer(void *p) {if (NULL != p) {free(p);}}; - -//------------------------- -void et_free_packet(et_packet_t *packet); -void et_free_scenario(et_scenario_t *scenario); -//------------------------- -void et_display_packet_s1ap_data(const et_s1ap_t *const s1ap); -void et_display_packet_sctp_init(const sctp_inithdr_t *const sctp); -void et_display_packet_sctp_initack(const sctp_initackhdr_t *const sctp); -void et_display_packet_sctp_data(const sctp_datahdr_t *const sctp); -void et_display_packet_sctp(const et_sctp_hdr_t *const sctp); -void et_display_packet_ip(const et_ip_hdr_t *const ip); -void et_display_packet(const et_packet_t *const packet); -void et_display_scenario(const et_scenario_t *const scenario); -//------------------------- -int et_s1ap_decode_initiating_message(s1ap_message *message, S1AP_InitiatingMessage_t *initiating_p); -int et_s1ap_decode_successful_outcome(s1ap_message *message, S1AP_SuccessfulOutcome_t *successfullOutcome_p); -int et_s1ap_decode_unsuccessful_outcome(s1ap_message *message, S1AP_UnsuccessfulOutcome_t *unSuccessfullOutcome_p); -int et_s1ap_decode_pdu(S1AP_PDU_t *const pdu, s1ap_message *const message, const uint8_t *const buffer, const uint32_t length); -void et_decode_s1ap(et_s1ap_t *const s1ap); -//------------------------- -int et_s1ap_eNB_compare_assoc_id( struct s1ap_eNB_mme_data_s *p1, struct s1ap_eNB_mme_data_s *p2); -uint32_t et_s1ap_generate_eNB_id(void); -uint16_t et_s1ap_eNB_fetch_add_global_cnx_id(void); -void et_s1ap_eNB_prepare_internal_data(void); -void et_s1ap_eNB_insert_new_instance(s1ap_eNB_instance_t *new_instance_p); -struct s1ap_eNB_mme_data_s *et_s1ap_eNB_get_MME(s1ap_eNB_instance_t *instance_p,int32_t assoc_id, uint16_t cnx_id); -s1ap_eNB_instance_t *et_s1ap_eNB_get_instance(instance_t instance); -void et_s1ap_eNB_itti_send_sctp_data_req(instance_t instance, int32_t assoc_id, uint8_t *buffer,uint32_t buffer_length, uint16_t stream); -int et_handle_s1ap_mismatch_mme_ue_s1ap_id(et_packet_t *const spacket, et_packet_t *const rx_packet); -asn_comp_rval_t *et_s1ap_is_matching(et_s1ap_t *const s1ap1, et_s1ap_t *const s1ap2, const uint32_t constraints); -et_packet_t *et_build_packet_from_s1ap_data_ind(et_event_s1ap_data_ind_t *const s1ap_data_ind); -int et_scenario_set_packet_received(et_packet_t *const packet); -int et_s1ap_process_rx_packet(et_event_s1ap_data_ind_t *const sctp_data_ind); -void et_s1ap_eNB_handle_sctp_data_ind(sctp_data_ind_t *const sctp_data_ind); -void et_s1ap_eNB_register_mme(s1ap_eNB_instance_t *instance_p, - net_ip_address_t *mme_ip_address, - net_ip_address_t *local_ip_addr, - uint16_t in_streams, - uint16_t out_streams); -void et_s1ap_handle_s1_setup_message(s1ap_eNB_mme_data_t *mme_desc_p, int sctp_shutdown); -void et_s1ap_eNB_handle_register_eNB(instance_t instance, s1ap_register_enb_req_t *s1ap_register_eNB); -void et_s1ap_eNB_handle_sctp_association_resp(instance_t instance, sctp_new_association_resp_t *sctp_new_association_resp); -void *et_s1ap_eNB_task(void *arg); -//------------------------- -int et_generate_xml_scenario( - const char const *xml_in_dir_name, - const char const *xml_in_scenario_filename, - const char const *enb_config_filename, - char const *tsml_out_scenario_filename); -//------------------------- -void timeval_add (struct timeval *const result, const struct timeval *const a, const struct timeval *const b); -int timeval_subtract (struct timeval *const result, struct timeval *const a, struct timeval *const b); -void et_scenario_wait_rx_packet(et_packet_t *const packet); -void et_scenario_schedule_tx_packet(et_packet_t *packet); -et_fsm_state_t et_scenario_fsm_notify_event_state_running(et_event_t event); -et_fsm_state_t et_scenario_fsm_notify_event_state_waiting_tx(et_event_t event); -et_fsm_state_t et_scenario_fsm_notify_event_state_waiting_rx(et_event_t event); -et_fsm_state_t et_scenario_fsm_notify_event_state_connecting_s1c(et_event_t event); -et_fsm_state_t et_scenario_fsm_notify_event_state_null(et_event_t event); -et_fsm_state_t et_scenario_fsm_notify_event(et_event_t event); -//------------------------- -void et_parse_s1ap(xmlDocPtr doc, const xmlNode const *s1ap_node, et_s1ap_t *const s1ap); -void et_parse_sctp_data_chunk(xmlDocPtr doc, const xmlNode const *sctp_node, sctp_datahdr_t *const sctp_hdr); -void et_parse_sctp_init_chunk(xmlDocPtr doc, const xmlNode const *sctp_node, sctp_inithdr_t *const sctp_hdr); -void et_parse_sctp_init_ack_chunk(xmlDocPtr doc, const xmlNode const *sctp_node, sctp_initackhdr_t *const sctp_hdr); -void et_parse_sctp(xmlDocPtr doc, const xmlNode const *sctp_node, et_sctp_hdr_t *const sctp_hdr); -et_packet_t *et_parse_xml_packet(xmlDocPtr doc, xmlNodePtr node); -et_scenario_t *et_generate_scenario(const char *const et_scenario_filename); -//------------------------- -asn_comp_rval_t *et_s1ap_ies_is_matching(const S1AP_PDU_PR present, s1ap_message *const m1, s1ap_message *const m2, const uint32_t constraints); -void update_xpath_node_mme_ue_s1ap_id(et_s1ap_t *const s1ap, xmlNode *node, const S1AP_MME_UE_S1AP_ID_t new_id); -void update_xpath_nodes_mme_ue_s1ap_id(et_s1ap_t *const s1ap_payload, xmlNodeSetPtr nodes, const S1AP_MME_UE_S1AP_ID_t new_id); -int et_s1ap_update_mme_ue_s1ap_id(et_packet_t *const packet, const S1AP_MME_UE_S1AP_ID_t old_id, const S1AP_MME_UE_S1AP_ID_t new_id); -//------------------------- -asn_comp_rval_t *et_sctp_data_is_matching(sctp_datahdr_t *const sctp1, sctp_datahdr_t *const sctp2, const uint32_t constraints); -asn_comp_rval_t *et_sctp_is_matching(et_sctp_hdr_t *const sctp1, et_sctp_hdr_t *const sctp2, const uint32_t constraints); -//------------------------------------------------------------------------------ -void et_print_hex_octets(const unsigned char *const byte_stream, const unsigned long int num); -int et_is_file_exists ( const char const *file_nameP, const char const *file_roleP); -int et_strip_extension( char *in_filename); -void et_get_shift_arg( char *line_argument, shift_packet_t *const shift); -int et_split_path ( char *pathP, char *** resP); -void et_display_node ( xmlNodePtr node, unsigned int indent); -void et_display_tree ( xmlNodePtr node, unsigned int indent); -char *et_ip2ip_str(const et_ip_t *const ip); -int et_compare_et_ip_to_net_ip_address(const et_ip_t *const ip, const net_ip_address_t *const net_ip); -int et_hex2data(unsigned char *const data, const unsigned char *const hexstring, const unsigned int len); -sctp_cid_t et_chunk_type_str2cid(const xmlChar *const chunk_type_str); -const char *const et_chunk_type_cid2str(const sctp_cid_t chunk_type); -const char *const et_error_match2str(const int err); -et_packet_action_t et_action_str2et_action_t(const xmlChar *const action); -void et_ip_str2et_ip(const xmlChar *const ip_str, et_ip_t *const ip); -void et_enb_config_init(const char const *lib_config_file_name_pP); -const Enb_properties_array_t *et_enb_config_get(void); -void et_eNB_app_register(const Enb_properties_array_t *enb_properties); -void *et_eNB_app_task(void *args_p); -int et_play_scenario(et_scenario_t *const scenario, const struct shift_packet_s *shifts); - -#endif /* PLAY_SCENARIO_H_ */ diff --git a/openair3/TEST/EPC_TEST/play_scenario_decode.c b/openair3/TEST/EPC_TEST/play_scenario_decode.c deleted file mode 100644 index f6b983bf73f6cd4971605be39b5b76c9491d9672..0000000000000000000000000000000000000000 --- a/openair3/TEST/EPC_TEST/play_scenario_decode.c +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The OpenAirInterface Software Alliance licenses this file to You under - * the OAI Public License, Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.openairinterface.org/?page_id=698 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - *------------------------------------------------------------------------------- - * For more information about the OpenAirInterface (OAI) Software Alliance: - * contact@openairinterface.org - */ - -/* - play_scenario_decode.c - ------------------- - AUTHOR : Lionel GAUTHIER - COMPANY : EURECOM - EMAIL : Lionel.Gauthier@eurecom.fr - */ - -#include "intertask_interface.h" -#include "platform_types.h" -#include "s1ap_eNB_decoder.h" -#include "assertions.h" -#include "play_scenario.h" - -//------------------------------------------------------------------------------ -int et_s1ap_decode_pdu(S1AP_PDU_t *const pdu, const uint8_t *const buffer, const uint32_t length) -{ - asn_dec_rval_t dec_ret; - - DevAssert(buffer != NULL); - - memset((void *)pdu, 0, sizeof(S1AP_S1AP_PDU_t)); - dec_ret = aper_decode(NULL, - &asn_DEF_S1AP_S1AP_PDU, - (void **)&pdu, - buffer, - length, - 0, - 0); - - if (dec_ret.code != RC_OK) { - S1AP_ERROR("Failed to decode pdu\n"); - return -1; - } - - return dec_ret.code; -} - -//------------------------------------------------------------------------------ -void et_decode_s1ap(et_s1ap_t *const s1ap) -{ - if (NULL != s1ap) { - if (et_s1ap_decode_pdu(&s1ap->pdu, s1ap->binary_stream, s1ap->binary_stream_allocated_size) < 0) { - AssertFatal (0, "ERROR %s() Cannot decode S1AP message!\n", __FUNCTION__); - } - } -} diff --git a/openair3/TEST/EPC_TEST/play_scenario_display.c b/openair3/TEST/EPC_TEST/play_scenario_display.c deleted file mode 100644 index b29c0758c4972d526c5c01bd9085d9983969d4d2..0000000000000000000000000000000000000000 --- a/openair3/TEST/EPC_TEST/play_scenario_display.c +++ /dev/null @@ -1,348 +0,0 @@ -/* - * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The OpenAirInterface Software Alliance licenses this file to You under - * the OAI Public License, Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.openairinterface.org/?page_id=698 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - *------------------------------------------------------------------------------- - * For more information about the OpenAirInterface (OAI) Software Alliance: - * contact@openairinterface.org - */ - -/* - play_scenario_display.c - ------------------- - AUTHOR : Lionel GAUTHIER - COMPANY : EURECOM - EMAIL : Lionel.Gauthier@eurecom.fr - */ -#include <string.h> -#include <stdio.h> - -#include "intertask_interface.h" -#include "platform_types.h" -#include "assertions.h" -#include "s1ap_eNB_decoder.h" -#include "play_scenario.h" -//----------------------------------------------------------------------------- -void et_print_hex_octets(const unsigned char *const byte_stream, const unsigned long int num) -{ - unsigned long octet_index = 0; - - if (byte_stream == NULL) { - return; - } - - fprintf(stdout, "+-----+-------------------------------------------------+\n"); - fprintf(stdout, "| | 0 1 2 3 4 5 6 7 8 9 a b c d e f |\n"); - fprintf(stdout, "+-----+-------------------------------------------------+\n"); - - for (octet_index = 0; octet_index < num; octet_index++) { - if ((octet_index % 16) == 0) { - if (octet_index != 0) { - fprintf(stdout, " |\n"); - } - - fprintf(stdout, " %04lu |", octet_index); - } - - /* - * Print every single octet in hexadecimal form - */ - fprintf(stdout, " %02x", byte_stream[octet_index]); - /* - * Align newline and pipes according to the octets in groups of 2 - */ - } - - /* - * Append enough spaces and put final pipe - */ - unsigned char index; - - for (index = octet_index; index < 16; ++index) { - fprintf(stdout, " "); - } - - fprintf(stdout, " |\n"); -} - -//------------------------------------------------------------------------------ -void et_display_node(xmlNodePtr node, unsigned int indent) -{ - int i = 0; - - if (node->type == XML_ELEMENT_NODE) { - xmlChar *path = xmlGetNodePath(node); - - for (i=0; i<indent; i++) { - printf(" "); - } - - if (node->children != NULL && node->children->type == XML_TEXT_NODE) { - xmlChar *content = xmlNodeGetContent(node); - printf("%s -> %s\n", path, content); - xmlFree(content); - } else { - printf("%s\n", path); - } - - xmlFree(path); - } -} -//------------------------------------------------------------------------------ -void et_display_tree(xmlNodePtr node, unsigned int indent) -{ - xmlNode *cur_node = NULL; - - for (cur_node = node; cur_node; cur_node = cur_node->next) { - if (cur_node->type == XML_ELEMENT_NODE) { - et_display_node(cur_node, indent); - } - - et_display_tree(cur_node->children, indent++); - } -} -//------------------------------------------------------------------------------ -void et_display_packet_S1AP_data(const et_S1AP_t *const s1ap) -{ - char *message_string = NULL; - - if (s1ap) { - message_string = calloc(20000, sizeof(char)); - AssertFatal (NULL != message_string, "ERROR malloc()failed!\n"); - - switch(s1ap->pdu.present) { - case S1AP_S1AP_PDU_PR_initiatingMessage: - switch(s1ap->pdu.choice.initiatingMessage.procedureCode) { - case S1AP_ProcedureCode_id_downlinkNASTransport: s1ap_xer_print_s1ap_downlinknastransport(s1ap_xer__print2sp, message_string, (S1AP_message *)&s1ap->message); break; - - case S1AP_ProcedureCode_id_InitialContextSetup: s1ap_xer_print_s1ap_initialcontextsetuprequest(s1ap_xer__print2sp, message_string, (S1AP_message *)&s1ap->message); break; - - case S1AP_ProcedureCode_id_UEContextRelease: s1ap_xer_print_s1ap_uecontextreleasecommand(s1ap_xer__print2sp, message_string, (S1AP_message *)&s1ap->message); break; - - case S1AP_ProcedureCode_id_Paging: s1ap_xer_print_s1ap_paging(s1ap_xer__print2sp, message_string, (S1AP_message *)&s1ap->message); break; - - case S1AP_ProcedureCode_id_uplinkNASTransport: s1ap_xer_print_s1ap_uplinknastransport(s1ap_xer__print2sp, message_string, (S1AP_message *)&s1ap->message); break; - - case S1AP_ProcedureCode_id_S1Setup: s1ap_xer_print_s1ap_s1setuprequest(s1ap_xer__print2sp, message_string, (S1AP_message *)&s1ap->message); break; - - case S1AP_ProcedureCode_id_initialUEMessage: s1ap_xer_print_s1ap_initialuemessage(s1ap_xer__print2sp, message_string, (S1AP_message *)&s1ap->message); break; - - case S1AP_ProcedureCode_id_UEContextReleaseRequest: s1ap_xer_print_s1ap_uecontextreleaserequest(s1ap_xer__print2sp, message_string, (S1AP_message *)&s1ap->message); break; - - case S1AP_ProcedureCode_id_UECapabilityInfoIndication:s1ap_xer_print_s1ap_uecapabilityinfoindication(s1ap_xer__print2sp, message_string, (S1AP_message *)&s1ap->message); break; - - case S1AP_ProcedureCode_id_NASNonDeliveryIndication: s1ap_xer_print_s1ap_nasnondeliveryindication_(s1ap_xer__print2sp, message_string, (S1AP_message *)&s1ap->message); break; - - default: - AssertFatal( 0, "Unknown procedure ID (%d) for initiating message\n", - (int)s1ap->pdu.choice.initiatingMessage.procedureCode); - } - - break; - - case S1AP_S1AP_PDU_PR_successfulOutcome: - switch(s1ap->pdu.choice.successfulOutcome.procedureCode) { - case S1AP_ProcedureCode_id_S1Setup: s1ap_xer_print_s1ap_s1setupresponse(s1ap_xer__print2sp, message_string, (S1AP_message *)&s1ap->message); break; - - case S1AP_ProcedureCode_id_InitialContextSetup: s1ap_xer_print_s1ap_initialcontextsetupresponse(s1ap_xer__print2sp, message_string, (S1AP_message *)&s1ap->message); break; - - case S1AP_ProcedureCode_id_UEContextRelease: s1ap_xer_print_s1ap_uecontextreleasecomplete(s1ap_xer__print2sp, message_string, (S1AP_message *)&s1ap->message); break; - - default: - AssertFatal(0, "Unknown procedure ID (%d) for successfull outcome message\n", - (int)s1ap->pdu.choice.successfulOutcome.procedureCode); - } - - break; - - case S1AP_S1AP_PDU_PR_unsuccessfulOutcome: - switch(s1ap->pdu.choice.unsuccessfulOutcome.procedureCode) { - case S1AP_ProcedureCode_id_S1Setup: s1ap_xer_print_s1ap_s1setupfailure(s1ap_xer__print2sp, message_string, (S1AP_message *)&s1ap->message); break; - - case S1AP_ProcedureCode_id_InitialContextSetup: s1ap_xer_print_s1ap_initialcontextsetupfailure(s1ap_xer__print2sp, message_string, (S1AP_message *)&s1ap->message); break; - - default: - et_free_pointer(message_string); - AssertFatal(0,"Unknown procedure ID (%d) for unsuccessfull outcome message\n", - (int)s1ap->pdu.choice.unsuccessfulOutcome.procedureCode); - break; - } - - break; - - default: - AssertFatal(0, "Unknown presence (%d) or not implemented\n", (int)s1ap->pdu.present); - break; - } - - fprintf(stdout, "\t\tSCTP.data XML dump:\n%s\n", message_string); - et_free_pointer(message_string); - } -} -//------------------------------------------------------------------------------ -void et_display_packet_sctp_init(const sctp_inithdr_t *const sctp) -{ - if (sctp) { - fprintf(stdout, "\t\tSCTP.init.init_tag : %u\n", sctp->init_tag); - fprintf(stdout, "\t\tSCTP.init.a_rwnd : %u\n", sctp->a_rwnd); - fprintf(stdout, "\t\tSCTP.init.num_inbound_streams : %u\n", sctp->num_inbound_streams); - fprintf(stdout, "\t\tSCTP.init.num_outbound_streams : %u\n", sctp->num_outbound_streams); - fprintf(stdout, "\t\tSCTP.init.initial_tsn : %u\n", sctp->initial_tsn); - } -} -//------------------------------------------------------------------------------ -void et_display_packet_sctp_initack(const sctp_initackhdr_t *const sctp) -{ - if (sctp) { - fprintf(stdout, "\t\tSCTP.initack.init_tag : %u\n", sctp->init_tag); - fprintf(stdout, "\t\tSCTP.initack.a_rwnd : %u\n", sctp->a_rwnd); - fprintf(stdout, "\t\tSCTP.initack.num_inbound_streams : %u\n", sctp->num_inbound_streams); - fprintf(stdout, "\t\tSCTP.initack.num_outbound_streams : %u\n", sctp->num_outbound_streams); - fprintf(stdout, "\t\tSCTP.initack.initial_tsn : %u\n", sctp->initial_tsn); - } -} -//------------------------------------------------------------------------------ -void et_display_packet_sctp_data(const sctp_datahdr_t *const sctp) -{ - if (sctp) { - fprintf(stdout, "\t\tSCTP.data.tsn : %u\n", sctp->tsn); - fprintf(stdout, "\t\tSCTP.data.stream : %u\n", sctp->stream); - fprintf(stdout, "\t\tSCTP.data.ssn : %u\n", sctp->ssn); - fprintf(stdout, "\t\tSCTP.data.ppid : %u\n", sctp->ppid); - - if (sctp->ppid == 18) { - et_display_packet_s1ap_data(&sctp->payload); - } - - fprintf(stdout, "\t\tSCTP.data.binary_stream_allocated_size : %u\n", sctp->payload.binary_stream_allocated_size); - - if (NULL != sctp->payload.binary_stream) { - fprintf(stdout, "\t\tSCTP.data.binary_stream :\n"); - et_print_hex_octets(sctp->payload.binary_stream, sctp->payload.binary_stream_allocated_size); - } else { - fprintf(stdout, "\t\tSCTP.data.binary_stream : NULL\n"); - } - } -} - -//------------------------------------------------------------------------------ -void et_display_packet_sctp(const et_sctp_hdr_t *const sctp) -{ - if (sctp) { - fprintf(stdout, "\t\tSCTP.src_port : %u\n", sctp->src_port); - fprintf(stdout, "\t\tSCTP.dst_port : %u\n", sctp->dst_port); - fprintf(stdout, "\t\tSCTP.chunk_type : %s\n", et_chunk_type_cid2str(sctp->chunk_type)); - - switch (sctp->chunk_type) { - case SCTP_CID_DATA: - et_display_packet_sctp_data(&sctp->u.data_hdr); - break; - - case SCTP_CID_INIT: - et_display_packet_sctp_initack(&sctp->u.init_hdr); - break; - - case SCTP_CID_INIT_ACK: - et_display_packet_sctp_initack(&sctp->u.init_ack_hdr); - break; - - default: - ; - } - } -} -//------------------------------------------------------------------------------ -void et_display_packet_ip(const et_ip_hdr_t *const ip) -{ - if (ip) { - fprintf(stdout, "\t\tSource address : %s\n", et_ip2ip_str(&ip->src)); - fprintf(stdout, "\t\tDestination address : %s\n", et_ip2ip_str(&ip->dst)); - } -} - -//------------------------------------------------------------------------------ -void et_display_packet(const et_packet_t *const packet) -{ - if (packet) { - fprintf(stdout, "-------------------------------------------------------------------------------\n"); - fprintf(stdout, "\tPacket:\tnum %u | original frame number %u \n", packet->packet_number, packet->original_frame_number); - fprintf(stdout, "\tPacket:\ttime relative to 1st packet %ld.%06lu\n", - packet->time_relative_to_first_packet.tv_sec, packet->time_relative_to_first_packet.tv_usec); - fprintf(stdout, "\tPacket:\ttime relative to last tx packet %ld.%06lu\n", - packet->time_relative_to_last_sent_packet.tv_sec, packet->time_relative_to_last_sent_packet.tv_usec); - fprintf(stdout, "\tPacket:\ttime relative to last_received packet %ld.%06lu\n", - packet->time_relative_to_last_received_packet.tv_sec, packet->time_relative_to_last_received_packet.tv_usec); - - switch(packet->action) { - case ET_PACKET_ACTION_S1C_SEND: - fprintf(stdout, "\tPacket:\tAction SEND\n"); - break; - - case ET_PACKET_ACTION_S1C_RECEIVE: - fprintf(stdout, "\tPacket:\tAction RECEIVE\n"); - break; - - default: - fprintf(stdout, "\tPacket:\tAction UNKNOWN\n"); - } - - switch(packet->status) { - case ET_PACKET_STATUS_NONE: - fprintf(stdout, "\tPacket:\tStatus NONE\n"); - break; - - case ET_PACKET_STATUS_NOT_TAKEN_IN_ACCOUNT: - fprintf(stdout, "\tPacket:\tStatus NOT_TAKEN_IN_ACCOUNT\n"); - break; - - case ET_PACKET_STATUS_SCHEDULED_FOR_SENDING: - fprintf(stdout, "\tPacket:\tStatus SCHEDULED_FOR_SENDING\n"); - break; - - case ET_PACKET_STATUS_SENT: - fprintf(stdout, "\tPacket:\tStatus SENT\n"); - break; - - case ET_PACKET_STATUS_SCHEDULED_FOR_RECEIVING: - fprintf(stdout, "\tPacket:\tStatus SCHEDULED_FOR_RECEIVING\n"); - break; - - case ET_PACKET_STATUS_RECEIVED: - fprintf(stdout, "\tPacket:\tStatus RECEIVED\n"); - break; - - default: - fprintf(stdout, "\tPacket:\tStatus UNKNOWN\n"); - } - - et_display_packet_ip(&packet->ip_hdr); - et_display_packet_sctp(&packet->sctp_hdr); - } -} -//------------------------------------------------------------------------------ -void et_display_scenario(const et_scenario_t *const scenario) -{ - et_packet_t *packet = NULL; - - if (scenario) { - fprintf(stdout, "Scenario: %s\n", (scenario->name != NULL) ? (char *)scenario->name:"UNKNOWN NAME"); - packet = scenario->list_packet; - - while (packet) { - et_display_packet(packet); - packet = packet->next; - } - } -} diff --git a/openair3/TEST/EPC_TEST/play_scenario_fsm.c b/openair3/TEST/EPC_TEST/play_scenario_fsm.c deleted file mode 100644 index 0459f4d5dda450d51fc9434132ae198ea5b8c3f8..0000000000000000000000000000000000000000 --- a/openair3/TEST/EPC_TEST/play_scenario_fsm.c +++ /dev/null @@ -1,586 +0,0 @@ -/* - * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The OpenAirInterface Software Alliance licenses this file to You under - * the OAI Public License, Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.openairinterface.org/?page_id=698 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - *------------------------------------------------------------------------------- - * For more information about the OpenAirInterface (OAI) Software Alliance: - * contact@openairinterface.org - */ - -/* - play_scenario_fsm.c - ------------------- - AUTHOR : Lionel GAUTHIER - COMPANY : EURECOM - EMAIL : Lionel.Gauthier@eurecom.fr - */ -#include <stdio.h> -#include <sys/time.h> -#include <pthread.h> - -#include "intertask_interface.h" -#include "platform_types.h" -#include "assertions.h" -#include "play_scenario.h" -#include "play_scenario_s1ap_eNB_defs.h" - -//------------------------------------------------------------------------------ -extern int g_max_speed; -//------------------------------------------------------------------------------ -et_scenario_t *g_scenario = NULL; -pthread_mutex_t g_fsm_lock = PTHREAD_MUTEX_INITIALIZER; -et_fsm_state_t g_fsm_state = ET_FSM_STATE_NULL; -uint32_t g_constraints = ET_BIT_MASK_MATCH_SCTP_STREAM | ET_BIT_MASK_MATCH_SCTP_SSN; -//------------------------------------------------------------------------------ -// it is assumed that if a time is negative tv_sec and tv_usec are both negative -void timeval_add (struct timeval *const result, const struct timeval *const a, const struct timeval *const b) -{ - AssertFatal(((a->tv_sec <= 0) && (a->tv_usec <= 0)) || ((a->tv_sec >= 0) && (a->tv_usec >= 0)), " Bad time format arg a\n"); - AssertFatal(((b->tv_sec <= 0) && (b->tv_usec <= 0)) || ((b->tv_sec >= 0) && (b->tv_usec >= 0)), " Bad time format arg b\n"); - // may happen overflows but were are not dealing with very large timings - long long int r = a->tv_usec + b->tv_usec + (a->tv_sec + b->tv_sec) * 1000000; - result->tv_sec = r / (long long int)1000000; - result->tv_usec = r % (long long int)1000000; - - if ((result != a) && (result != b)) { - LOG_D(ENB_APP, "timeval_add(%ld.%06d, %ld.%06d)=%ld.%06d\n", a->tv_sec, a->tv_usec, b->tv_sec, b->tv_usec, result->tv_sec, result->tv_usec); - } -} - -//------------------------------------------------------------------------------ -// it is assumed that if a time is negative tv_sec and tv_usec are both negative -// return true if result is positive -int timeval_subtract (struct timeval *const result, struct timeval *const a, struct timeval *const b) -{ - AssertFatal(((a->tv_sec <= 0) && (a->tv_usec <= 0)) || ((a->tv_sec >= 0) && (a->tv_usec >= 0)), " Bad time format arg a\n"); - AssertFatal(((b->tv_sec <= 0) && (b->tv_usec <= 0)) || ((b->tv_sec >= 0) && (b->tv_usec >= 0)), " Bad time format arg b\n"); - // may happen overflows but were are not dealing with very large timings - long long int r = a->tv_usec - b->tv_usec + (a->tv_sec - b->tv_sec) * 1000000; - result->tv_sec = r / (long long int)1000000; - result->tv_usec = r % (long long int)1000000; - - if ((result != a) && (result != b)) { - LOG_D(ENB_APP, "timeval_subtract(%ld.%06d, %ld.%06d)=%ld.%06d\n", a->tv_sec, a->tv_usec, b->tv_sec, b->tv_usec, result->tv_sec, result->tv_usec); - } - - return (result->tv_sec >= 0) && (result->tv_usec >= 0); -} - -//------------------------------------------------------------------------------ -void et_scenario_wait_rx_packet(et_packet_t *const packet) -{ - packet->status = ET_PACKET_STATUS_SCHEDULED_FOR_RECEIVING; - g_fsm_state = ET_FSM_STATE_WAITING_RX_EVENT; - - if (timer_setup (ET_FSM_STATE_WAITING_RX_EVENT_DELAY_SEC, 0, TASK_S1AP, INSTANCE_DEFAULT, TIMER_ONE_SHOT, - packet, &packet->timer_id) < 0) { - AssertFatal(0, " Can not start waiting RX event timer\n"); - } - - g_scenario->timer_count++; - LOG_D(ENB_APP, "Waiting RX packet num %d original frame number %u\n", packet->packet_number, packet->original_frame_number); -} -//------------------------------------------------------------------------------ -void et_scenario_schedule_tx_packet(et_packet_t *packet) -{ - s1ap_eNB_instance_t *s1ap_eNB_instance = NULL; - struct timeval now = { .tv_sec = 0, .tv_usec = 0 }; - struct timeval offset_last_tx_packet = { .tv_sec = 0, .tv_usec = 0 }; - struct timeval offset_last_rx_packet = { .tv_sec = 0, .tv_usec = 0 }; - struct timeval offset_tx_rx = { .tv_sec = 0, .tv_usec = 0 }; - struct timeval offset = { .tv_sec = 0, .tv_usec = 0 }; - int last_packet_was_rx = 0; - int we_are_too_late = 0; - int original_frame_number = -1; - AssertFatal(NULL != packet, "packet argument is NULL"); - s1ap_eNB_instance = et_s1ap_eNB_get_instance(packet->enb_instance); - AssertFatal(NULL != s1ap_eNB_instance, "Cannot get s1ap_eNB_instance_t for eNB instance %d", packet->enb_instance); - LOG_D(ENB_APP, "%s\n", __FUNCTION__); - g_fsm_state = ET_FSM_STATE_WAITING_TX_EVENT; - - switch (packet->sctp_hdr.chunk_type) { - case SCTP_CID_DATA: - // check if we can send it now - // TODO: BUG we have to discard in scenario all packets that cannot be processed (SACK, COOKIEs, etc) - AssertFatal(gettimeofday(&now, NULL) == 0, "gettimeofday failed"); - timeval_subtract(&offset_last_tx_packet,&now,&g_scenario->time_last_tx_packet); - timeval_subtract(&offset_last_rx_packet,&now,&g_scenario->time_last_rx_packet); - LOG_D(ENB_APP, "offset_last_tx_packet=%ld.%06d\n", offset_last_tx_packet.tv_sec, offset_last_tx_packet.tv_usec); - LOG_D(ENB_APP, "offset_last_rx_packet=%ld.%06d\n", offset_last_rx_packet.tv_sec, offset_last_rx_packet.tv_usec); - last_packet_was_rx = timeval_subtract(&offset_tx_rx,&offset_last_tx_packet,&offset_last_rx_packet); - - if (last_packet_was_rx) { - LOG_D(ENB_APP, "last_packet_was_rx\n"); - we_are_too_late = timeval_subtract(&offset,&offset_last_rx_packet,&packet->time_relative_to_last_received_packet); - LOG_D(ENB_APP, "we_are_too_late=%d, offset=%ld.%06d\n", we_are_too_late, offset.tv_sec, offset.tv_usec); - } else { - LOG_D(ENB_APP, "last_packet_was_tx\n"); - we_are_too_late = timeval_subtract(&offset,&offset_last_tx_packet,&packet->time_relative_to_last_sent_packet); - LOG_D(ENB_APP, "we_are_too_late=%d, offset=%ld.%06d\n", we_are_too_late, offset.tv_sec, offset.tv_usec); - } - - if ((0 == we_are_too_late) && (0 == g_max_speed)) { - // set timer - if ((offset.tv_sec <= 0) || (offset.tv_usec <= 0)) { - offset.tv_sec = -offset.tv_sec; - offset.tv_usec = -offset.tv_usec; - } - - LOG_D(ENB_APP, "Send packet num %u original frame number %u in %ld.%06d sec\n", - packet->packet_number, packet->original_frame_number, offset.tv_sec, offset.tv_usec); - packet->status = ET_PACKET_STATUS_SCHEDULED_FOR_SENDING; - - if (timer_setup (offset.tv_sec, offset.tv_usec, TASK_S1AP, INSTANCE_DEFAULT, TIMER_ONE_SHOT,packet, &packet->timer_id) < 0) { - AssertFatal(0, " Can not start TX event timer\n"); - } - - g_scenario->timer_count++; - // Done g_fsm_state = ET_FSM_STATE_WAITING_TX_EVENT; - } else { - // send immediately - AssertFatal(0 == gettimeofday(&packet->timestamp_packet, NULL), "gettimeofday() Failed"); - original_frame_number = packet->original_frame_number; - - do { - g_scenario->time_last_tx_packet.tv_sec = packet->timestamp_packet.tv_sec; - g_scenario->time_last_tx_packet.tv_usec = packet->timestamp_packet.tv_usec; - LOG_D(ENB_APP, "Sending packet num %d original frame number %u immediately\n",packet->packet_number, packet->original_frame_number); - et_s1ap_eNB_itti_send_sctp_data_req( - packet->enb_instance, - packet->sctp_hdr.u.data_hdr.assoc_id, - packet->sctp_hdr.u.data_hdr.payload.binary_stream, - packet->sctp_hdr.u.data_hdr.payload.binary_stream_allocated_size, - packet->sctp_hdr.u.data_hdr.stream); - packet->status = ET_PACKET_STATUS_SENT; - g_scenario->next_packet = g_scenario->next_packet->next; - packet = packet->next; - } while ((NULL != packet) && (packet->original_frame_number == original_frame_number)); - - g_fsm_state = ET_FSM_STATE_RUNNING; - } - - break; - - case SCTP_CID_INIT: - case SCTP_CID_INIT_ACK: - AssertFatal(0, "Invalid case TX packet SCTP_CID_INIT or SCTP_CID_INIT_ACK"); - break; - - default: - AssertFatal(0, "Invalid case TX packet SCTP_CID %d", packet->sctp_hdr.chunk_type); - } -} -//------------------------------------------------------------------------------ -et_fsm_state_t et_scenario_fsm_notify_event_state_running(et_event_t event) -{ - switch (event.code) { - case ET_EVENT_TICK: - while (NULL != g_scenario->next_packet) { - LOG_D(ENB_APP, "EVENT_TICK: Considering packet num %d original frame number %u\n", g_scenario->next_packet->packet_number, g_scenario->next_packet->original_frame_number); - - switch (g_scenario->next_packet->sctp_hdr.chunk_type) { - case SCTP_CID_DATA : - - // no init in this scenario, may be sub-scenario - if (g_scenario->next_packet->action == ET_PACKET_ACTION_S1C_SEND) { - if (g_scenario->next_packet->status == ET_PACKET_STATUS_NONE) { - et_scenario_schedule_tx_packet(g_scenario->next_packet); - pthread_mutex_unlock(&g_fsm_lock); - et_event_t continue_event; - continue_event.code = ET_EVENT_TICK; - et_scenario_fsm_notify_event(continue_event); - return g_fsm_state; - } else if (g_scenario->next_packet->status != ET_PACKET_STATUS_SCHEDULED_FOR_SENDING) { - AssertFatal(0, "Invalid packet status %d", g_scenario->next_packet->status); - } - } else if (g_scenario->next_packet->action == ET_PACKET_ACTION_S1C_RECEIVE) { - if (g_scenario->next_packet->status == ET_PACKET_STATUS_RECEIVED) { - g_scenario->next_packet = g_scenario->next_packet->next; - } else if (g_scenario->next_packet->status == ET_PACKET_STATUS_NONE) { - et_scenario_wait_rx_packet(g_scenario->next_packet); - pthread_mutex_unlock(&g_fsm_lock); - return g_fsm_state; - } else { - AssertFatal(0, "Invalid packet status %d", g_scenario->next_packet->status); - } - } else { - AssertFatal(0, "Invalid packet action %d", g_scenario->next_packet->action); - } - - break; - - case SCTP_CID_INIT: - case SCTP_CID_INIT_ACK: - case SCTP_CID_HEARTBEAT: - case SCTP_CID_HEARTBEAT_ACK: - case SCTP_CID_COOKIE_ECHO: - case SCTP_CID_COOKIE_ACK: - case SCTP_CID_ECN_ECNE: - case SCTP_CID_ECN_CWR: - LOG_D(ENB_APP, "EVENT_TICK: Ignoring packet num %d SCTP CID %s\n", - g_scenario->next_packet->packet_number, - et_chunk_type_cid2str(g_scenario->next_packet->sctp_hdr.chunk_type)); - g_scenario->next_packet->status = ET_PACKET_STATUS_NOT_TAKEN_IN_ACCOUNT; - g_scenario->next_packet = g_scenario->next_packet->next; - break; - - case SCTP_CID_ABORT: - case SCTP_CID_SHUTDOWN: - case SCTP_CID_SHUTDOWN_ACK: - case SCTP_CID_ERROR: - case SCTP_CID_SHUTDOWN_COMPLETE: - AssertFatal(0, "The scenario should be cleaned (packet %s cannot be processed at this time)", - et_chunk_type_cid2str(g_scenario->next_packet->sctp_hdr.chunk_type)); - break; - - default: - LOG_D(ENB_APP, "EVENT_TICK: Ignoring packet num %d SCTP CID %s\n", - g_scenario->next_packet->packet_number, - et_chunk_type_cid2str(g_scenario->next_packet->sctp_hdr.chunk_type)); - g_scenario->next_packet->status = ET_PACKET_STATUS_NOT_TAKEN_IN_ACCOUNT; - g_scenario->next_packet = g_scenario->next_packet->next; - } - } - - fprintf(stderr, "No Packet found in this scenario: %s\n", g_scenario->name); - g_fsm_state = ET_FSM_STATE_NULL; - pthread_mutex_unlock(&g_fsm_lock); - - if (0 == g_scenario->timer_count) { - fprintf(stderr, "End of scenario: %s\n", g_scenario->name); - fflush(stderr); - fflush(stdout); - return 0; - //exit(0); - } - - fprintf(stderr, "Remaining timers running: %d\n", g_scenario->timer_count); - return g_fsm_state; - break; - - case ET_EVENT_RX_PACKET_TIME_OUT: - AssertFatal(0, "Event ET_EVENT_RX_PACKET_TIME_OUT not handled in FSM state ET_FSM_STATE_RUNNING"); - break; - - case ET_EVENT_TX_TIMED_PACKET: - AssertFatal(0, "Event ET_EVENT_TX_TIMED_PACKET not handled in FSM state ET_FSM_STATE_RUNNING"); - break; - - case ET_EVENT_RX_S1AP: - et_s1ap_process_rx_packet(&event.u.s1ap_data_ind); - break; - - default: - AssertFatal(0, "Case event %d not handled in ET_FSM_STATE_RUNNING", event.code); - } - - pthread_mutex_unlock(&g_fsm_lock); - return 0; -} - -//------------------------------------------------------------------------------ -et_fsm_state_t et_scenario_fsm_notify_event_state_waiting_tx(et_event_t event) -{ - int rv = 0; - int original_frame_number = -1; - et_packet_t *packet = NULL; - - switch (event.code) { - case ET_EVENT_TICK: - fprintf(stdout, "EVENT_TICK: waiting for tx event\n"); - break; - - case ET_EVENT_RX_S1AP: - rv = et_s1ap_process_rx_packet(&event.u.s1ap_data_ind); - break; - - case ET_EVENT_TX_TIMED_PACKET: - // send immediately - packet = event.u.tx_timed_packet; - AssertFatal(0 == gettimeofday(&packet->timestamp_packet, NULL), "gettimeofday() Failed"); - original_frame_number = packet->original_frame_number; - - do { - g_scenario->time_last_tx_packet.tv_sec = packet->timestamp_packet.tv_sec; - g_scenario->time_last_tx_packet.tv_usec = packet->timestamp_packet.tv_usec; - LOG_D(ENB_APP, "Sending packet num %d original frame number %u immediately\n",packet->packet_number, packet->original_frame_number); - et_s1ap_eNB_itti_send_sctp_data_req( - packet->enb_instance, - packet->sctp_hdr.u.data_hdr.assoc_id, - packet->sctp_hdr.u.data_hdr.payload.binary_stream, - packet->sctp_hdr.u.data_hdr.payload.binary_stream_allocated_size, - packet->sctp_hdr.u.data_hdr.stream); - packet->status = ET_PACKET_STATUS_SENT; - packet = packet->next; - g_scenario->next_packet = packet; - } while ( (NULL != packet) && (packet->original_frame_number == original_frame_number)); - - g_fsm_state = ET_FSM_STATE_RUNNING; - break; - - case ET_EVENT_RX_PACKET_TIME_OUT: - default: - AssertFatal(0, "Case event %d not handled in ET_FSM_STATE_WAITING_TX", event.code); - } - - pthread_mutex_unlock(&g_fsm_lock); - return 0; -} - -//------------------------------------------------------------------------------ -et_fsm_state_t et_scenario_fsm_notify_event_state_waiting_rx(et_event_t event) -{ - int rv = 0; - - switch (event.code) { - case ET_EVENT_TICK: - fprintf(stdout, "EVENT_TICK: waiting for rx event\n"); - break; - - case ET_EVENT_RX_PACKET_TIME_OUT: - fprintf(stderr, "Error The following packet is not received:\n"); - //et_display_packet(event.u.rx_packet_time_out); - AssertFatal(0, "Waited packet not received"); - break; - - case ET_EVENT_RX_S1AP: - rv = et_s1ap_process_rx_packet(&event.u.s1ap_data_ind); - - // waited packet - if (rv == 0) { - g_fsm_state = ET_FSM_STATE_RUNNING; - } - - break; - - case ET_EVENT_TX_TIMED_PACKET: - default: - AssertFatal(0, "Case event %d not handled in ET_FSM_STATE_WAITING_RX", event.code); - } - - pthread_mutex_unlock(&g_fsm_lock); - return 0; -} - -//------------------------------------------------------------------------------ -et_fsm_state_t et_scenario_fsm_notify_event_state_connecting_s1c(et_event_t event) -{ - switch (event.code) { - case ET_EVENT_TICK: - break; - - case ET_EVENT_S1C_CONNECTED: - // hack simulate we have been able to get the right timing values for STCP connect - AssertFatal(gettimeofday(&g_scenario->time_last_rx_packet, NULL) == 0, "gettimeofday failed"); - - while (NULL != g_scenario->next_packet) { - switch (g_scenario->next_packet->sctp_hdr.chunk_type) { - case SCTP_CID_DATA : - - // no init in this scenario, may be sub-scenario - if (g_scenario->next_packet->action == ET_PACKET_ACTION_S1C_SEND) { - et_scenario_schedule_tx_packet(g_scenario->next_packet); - pthread_mutex_unlock(&g_fsm_lock); - et_event_t continue_event; - continue_event.code = ET_EVENT_TICK; - et_scenario_fsm_notify_event(continue_event); - return g_fsm_state; - } else if (g_scenario->next_packet->action == ET_PACKET_ACTION_S1C_RECEIVE) { - if (g_scenario->next_packet->status == ET_PACKET_STATUS_RECEIVED) { - g_scenario->last_rx_packet = g_scenario->next_packet; - g_scenario->time_last_rx_packet = g_scenario->last_rx_packet->timestamp_packet; - g_scenario->next_packet = g_scenario->next_packet->next; - } else if (g_scenario->next_packet->status == ET_PACKET_STATUS_NONE) { - et_scenario_wait_rx_packet(g_scenario->next_packet); - pthread_mutex_unlock(&g_fsm_lock); - return g_fsm_state; - } else { - AssertFatal(0, "Invalid packet status %d", g_scenario->next_packet->status); - } - } else { - AssertFatal(0, "Invalid packet action %d", g_scenario->next_packet->action); - } - - break; - - case SCTP_CID_INIT: - case SCTP_CID_INIT_ACK: - case SCTP_CID_HEARTBEAT: - case SCTP_CID_HEARTBEAT_ACK: - case SCTP_CID_COOKIE_ECHO: - case SCTP_CID_COOKIE_ACK: - case SCTP_CID_ECN_ECNE: - case SCTP_CID_ECN_CWR: - g_scenario->next_packet->status = ET_PACKET_STATUS_NOT_TAKEN_IN_ACCOUNT; - g_scenario->next_packet = g_scenario->next_packet->next; - break; - - case SCTP_CID_ABORT: - case SCTP_CID_SHUTDOWN: - case SCTP_CID_SHUTDOWN_ACK: - case SCTP_CID_ERROR: - case SCTP_CID_SHUTDOWN_COMPLETE: - AssertFatal(0, "The scenario should be cleaned (packet %s cannot be processed at this time)", - et_chunk_type_cid2str(g_scenario->next_packet->sctp_hdr.chunk_type)); - break; - - default: - g_scenario->next_packet->status = ET_PACKET_STATUS_NOT_TAKEN_IN_ACCOUNT; - g_scenario->next_packet = g_scenario->next_packet->next; - } - } - - fprintf(stderr, "No Packet found in this scenario: %s\n", g_scenario->name); - g_fsm_state = ET_FSM_STATE_NULL; - pthread_mutex_unlock(&g_fsm_lock); - - if (0 == g_scenario->timer_count) { - fprintf(stderr, "End of scenario: %s\n", g_scenario->name); - fflush(stderr); - fflush(stdout); - exit(0); - } - - fprintf(stderr, "Remaining timers running: %d\n", g_scenario->timer_count); - return g_fsm_state; - break; - - default: - AssertFatal(0, "Case event %d not handled in ET_FSM_STATE_CONNECTING_S1C", event.code); - } - - pthread_mutex_unlock(&g_fsm_lock); - return 0; -} -//------------------------------------------------------------------------------ -et_fsm_state_t et_scenario_fsm_notify_event_state_null(et_event_t event) -{ - switch (event.code) { - case ET_EVENT_TICK: - break; - - case ET_EVENT_INIT: - AssertFatal(NULL == g_scenario, "Current scenario not ended"); - g_scenario = event.u.init.scenario; - g_scenario->next_packet = g_scenario->list_packet; - g_scenario->last_rx_packet = NULL; - g_scenario->last_tx_packet = NULL; - - while (NULL != g_scenario->next_packet) { - switch (g_scenario->next_packet->sctp_hdr.chunk_type) { - case SCTP_CID_DATA : - - // no init in this scenario, may be sub-scenario, ... - if (g_scenario->next_packet->action == ET_PACKET_ACTION_S1C_SEND) { - et_scenario_schedule_tx_packet(g_scenario->next_packet); - pthread_mutex_unlock(&g_fsm_lock); - et_event_t continue_event; - continue_event.code = ET_EVENT_TICK; - et_scenario_fsm_notify_event(continue_event); - return g_fsm_state; - } else if (g_scenario->next_packet->action == ET_PACKET_ACTION_S1C_RECEIVE) { - if (g_scenario->next_packet->status == ET_PACKET_STATUS_RECEIVED) { - g_scenario->last_rx_packet = g_scenario->next_packet; - g_scenario->time_last_rx_packet = g_scenario->last_rx_packet->timestamp_packet; - g_scenario->next_packet = g_scenario->next_packet->next; - } else if (g_scenario->next_packet->status == ET_PACKET_STATUS_NONE) { - et_scenario_wait_rx_packet(g_scenario->next_packet); - pthread_mutex_unlock(&g_fsm_lock); - return g_fsm_state; - } else { - AssertFatal(0, "Invalid packet status %d", g_scenario->next_packet->status); - } - } else { - AssertFatal(0, "Invalid packet action %d", g_scenario->next_packet->action); - } - - break; - - case SCTP_CID_INIT: - case SCTP_CID_INIT_ACK: - g_scenario->enb_properties = (Enb_properties_array_t *)et_enb_config_get(); - g_scenario->hash_old_ue_mme_id2ue_mme_id = hashtable_create (256,NULL,NULL); - g_scenario->hash_mme2association_id = hashtable_create (256,NULL,NULL); - // Try to register each eNB - g_scenario->registered_enb = 0; - g_fsm_state = ET_FSM_STATE_CONNECTING_S1C; - AssertFatal(gettimeofday(&g_scenario->time_last_tx_packet, NULL) == 0, "gettimeofday failed"); - et_eNB_app_register (g_scenario->enb_properties); - pthread_mutex_unlock(&g_fsm_lock); - return g_fsm_state; - break; - - case SCTP_CID_HEARTBEAT: - case SCTP_CID_HEARTBEAT_ACK: - case SCTP_CID_COOKIE_ECHO: - case SCTP_CID_COOKIE_ACK: - case SCTP_CID_ECN_ECNE: - case SCTP_CID_ECN_CWR: - g_scenario->next_packet->status = ET_PACKET_STATUS_NOT_TAKEN_IN_ACCOUNT; - g_scenario->next_packet = g_scenario->next_packet->next; - break; - - case SCTP_CID_ABORT: - case SCTP_CID_SHUTDOWN: - case SCTP_CID_SHUTDOWN_ACK: - case SCTP_CID_ERROR: - case SCTP_CID_SHUTDOWN_COMPLETE: - AssertFatal(0, "The scenario should be cleaned (packet %s cannot be processed at this time)", - et_chunk_type_cid2str(g_scenario->next_packet->sctp_hdr.chunk_type)); - break; - - default: - g_scenario->next_packet->status = ET_PACKET_STATUS_NOT_TAKEN_IN_ACCOUNT; - g_scenario->next_packet = g_scenario->next_packet->next; - } - } - - fprintf(stderr, "No Useful packet found in this scenario: %s\n", g_scenario->name); - g_fsm_state = ET_FSM_STATE_NULL; - pthread_mutex_unlock(&g_fsm_lock); - return g_fsm_state; - break; - - default: - AssertFatal(0, "Case event %d not handled in ET_FSM_STATE_NULL", event.code); - } - - return 0; -} - -//------------------------------------------------------------------------------ -et_fsm_state_t et_scenario_fsm_notify_event(et_event_t event) -{ - AssertFatal((event.code >= ET_EVENT_START) && (event.code < ET_EVENT_END), "Unknown et_event_t.code %d", event.code); - pthread_mutex_lock(&g_fsm_lock); - - switch (g_fsm_state) { - case ET_FSM_STATE_NULL: return et_scenario_fsm_notify_event_state_null(event); break; - - case ET_FSM_STATE_CONNECTING_S1C: return et_scenario_fsm_notify_event_state_connecting_s1c(event); break; - - case ET_FSM_STATE_WAITING_TX_EVENT: return et_scenario_fsm_notify_event_state_waiting_tx(event); break; - - case ET_FSM_STATE_WAITING_RX_EVENT: return et_scenario_fsm_notify_event_state_waiting_rx(event); break; - - case ET_FSM_STATE_RUNNING: return et_scenario_fsm_notify_event_state_running(event); break; - - default: - AssertFatal(0, "Case fsm_state %d not handled", g_fsm_state); - } - - pthread_mutex_unlock(&g_fsm_lock); - return g_fsm_state; -} diff --git a/openair3/TEST/EPC_TEST/play_scenario_parse.c b/openair3/TEST/EPC_TEST/play_scenario_parse.c deleted file mode 100644 index 607ec34dfc25daa20d14e13343f67c5a24ecb449..0000000000000000000000000000000000000000 --- a/openair3/TEST/EPC_TEST/play_scenario_parse.c +++ /dev/null @@ -1,592 +0,0 @@ -/* - * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The OpenAirInterface Software Alliance licenses this file to You under - * the OAI Public License, Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.openairinterface.org/?page_id=698 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - *------------------------------------------------------------------------------- - * For more information about the OpenAirInterface (OAI) Software Alliance: - * contact@openairinterface.org - */ - -/* - play_scenario_parse.c - ------------------- - AUTHOR : Lionel GAUTHIER - COMPANY : EURECOM - EMAIL : Lionel.Gauthier@eurecom.fr - */ - -#include <libxml/xmlmemory.h> -#include <libxml/debugXML.h> -#include <libxml/xmlIO.h> -#include <libxml/DOCBparser.h> -#include <libxml/xinclude.h> -#include <libxml/catalog.h> -#include <libxml/xmlreader.h> -#include <libxslt/xslt.h> -#include <libxslt/xsltInternals.h> -#include <libxslt/transform.h> -#include <libxslt/xsltutils.h> -#include <sys/time.h> -#include <sys/socket.h> -#include <netinet/in.h> -#include <arpa/inet.h> - -#include "intertask_interface.h" -#include "platform_types.h" -#include "assertions.h" -#include "play_scenario.h" -//------------------------------------------------------------------------------ -#define ENB_CONFIG_MAX_XSLT_PARAMS 32 -//------------------------------------------------------------------------------ -extern Enb_properties_array_t g_enb_properties; -//------------------------------------------------------------------------------ -void et_parse_s1ap(xmlDocPtr doc, const xmlNode const *s1ap_node, et_s1ap_t * const s1ap) -{ - xmlNodePtr cur_node = NULL; - xmlChar *xml_char = NULL; - xmlChar *xml_char2 = NULL; - unsigned int size = 0; - int rc = 0; - unsigned int go_deeper_in_tree = 1; - - if ((NULL != s1ap_node) && (NULL != s1ap)) { - // see http://www.xmlsoft.org/html/libxml-tree.html#xmlCopyNode - if (NULL == s1ap->doc) { - xmlUnlinkNode(s1ap_node); - //cur_node = xmlCopyNodeList(s1ap_node); - // arg2: if 1 do a recursive copy (properties, namespaces and children when applicable) if 2 copy properties and namespaces (when applicable) - //cur_node = xmlCopyNode(s1ap_node, 1); - //AssertFatal(NULL != cur_node, "xmlCopyNode Failed"); - s1ap->doc = xmlNewDoc(BAD_CAST "1.0"); - xmlDocSetRootElement(s1ap->doc, s1ap_node); - } - - for (cur_node = (xmlNode *)s1ap_node; cur_node; cur_node = cur_node->next) { - go_deeper_in_tree = 1; - if ((!xmlStrcmp(cur_node->name, (const xmlChar *)"field"))) { - // do not get hidden fields - xml_char = xmlGetProp((xmlNode *)cur_node, (const xmlChar *)"hide"); - if (NULL != xml_char) { - if ((!xmlStrcmp(xml_char, (const xmlChar *)"yes"))) { - go_deeper_in_tree = 0; - } - xmlFree(xml_char); - } - if (0 < go_deeper_in_tree) { - // first get size - xml_char = xmlGetProp((xmlNode *)cur_node, (const xmlChar *)"size"); - if (NULL != xml_char) { - size = strtoul((const char *)xml_char, NULL, 0); - xmlFree(xml_char); - // second: try to get value (always hex) - xml_char = xmlGetProp((xmlNode *)cur_node, (const xmlChar *)"value"); - if (NULL != xml_char) { - xml_char2 = xmlGetProp((xmlNode *)cur_node, (const xmlChar *)"name"); - fprintf(stdout, "s1ap %p field name %s size %u value %s\n",s1ap, xml_char2, size, xml_char); - xmlFree(xml_char2); - // if success to get value, do not parse children - //AssertFatal ((xmlStrlen(xml_char) == size), "ERROR %s() mismatch in size %d and strlen %d\n", __FUNCTION__, size, xmlStrlen(xml_char)); - //if (xmlStrlen(xml_char) == size) { - AssertFatal ((s1ap->binary_stream_pos+xmlStrlen(xml_char)/2) <= s1ap->binary_stream_allocated_size, - "ERROR in buffer size: binary_stream_pos %d xmlStrlen(xml_char)/2=%d\n", s1ap->binary_stream_pos, xmlStrlen(xml_char)/2); - rc = et_hex2data( &s1ap->binary_stream[s1ap->binary_stream_pos], xml_char, xmlStrlen(xml_char)); - s1ap->binary_stream_pos += xmlStrlen(xml_char)/2; - //et_display_node(cur_node, 0); - AssertFatal (rc >= 0, "ERROR in converting hex string %s len %d size %u rc %d\n", xml_char, xmlStrlen(xml_char), size, rc); - go_deeper_in_tree = 0; - //} - xmlFree(xml_char); - } - } - } - } - if (0 < go_deeper_in_tree) { - et_parse_s1ap(doc, cur_node->children, s1ap); - } - } - } -} - -//------------------------------------------------------------------------------ -void et_parse_sctp_data_chunk(xmlDocPtr doc, const xmlNode const *sctp_node, sctp_datahdr_t * const sctp_hdr) -{ - xmlNode *cur_node = NULL; - xmlChar *xml_char = NULL; - xmlChar *xml_char2 = NULL; - - if ((NULL != sctp_node) && (NULL != sctp_hdr)) { - xml_char = xmlGetProp((xmlNode *)sctp_node, (const xmlChar *)"name"); - if (NULL != xml_char) { - if ((!xmlStrcmp(xml_char, (const xmlChar *)"sctp.data_payload_proto_id"))) { - xml_char2 = xmlGetProp((xmlNode *)sctp_node, (const xmlChar *)"show"); - if (NULL != xml_char2) { - sctp_hdr->ppid = strtoul((const char *)xml_char2, NULL, 0); - xmlFree(xml_char2); - } - } else if ((!xmlStrcmp(xml_char, (const xmlChar *)"sctp.data_sid"))) { - xml_char2 = xmlGetProp((xmlNode *)sctp_node, (const xmlChar *)"show"); - if (NULL != xml_char2) { - sctp_hdr->stream = strtoul((const char *)xml_char2, NULL, 16); - xmlFree(xml_char2); - } - } else if ((!xmlStrcmp(xml_char, (const xmlChar *)"sctp.data_tsn"))) { - xml_char2 = xmlGetProp((xmlNode *)sctp_node, (const xmlChar *)"show"); - if (NULL != xml_char2) { - sctp_hdr->tsn = strtoul((const char *)xml_char2, NULL, 0); - xmlFree(xml_char2); - } - } else if ((!xmlStrcmp(xml_char, (const xmlChar *)"sctp.data_ssn"))) { - xml_char2 = xmlGetProp((xmlNode *)sctp_node, (const xmlChar *)"show"); - if (NULL != xml_char2) { - sctp_hdr->ssn = strtoul((const char *)xml_char2, NULL, 0); - xmlFree(xml_char2); - } - } - xmlFree(xml_char); - } - for (cur_node = sctp_node->children; cur_node; cur_node = cur_node->next) { - et_parse_sctp_data_chunk(doc, cur_node, sctp_hdr); - } - } - -} -//------------------------------------------------------------------------------ -void et_parse_sctp_init_chunk(xmlDocPtr doc, const xmlNode const *sctp_node, sctp_inithdr_t * const sctp_hdr) -{ - xmlNode *cur_node = NULL; - xmlChar *xml_char = NULL; - xmlChar *xml_char2 = NULL; - - if ((NULL != sctp_node) && (NULL != sctp_hdr)) { - xml_char = xmlGetProp((xmlNode *)sctp_node, (const xmlChar *)"name"); - if (NULL != xml_char) { - if ((!xmlStrcmp(xml_char, (const xmlChar *)"sctp.init_nr_out_streams"))) { - xml_char2 = xmlGetProp((xmlNode *)sctp_node, (const xmlChar *)"value"); - if (NULL != xml_char2) { - sctp_hdr->num_outbound_streams = strtoul((const char *)xml_char2, NULL, 0); - xmlFree(xml_char2); - } - } else if ((!xmlStrcmp(xml_char, (const xmlChar *)"sctp.init_nr_in_streams"))) { - xml_char2 = xmlGetProp((xmlNode *)sctp_node, (const xmlChar *)"value"); - if (NULL != xml_char2) { - sctp_hdr->num_inbound_streams = strtoul((const char *)xml_char2, NULL, 0); - xmlFree(xml_char2); - } - } else if ((!xmlStrcmp(xml_char, (const xmlChar *)"sctp.init_credit"))) { - xml_char2 = xmlGetProp((xmlNode *)sctp_node, (const xmlChar *)"value"); - if (NULL != xml_char2) { - sctp_hdr->a_rwnd = strtoul((const char *)xml_char2, NULL, 0); - xmlFree(xml_char2); - } - } else if ((!xmlStrcmp(xml_char, (const xmlChar *)"sctp.init_initial_tsn"))) { - xml_char2 = xmlGetProp((xmlNode *)sctp_node, (const xmlChar *)"show"); - if (NULL != xml_char2) { - sctp_hdr->initial_tsn = strtoul((const char *)xml_char2, NULL, 0); - xmlFree(xml_char2); - } - } else if ((!xmlStrcmp(xml_char, (const xmlChar *)"sctp.init_initiate_tag"))) { - xml_char2 = xmlGetProp((xmlNode *)sctp_node, (const xmlChar *)"show"); - if (NULL != xml_char2) { - sctp_hdr->init_tag = strtoul((const char *)xml_char2, NULL, 16); - xmlFree(xml_char2); - } - } - xmlFree(xml_char); - } - for (cur_node = sctp_node->children; cur_node; cur_node = cur_node->next) { - et_parse_sctp_init_chunk(doc, cur_node, sctp_hdr); - } - } -} -//------------------------------------------------------------------------------ -void et_parse_sctp_init_ack_chunk(xmlDocPtr doc, const xmlNode const *sctp_node, sctp_initackhdr_t * const sctp_hdr) -{ - xmlNode *cur_node = NULL; - xmlChar *xml_char = NULL; - xmlChar *xml_char2 = NULL; - - if ((NULL != sctp_node) && (NULL != sctp_hdr)) { - xml_char = xmlGetProp((xmlNode *)sctp_node, (const xmlChar *)"name"); - if (NULL != xml_char) { - if ((!xmlStrcmp(xml_char, (const xmlChar *)"sctp.initack_nr_out_streams"))) { - xml_char2 = xmlGetProp((xmlNode *)sctp_node, (const xmlChar *)"value"); - if (NULL != xml_char2) { - sctp_hdr->num_outbound_streams = strtoul((const char *)xml_char2, NULL, 0); - xmlFree(xml_char2); - } - } else if ((!xmlStrcmp(xml_char, (const xmlChar *)"sctp.initack_nr_in_streams"))) { - xml_char2 = xmlGetProp((xmlNode *)(xmlNode *)sctp_node, (const xmlChar *)"value"); - if (NULL != xml_char2) { - sctp_hdr->num_inbound_streams = strtoul((const char *)xml_char2, NULL, 0); - xmlFree(xml_char2); - } - } else if ((!xmlStrcmp(xml_char, (const xmlChar *)"sctp.initack_credit"))) { - xml_char2 = xmlGetProp((xmlNode *)sctp_node, (const xmlChar *)"value"); - if (NULL != xml_char2) { - sctp_hdr->a_rwnd = strtoul((const char *)xml_char2, NULL, 0); - xmlFree(xml_char2); - } - } else if ((!xmlStrcmp(xml_char, (const xmlChar *)"sctp.initack_initial_tsn"))) { - xml_char2 = xmlGetProp((xmlNode *)sctp_node, (const xmlChar *)"show"); - if (NULL != xml_char2) { - sctp_hdr->initial_tsn = strtoul((const char *)xml_char2, NULL, 0); - xmlFree(xml_char2); - } - } else if ((!xmlStrcmp(xml_char, (const xmlChar *)"sctp.initack_initiate_tag"))) { - xml_char2 = xmlGetProp((xmlNode *)sctp_node, (const xmlChar *)"show"); - if (NULL != xml_char2) { - sctp_hdr->init_tag = strtoul((const char *)xml_char2, NULL, 16); - xmlFree(xml_char2); - } - } - xmlFree(xml_char); - } - for (cur_node = sctp_node->children; cur_node; cur_node = cur_node->next) { - et_parse_sctp_init_ack_chunk(doc, cur_node, sctp_hdr); - } - } -} -//------------------------------------------------------------------------------ -void et_parse_sctp(xmlDocPtr doc, const xmlNode const *sctp_node, et_sctp_hdr_t * const sctp_hdr) -{ - xmlNode *cur_node = NULL; - xmlChar *xml_char = NULL; - xmlChar *xml_char2 = NULL; - - if ((NULL != sctp_node) && (NULL != sctp_hdr)) { - if ((!xmlStrcmp(sctp_node->name, (const xmlChar *)"proto"))) { - xml_char = xmlGetProp((xmlNode *)sctp_node, (const xmlChar *)"name"); - if (NULL != xml_char) { - if ((!xmlStrcmp(xml_char, (const xmlChar *)"s1ap"))) { - xmlFree(xml_char); - xml_char = xmlGetProp((xmlNode *)sctp_node, (const xmlChar *)"pos"); - if (NULL != xml_char) { - sctp_hdr->u.data_hdr.payload.xml_stream_pos_offset = strtoul((const char *)xml_char, NULL, 0); - xmlFree(xml_char); - - xml_char2 = xmlGetProp((xmlNode *)sctp_node, (const xmlChar *)"size"); - if (NULL != xml_char2) { - sctp_hdr->u.data_hdr.payload.binary_stream_allocated_size = strtoul((const char *)xml_char2, NULL, 0); - sctp_hdr->u.data_hdr.payload.binary_stream = calloc(1, sctp_hdr->u.data_hdr.payload.binary_stream_allocated_size); - sctp_hdr->u.data_hdr.payload.binary_stream_pos = 0; - fprintf(stdout, "Allocating payload of sctp_hdr %p %u bytes\n", sctp_hdr, sctp_hdr->u.data_hdr.payload.binary_stream_allocated_size); - xmlFree(xml_char2); - } - et_parse_s1ap(doc, sctp_node, &sctp_hdr->u.data_hdr.payload); - et_decode_s1ap(&sctp_hdr->u.data_hdr.payload); - return; - } - } - xmlFree(xml_char); - } - } - //if ((cur_node->type == XML_ATTRIBUTE_NODE) || (cur_node->type == XML_ELEMENT_NODE)) { - xml_char = xmlGetProp((xmlNode *)sctp_node, (const xmlChar *)"name"); - if (NULL != xml_char) { - if ((!xmlStrcmp(xml_char, (const xmlChar *)"sctp.srcport"))) { - xml_char2 = xmlGetProp((xmlNode *)sctp_node, (const xmlChar *)"value"); - if (NULL != xml_char2) { - sctp_hdr->src_port = strtoul((const char *)xml_char2, NULL, 16); - xmlFree(xml_char2); - } - } else if ((!xmlStrcmp(xml_char, (const xmlChar *)"sctp.dstport"))) { - xml_char2 = xmlGetProp((xmlNode *)sctp_node, (const xmlChar *)"value"); - if (NULL != xml_char2) { - sctp_hdr->dst_port = strtoul((const char *)xml_char2, NULL, 16); - xmlFree(xml_char2); - } - } else if ((!xmlStrcmp(xml_char, (const xmlChar *)"sctp.chunk_type"))) { - xml_char2 = xmlGetProp((xmlNode *)sctp_node, (const xmlChar *)"value"); - if (NULL != xml_char2) { - sctp_hdr->chunk_type = strtoul((const char *)xml_char2, NULL, 0); - xmlFree(xml_char2); - switch (sctp_hdr->chunk_type) { - case SCTP_CID_DATA: - et_parse_sctp_data_chunk(doc, sctp_node->parent, &sctp_hdr->u.data_hdr); - break; - case SCTP_CID_INIT: - et_parse_sctp_init_chunk(doc, sctp_node->parent, &sctp_hdr->u.init_hdr); - break; - case SCTP_CID_INIT_ACK: - et_parse_sctp_init_ack_chunk(doc, sctp_node->parent, &sctp_hdr->u.init_ack_hdr); - break; - default: - ; - } - } - } - } - for (cur_node = sctp_node->children; cur_node; cur_node = cur_node->next) { - et_parse_sctp(doc, cur_node, sctp_hdr); - } - } -} -//------------------------------------------------------------------------------ -void et_packet_shift_timing(et_packet_t * const packet, const struct timeval * const shift) -{ - timeval_add(&packet->time_relative_to_first_packet, &packet->time_relative_to_first_packet, shift); - AssertFatal((packet->time_relative_to_first_packet.tv_sec >= 0) && (packet->time_relative_to_first_packet.tv_usec >= 0), - "Bad timing result time_relative_to_first_packet=%d.%d packet num %u, original frame number %u", - packet->time_relative_to_first_packet.tv_sec, - packet->time_relative_to_first_packet.tv_usec, - packet->packet_number, - packet->original_frame_number); - - timeval_add(&packet->time_relative_to_last_received_packet, &packet->time_relative_to_last_received_packet, shift); - AssertFatal((packet->time_relative_to_last_received_packet.tv_sec >= 0) && (packet->time_relative_to_last_received_packet.tv_usec >= 0), - "Bad timing result time_relative_to_last_received_packet=%d.%d packet num %u, original frame number %u", - packet->time_relative_to_last_received_packet.tv_sec, - packet->time_relative_to_last_received_packet.tv_usec, - packet->packet_number, - packet->original_frame_number); - - timeval_add(&packet->time_relative_to_last_sent_packet, &packet->time_relative_to_last_sent_packet, shift); - AssertFatal((packet->time_relative_to_last_sent_packet.tv_sec >= 0) && (packet->time_relative_to_last_sent_packet.tv_usec >= 0), - "Bad timing result time_relative_to_last_sent_packet=%d.%d packet num %u, original frame number %u", - packet->time_relative_to_last_sent_packet.tv_sec, - packet->time_relative_to_last_sent_packet.tv_usec, - packet->packet_number, - packet->original_frame_number); -} - -//------------------------------------------------------------------------------ -et_packet_t* et_parse_xml_packet(xmlDocPtr doc, xmlNodePtr node) -{ - - et_packet_t *packet = NULL; - xmlNode *cur_node = NULL; - xmlChar *xml_char = NULL; - float afloat = (float)0.0; - static struct timeval initial_time = { .tv_sec = 0, .tv_usec = 0 }; - static struct timeval relative_last_sent_packet = { .tv_sec = 0, .tv_usec = 0 }; - static struct timeval relative_last_received_packet = { .tv_sec = 0, .tv_usec = 0 }; - static char first_packet = 1; - static char first_sent_packet = 1; - static char first_received_packet = 1; - static unsigned int packet_number = 1; - - - if (NULL != node) { - packet = calloc(1, sizeof(*packet)); - - xml_char = xmlGetProp(node, (const xmlChar *)"action"); - packet->action = et_action_str2et_action_t(xml_char); - packet->status = ET_PACKET_STATUS_NONE; - xmlFree(xml_char); - packet->packet_number = packet_number++; - - for (cur_node = node->children; cur_node; cur_node = cur_node->next) { - //if (cur_node->type == XML_ELEMENT_NODE) { - if ((!xmlStrcmp(cur_node->name, (const xmlChar *)"frame.time_relative"))) { - xml_char = xmlGetProp((xmlNode *)cur_node, (const xmlChar *)"value"); - afloat = atof((const char*)xml_char); - xmlFree(xml_char); - fprintf(stdout, "Parsing packet frame.time_relative: %f\n", afloat); - packet->time_relative_to_first_packet.tv_sec = (int)afloat; - packet->time_relative_to_first_packet.tv_usec = (int)((afloat - packet->time_relative_to_first_packet.tv_sec)*1000000.0); - - if (first_packet > 0) { - initial_time = packet->time_relative_to_first_packet; - packet->time_relative_to_first_packet.tv_sec = 0; - packet->time_relative_to_first_packet.tv_usec = 0; - first_packet = 0; - } else { - timersub(&packet->time_relative_to_first_packet, &initial_time, - &packet->time_relative_to_first_packet); - } - } else if ((!xmlStrcmp(cur_node->name, (const xmlChar *)"frame.number"))) { - xml_char = xmlGetProp((xmlNode *)cur_node, (const xmlChar *)"value"); - packet->original_frame_number = strtoul((const char *)xml_char, NULL, 0); - fprintf(stdout, "Parsing packet frame.number: %u\n", packet->original_frame_number); - xmlFree(xml_char); - } else if ((!xmlStrcmp(cur_node->name, (const xmlChar *)"ip.src"))) { - xml_char = xmlNodeListGetString(doc, cur_node->xmlChildrenNode, 1); - et_ip_str2et_ip(xml_char, &packet->ip_hdr.src); - xmlFree(xml_char); - } else if ((!xmlStrcmp(cur_node->name, (const xmlChar *)"ip.dst"))) { - xml_char = xmlNodeListGetString(doc, cur_node->xmlChildrenNode, 1); - et_ip_str2et_ip(xml_char, &packet->ip_hdr.dst); - xmlFree(xml_char); - } else if ((!xmlStrcmp(cur_node->name, (const xmlChar *)"proto"))) { - xml_char = xmlGetProp((xmlNode *)cur_node, (const xmlChar *)"name"); - if (NULL != xml_char) { - if ((!xmlStrcmp(xml_char, (const xmlChar *)"sctp"))) { - et_parse_sctp(doc, cur_node, &packet->sctp_hdr); - } - xmlFree(xml_char); - } - } else if ((!xmlStrcmp(cur_node->name, (const xmlChar *)"eNB.instance"))) { - xml_char = xmlGetProp((xmlNode *)cur_node, (const xmlChar *)"value"); - packet->enb_instance = strtoul((const char *)xml_char, NULL, 0); - xmlFree(xml_char); - } - //} - } - } - return packet; -} -//------------------------------------------------------------------------------ -et_scenario_t* et_generate_scenario( - const char * const tsml_out_scenario_filename) -{ - xmlDocPtr doc = NULL; - xmlNodePtr root = NULL; - xmlNodePtr node = NULL; - xmlChar *xml_char = NULL; - et_scenario_t *scenario = NULL; - et_packet_t *last_packet = NULL; - et_packet_t *packet = NULL; - et_packet_t **next_packet = NULL; - - doc = xmlParseFile(tsml_out_scenario_filename); - if (NULL == doc) { - AssertFatal (0, "Could not parse scenario xml file %s!\n", tsml_out_scenario_filename); - } else { - fprintf(stdout, "Test scenario file to play: %s\n", tsml_out_scenario_filename); - //xmlDebugDumpDocument(NULL, doc); - } - - // Get root - root = xmlDocGetRootElement(doc); - if (NULL != root) { - if ((!xmlStrcmp(root->name, (const xmlChar *)"scenario"))) { - xml_char = xmlGetProp(root, (const xmlChar *)"name"); - printf("scenario name: %s\n", xml_char); - scenario = calloc(1, sizeof(*scenario)); - scenario->name = xml_char; // nodup nofree - - next_packet = &scenario->list_packet; - for (node = root->children; node != NULL; node = node->next) { - if ((!xmlStrcmp(node->name, (const xmlChar *)"packet"))) { - packet = et_parse_xml_packet(doc, node); - if (NULL != packet) { - // special case: S1AP same frame for 2 packets - if (NULL != last_packet) { - if (last_packet->original_frame_number == packet->original_frame_number) { - // updating because these informations are not in 2nd sctp header (same IP packet) - packet->sctp_hdr.dst_port = last_packet->sctp_hdr.dst_port; - packet->sctp_hdr.src_port = last_packet->sctp_hdr.src_port; - } - } - *next_packet = packet; - next_packet = &packet->next; - } else { - fprintf(stdout, "WARNING omitted packet\n"); - } - } - last_packet = packet; - } - } - } else { - fprintf(stderr, "Empty xml document\n"); - } - xmlFreeDoc(doc); - xmlCleanupParser(); - return scenario; -} -//------------------------------------------------------------------------------ -int et_generate_xml_scenario( - const char const * xml_in_dir_name, - const char const * xml_in_scenario_filename, - const char const * enb_config_filename, - char const * tsml_out_scenario_filename) -//------------------------------------------------------------------------------ -{ - //int fd_pdml_in; - xsltStylesheetPtr cur = NULL; - xmlDocPtr doc, res; - FILE *play_scenario_file = NULL; - const char *params[2*ENB_CONFIG_MAX_XSLT_PARAMS]; - int nb_params = 0; - int i,j; - char astring[1024]; - struct in_addr addr; - int ret = 0; - - memset(astring, 0, sizeof(astring)); - if (getcwd(astring, sizeof(astring)) != NULL) { - fprintf(stdout, "working in %s directory\n", astring); - } else { - perror("getcwd() ERROR"); - exit(1); - } - - - xmlSubstituteEntitiesDefault(1); - xmlLoadExtDtdDefaultValue = 1; - cur = xsltParseStylesheetFile((const xmlChar *)"/usr/share/oai/xsl/play_scenario.xsl"); - if (NULL == cur) { - AssertFatal (0, "Could not parse stylesheet file /usr/share/oai/xsl/play_scenario.xsl!\n"); - } else { - fprintf(stdout, "XSLT style sheet: /usr/share/oai/xsl/play_scenario.xsl\n"); - } - - doc = xmlParseFile(xml_in_scenario_filename); - if (NULL == doc) { - AssertFatal (0, "Could not parse scenario xml file %s!\n", xml_in_scenario_filename); - } else { - fprintf(stdout, "Test scenario file: %s\n", xml_in_scenario_filename); - } - - for (i = 0; i < g_enb_properties.number; i++) { - // eNB S1-C IPv4 address - sprintf(astring, "enb%d_s1c", i); - params[nb_params++] = strdup(astring); - addr.s_addr = g_enb_properties.properties[i]->enb_ipv4_address_for_S1_MME; - sprintf(astring, "\"%s\"", inet_ntoa(addr)); - params[nb_params++] = strdup(astring); - - // MME S1-C IPv4 address - for (j = 0; j < g_enb_properties.properties[i]->nb_mme; j++) { - sprintf(astring, "mme%d_s1c_%d", i, j); - params[nb_params++] = strdup(astring); - AssertFatal (g_enb_properties.properties[i]->mme_ip_address[j].ipv4_address, - "Only support MME IPv4 address\n"); - sprintf(astring, "\"%s\"", g_enb_properties.properties[i]->mme_ip_address[j].ipv4_address); - params[nb_params++] = strdup(astring); - } - } - params[nb_params] = NULL; - res = xsltApplyStylesheet(cur, doc, params); - if (NULL != res) { - sprintf((char *)tsml_out_scenario_filename,"%s",xml_in_scenario_filename); - if (et_strip_extension((char *)tsml_out_scenario_filename) > 0) { - strcat((char *)tsml_out_scenario_filename, ".tsml"); - play_scenario_file = fopen( tsml_out_scenario_filename, "w+"); - if (NULL != play_scenario_file) { - xsltSaveResultToFile(play_scenario_file, res, cur); - fclose(play_scenario_file); - fprintf(stdout, "Wrote test scenario to %s\n", tsml_out_scenario_filename); - } else { - fprintf(stderr, "ERROR in fopen(%s)\n", tsml_out_scenario_filename); - ret = -1; - } - } else { - fprintf(stderr, "ERROR in strip_extension()\n"); - ret = -1; - } - } else { - fprintf(stderr, "ERROR in xsltApplyStylesheet()\n"); - ret = -1; - } - xsltFreeStylesheet(cur); - xmlFreeDoc(doc); - xmlFreeDoc(res); - - xsltCleanupGlobals(); - xmlCleanupParser(); - return ret; -} - diff --git a/openair3/TEST/EPC_TEST/play_scenario_s1ap.c b/openair3/TEST/EPC_TEST/play_scenario_s1ap.c deleted file mode 100644 index fe132fd2f5d270adf407956cc2836d0a8e398e1f..0000000000000000000000000000000000000000 --- a/openair3/TEST/EPC_TEST/play_scenario_s1ap.c +++ /dev/null @@ -1,1168 +0,0 @@ -/* - * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The OpenAirInterface Software Alliance licenses this file to You under - * the OAI Public License, Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.openairinterface.org/?page_id=698 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - *------------------------------------------------------------------------------- - * For more information about the OpenAirInterface (OAI) Software Alliance: - * contact@openairinterface.org - */ - -/* - play_scenario_s1ap.c - ------------------- - AUTHOR : Lionel GAUTHIER - COMPANY : EURECOM - EMAIL : Lionel.Gauthier@eurecom.fr - */ -#include <pthread.h> -#include <stdio.h> -#include <stdlib.h> -#include <stdint.h> -#include <unistd.h> -#include <crypt.h> -#include <sys/time.h> -#include "tree.h" -#include "queue.h" - - -#include "intertask_interface.h" -#include "platform_types.h" -#include "assertions.h" -#include "conversions.h" -#include "s1ap_common.h" -#include "play_scenario_s1ap_eNB_defs.h" -#include "play_scenario.h" -//------------------------------------------------------------------------------ -s1ap_eNB_internal_data_t s1ap_eNB_internal_data; -RB_GENERATE(s1ap_mme_map, s1ap_eNB_mme_data_s, entry, et_s1ap_eNB_compare_assoc_id); -//------------------------------------------------------------------------------ -extern et_scenario_t *g_scenario; -extern uint32_t g_constraints; -//------------------------------------------------------------------------------ -int et_s1ap_eNB_compare_assoc_id( - struct s1ap_eNB_mme_data_s *p1, struct s1ap_eNB_mme_data_s *p2) -{ - if (p1->assoc_id == -1) { - if (p1->cnx_id < p2->cnx_id) { - return -1; - } - if (p1->cnx_id > p2->cnx_id) { - return 1; - } - } else { - if (p1->assoc_id < p2->assoc_id) { - return -1; - } - if (p1->assoc_id > p2->assoc_id) { - return 1; - } - } - - /* Matching reference */ - return 0; -} -//------------------------------------------------------------------------------ -uint32_t et_s1ap_generate_eNB_id(void) -{ - char *out; - char hostname[50]; - int ret; - uint32_t eNB_id; - - /* Retrieve the host name */ - ret = gethostname(hostname, sizeof(hostname)); - DevAssert(ret == 0); - - out = crypt(hostname, "eurecom"); - DevAssert(out != NULL); - - eNB_id = ((out[0] << 24) | (out[1] << 16) | (out[2] << 8) | out[3]); - - return eNB_id; -} -//------------------------------------------------------------------------------ -uint16_t et_s1ap_eNB_fetch_add_global_cnx_id(void) -{ - return ++s1ap_eNB_internal_data.global_cnx_id; -} - -//------------------------------------------------------------------------------ -void et_s1ap_eNB_prepare_internal_data(void) -{ - memset(&s1ap_eNB_internal_data, 0, sizeof(s1ap_eNB_internal_data)); - STAILQ_INIT(&s1ap_eNB_internal_data.s1ap_eNB_instances_head); -} - -//------------------------------------------------------------------------------ -void et_s1ap_eNB_insert_new_instance(s1ap_eNB_instance_t *new_instance_p) -{ - DevAssert(new_instance_p != NULL); - - STAILQ_INSERT_TAIL(&s1ap_eNB_internal_data.s1ap_eNB_instances_head, - new_instance_p, s1ap_eNB_entries); -} - -//------------------------------------------------------------------------------ -struct s1ap_eNB_mme_data_s *et_s1ap_eNB_get_MME( - s1ap_eNB_instance_t *instance_p, - int32_t assoc_id, uint16_t cnx_id) -{ - struct s1ap_eNB_mme_data_s temp; - struct s1ap_eNB_mme_data_s *found; - - memset(&temp, 0, sizeof(struct s1ap_eNB_mme_data_s)); - - temp.assoc_id = assoc_id; - temp.cnx_id = cnx_id; - - if (instance_p == NULL) { - STAILQ_FOREACH(instance_p, &s1ap_eNB_internal_data.s1ap_eNB_instances_head, - s1ap_eNB_entries) { - found = RB_FIND(s1ap_mme_map, &instance_p->s1ap_mme_head, &temp); - - if (found != NULL) { - return found; - } - } - } else { - return RB_FIND(s1ap_mme_map, &instance_p->s1ap_mme_head, &temp); - } - - return NULL; -} - -//------------------------------------------------------------------------------ -s1ap_eNB_instance_t *et_s1ap_eNB_get_instance(instance_t instance) -{ - s1ap_eNB_instance_t *temp = NULL; - - STAILQ_FOREACH(temp, &s1ap_eNB_internal_data.s1ap_eNB_instances_head, - s1ap_eNB_entries) { - if (temp->instance == instance) { - /* Matching occurence */ - return temp; - } - } - - return NULL; -} -//------------------------------------------------------------------------------ -void et_s1ap_eNB_itti_send_sctp_data_req(instance_t instance, int32_t assoc_id, uint8_t *buffer, - uint32_t buffer_length, uint16_t stream) -{ - MessageDef *message_p; - sctp_data_req_t *sctp_data_req; - - message_p = itti_alloc_new_message(TASK_S1AP, SCTP_DATA_REQ); - - sctp_data_req = &message_p->ittiMsg.sctp_data_req; - - sctp_data_req->assoc_id = assoc_id; - sctp_data_req->buffer = buffer; - sctp_data_req->buffer_length = buffer_length; - sctp_data_req->stream = stream; - - itti_send_msg_to_task(TASK_SCTP, instance, message_p); -} -//------------------------------------------------------------------------------ -int et_handle_s1ap_mismatch_mme_ue_s1ap_id(et_packet_t * const spacket, et_packet_t * const rx_packet) -{ - S1AP_MME_UE_S1AP_ID_t scenario_mme_ue_s1ap_id = 0; - S1AP_MME_UE_S1AP_ID_t rx_mme_ue_s1ap_id = 0; - S1AP_PDU_PR present; - - present = rx_packet->sctp_hdr.u.data_hdr.payload.pdu.present; - - switch (rx_packet->sctp_hdr.u.data_hdr.payload.message.procedureCode) { - case S1AP_ProcedureCode_id_HandoverPreparation: - if (present == S1AP_S1AP_PDU_PR_initiatingMessage) { - rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_HandoverRequiredIEs.mme_ue_s1ap_id; - scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_HandoverRequiredIEs.mme_ue_s1ap_id; - } else { - rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_HandoverCommandIEs.mme_ue_s1ap_id; - scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_HandoverCommandIEs.mme_ue_s1ap_id; - } - break; - - case S1AP_ProcedureCode_id_HandoverResourceAllocation: - if (present == S1AP_S1AP_PDU_PR_initiatingMessage) { - rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_HandoverRequestIEs.mme_ue_s1ap_id; - scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_HandoverRequestIEs.mme_ue_s1ap_id; - } else if (present == S1AP_S1AP_PDU_PR_successfulOutcome) { - rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_HandoverRequestAcknowledgeIEs.mme_ue_s1ap_id; - scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_HandoverRequestAcknowledgeIEs.mme_ue_s1ap_id; - } else if (present == S1AP_S1AP_PDU_PR_unsuccessfulOutcome) { - rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_HandoverFailureIEs.mme_ue_s1ap_id; - scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_HandoverFailureIEs.mme_ue_s1ap_id; - } - break; - - case S1AP_ProcedureCode_id_HandoverNotification: - rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_HandoverNotifyIEs.mme_ue_s1ap_id; - scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_HandoverNotifyIEs.mme_ue_s1ap_id; - break; - - case S1AP_ProcedureCode_id_PathSwitchRequest: - //rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_PathSwitchRequestIEs.mme_ue_s1ap_id; - //scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_PathSwitchRequestIEs.mme_ue_s1ap_id; - break; - - case S1AP_ProcedureCode_id_HandoverCancel: - rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_HandoverCancelIEs.mme_ue_s1ap_id; - scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_HandoverCancelIEs.mme_ue_s1ap_id; - break; - - case S1AP_ProcedureCode_id_E_RABSetup: - if (present == S1AP_S1AP_PDU_PR_initiatingMessage) { - rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_E_RABSetupRequestIEs.mme_ue_s1ap_id; - scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_E_RABSetupRequestIEs.mme_ue_s1ap_id; - } else { - rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_E_RABSetupResponseIEs.mme_ue_s1ap_id; - scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_E_RABSetupResponseIEs.mme_ue_s1ap_id; - } - break; - - case S1ap_ProcedureCode_id_E_RABModify: - if (present == S1AP_PDU_PR_initiatingMessage) { - rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_E_RABModifyRequestIEs.mme_ue_s1ap_id; - scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_E_RABModifyRequestIEs.mme_ue_s1ap_id; - } else { - rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_E_RABModifyResponseIEs.mme_ue_s1ap_id; - scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_E_RABModifyResponseIEs.mme_ue_s1ap_id; - } - break; - - case S1ap_ProcedureCode_id_E_RABRelease: - if (present == S1AP_PDU_PR_initiatingMessage) { - rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_E_RABReleaseCommandIEs.mme_ue_s1ap_id; - scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_E_RABReleaseCommandIEs.mme_ue_s1ap_id; - } else { - rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_E_RABReleaseResponseIEs.mme_ue_s1ap_id; - scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_E_RABReleaseResponseIEs.mme_ue_s1ap_id; - } - break; - - case S1ap_ProcedureCode_id_E_RABReleaseIndication: - rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_E_RABReleaseIndicationIEs.mme_ue_s1ap_id; - scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_E_RABReleaseIndicationIEs.mme_ue_s1ap_id; - break; - - case S1ap_ProcedureCode_id_InitialContextSetup: - if (present == S1AP_PDU_PR_initiatingMessage) { - rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_InitialContextSetupRequestIEs.mme_ue_s1ap_id; - scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_InitialContextSetupRequestIEs.mme_ue_s1ap_id; - } else { - rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_InitialContextSetupResponseIEs.mme_ue_s1ap_id; - scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_InitialContextSetupResponseIEs.mme_ue_s1ap_id; - } - break; - - case S1ap_ProcedureCode_id_Paging: - //rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_PagingIEs.mme_ue_s1ap_id; - //scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_PagingIEs.mme_ue_s1ap_id; - break; - - case S1ap_ProcedureCode_id_downlinkNASTransport: - rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_DownlinkNASTransportIEs.mme_ue_s1ap_id; - scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_DownlinkNASTransportIEs.mme_ue_s1ap_id; - break; - - case S1ap_ProcedureCode_id_initialUEMessage: - //rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_InitialUEMessageIEs.mme_ue_s1ap_id; - //scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_InitialUEMessageIEs.mme_ue_s1ap_id; - break; - - case S1ap_ProcedureCode_id_uplinkNASTransport: - rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_UplinkNASTransportIEs.mme_ue_s1ap_id; - scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_UplinkNASTransportIEs.mme_ue_s1ap_id; - break; - - case S1ap_ProcedureCode_id_Reset: - //rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_ResetIEs.mme_ue_s1ap_id; - //scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_ResetIEs.mme_ue_s1ap_id; - break; - - case S1ap_ProcedureCode_id_ErrorIndication: - rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_ErrorIndicationIEs.mme_ue_s1ap_id; - scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_ErrorIndicationIEs.mme_ue_s1ap_id; - break; - - case S1ap_ProcedureCode_id_NASNonDeliveryIndication: - rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_NASNonDeliveryIndication_IEs.mme_ue_s1ap_id; - scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_NASNonDeliveryIndication_IEs.mme_ue_s1ap_id; - break; - - case S1ap_ProcedureCode_id_S1Setup: - /*if (present == S1AP_PDU_PR_initiatingMessage) { - rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_S1SetupRequestIEs.mme_ue_s1ap_id; - scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_S1SetupRequestIEs.mme_ue_s1ap_id; - } else if (present == S1AP_PDU_PR_successfulOutcome) { - rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_S1SetupResponseIEs.mme_ue_s1ap_id; - scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_S1SetupResponseIEs.mme_ue_s1ap_id; - } else if (present == S1AP_PDU_PR_unsuccessfulOutcome) { - rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_S1SetupFailureIEs.mme_ue_s1ap_id; - scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_S1SetupFailureIEs.mme_ue_s1ap_id; - }*/ - break; - - case S1ap_ProcedureCode_id_UEContextReleaseRequest: - rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_UEContextReleaseRequestIEs.mme_ue_s1ap_id; - scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_UEContextReleaseRequestIEs.mme_ue_s1ap_id; - break; - - case S1ap_ProcedureCode_id_DownlinkS1cdma2000tunneling: - rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_DownlinkS1cdma2000tunnelingIEs.mme_ue_s1ap_id; - scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_DownlinkS1cdma2000tunnelingIEs.mme_ue_s1ap_id; - break; - - case S1ap_ProcedureCode_id_UplinkS1cdma2000tunneling: - rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_UplinkS1cdma2000tunnelingIEs.mme_ue_s1ap_id; - scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_UplinkS1cdma2000tunnelingIEs.mme_ue_s1ap_id; - break; - - case S1ap_ProcedureCode_id_UEContextModification: - if (present == S1AP_PDU_PR_initiatingMessage) { - rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_UEContextModificationRequestIEs.mme_ue_s1ap_id; - scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_UEContextModificationRequestIEs.mme_ue_s1ap_id; - } else if (present == S1AP_PDU_PR_successfulOutcome) { - rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_UEContextModificationResponseIEs.mme_ue_s1ap_id; - scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_UEContextModificationResponseIEs.mme_ue_s1ap_id; - } else if (present == S1AP_PDU_PR_unsuccessfulOutcome) { - rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_UEContextModificationFailureIEs.mme_ue_s1ap_id; - scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_UEContextModificationFailureIEs.mme_ue_s1ap_id; - } - break; - - case S1ap_ProcedureCode_id_UECapabilityInfoIndication: - rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_UECapabilityInfoIndicationIEs.mme_ue_s1ap_id; - scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_UECapabilityInfoIndicationIEs.mme_ue_s1ap_id; - break; - - case S1ap_ProcedureCode_id_UEContextRelease: - if (present == S1AP_PDU_PR_initiatingMessage) { - switch (rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_UEContextReleaseCommandIEs.uE_S1AP_IDs.present) { - case S1ap_UE_S1AP_IDs_PR_uE_S1AP_ID_pair: - rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_UEContextReleaseCommandIEs.uE_S1AP_IDs.choice.uE_S1AP_ID_pair.mME_UE_S1AP_ID; - scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_UEContextReleaseCommandIEs.uE_S1AP_IDs.choice.uE_S1AP_ID_pair.mME_UE_S1AP_ID; - break; - case S1ap_UE_S1AP_IDs_PR_mME_UE_S1AP_ID: - rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_UEContextReleaseCommandIEs.uE_S1AP_IDs.choice.mME_UE_S1AP_ID; - scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_UEContextReleaseCommandIEs.uE_S1AP_IDs.choice.mME_UE_S1AP_ID; - break; - } - } else { - rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_UEContextReleaseCompleteIEs.mme_ue_s1ap_id; - scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_UEContextReleaseCompleteIEs.mme_ue_s1ap_id; - } - break; - - case S1ap_ProcedureCode_id_eNBStatusTransfer: - rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_ENBStatusTransferIEs.mme_ue_s1ap_id; - scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_ENBStatusTransferIEs.mme_ue_s1ap_id; - break; - - case S1ap_ProcedureCode_id_MMEStatusTransfer: - rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_MMEStatusTransferIEs.mme_ue_s1ap_id; - scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_MMEStatusTransferIEs.mme_ue_s1ap_id; - break; - - case S1ap_ProcedureCode_id_DeactivateTrace: - rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_DeactivateTraceIEs.mme_ue_s1ap_id; - scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_DeactivateTraceIEs.mme_ue_s1ap_id; - break; - - case S1ap_ProcedureCode_id_TraceStart: - rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_TraceStartIEs.mme_ue_s1ap_id; - scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_TraceStartIEs.mme_ue_s1ap_id; - break; - - case S1ap_ProcedureCode_id_TraceFailureIndication: - rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_TraceFailureIndicationIEs.mme_ue_s1ap_id; - scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_TraceFailureIndicationIEs.mme_ue_s1ap_id; - break; - - case S1ap_ProcedureCode_id_ENBConfigurationUpdate: - /*if (present == S1AP_PDU_PR_initiatingMessage) { - rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_ENBConfigurationUpdateIEs.mme_ue_s1ap_id; - scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_ENBConfigurationUpdateIEs.mme_ue_s1ap_id; - } else if (present == S1AP_PDU_PR_successfulOutcome) { - rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_ENBConfigurationUpdateAcknowledgeIEs.mme_ue_s1ap_id; - scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_ENBConfigurationUpdateAcknowledgeIEs.mme_ue_s1ap_id; - } else { - rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_ENBConfigurationUpdateFailureIEs.mme_ue_s1ap_id; - scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_ENBConfigurationUpdateFailureIEs.mme_ue_s1ap_id; - }*/ - break; - - case S1ap_ProcedureCode_id_MMEConfigurationUpdate: - /*if (present == S1AP_PDU_PR_initiatingMessage) { - rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_MMEConfigurationUpdateIEs.mme_ue_s1ap_id; - scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_MMEConfigurationUpdateIEs.mme_ue_s1ap_id; - } else if (present == S1AP_PDU_PR_successfulOutcome) { - rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_MMEConfigurationUpdateAcknowledgeIEs.mme_ue_s1ap_id; - scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_MMEConfigurationUpdateAcknowledgeIEs.mme_ue_s1ap_id; - } else { - rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_MMEConfigurationUpdateFailureIEs.mme_ue_s1ap_id; - scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_MMEConfigurationUpdateFailureIEs.mme_ue_s1ap_id; - }*/ - break; - - case S1ap_ProcedureCode_id_LocationReportingControl: - rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_LocationReportingControlIEs.mme_ue_s1ap_id; - scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_LocationReportingControlIEs.mme_ue_s1ap_id; - break; - - case S1ap_ProcedureCode_id_LocationReportingFailureIndication: - rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_LocationReportingFailureIndicationIEs.mme_ue_s1ap_id; - scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_LocationReportingFailureIndicationIEs.mme_ue_s1ap_id; - break; - - case S1ap_ProcedureCode_id_LocationReport: - rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_LocationReportIEs.mme_ue_s1ap_id; - scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_LocationReportIEs.mme_ue_s1ap_id; - break; - - case S1ap_ProcedureCode_id_OverloadStart: - //rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_OverloadStartIEs.mme_ue_s1ap_id; - //scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_OverloadStartIEs.mme_ue_s1ap_id; - break; - - case S1ap_ProcedureCode_id_OverloadStop: - //rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_OverloadStopIEs.mme_ue_s1ap_id; - //scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_OverloadStopIEs.mme_ue_s1ap_id; - break; - - case S1ap_ProcedureCode_id_WriteReplaceWarning: - /*if (present == S1AP_PDU_PR_initiatingMessage) { - rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_WriteReplaceWarningRequestIEs.mme_ue_s1ap_id; - scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_WriteReplaceWarningRequestIEs.mme_ue_s1ap_id; - } else { - rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_WriteReplaceWarningResponseIEs.mme_ue_s1ap_id; - scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_WriteReplaceWarningResponseIEs.mme_ue_s1ap_id; - }*/ - break; - - case S1AP_ProcedureCode_id_eNBDirectInformationTransfer: - //rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_ENBDirectInformationTransferIEs.mme_ue_s1ap_id; - //scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_ENBDirectInformationTransferIEs.mme_ue_s1ap_id; - break; - - case S1AP_ProcedureCode_id_MMEDirectInformationTransfer: - //rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_MMEDirectInformationTransferIEs.mme_ue_s1ap_id; - //scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_MMEDirectInformationTransferIEs.mme_ue_s1ap_id; - break; - - case S1AP_ProcedureCode_id_PrivateMessage: - case S1AP_ProcedureCode_id_eNBConfigurationTransfer: - case S1AP_ProcedureCode_id_MMEConfigurationTransfer: - AssertFatal(0, "TODO"); - break; - - case S1AP_ProcedureCode_id_CellTrafficTrace: - rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_CellTrafficTraceIEs.mme_ue_s1ap_id; - scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_CellTrafficTraceIEs.mme_ue_s1ap_id; - break; - - case S1AP_ProcedureCode_id_Kill: - /*if (present == S1AP_S1AP_PDU_PR_initiatingMessage) { - rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_KillRequestIEs.mme_ue_s1ap_id; - scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_KillRequestIEs.mme_ue_s1ap_id; - } else { - rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_KillResponseIEs.mme_ue_s1ap_id; - scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_KillResponseIEs.mme_ue_s1ap_id; - }*/ - break; - - case S1AP_ProcedureCode_id_downlinkUEAssociatedLPPaTransport: - rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_DownlinkUEAssociatedLPPaTransport_IEs.mme_ue_s1ap_id; - scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_DownlinkUEAssociatedLPPaTransport_IEs.mme_ue_s1ap_id; - break; - - case S1AP_ProcedureCode_id_uplinkUEAssociatedLPPaTransport: - rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_UplinkUEAssociatedLPPaTransport_IEs.mme_ue_s1ap_id; - scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_UplinkUEAssociatedLPPaTransport_IEs.mme_ue_s1ap_id; - break; - - case S1AP_ProcedureCode_id_downlinkNonUEAssociatedLPPaTransport: - //rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_DownlinkNonUEAssociatedLPPaTransport_IEs.mme_ue_s1ap_id; - //scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_DownlinkNonUEAssociatedLPPaTransport_IEs.mme_ue_s1ap_id; - break; - - case S1AP_ProcedureCode_id_uplinkNonUEAssociatedLPPaTransport: - //rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_UplinkNonUEAssociatedLPPaTransport_IEs.mme_ue_s1ap_id; - //scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_UplinkNonUEAssociatedLPPaTransport_IEs.mme_ue_s1ap_id; - break; - - default: - AssertFatal(0, "Unknown procedure code %ld", rx_packet->sctp_hdr.u.data_hdr.payload.message.procedureCode); - } - - if (scenario_mme_ue_s1ap_id != rx_mme_ue_s1ap_id) { - S1AP_DEBUG("%s() Updating mme_ue_s1ap_id %u -> %u \n", __FUNCTION__, scenario_mme_ue_s1ap_id, rx_mme_ue_s1ap_id); - et_packet_t *p = spacket; - - while (p) { - et_s1ap_update_mme_ue_s1ap_id(p, scenario_mme_ue_s1ap_id, rx_mme_ue_s1ap_id); - p = p->next; - } - return 0; - } - return 1; -} -//------------------------------------------------------------------------------ -asn_comp_rval_t * et_s1ap_is_matching(et_s1ap_t * const s1ap1, et_s1ap_t * const s1ap2, const uint32_t constraints) -{ - asn_comp_rval_t *rv = NULL; - if (s1ap1->pdu.present != s1ap2->pdu.present) {rv = calloc(1, sizeof(asn_comp_rval_t)); rv->err_code = ET_ERROR_MATCH_PACKET_S1AP_PRESENT; return rv;} - switch (s1ap1->pdu.present) { - case S1AP_PDU_PR_NOTHING: - break; - case S1AP_PDU_PR_initiatingMessage: - if (s1ap1->pdu.choice.initiatingMessage.procedureCode != s1ap2->pdu.choice.initiatingMessage.procedureCode) - {rv = calloc(1, sizeof(asn_comp_rval_t)); rv->err_code = ET_ERROR_MATCH_PACKET_S1AP_PROCEDURE_CODE; return rv;} - if (s1ap1->pdu.choice.initiatingMessage.criticality != s1ap2->pdu.choice.initiatingMessage.criticality) - {rv = calloc(1, sizeof(asn_comp_rval_t)); rv->err_code = ET_ERROR_MATCH_PACKET_S1AP_CRITICALITY; return rv;} - break; - case S1AP_PDU_PR_successfulOutcome: - if (s1ap1->pdu.choice.successfulOutcome.procedureCode != s1ap2->pdu.choice.successfulOutcome.procedureCode) - {rv = calloc(1, sizeof(asn_comp_rval_t)); rv->err_code = ET_ERROR_MATCH_PACKET_S1AP_PROCEDURE_CODE; return rv;} - if (s1ap1->pdu.choice.successfulOutcome.criticality != s1ap2->pdu.choice.successfulOutcome.criticality) - {rv = calloc(1, sizeof(asn_comp_rval_t)); rv->err_code = ET_ERROR_MATCH_PACKET_S1AP_CRITICALITY; return rv;} - break; - case S1AP_PDU_PR_unsuccessfulOutcome: - if (s1ap1->pdu.choice.unsuccessfulOutcome.procedureCode != s1ap2->pdu.choice.unsuccessfulOutcome.procedureCode) - {rv = calloc(1, sizeof(asn_comp_rval_t)); rv->err_code = ET_ERROR_MATCH_PACKET_S1AP_PROCEDURE_CODE; return rv;} - if (s1ap1->pdu.choice.unsuccessfulOutcome.criticality != s1ap2->pdu.choice.unsuccessfulOutcome.criticality) - {rv = calloc(1, sizeof(asn_comp_rval_t)); rv->err_code = ET_ERROR_MATCH_PACKET_S1AP_CRITICALITY; return rv;} - break; - default: - AssertFatal(0, "Unknown pdu.present %d", s1ap1->pdu.present); - } - - if (s1ap1->binary_stream_allocated_size == s1ap2->binary_stream_allocated_size) { - if (memcmp((void*)s1ap1->binary_stream, (void*)s1ap2->binary_stream, s1ap1->binary_stream_allocated_size) == 0) return NULL; - } - // if no matching, may be the scenario need minor corrections (same enb_ue_s1ap_id but need to update mme_ue_s1ap_id) - return et_s1ap_ies_is_matching(s1ap1->pdu.present, &s1ap1->message, &s1ap2->message, constraints); -} - -//------------------------------------------------------------------------------ -et_packet_t* et_build_packet_from_s1ap_data_ind(et_event_s1ap_data_ind_t * const s1ap_data_ind) -{ - et_packet_t * packet = NULL; - AssertFatal (NULL != s1ap_data_ind, "Bad parameter sctp_data_ind\n"); - packet = calloc(1, sizeof(*packet)); - packet->action = ET_PACKET_ACTION_S1C_NULL; - //packet->time_relative_to_first_packet.tv_sec = 0; - //packet->time_relative_to_first_packet.tv_usec = 0; - //packet->time_relative_to_last_sent_packet.tv_sec = 0; - //packet->time_relative_to_last_sent_packet.tv_usec = 0; - //packet->time_relative_to_last_received_packet.tv_sec = 0; - //packet->time_relative_to_last_received_packet.tv_usec = 0; - //packet->original_frame_number = 0; - //packet->packet_number = 0; - packet->enb_instance = 0; //TODO - //packet->ip_hdr; - // keep in mind: allocated buffer: sctp_datahdr.payload.binary_stream - packet->sctp_hdr.chunk_type = SCTP_CID_DATA; - memcpy((void*)&packet->sctp_hdr.u.data_hdr, (void*)&s1ap_data_ind->sctp_datahdr, sizeof(packet->sctp_hdr)); - //packet->next = NULL; - packet->status = ET_PACKET_STATUS_RECEIVED; - //packet->timer_id = 0; - AssertFatal(0 == gettimeofday(&packet->timestamp_packet, NULL), "gettimeofday() Failed"); - return packet; -} - - -//------------------------------------------------------------------------------ -// return 0 if packet was waited -int et_scenario_set_packet_received(et_packet_t * const packet) -{ - et_packet_t * p = NULL; - int rc = 0; - - packet->status = ET_PACKET_STATUS_RECEIVED; - S1AP_DEBUG("Packet received: num %u | original frame number %u \n", packet->packet_number, packet->original_frame_number); - S1AP_DEBUG("Last Packet received: num %u | original frame number %u \n", g_scenario->last_rx_packet->packet_number, g_scenario->last_rx_packet->original_frame_number); - - p = g_scenario->last_rx_packet; - while (NULL != p) { - if (ET_PACKET_ACTION_S1C_RECEIVE == p->action) { - if ((ET_PACKET_STATUS_RECEIVED == p->status) || (ET_PACKET_STATUS_NOT_TAKEN_IN_ACCOUNT == p->status)) { - g_scenario->last_rx_packet = p; - g_scenario->time_last_rx_packet.tv_sec = p->timestamp_packet.tv_sec; - g_scenario->time_last_rx_packet.tv_usec = p->timestamp_packet.tv_usec; - S1AP_DEBUG("Set Last Packet received: num %u | original frame number %u \n", g_scenario->last_rx_packet->packet_number, g_scenario->last_rx_packet->original_frame_number); - S1AP_DEBUG("Set time_last_rx_packet %ld.%06d\n", g_scenario->time_last_rx_packet.tv_sec, g_scenario->time_last_rx_packet.tv_usec); - } else { - break; - } - } - p = p->next; - } - - if (0 != packet->timer_id) { - rc = timer_remove(packet->timer_id); - AssertFatal(rc == 0, "TODO: Debug Timer on Rx packet num %u unknown", packet->packet_number); - g_scenario->timer_count--; - return rc; - } - return 1; -} - -//------------------------------------------------------------------------------ -int et_s1ap_process_rx_packet(et_event_s1ap_data_ind_t * const s1ap_data_ind) -{ - et_packet_t *packet = NULL; - et_packet_t *rx_packet = NULL; - unsigned long int not_found = 1; - asn_comp_rval_t *comp_results = NULL; - asn_comp_rval_t *comp_results2 = NULL; - unsigned char error_code = 0; - - AssertFatal (NULL != s1ap_data_ind, "Bad parameter sctp_data_ind\n"); - rx_packet = et_build_packet_from_s1ap_data_ind(s1ap_data_ind); - - if (NULL == g_scenario->last_rx_packet) { - packet = g_scenario->list_packet; - while (NULL != packet) { - if (packet->action == ET_PACKET_ACTION_S1C_RECEIVE) { - if ((ET_PACKET_STATUS_RECEIVED == packet->status) || (ET_PACKET_STATUS_NOT_TAKEN_IN_ACCOUNT == packet->status)) { - g_scenario->last_rx_packet = packet; - if (ET_PACKET_STATUS_NOT_TAKEN_IN_ACCOUNT != packet->status) { - g_scenario->time_last_rx_packet.tv_sec = packet->timestamp_packet.tv_sec; - g_scenario->time_last_rx_packet.tv_usec = packet->timestamp_packet.tv_usec; - } - S1AP_DEBUG("Set Last Packet received: num %u | original frame number %u \n", g_scenario->last_rx_packet->packet_number, g_scenario->last_rx_packet->original_frame_number); - S1AP_DEBUG("Set time_last_rx_packet %ld.%06d\n", g_scenario->time_last_rx_packet.tv_sec, g_scenario->time_last_rx_packet.tv_usec); - } else { - break; - } - } - packet = packet->next; - } - packet = g_scenario->list_packet; - } else { - packet = g_scenario->last_rx_packet->next; - } - // not_found threshold may sure depend on number of mme, may be not sure on number of UE - while ((NULL != packet) && (not_found < 9)) { - S1AP_DEBUG("%s() Considering packet num %d original frame number %u\n", __FUNCTION__, packet->packet_number, packet->original_frame_number); - if (packet->action == ET_PACKET_ACTION_S1C_RECEIVE) { - comp_results = et_sctp_is_matching(&packet->sctp_hdr, &rx_packet->sctp_hdr, g_constraints); - if (NULL == comp_results) { - S1AP_DEBUG("Compare RX packet with packet: num %u | original frame number %u \n", packet->packet_number, packet->original_frame_number); - packet->timestamp_packet.tv_sec = rx_packet->timestamp_packet.tv_sec; - packet->timestamp_packet.tv_usec = rx_packet->timestamp_packet.tv_usec; - return et_scenario_set_packet_received(packet); - } else { - S1AP_DEBUG("Compare RX packet with packet: num %u | original frame number %u failed\n", - packet->packet_number, packet->original_frame_number); - while (comp_results) { - S1AP_DEBUG("Result err code %s(%u) ASN1 struct name %s\n", - et_error_match2str(comp_results->err_code), comp_results->err_code, comp_results->name); - - // (each asn1 rc <= 166 (enum e_S1AP_ProtocolIE_ID, in generated file S1AP_ProtocolIE_ID.h)) - if (comp_results->err_code == COMPARE_ERR_CODE_NO_MATCH) { - //TODO MME_UE_S1AP_ID, etc. - // get latest error code - if (strcmp(comp_results->name, "S1ap-MME-UE-S1AP-ID") == 0) { - if (0 == et_handle_s1ap_mismatch_mme_ue_s1ap_id((et_packet_t *const)packet, (et_packet_t *const)rx_packet)) { - packet->timestamp_packet.tv_sec = rx_packet->timestamp_packet.tv_sec; - packet->timestamp_packet.tv_usec = rx_packet->timestamp_packet.tv_usec; - return et_scenario_set_packet_received(packet); - } - } else if (strcmp(comp_results->name, "S1ap-TransportLayerAddress") == 0) { - S1AP_WARN("Some work needed there for %s, TODO in generic_scenario.xsl, add sgw conf file in the process, anyway continuing...\n",comp_results->name); - packet->timestamp_packet.tv_sec = rx_packet->timestamp_packet.tv_sec; - packet->timestamp_packet.tv_usec = rx_packet->timestamp_packet.tv_usec; - return et_scenario_set_packet_received(packet); - } else { - S1AP_WARN("\n\nRX PACKET:\n"); - et_display_packet_sctp(&rx_packet->sctp_hdr); - S1AP_WARN("\n\nWAITED PACKET:\n"); - et_display_packet_sctp(&packet->sctp_hdr); - AssertFatal(0,"Some work needed there"); - } - } - comp_results2 = comp_results; - comp_results = comp_results2->next; - et_free_pointer(comp_results2); - } - } - } - not_found += 1; - packet = packet->next; - } - et_display_packet_sctp(&rx_packet->sctp_hdr); - AssertFatal(0, "Rx packet not found in scenario (see dump above)"); - return -1; -} - -//------------------------------------------------------------------------------ -void et_s1ap_eNB_handle_sctp_data_ind(sctp_data_ind_t * const sctp_data_ind) -{ - int result = 0; - et_event_t event; - - DevAssert(sctp_data_ind != NULL); - - memset((void*)&event, 0, sizeof(event)); - - event.code = ET_EVENT_RX_S1AP; - event.u.s1ap_data_ind.sctp_datahdr.tsn = 0; - event.u.s1ap_data_ind.sctp_datahdr.stream = sctp_data_ind->stream; - event.u.s1ap_data_ind.sctp_datahdr.ssn = 0; - event.u.s1ap_data_ind.sctp_datahdr.ppid = S1AP_SCTP_PPID; - event.u.s1ap_data_ind.sctp_datahdr.assoc_id = sctp_data_ind->assoc_id; - - event.u.s1ap_data_ind.sctp_datahdr.payload.binary_stream_pos = 0; - event.u.s1ap_data_ind.sctp_datahdr.payload.binary_stream_allocated_size = sctp_data_ind->buffer_length; - event.u.s1ap_data_ind.sctp_datahdr.payload.binary_stream = NULL; - if ((sctp_data_ind->buffer_length > 0) && (NULL != sctp_data_ind->buffer)) { - event.u.s1ap_data_ind.sctp_datahdr.payload.binary_stream = calloc(1, sctp_data_ind->buffer_length); - memcpy(event.u.s1ap_data_ind.sctp_datahdr.payload.binary_stream, - sctp_data_ind->buffer, - sctp_data_ind->buffer_length); - - if (et_s1ap_decode_pdu( - &event.u.s1ap_data_ind.sctp_datahdr.payload.pdu, - &event.u.s1ap_data_ind.sctp_datahdr.payload.message, - event.u.s1ap_data_ind.sctp_datahdr.payload.binary_stream, - event.u.s1ap_data_ind.sctp_datahdr.payload.binary_stream_allocated_size) < 0) { - AssertFatal (0, "ERROR Cannot decode RX S1AP message!\n"); - } - - } - - result = itti_free(TASK_UNKNOWN, sctp_data_ind->buffer); - AssertFatal (result == EXIT_SUCCESS, "Failed to free memory (%d)!\n", result); - - et_scenario_fsm_notify_event(event); - - memset((void*)&event, 0, sizeof(event)); - event.code = ET_EVENT_TICK; - et_scenario_fsm_notify_event(event); - -} -//------------------------------------------------------------------------------ -void et_s1ap_eNB_register_mme(s1ap_eNB_instance_t *instance_p, - net_ip_address_t *mme_ip_address, - net_ip_address_t *local_ip_addr, - uint16_t in_streams, - uint16_t out_streams) -{ - MessageDef *message_p = NULL; - sctp_new_association_req_t *sctp_new_association_req_p = NULL; - s1ap_eNB_mme_data_t *s1ap_mme_data_p = NULL; - - DevAssert(instance_p != NULL); - DevAssert(mme_ip_address != NULL); - - message_p = itti_alloc_new_message(TASK_S1AP, SCTP_NEW_ASSOCIATION_REQ); - - sctp_new_association_req_p = &message_p->ittiMsg.sctp_new_association_req; - - sctp_new_association_req_p->port = S1AP_PORT_NUMBER; - sctp_new_association_req_p->ppid = S1AP_SCTP_PPID; - - sctp_new_association_req_p->in_streams = in_streams; - sctp_new_association_req_p->out_streams = out_streams; - - memcpy(&sctp_new_association_req_p->remote_address, - mme_ip_address, - sizeof(*mme_ip_address)); - - memcpy(&sctp_new_association_req_p->local_address, - local_ip_addr, - sizeof(*local_ip_addr)); - - /* Create new MME descriptor */ - s1ap_mme_data_p = calloc(1, sizeof(*s1ap_mme_data_p)); - DevAssert(s1ap_mme_data_p != NULL); - - s1ap_mme_data_p->cnx_id = et_s1ap_eNB_fetch_add_global_cnx_id(); - sctp_new_association_req_p->ulp_cnx_id = s1ap_mme_data_p->cnx_id; - - s1ap_mme_data_p->assoc_id = -1; - s1ap_mme_data_p->s1ap_eNB_instance = instance_p; - - memcpy((void*)&s1ap_mme_data_p->mme_net_ip_address, mme_ip_address, sizeof(*mme_ip_address)); - - - STAILQ_INIT(&s1ap_mme_data_p->served_gummei); - - /* Insert the new descriptor in list of known MME - * but not yet associated. - */ - RB_INSERT(s1ap_mme_map, &instance_p->s1ap_mme_head, s1ap_mme_data_p); - s1ap_mme_data_p->state = S1AP_ENB_STATE_WAITING; - instance_p->s1ap_mme_nb ++; - instance_p->s1ap_mme_pending_nb ++; - - itti_send_msg_to_task(TASK_SCTP, instance_p->instance, message_p); -} -//------------------------------------------------------------------------------ -void et_s1ap_update_assoc_id_of_packets(const int32_t assoc_id, - struct s1ap_eNB_instance_s * const s1ap_eNB_instance, - s1ap_eNB_mme_data_t * const mme_desc_p) -{ - et_packet_t *packet = NULL; - int ret; - unsigned int old_enb_port = 0; - unsigned int old_mme_port = 0; - - S1AP_DEBUG("%s for SCTP association (%u)\n",__FUNCTION__,assoc_id); - - packet = g_scenario->list_packet; - while (NULL != packet) { - switch (packet->sctp_hdr.chunk_type) { - - case SCTP_CID_DATA : - S1AP_DEBUG("%s for SCTP association (%u) SCTP_CID_DATA\n",__FUNCTION__,assoc_id); - if ((ET_PACKET_STATUS_NONE == packet->status) || (ET_PACKET_STATUS_SCHEDULED_FOR_RECEIVING == packet->status)) { - if (0 < old_mme_port) { - if (packet->action == ET_PACKET_ACTION_S1C_SEND) { - ret = et_compare_et_ip_to_net_ip_address(&packet->ip_hdr.dst, &mme_desc_p->mme_net_ip_address); - if (0 == ret) { - ret = et_compare_et_ip_to_net_ip_address(&packet->ip_hdr.src, &s1ap_eNB_instance->s1c_net_ip_address); - if (0 == ret) { - // same IP src, same IP dst - if ((packet->sctp_hdr.dst_port == old_mme_port) && (packet->sctp_hdr.src_port == old_enb_port)) { - packet->sctp_hdr.u.data_hdr.assoc_id = assoc_id; - S1AP_DEBUG("tPacket:\tnum %u | original frame number %u \n", packet->packet_number, packet->original_frame_number); - S1AP_DEBUG("\tUpdated assoc id: %u\n", assoc_id); - } - } - } - } else if (packet->action == ET_PACKET_ACTION_S1C_RECEIVE) { - ret = et_compare_et_ip_to_net_ip_address(&packet->ip_hdr.src, &mme_desc_p->mme_net_ip_address); - if (0 == ret) { - ret = et_compare_et_ip_to_net_ip_address(&packet->ip_hdr.dst, &s1ap_eNB_instance->s1c_net_ip_address); - if (0 == ret) { - // same IP src, same IP dst - if ((packet->sctp_hdr.src_port == old_mme_port) && (packet->sctp_hdr.dst_port == old_enb_port)) { - packet->sctp_hdr.u.data_hdr.assoc_id = assoc_id; - S1AP_DEBUG("tPacket:\tnum %u | original frame number %u \n", packet->packet_number, packet->original_frame_number); - S1AP_DEBUG("\tUpdated assoc id: %u\n", assoc_id); - } - } - } - } - } - } - break; - - // Strong assumption - // in replayed scenario, the order of SCTP INIT packets is supposed to be the same as in the catched scenario - case SCTP_CID_INIT: - S1AP_DEBUG("%s for SCTP association (%u) SCTP_CID_INIT\n",__FUNCTION__,assoc_id); - ret = et_compare_et_ip_to_net_ip_address(&packet->ip_hdr.dst, &mme_desc_p->mme_net_ip_address); - if (0 == ret) { - ret = et_compare_et_ip_to_net_ip_address(&packet->ip_hdr.src, &s1ap_eNB_instance->s1c_net_ip_address); - if (0 == ret) { - if (0 == old_enb_port) { - if (ET_PACKET_STATUS_NONE == packet->status) { - packet->status = ET_PACKET_STATUS_SENT; - old_enb_port = packet->sctp_hdr.src_port; - S1AP_DEBUG("%s for SCTP association (%u) SCTP_CID_INIT SUCCESS\n",__FUNCTION__,assoc_id); - } - } - } - } - break; - - case SCTP_CID_INIT_ACK: - S1AP_DEBUG("%s for SCTP association (%u) SCTP_CID_INIT_ACK\n",__FUNCTION__,assoc_id); - ret = et_compare_et_ip_to_net_ip_address(&packet->ip_hdr.src, &mme_desc_p->mme_net_ip_address); - if (0 == ret) { - ret = et_compare_et_ip_to_net_ip_address(&packet->ip_hdr.dst, &s1ap_eNB_instance->s1c_net_ip_address); - if (0 == ret) { - if (old_enb_port == packet->sctp_hdr.dst_port) { - if (ET_PACKET_STATUS_NONE == packet->status) { - packet->status = ET_PACKET_STATUS_RECEIVED; - old_mme_port = packet->sctp_hdr.dst_port; - S1AP_DEBUG("%s for SCTP association (%u) SCTP_CID_INIT_ACK SUCCESS\n",__FUNCTION__,assoc_id); - } - } - } - } - break; - - case SCTP_CID_HEARTBEAT: - case SCTP_CID_HEARTBEAT_ACK: - case SCTP_CID_COOKIE_ECHO: - case SCTP_CID_COOKIE_ACK: - case SCTP_CID_ECN_ECNE: - case SCTP_CID_ECN_CWR: - break; - - case SCTP_CID_ABORT: - case SCTP_CID_SHUTDOWN: - case SCTP_CID_SHUTDOWN_ACK: - case SCTP_CID_ERROR: - case SCTP_CID_SHUTDOWN_COMPLETE: - //TODO - break; - - default: - AssertFatal(0, "Unknown chunk_type %d packet num %u", packet->sctp_hdr.chunk_type, packet->packet_number); - ; - } - packet = packet->next; - } -} -//------------------------------------------------------------------------------ -void et_s1ap_handle_s1_setup_message(s1ap_eNB_mme_data_t *mme_desc_p, int sctp_shutdown) -{ - if (sctp_shutdown) { - /* A previously connected MME has been shutdown */ - - /* TODO check if it was used by some eNB and send a message to inform these eNB if there is no more associated MME */ - if (mme_desc_p->state == S1AP_ENB_STATE_CONNECTED) { - mme_desc_p->state = S1AP_ENB_STATE_DISCONNECTED; - - if (mme_desc_p->s1ap_eNB_instance->s1ap_mme_associated_nb > 0) { - /* Decrease associated MME number */ - mme_desc_p->s1ap_eNB_instance->s1ap_mme_associated_nb --; - } - - /* If there are no more associated MME, inform eNB app */ - if (mme_desc_p->s1ap_eNB_instance->s1ap_mme_associated_nb == 0) { - MessageDef *message_p; - - message_p = itti_alloc_new_message(TASK_S1AP, S1AP_DEREGISTERED_ENB_IND); - S1AP_DEREGISTERED_ENB_IND(message_p).nb_mme = 0; - itti_send_msg_to_task(TASK_ENB_APP, mme_desc_p->s1ap_eNB_instance->instance, message_p); - } - } - } else { - /* Check that at least one setup message is pending */ - DevCheck(mme_desc_p->s1ap_eNB_instance->s1ap_mme_pending_nb > 0, mme_desc_p->s1ap_eNB_instance->instance, - mme_desc_p->s1ap_eNB_instance->s1ap_mme_pending_nb, 0); - - if (mme_desc_p->s1ap_eNB_instance->s1ap_mme_pending_nb > 0) { - /* Decrease pending messages number */ - mme_desc_p->s1ap_eNB_instance->s1ap_mme_pending_nb --; - mme_desc_p->s1ap_eNB_instance->s1ap_mme_associated_nb++; - } - - et_s1ap_update_assoc_id_of_packets(mme_desc_p->assoc_id, - mme_desc_p->s1ap_eNB_instance, - mme_desc_p); - - - /* If there are no more pending messages, inform eNB app */ - if (mme_desc_p->s1ap_eNB_instance->s1ap_mme_pending_nb == 0) { - MessageDef *message_p; - - message_p = itti_alloc_new_message(TASK_S1AP, S1AP_REGISTER_ENB_CNF); - S1AP_REGISTER_ENB_CNF(message_p).nb_mme = mme_desc_p->s1ap_eNB_instance->s1ap_mme_associated_nb; - itti_send_msg_to_task(TASK_ENB_APP, mme_desc_p->s1ap_eNB_instance->instance, message_p); - } - } -} -//------------------------------------------------------------------------------ -void et_s1ap_eNB_handle_register_eNB(instance_t instance, s1ap_register_enb_req_t *s1ap_register_eNB) -{ - s1ap_eNB_instance_t *new_instance; - uint8_t index; - - DevAssert(s1ap_register_eNB != NULL); - - /* Look if the provided instance already exists */ - new_instance = et_s1ap_eNB_get_instance(instance); - - if (new_instance != NULL) { - /* Checks if it is a retry on the same eNB */ - DevCheck(new_instance->eNB_id == s1ap_register_eNB->eNB_id, new_instance->eNB_id, s1ap_register_eNB->eNB_id, 0); - DevCheck(new_instance->cell_type == s1ap_register_eNB->cell_type, new_instance->cell_type, s1ap_register_eNB->cell_type, 0); - DevCheck(new_instance->tac == s1ap_register_eNB->tac, new_instance->tac, s1ap_register_eNB->tac, 0); - DevCheck(new_instance->mcc == s1ap_register_eNB->mcc, new_instance->mcc, s1ap_register_eNB->mcc, 0); - DevCheck(new_instance->mnc == s1ap_register_eNB->mnc, new_instance->mnc, s1ap_register_eNB->mnc, 0); - DevCheck(new_instance->mnc_digit_length == s1ap_register_eNB->mnc_digit_length, new_instance->mnc_digit_length, s1ap_register_eNB->mnc_digit_length, 0); - DevCheck(memcmp((void*)&new_instance->s1c_net_ip_address, (void*)&s1ap_register_eNB->enb_ip_address, sizeof(new_instance->s1c_net_ip_address)) == 0, 0,0,0); - } else { - new_instance = calloc(1, sizeof(s1ap_eNB_instance_t)); - DevAssert(new_instance != NULL); - - RB_INIT(&new_instance->s1ap_ue_head); - RB_INIT(&new_instance->s1ap_mme_head); - - /* Copy usefull parameters */ - new_instance->instance = instance; - new_instance->eNB_name = s1ap_register_eNB->eNB_name; - new_instance->eNB_id = s1ap_register_eNB->eNB_id; - new_instance->cell_type = s1ap_register_eNB->cell_type; - new_instance->tac = s1ap_register_eNB->tac; - new_instance->mcc = s1ap_register_eNB->mcc; - new_instance->mnc = s1ap_register_eNB->mnc; - new_instance->mnc_digit_length = s1ap_register_eNB->mnc_digit_length; - memcpy((void*)&new_instance->s1c_net_ip_address, (void*)&s1ap_register_eNB->enb_ip_address, sizeof(new_instance->s1c_net_ip_address)); - - /* Add the new instance to the list of eNB (meaningfull in virtual mode) */ - et_s1ap_eNB_insert_new_instance(new_instance); - - S1AP_DEBUG("Registered new eNB[%d] and %s eNB id %u\n", - instance, - s1ap_register_eNB->cell_type == CELL_MACRO_ENB ? "macro" : "home", - s1ap_register_eNB->eNB_id); - } - - DevCheck(s1ap_register_eNB->nb_mme <= S1AP_MAX_NB_MME_IP_ADDRESS, - S1AP_MAX_NB_MME_IP_ADDRESS, s1ap_register_eNB->nb_mme, 0); - - /* Trying to connect to provided list of MME ip address */ - for (index = 0; index < s1ap_register_eNB->nb_mme; index++) { - et_s1ap_eNB_register_mme(new_instance, - &s1ap_register_eNB->mme_ip_address[index], - &s1ap_register_eNB->enb_ip_address, - s1ap_register_eNB->sctp_in_streams, - s1ap_register_eNB->sctp_out_streams); - } -} - -//------------------------------------------------------------------------------ -void et_s1ap_eNB_handle_sctp_association_resp(instance_t instance, sctp_new_association_resp_t *sctp_new_association_resp) -{ - s1ap_eNB_instance_t *instance_p = NULL; - s1ap_eNB_mme_data_t *s1ap_mme_data_p = NULL; - - DevAssert(sctp_new_association_resp != NULL); - - instance_p = et_s1ap_eNB_get_instance(instance); - DevAssert(instance_p != NULL); - - s1ap_mme_data_p = et_s1ap_eNB_get_MME(instance_p, -1, - sctp_new_association_resp->ulp_cnx_id); - DevAssert(s1ap_mme_data_p != NULL); - - if (sctp_new_association_resp->sctp_state != SCTP_STATE_ESTABLISHED) { - S1AP_WARN("Received unsuccessful result for SCTP association (%u), instance %d, cnx_id %u\n", - sctp_new_association_resp->sctp_state, - instance, - sctp_new_association_resp->ulp_cnx_id); - - et_s1ap_handle_s1_setup_message(s1ap_mme_data_p, sctp_new_association_resp->sctp_state == SCTP_STATE_SHUTDOWN); - - return; - } - - S1AP_DEBUG("Received successful result for SCTP association (%u), instance %d, cnx_id %u\n", - sctp_new_association_resp->sctp_state, - instance, - sctp_new_association_resp->ulp_cnx_id); - /* Update parameters */ - s1ap_mme_data_p->assoc_id = sctp_new_association_resp->assoc_id; - s1ap_mme_data_p->in_streams = sctp_new_association_resp->in_streams; - s1ap_mme_data_p->out_streams = sctp_new_association_resp->out_streams; - - et_s1ap_handle_s1_setup_message(s1ap_mme_data_p, sctp_new_association_resp->sctp_state == SCTP_STATE_SHUTDOWN); -} - -//------------------------------------------------------------------------------ -void *et_s1ap_eNB_task(void *arg) -{ - MessageDef *received_msg = NULL; - int result; - - S1AP_DEBUG("Starting S1AP layer\n"); - - et_s1ap_eNB_prepare_internal_data(); - - itti_mark_task_ready(TASK_S1AP); - - while (1) { - itti_receive_msg(TASK_S1AP, &received_msg); - - switch (ITTI_MSG_ID(received_msg)) { - case TERMINATE_MESSAGE: - S1AP_WARN("*** Exiting S1AP thread\n"); - itti_exit_task(); - break; - - case S1AP_REGISTER_ENB_REQ: { - /* Register a new eNB. - * in Virtual mode eNBs will be distinguished using the mod_id/ - * Each eNB has to send an S1AP_REGISTER_ENB message with its - * own parameters. - */ - et_s1ap_eNB_handle_register_eNB(ITTI_MSG_DESTINATION_INSTANCE(received_msg), - &S1AP_REGISTER_ENB_REQ(received_msg)); - } - break; - - case SCTP_NEW_ASSOCIATION_RESP: { - et_s1ap_eNB_handle_sctp_association_resp(ITTI_MSG_DESTINATION_INSTANCE(received_msg), - &received_msg->ittiMsg.sctp_new_association_resp); - } - break; - - case SCTP_DATA_IND: { - et_s1ap_eNB_handle_sctp_data_ind(&received_msg->ittiMsg.sctp_data_ind); - } - break; - - case TIMER_HAS_EXPIRED: - LOG_I(S1AP, " Received TIMER_HAS_EXPIRED: timer_id %d\n", TIMER_HAS_EXPIRED(received_msg).timer_id); - { - et_packet_t * packet = (et_packet_t*)TIMER_HAS_EXPIRED (received_msg).arg; - et_event_t event; - g_scenario->timer_count--; - if (NULL != packet) { - if (packet->status == ET_PACKET_STATUS_SCHEDULED_FOR_RECEIVING) { - memset((void*)&event, 0, sizeof(event)); - event.code = ET_EVENT_RX_PACKET_TIME_OUT; - event.u.rx_packet_time_out = packet; - et_scenario_fsm_notify_event(event); - } else if (packet->status == ET_PACKET_STATUS_SCHEDULED_FOR_SENDING) { - memset((void*)&event, 0, sizeof(event)); - event.code = ET_EVENT_TX_TIMED_PACKET; - event.u.tx_timed_packet = packet; - et_scenario_fsm_notify_event(event); - - et_event_t continue_event; - continue_event.code = ET_EVENT_TICK; - et_scenario_fsm_notify_event(continue_event); - } else if ((packet->status != ET_PACKET_STATUS_SENT) && ((packet->status != ET_PACKET_STATUS_RECEIVED))) { - AssertFatal (0, "Bad status %d of packet timed out!\n", packet->status); - } - } else { - LOG_W(S1AP, " Received TIMER_HAS_EXPIRED: timer_id %d, no packet attached to timer\n", TIMER_HAS_EXPIRED(received_msg).timer_id); - } - } - if (TIMER_HAS_EXPIRED (received_msg).timer_id == g_scenario->enb_register_retry_timer_id) { - /* Restart the registration process */ - g_scenario->registered_enb = 0; - et_eNB_app_register (g_scenario->enb_properties); - } - break; - - default: - S1AP_ERROR("Received unhandled message: %d:%s\n", - ITTI_MSG_ID(received_msg), ITTI_MSG_NAME(received_msg)); - break; - } - - result = itti_free (ITTI_MSG_ORIGIN_ID(received_msg), received_msg); - AssertFatal (result == EXIT_SUCCESS, "Failed to free memory (%d)!\n", result); - - received_msg = NULL; - } - - return NULL; -} - - diff --git a/openair3/TEST/EPC_TEST/play_scenario_s1ap_compare_ie.c b/openair3/TEST/EPC_TEST/play_scenario_s1ap_compare_ie.c deleted file mode 100644 index 40654fc77159b32e5773d52112057da45217b2a9..0000000000000000000000000000000000000000 --- a/openair3/TEST/EPC_TEST/play_scenario_s1ap_compare_ie.c +++ /dev/null @@ -1,231 +0,0 @@ -/* - * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The OpenAirInterface Software Alliance licenses this file to You under - * the OAI Public License, Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.openairinterface.org/?page_id=698 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - *------------------------------------------------------------------------------- - * For more information about the OpenAirInterface (OAI) Software Alliance: - * contact@openairinterface.org - */ - -/* - play_scenario_s1ap_compare_ie.c - ------------------- - AUTHOR : Lionel GAUTHIER - COMPANY : EURECOM - EMAIL : Lionel.Gauthier@eurecom.fr - */ -#include <pthread.h> -#include <stdio.h> -#include <stdlib.h> -#include <stdint.h> -#include <stdarg.h> -#include <unistd.h> -#include <crypt.h> -#include <errno.h> -#include <libxml/tree.h> -#include <libxml/parser.h> -#include <libxml/xpath.h> -#include <libxml/xpathInternals.h> -#include "tree.h" -#include "queue.h" - - -#include "intertask_interface.h" -#include "platform_types.h" -#include "assertions.h" -#include "conversions.h" -#include "s1ap_common.h" -#include "play_scenario_s1ap_eNB_defs.h" -#include "play_scenario.h" -//------------------------------------------------------------------------------ -extern et_scenario_t *g_scenario; -extern uint32_t g_constraints; -//------------------------------------------------------------------------------ - -//asn_comp_rval_t * et_s1ap_ies_is_matching(const S1AP_PDU_PR present, s1ap_message * const m1, s1ap_message * const m2, const uint32_t constraints) -//{ -//} - -void update_xpath_node_mme_ue_s1ap_id(et_s1ap_t * const s1ap, xmlNode *node, const S1ap_MME_UE_S1AP_ID_t new_id) -{ - xmlNode *cur_node = NULL; - xmlAttrPtr attr = NULL; - xmlChar *xml_char = NULL; - int size = 0; - int pos = 0; - int go_deeper_in_tree = 1; - //S1AP_INFO("%s() mme_ue_s1ap_id %u\n", __FUNCTION__, new_id); - - // modify - for (cur_node = (xmlNode *)node; cur_node; cur_node = cur_node->next) { - go_deeper_in_tree = 1; - if ((!xmlStrcmp(cur_node->name, (const xmlChar *)"field"))) { - // do not get hidden fields - xml_char = xmlGetProp((xmlNode *)cur_node, (const xmlChar *)"hide"); - if (NULL != xml_char) { - if ((!xmlStrcmp(xml_char, (const xmlChar *)"yes"))) { - go_deeper_in_tree = 0; - } - xmlFree(xml_char); - } - if (0 < go_deeper_in_tree) { - // first get size - xml_char = xmlGetProp((xmlNode *)cur_node, (const xmlChar *)"pos"); - if (NULL != xml_char) { - pos = strtoul((const char *)xml_char, NULL, 0); - pos -= s1ap->xml_stream_pos_offset; - AssertFatal(pos >= 0, "Bad pos %d xml_stream_pos_offset %d", pos, s1ap->xml_stream_pos_offset); - xmlFree(xml_char); - xml_char = xmlGetProp((xmlNode *)cur_node, (const xmlChar *)"size"); - if (NULL != xml_char) { - const xmlChar value_d[32]; - const xmlChar value_h[20]; - const xmlChar showname[64]; - int ret = 0; - int pos2 = 0; - unsigned long int uli = 0; - char hex[3] = {0,0,0}; - char *end_ptr = NULL; - - size = strtoul((const char *)xml_char, NULL, 0); - xmlFree(xml_char); - // second: try to set value (always hex) - ret = snprintf((char *)value_d, 32, "%ld", new_id); - AssertFatal((ret > 0) && (ret < 32), "Could not convert int to dec str"); - ret = snprintf((char *)value_h, 20, "C0%08X", new_id); - AssertFatal((ret > 0) && (ret < 20), "Could not convert int to hex str"); - ret = snprintf((char *)showname, 64, "MME-UE-S1AP-ID: %d", new_id); - AssertFatal((ret > 0) && (ret < 64), "Could not convert int to dec str"); - - attr = xmlSetProp((xmlNode *)cur_node, (const xmlChar *)"value", value_h); - attr = xmlSetProp((xmlNode *)cur_node, (const xmlChar *)"show", value_d); - attr = xmlSetProp((xmlNode *)cur_node, (const xmlChar *)"showname", showname); - //TODO update s1ap->binary_stream @pos with new_id_hex, size - AssertFatal((pos+size) < s1ap->binary_stream_allocated_size, "Rewrite of mme_ue_s1ap_id out of bounds of binary_stream"); - //avoid endianess issues - do { - hex[0] = value_h[pos2++]; - hex[1] = value_h[pos2++]; - hex[2] = '\0'; - end_ptr = hex; - uli = strtoul(hex, &end_ptr, 16); - AssertFatal((uli != ULONG_MAX) && (end_ptr != NULL) && (*end_ptr == '\0'), "Conversion of hexstring %s failed returned %lu errno %d", hex, uli, errno); - s1ap->binary_stream[pos++] = (unsigned char)uli; - } while (pos2 < (2*5)); - // update ASN1 - et_decode_s1ap(s1ap); - //S1AP_INFO("Updated ASN1 for %s\n", showname); - } - } - } - } - if (0 < go_deeper_in_tree) { - update_xpath_node_mme_ue_s1ap_id(s1ap, cur_node->children, new_id); - } - } -} - -/** - * update_xpath_nodes: - * @nodes: the nodes set. - * @value: the new value for the node(s) - * - * Prints the @nodes content to @output. - * From http://www.xmlsoft.org/examples/#xpath2.c - */ -void update_xpath_nodes_mme_ue_s1ap_id(et_s1ap_t * const s1ap_payload, xmlNodeSetPtr nodes, const S1ap_MME_UE_S1AP_ID_t new_id) -{ - int size = 0; - int i = 0; - xmlNode *s1ap_node = NULL; - - size = (nodes) ? nodes->nodeNr : 0; - //S1AP_DEBUG("%s() num nodes %u\n", __FUNCTION__, size); - - /* - * NOTE: the nodes are processed in reverse order, i.e. reverse document - * order because xmlNodeSetContent can actually free up descendant - * of the node and such nodes may have been selected too ! Handling - * in reverse order ensure that descendant are accessed first, before - * they get removed. Mixing XPath and modifications on a tree must be - * done carefully ! - */ - for(i = size - 1; i >= 0; i--) { - s1ap_node = nodes->nodeTab[i]; - AssertFatal(NULL != s1ap_node, "One element of resultset of XPATH expression is NULL\n"); - update_xpath_node_mme_ue_s1ap_id(s1ap_payload, s1ap_node, new_id); - /* - * All the elements returned by an XPath query are pointers to - * elements from the tree *except* namespace nodes where the XPath - * semantic is different from the implementation in libxml2 tree. - * As a result when a returned node set is freed when - * xmlXPathFreeObject() is called, that routine must check the - * element type. But node from the returned set may have been removed - * by xmlNodeSetContent() resulting in access to freed data. - * This can be exercised by running valgrind - * There is 2 ways around it: - * - make a copy of the pointers to the nodes from the result set - * then call xmlXPathFreeObject() and then modify the nodes - * or - * - remove the reference to the modified nodes from the node set - * as they are processed, if they are not namespace nodes. - */ - if (nodes->nodeTab[i]->type != XML_NAMESPACE_DECL) { - nodes->nodeTab[i] = NULL; - } - } -} -//------------------------------------------------------------------------------ -int et_s1ap_update_mme_ue_s1ap_id(et_packet_t * const packet, const S1ap_MME_UE_S1AP_ID_t old_id, const S1ap_MME_UE_S1AP_ID_t new_id) -{ - xmlChar xpath_expression[ET_XPATH_EXPRESSION_MAX_LENGTH]; - int ret = 0; - xmlDocPtr doc = NULL; - xmlXPathContextPtr xpath_ctx = NULL; - xmlXPathObjectPtr xpath_obj = NULL; - - //S1AP_DEBUG("%s() packet num %u original frame number %u, mme_ue_s1ap_id %u -> %u\n", __FUNCTION__, packet->packet_number, packet->original_frame_number, old_id, new_id); - - ret = snprintf(xpath_expression, ET_XPATH_EXPRESSION_MAX_LENGTH, "//field[@name=\"s1ap.MME_UE_S1AP_ID\"][@show=\"%u\"]", old_id); - AssertFatal((ret > 0) && (ret < ET_XPATH_EXPRESSION_MAX_LENGTH), "Could not build XPATH expression err=%d", ret); - - doc = packet->sctp_hdr.u.data_hdr.payload.doc; - // Create xpath evaluation context - xpath_ctx = xmlXPathNewContext(doc); - if(xpath_ctx == NULL) { - fprintf(stderr,"Error: unable to create new XPath context\n"); - xmlFreeDoc(doc); - return(-1); - } - - // Evaluate xpath expression - xpath_obj = xmlXPathEvalExpression(xpath_expression, xpath_ctx); - xmlXPathFreeContext(xpath_ctx); - AssertFatal(xpath_obj != NULL, "Unable to evaluate XPATH expression \"%s\"\n", xpath_expression); - - if(xmlXPathNodeSetIsEmpty(xpath_obj->nodesetval)){ - xmlXPathFreeObject(xpath_obj); - S1AP_DEBUG("%s() No match \"%s\"packet num %u original frame number %u, mme_ue_s1ap_id %u -> %u\n", - __FUNCTION__, xpath_expression, packet->packet_number, packet->original_frame_number, old_id, new_id); - return -1; - } - // update selected nodes - update_xpath_nodes_mme_ue_s1ap_id(&packet->sctp_hdr.u.data_hdr.payload, xpath_obj->nodesetval, new_id); - - // Cleanup of XPath data - xmlXPathFreeObject(xpath_obj); - - return 0; -} diff --git a/openair3/TEST/EPC_TEST/play_scenario_s1ap_eNB_defs.h b/openair3/TEST/EPC_TEST/play_scenario_s1ap_eNB_defs.h deleted file mode 100644 index 532e14bb1d382c00b23cc6557c64453c59be1672..0000000000000000000000000000000000000000 --- a/openair3/TEST/EPC_TEST/play_scenario_s1ap_eNB_defs.h +++ /dev/null @@ -1,242 +0,0 @@ -/* - * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The OpenAirInterface Software Alliance licenses this file to You under - * the OAI Public License, Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.openairinterface.org/?page_id=698 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - *------------------------------------------------------------------------------- - * For more information about the OpenAirInterface (OAI) Software Alliance: - * contact@openairinterface.org - */ - -#include <stdint.h> - -#include "queue.h" -#include "tree.h" - -#include "sctp_eNB_defs.h" - -#ifndef PLAY_SCENARIO_S1AP_ENB_DEFS_H_ -#define PLAY_SCENARIO_S1AP_ENB_DEFS_H_ - -#define ENB_TAC (1) -#define ENB_MCC (208) -#define ENB_MNC (92) - -#define ENB_NAME "Eurecom ENB" -#define ENB_NAME_FORMAT (ENB_NAME" %u") - -#define S1AP_PORT_NUMBER (36412) -#define S1AP_SCTP_PPID (18) - -#define X2AP_PORT_NUMBER (36422) -#define X2AP_SCTP_PPID (27) - -#define S1AP_ENB_NAME_LENGTH_MAX (150) - -typedef enum { - /* Disconnected state: initial state for any association. */ - S1AP_ENB_STATE_DISCONNECTED = 0x0, - /* State waiting for S1 Setup response message if eNB is MME accepted or - * S1 Setup failure if MME rejects the eNB. - */ - S1AP_ENB_STATE_WAITING = 0x1, - /* The eNB is successfully connected to MME, UE contexts can be created. */ - S1AP_ENB_STATE_CONNECTED = 0x2, - /* The MME has sent an overload start message. Once the MME disables the - * OVERLOAD marker, the state of the association will be - * S1AP_ENB_STATE_CONNECTED. - */ - S1AP_ENB_OVERLOAD = 0x3, - /* Max number of states available */ - S1AP_ENB_STATE_MAX, -} s1ap_eNB_state_t; - - -/* If the Overload Action IE in the OVERLOAD START message is set to - * - “reject all RRC connection establishments for non-emergency mobile - * originated data transfer “ (i.e. reject traffic corresponding to RRC cause - * “mo-data “ (TS 36.331 [16])), or - * - “reject all RRC connection establishments for signalling “ (i.e. reject - * traffic corresponding to RRC cause “modata†and “mo-signalling†- * (TS 36.331 [16])),or - * - “only permit RRC connection establishments for emergency sessions and - * mobile terminated services†(i.e. only permit traffic corresponding to RRC - * cause “emergency†and “mt-Access†(TS 36.331 [16])). - * - * NOTE: When the Overload Action IE is set to “only permit RRC connection - * establishments for emergency sessions and mobile terminated servicesâ€, - * emergency calls with RRC cause “highPriorityAcess†from high priority users - * are rejected (TS 24.301 [24]). - */ -typedef enum { - S1AP_OVERLOAD_REJECT_MO_DATA = 0x0, - S1AP_OVERLOAD_REJECT_ALL_SIGNALLING = 0x1, - S1AP_OVERLOAD_ONLY_EMERGENCY_AND_MT = 0x2, - S1AP_NO_OVERLOAD = 0x3, - S1AP_OVERLOAD_MAX, -} s1ap_overload_state_t; - -/* Served PLMN identity element */ -struct plmn_identity_s { - uint16_t mcc; - uint16_t mnc; - uint8_t mnc_digit_length; - STAILQ_ENTRY(plmn_identity_s) next; -}; - -/* Served group id element */ -struct served_group_id_s { - uint16_t mme_group_id; - STAILQ_ENTRY(served_group_id_s) next; -}; - -/* Served mme code for a particular MME */ -struct mme_code_s { - uint8_t mme_code; - STAILQ_ENTRY(mme_code_s) next; -}; - -/* Served gummei element */ -struct served_gummei_s { - /* Number of MME served PLMNs */ - uint8_t nb_served_plmns; - /* List of served PLMNs by MME */ - STAILQ_HEAD(served_plmns_s, plmn_identity_s) served_plmns; - - /* Number of group id in list */ - uint8_t nb_group_id; - /* Served group id list */ - STAILQ_HEAD(served_group_ids_s, served_group_id_s) served_group_ids; - - /* Number of MME code */ - uint8_t nb_mme_code; - /* MME Code to uniquely identify an MME within an MME pool area */ - STAILQ_HEAD(mme_codes_s, mme_code_s) mme_codes; - - /* Next GUMMEI element */ - STAILQ_ENTRY(served_gummei_s) next; -}; - -struct s1ap_eNB_instance_s; - -/* This structure describes association of a eNB to a MME */ -typedef struct s1ap_eNB_mme_data_s { - /* MME descriptors tree, ordered by sctp assoc id */ - RB_ENTRY(s1ap_eNB_mme_data_s) entry; - - /* This is the optional name provided by the MME */ - char *mme_name; - net_ip_address_t mme_net_ip_address; // useful for joining assoc_id and ip address of packets - - /* List of served GUMMEI per MME. There is one GUMMEI per RAT with a max - * number of 8 RATs but in our case only one is used. The LTE related pool - * configuration is included on the first place in the list. - */ - STAILQ_HEAD(served_gummeis_s, served_gummei_s) served_gummei; - - /* Relative processing capacity of an MME with respect to the other MMEs - * in the pool in order to load-balance MMEs within a pool as defined - * in TS 23.401. - */ - uint8_t relative_mme_capacity; - - /* Current MME overload information (if any). */ - s1ap_overload_state_t overload_state; - /* Current eNB->MME S1AP association state */ - s1ap_eNB_state_t state; - - /* Next usable stream for UE signalling */ - int32_t nextstream; - - /* Number of input/ouput streams */ - uint16_t in_streams; - uint16_t out_streams; - - /* Connexion id used between SCTP/S1AP */ - uint16_t cnx_id; - - /* SCTP association id */ - int32_t assoc_id; - - /* Only meaningfull in virtual mode */ - struct s1ap_eNB_instance_s *s1ap_eNB_instance; -} s1ap_eNB_mme_data_t; - -typedef struct s1ap_eNB_instance_s { - /* Next s1ap eNB association. - * Only used for virtual mode. - */ - STAILQ_ENTRY(s1ap_eNB_instance_s) s1ap_eNB_entries; - - /* Number of MME requested by eNB (tree size) */ - uint32_t s1ap_mme_nb; - /* Number of MME for which association is pending */ - uint32_t s1ap_mme_pending_nb; - /* Number of MME successfully associated to eNB */ - uint32_t s1ap_mme_associated_nb; - /* Tree of S1AP MME associations ordered by association ID */ - RB_HEAD(s1ap_mme_map, s1ap_eNB_mme_data_s) s1ap_mme_head; - - /* TODO: add a map ordered by relative MME capacity */ - - /* Tree of UE ordered by eNB_ue_s1ap_id's */ - RB_HEAD(s1ap_ue_map, s1ap_eNB_ue_context_s) s1ap_ue_head; - - /* For virtual mode, mod_id as defined in the rest of the L1/L2 stack */ - instance_t instance; - - /* Displayable name of eNB */ - char *eNB_name; - net_ip_address_t s1c_net_ip_address; - - /* Unique eNB_id to identify the eNB within EPC. - * In our case the eNB is a macro eNB so the id will be 20 bits long. - * For Home eNB id, this field should be 28 bits long. - */ - uint32_t eNB_id; - /* The type of the cell */ - enum cell_type_e cell_type; - - /* Tracking area code */ - uint16_t tac; - - /* Mobile Country Code - * Mobile Network Code - */ - uint16_t mcc; - uint16_t mnc; - uint8_t mnc_digit_length; - -} s1ap_eNB_instance_t; - -typedef struct { - /* List of served eNBs - * Only used for virtual mode - */ - STAILQ_HEAD(s1ap_eNB_instances_head_s, s1ap_eNB_instance_s) s1ap_eNB_instances_head; - /* Nb of registered eNBs */ - uint8_t nb_registered_eNBs; - - /* Generate a unique connexion id used between S1AP and SCTP */ - uint16_t global_cnx_id; -} s1ap_eNB_internal_data_t; - -int s1ap_eNB_compare_assoc_id( - struct s1ap_eNB_mme_data_s *p1, struct s1ap_eNB_mme_data_s *p2); - -/* Generate the tree management functions */ -RB_PROTOTYPE(s1ap_mme_map, s1ap_eNB_mme_data_s, entry, - s1ap_eNB_compare_assoc_id); - -#endif /* PLAY_SCENARIO_S1AP_ENB_DEFS_H_ */ diff --git a/openair3/TEST/EPC_TEST/play_scenario_sctp.c b/openair3/TEST/EPC_TEST/play_scenario_sctp.c deleted file mode 100644 index c126608598bdb62d6aeee08a3d05335941f2c863..0000000000000000000000000000000000000000 --- a/openair3/TEST/EPC_TEST/play_scenario_sctp.c +++ /dev/null @@ -1,112 +0,0 @@ -/* - * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The OpenAirInterface Software Alliance licenses this file to You under - * the OAI Public License, Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.openairinterface.org/?page_id=698 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - *------------------------------------------------------------------------------- - * For more information about the OpenAirInterface (OAI) Software Alliance: - * contact@openairinterface.org - */ - -/* - play_scenario_sctp.c - ------------------- - AUTHOR : Lionel GAUTHIER - COMPANY : EURECOM - EMAIL : Lionel.Gauthier@eurecom.fr - */ - - -#include <errno.h> - -#include "intertask_interface.h" -#include "platform_types.h" -#include "assertions.h" -#include "play_scenario.h" - -//------------------------------------------------------------------------------ -asn_comp_rval_t *et_sctp_data_is_matching(sctp_datahdr_t *const sctp1, sctp_datahdr_t *const sctp2, const uint32_t constraints) -{ - asn_comp_rval_t *rv = NULL; - - // no comparison for ports - if (sctp1->ppid != sctp2->ppid) { - S1AP_WARN("No Matching SCTP PPID %u %u\n", sctp1->ppid, sctp2->ppid); - rv = calloc(1, sizeof(asn_comp_rval_t)); - rv->err_code = ET_ERROR_MATCH_PACKET_SCTP_PPID; - return rv; - } - - if (sctp1->assoc_id != sctp2->assoc_id) { - S1AP_WARN("No Matching SCTP assoc id %u %u\n", sctp1->assoc_id, sctp2->assoc_id); - rv = calloc(1, sizeof(asn_comp_rval_t)); - rv->err_code = ET_ERROR_MATCH_PACKET_SCTP_ASSOC_ID; - return rv; - } - - if (sctp1->stream != sctp2->stream) { - if (constraints & ET_BIT_MASK_MATCH_SCTP_STREAM) { - rv = calloc(1, sizeof(asn_comp_rval_t)); - rv->err_code = ET_ERROR_MATCH_PACKET_SCTP_STREAM_ID; - return rv; - } else { - S1AP_WARN("No Matching SCTP stream %u %u\n", sctp1->stream, sctp2->stream); - } - } - - // We do not have SSN from lower layers - // if (sctp1->ssn != sctp2->ssn) { - // if (constraints & ET_BIT_MASK_MATCH_SCTP_SSN) { - // rv = calloc(1, sizeof(asn_comp_rval_t)); - // rv->err_code = ET_ERROR_MATCH_PACKET_SCTP_SSN; - // return rv; - // } else { - // S1AP_WARN("No Matching SCTP STREAM SN %u %u\n", sctp1->ssn, sctp2->ssn); - // } - // } - return et_s1ap_is_matching(&sctp1->payload, &sctp2->payload, constraints); -} - -//------------------------------------------------------------------------------ -asn_comp_rval_t *et_sctp_is_matching(et_sctp_hdr_t *const sctp1, et_sctp_hdr_t *const sctp2, const uint32_t constraints) -{ - // no comparison for ports - asn_comp_rval_t *rv = NULL; - - if (sctp1->chunk_type != sctp2->chunk_type) { - S1AP_WARN("No Matching chunk_type %u %u\n", sctp1->chunk_type, sctp2->chunk_type); - rv = calloc(1, sizeof(asn_comp_rval_t)); - rv->err_code = ET_ERROR_MATCH_PACKET_SCTP_CHUNK_TYPE; - return rv; - } - - switch (sctp1->chunk_type) { - case SCTP_CID_DATA: - return et_sctp_data_is_matching(&sctp1->u.data_hdr, &sctp2->u.data_hdr, constraints); - break; - - case SCTP_CID_INIT: - AssertFatal(0, "Not needed now"); - break; - - case SCTP_CID_INIT_ACK: - AssertFatal(0, "Not needed now"); - break; - - default: - AssertFatal(0, "Not needed now cid %d", sctp1->chunk_type); - } - - return NULL; -} diff --git a/openair3/TEST/oaisim_mme_client_test.c b/openair3/TEST/oaisim_mme_client_test.c deleted file mode 100644 index 8fcda8a5ad01f5539d6511c022425ee5fb59d679..0000000000000000000000000000000000000000 --- a/openair3/TEST/oaisim_mme_client_test.c +++ /dev/null @@ -1,122 +0,0 @@ -/* - * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The OpenAirInterface Software Alliance licenses this file to You under - * the OAI Public License, Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.openairinterface.org/?page_id=698 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - *------------------------------------------------------------------------------- - * For more information about the OpenAirInterface (OAI) Software Alliance: - * contact@openairinterface.org - */ - -#include <stdio.h> -#include <string.h> -#include <unistd.h> -#include <pthread.h> - -#include <sys/types.h> -#include <sys/socket.h> -#include <netinet/in.h> -#include <netinet/sctp.h> -#include <arpa/inet.h> - -#include "sctp_primitives_client.h" - -#include "s1ap_common.h" -#include "s1ap_eNB.h" -#include "s1ap_mme.h" - -char ip_addr[] = "127.0.0.1"; - -int assoc[2]; -uint8_t id[] = { 0x03, 0x56, 0xf0, 0xd8 }; -char identity[] = { 0x02, 0x08, 0x34 }; -char tac[] = { 0x00, 0x01 }; -char infoNAS[] = { 0x07, 0x42, 0x01, 0xE0, 0x06, 0x00, 0x00, 0xF1, 0x10, 0x00, 0x01, 0x00, 0x2C, - 0x52, 0x01, 0xC1, 0x01, 0x09, 0x10, 0x03, 0x77, 0x77, 0x77, 0x07, 0x61, 0x6E, 0x72, 0x69, 0x74, - 0x73, 0x75, 0x03, 0x63, 0x6F, 0x6D, 0x05, 0x01, 0x0A, 0x01, 0x20, 0x37, 0x27, 0x0E, 0x80, 0x80, - 0x21, 0x0A, 0x03, 0x00, 0x00, 0x0A, 0x81, 0x06, 0x0A, 0x00, 0x00, 0x01, 0x50, 0x0B, 0xF6, - 0x00, 0xF1, 0x10, 0x80, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01 - }; - -uint32_t eNB_UE_S1AP_ID = 0; - -int s1ap_eNB_generate_initial_ue_message(uint8_t **buffer, - uint32_t *length); - -int s1ap_eNB_generate_initial_ue_message(uint8_t **buffer, - uint32_t *length) -{ - InitialUEMessageIEs initialUEmessageIEs; - InitialUEMessageIEs *initialUEmessageIEs_p = &initialUEmessageIEs; - memset(initialUEmessageIEs_p, 0, sizeof(InitialUEMessageIEs)); - initialUEmessageIEs.eNB_UE_S1AP_ID = eNB_UE_S1AP_ID; - initialUEmessageIEs.nas_pdu.buf = infoNAS; - initialUEmessageIEs.nas_pdu.size = sizeof(infoNAS); - initialUEmessageIEs.tai.tAC.buf = tac; - initialUEmessageIEs.tai.tAC.size = 2; - initialUEmessageIEs.tai.pLMNidentity.buf = identity; - initialUEmessageIEs.tai.pLMNidentity.size = 3; - initialUEmessageIEs.eutran_cgi.pLMNidentity.buf = identity; - initialUEmessageIEs.eutran_cgi.pLMNidentity.size = 3; - initialUEmessageIEs.eutran_cgi.cell_ID.buf = id; - initialUEmessageIEs.eutran_cgi.cell_ID.size = 4; - initialUEmessageIEs.eutran_cgi.cell_ID.bits_unused = 4; - initialUEmessageIEs.rrC_Establishment_Cause = RRC_Establishment_Cause_mo_Data; - return s1ap_eNB_encode_initial_ue_message(initialUEmessageIEs_p, buffer, length); -} - -void recv_callback(uint8_t *buffer, uint32_t length) -{ - uint8_t *bufferS; - uint32_t len; - s1ap_eNB_generate_initial_ue_message(&bufferS, &len); - sctp_send_msg(assoc[0], 1, bufferS, len); -} - -int main(int argc, char *argv[]) -{ - asn_enc_rval_t retVal; - uint8_t *buffer; - uint32_t len; - SupportedTAs_Item_t ta; - PLMNidentity_t plmnIdentity; - asn_debug = 0; - asn1_xer_print = 0; - S1SetupRequestIEs s1SetupRequest; - memset(&s1SetupRequest, 0, sizeof(S1SetupRequestIEs)); - s1SetupRequest.global_ENB_ID.eNB_ID.present = ENB_ID_PR_macroENB_ID; - s1SetupRequest.global_ENB_ID.eNB_ID.choice.macroENB_ID.buf = id; - s1SetupRequest.global_ENB_ID.eNB_ID.choice.macroENB_ID.size = 3; - s1SetupRequest.global_ENB_ID.eNB_ID.choice.macroENB_ID.bits_unused = 4; - OCTET_STRING_fromBuf(&s1SetupRequest.global_ENB_ID.pLMNidentity, identity, 3); - s1SetupRequest.presenceMask |= S1SETUPREQUESTIES_ENBNAME_PRESENT; - OCTET_STRING_fromBuf(&s1SetupRequest.eNBname, "ENB 1 eurecom", - strlen("ENB 1 eurecom")); - memset(&ta, 0, sizeof(SupportedTAs_Item_t)); - memset(&plmnIdentity, 0, sizeof(PLMNidentity_t)); - OCTET_STRING_fromBuf(&ta.tAC, tac, 2); - OCTET_STRING_fromBuf(&plmnIdentity, identity, 3); - ASN_SEQUENCE_ADD(&ta.broadcastPLMNs, &plmnIdentity); - ASN_SEQUENCE_ADD(&s1SetupRequest.supportedTAs, &ta); - s1SetupRequest.defaultPagingDRX = PagingDRX_v64; - s1ap_eNB_encode_s1setuprequest(&s1SetupRequest, &buffer, &len); - assoc[0] = sctp_connect_to_remote_host(ip_addr, 36412, &recv_callback); - sctp_send_msg(0, 0, buffer, len); - free(buffer); - // generateUplinkNASTransport(&buffer, &len); - // sctp_send_msg(assoc[0], 0, buffer, len); - // s1ap_mme_decode_pdu(buffer, len); - pthread_join(sctp_get_receiver_thread(assoc[0]), NULL); - return(0); -} diff --git a/openair3/TEST/oaisim_mme_itti_test.c b/openair3/TEST/oaisim_mme_itti_test.c deleted file mode 100644 index ecfbdb0acb63e02d5a8c45ca6c22b84997668910..0000000000000000000000000000000000000000 --- a/openair3/TEST/oaisim_mme_itti_test.c +++ /dev/null @@ -1,93 +0,0 @@ -/* - * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The OpenAirInterface Software Alliance licenses this file to You under - * the OAI Public License, Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.openairinterface.org/?page_id=698 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - *------------------------------------------------------------------------------- - * For more information about the OpenAirInterface (OAI) Software Alliance: - * contact@openairinterface.org - */ - -#include <stdio.h> -#include <stdint.h> -#include <string.h> -#include <errno.h> - -#include <sys/time.h> -#include <sys/resource.h> - -#include <sched.h> - -#include "mme_config.h" -#include "gtpv1u_sgw_defs.h" - -#include "intertask_interface.h" - -#include "sctp_primitives_server.h" -#include "udp_primitives_server.h" -#include "s1ap_mme.h" -#include "log.h" -#include "sgw_lite_defs.h" -#include "ipv4_defs.h" - -int main(int argc, char *argv[]) -{ - int i = 0; - int prio = 0; - mme_config_t mme_config; - MessageDef *message_p; - struct sched_param param = { - .sched_priority = 10, - }; - - config_parse_opt_line(argc, argv, &mme_config); - fprintf(stdout, "Starting %s ITTI test\n", PACKAGE_STRING); - - if (setpriority(PRIO_PROCESS, 0, prio) < 0) { - fprintf(stderr, "Cannot assign requested prio: %d\n" - "%d:%s\n", prio, errno, strerror(errno)); - return -1; - } - - if (sched_setscheduler(0, SCHED_RR, ¶m) < 0) { - fprintf(stderr, "Cannot assign requested scheduler policy\n" - "%d:%s\n", errno, strerror(errno)); - return -1; - } - - /* Calling each layer init function */ - log_init(&mme_config); - itti_init(TASK_MAX, tasks_info); - sctp_init(&mme_config); - udp_init(&mme_config); - s1ap_mme_init(&mme_config); - gtpv1u_init(&mme_config); - ipv4_init(&mme_config); - - sgw_lite_init(&mme_config); - - message_p = itti_alloc_new_message(TASK_S1AP, MESSAGE_TEST); - - while(i < (1 << 15)) { - if (send_broadcast_message(message_p) < 0) { - fprintf(stderr, "Failed to send broadcast message %d\n", i); - } - - i++; - } - - fprintf(stderr, "Successfully sent %lu messages", get_current_message_number()); - - return 0; -} diff --git a/openair3/TEST/oaisim_mme_list_benchmark.c b/openair3/TEST/oaisim_mme_list_benchmark.c deleted file mode 100644 index 633e83aace9e37786af3b96ad2820ee0ca2868f3..0000000000000000000000000000000000000000 --- a/openair3/TEST/oaisim_mme_list_benchmark.c +++ /dev/null @@ -1,261 +0,0 @@ -/* - * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The OpenAirInterface Software Alliance licenses this file to You under - * the OAI Public License, Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.openairinterface.org/?page_id=698 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - *------------------------------------------------------------------------------- - * For more information about the OpenAirInterface (OAI) Software Alliance: - * contact@openairinterface.org - */ - -#include <stdio.h> -#include <string.h> -#include <unistd.h> -#include <pthread.h> - -#include <sys/types.h> -#include <sys/socket.h> -#include <netinet/in.h> -#include <netinet/sctp.h> -#include <arpa/inet.h> - -#include "sctp_primitives_client.h" - -#include "s1ap_common.h" -#include "s1ap_eNB.h" -#include "s1ap_mme.h" - -#include "s1ap_eNB_encoder.h" -#include "s1ap_eNB_decoder.h" - -#define NB_OF_ENB 10 -#define NB_OF_UES 100 - -static int connected_eNB = 0; -static char ip_addr[] = "127.0.0.1"; -uint32_t ipv4_local = 0x7F000001; -static uint8_t id[] = { 0x03, 0x56, 0xf0, 0xd8 }; -static char identity[] = { 0x02, 0x08, 0x34 }; -static char tac[] = { 0x00, 0x01 }; -static char infoNAS[] = { 0x07, 0x42, 0x01, 0xE0, 0x06, 0x00, 0x00, 0xF1, 0x10, 0x00, 0x01, 0x00, 0x2C, - 0x52, 0x01, 0xC1, 0x01, 0x09, 0x10, 0x03, 0x77, 0x77, 0x77, 0x07, 0x61, 0x6E, 0x72, 0x69, 0x74, - 0x73, 0x75, 0x03, 0x63, 0x6F, 0x6D, 0x05, 0x01, 0x0A, 0x01, 0x20, 0x37, 0x27, 0x0E, 0x80, 0x80, - 0x21, 0x0A, 0x03, 0x00, 0x00, 0x0A, 0x81, 0x06, 0x0A, 0x00, 0x00, 0x01, 0x50, 0x0B, 0xF6, - 0x00, 0xF1, 0x10, 0x80, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01 - }; -uint32_t nb_eNB = NB_OF_ENB; -uint32_t nb_ue = NB_OF_UES; - -void s1ap_test_generate_s1_setup_request(uint32_t eNB_id, uint8_t **buffer, - uint32_t *length); -int s1ap_test_generate_initial_ue_message(uint32_t eNB_UE_S1AP_ID, - uint8_t **buffer, - uint32_t *length); -int recv_callback(uint32_t assocId, - uint32_t stream, - uint8_t *buffer, - uint32_t length); -int sctp_connected(void *args, - uint32_t assocId, - uint32_t instreams, - uint32_t outstreams); - -void s1ap_test_generate_s1_setup_request(uint32_t eNB_id, uint8_t **buffer, - uint32_t *length) -{ - S1SetupRequestIEs_t s1SetupRequest; - SupportedTAs_Item_t ta; - PLMNidentity_t plmnIdentity; - uint8_t *id_p = (uint8_t *)(&eNB_id + 1); - memset(&s1SetupRequest, 0, sizeof(S1SetupRequestIEs_t)); - s1SetupRequest.global_ENB_ID.eNB_ID.present = ENB_ID_PR_macroENB_ID; - s1SetupRequest.global_ENB_ID.eNB_ID.choice.macroENB_ID.buf = id_p; - s1SetupRequest.global_ENB_ID.eNB_ID.choice.macroENB_ID.size = 3; - s1SetupRequest.global_ENB_ID.eNB_ID.choice.macroENB_ID.bits_unused = 4; - OCTET_STRING_fromBuf(&s1SetupRequest.global_ENB_ID.pLMNidentity, identity, 3); - s1SetupRequest.presenceMask |= S1SETUPREQUESTIES_ENBNAME_PRESENT; - OCTET_STRING_fromBuf(&s1SetupRequest.eNBname, "ENB 1 eurecom", - strlen("ENB 1 eurecom")); - memset(&ta, 0, sizeof(SupportedTAs_Item_t)); - memset(&plmnIdentity, 0, sizeof(PLMNidentity_t)); - OCTET_STRING_fromBuf(&ta.tAC, tac, 2); - OCTET_STRING_fromBuf(&plmnIdentity, identity, 3); - ASN_SEQUENCE_ADD(&ta.broadcastPLMNs, &plmnIdentity); - ASN_SEQUENCE_ADD(&s1SetupRequest.supportedTAs, &ta); - s1SetupRequest.defaultPagingDRX = PagingDRX_v64; - s1ap_eNB_encode_s1_setup_request(&s1SetupRequest, buffer, length); -} - -int s1ap_test_generate_initial_ue_message(uint32_t eNB_UE_S1AP_ID, - uint8_t **buffer, - uint32_t *length) -{ - InitialUEMessageIEs_t initialUEmessageIEs; - InitialUEMessageIEs_t *initialUEmessageIEs_p = &initialUEmessageIEs; - memset(initialUEmessageIEs_p, 0, sizeof(InitialUEMessageIEs_t)); - initialUEmessageIEs.eNB_UE_S1AP_ID = eNB_UE_S1AP_ID & 0x00ffffff; - initialUEmessageIEs.nas_pdu.buf = (uint8_t *)infoNAS; - initialUEmessageIEs.nas_pdu.size = sizeof(infoNAS); - initialUEmessageIEs.tai.tAC.buf = (uint8_t *)tac; - initialUEmessageIEs.tai.tAC.size = 2; - initialUEmessageIEs.tai.pLMNidentity.buf = (uint8_t *)identity; - initialUEmessageIEs.tai.pLMNidentity.size = 3; - initialUEmessageIEs.eutran_cgi.pLMNidentity.buf = (uint8_t *)identity; - initialUEmessageIEs.eutran_cgi.pLMNidentity.size = 3; - initialUEmessageIEs.eutran_cgi.cell_ID.buf = (uint8_t *)id; - initialUEmessageIEs.eutran_cgi.cell_ID.size = 4; - initialUEmessageIEs.eutran_cgi.cell_ID.bits_unused = 4; - initialUEmessageIEs.rrC_Establishment_Cause = RRC_Establishment_Cause_mo_Data; - return s1ap_eNB_encode_initial_ue_message(initialUEmessageIEs_p, buffer, length); -} - -int s1ap_test_generate_initial_setup_resp(uint32_t eNB_UE_S1AP_ID, - uint32_t mme_UE_S1AP_ID, - uint8_t eRAB_id, - uint32_t teid, - uint8_t **buffer, - uint32_t *length) -{ - InitialContextSetupResponseIEs_t initialResponseIEs; - InitialContextSetupResponseIEs_t *initialResponseIEs_p = &initialResponseIEs; - E_RABSetupItemCtxtSURes_t e_RABSetupItemCtxtSURes; - memset(initialResponseIEs_p, 0, sizeof(InitialContextSetupResponseIEs_t)); - memset(&e_RABSetupItemCtxtSURes, 0, sizeof(E_RABSetupItemCtxtSURes_t)); - initialResponseIEs_p->mme_ue_s1ap_id = mme_UE_S1AP_ID; - initialResponseIEs_p->eNB_UE_S1AP_ID = eNB_UE_S1AP_ID; - e_RABSetupItemCtxtSURes.e_RAB_ID = eRAB_id; - e_RABSetupItemCtxtSURes.transportLayerAddress.buf = (uint8_t *)&ipv4_local; - e_RABSetupItemCtxtSURes.transportLayerAddress.size = 4; - e_RABSetupItemCtxtSURes.gTP_TEID.buf = (uint8_t *)&teid; - e_RABSetupItemCtxtSURes.gTP_TEID.size = 4; - ASN_SEQUENCE_ADD( - &initialResponseIEs_p->e_RABSetupListCtxtSURes.e_RABSetupItemCtxtSURes, - &e_RABSetupItemCtxtSURes); - return s1ap_eNB_encode_initial_context_setup_response(initialResponseIEs_p, - buffer, length); -} - -int recv_callback(uint32_t assocId, - uint32_t stream, - uint8_t *buffer, - uint32_t length) -{ - S1AP_S1AP_PDU_t pdu; - uint8_t *buffer2; - uint32_t len; - int j; - - if (s1ap_eNB_decode_pdu(&pdu, buffer, length) < 0) { - fprintf(stderr, "s1ap_eNB_decode_pdu returned status < 0\n"); - free(buffer); - return -1; - } - - if (pdu.initiatingMessage.procedureCode == S1AP_ProcedureCode_id_S1Setup - && pdu.present == S1AP_S1AP_PDU_PR_successfulOutcome) { - for (j = 0; j < nb_ue; j++) { - s1ap_test_generate_initial_ue_message(j, &buffer2, &len); - - if (sctp_send_msg(assocId, j % 64 + 1, buffer2, len) < 0) { - fprintf(stderr, - "sctp_send_msg returned status < 0\nSomething bad happened on SCTP layer\n"); - free(buffer2); - break; - } - - free(buffer2); - } - } else if (pdu.initiatingMessage.procedureCode == S1AP_ProcedureCode_id_InitialContextSetup - && pdu.present == S1AP_PDU_PR_initiatingMessage) { - fprintf(stdout, "Received InitialContextSetup request\n"); - s1ap_test_generate_initial_setup_resp( - message.msg.initialContextSetupRequestIEs.eNB_UE_S1AP_ID, - message.msg.initialContextSetupRequestIEs.mme_ue_s1ap_id, - 0x5, - 0x1, - &buffer2, - &len); - - if (sctp_send_msg(assocId, stream, buffer2, len) < 0) { - fprintf(stderr, - "sctp_send_msg returned status < 0\nSomething bad happened on SCTP layer\n"); - free(buffer2); - } - - free(buffer2); - } else { - fprintf(stderr, "Received unexpected message %d %d\n", message.procedureCode, - message.direction); - free(buffer); - return -1; - } - - free(buffer); - return 0; -} - -int sctp_connected(void *args, - uint32_t assocId, - uint32_t instreams, - uint32_t outstreams) -{ - uint8_t *buffer; - uint32_t len; - fprintf(stdout, "New association %d\n", assocId); - s1ap_test_generate_s1_setup_request(assocId * nb_eNB, &buffer, &len); - - if (sctp_send_msg(assocId, 0, buffer, len) < 0) { - free(buffer); - fprintf(stderr, - "sctp_send_msg returned status < 0. Something bad happened on SCTP layer\n"); - exit(0); - } - - free(buffer); - connected_eNB++; - return 0; -} - -int main(int argc, char *argv[]) -{ - asn_enc_rval_t retVal; - int i; - SupportedTAs_Item_t ta; - PLMNidentity_t plmnIdentity; - asn_debug = 0; - asn1_xer_print = 0; - - if (argc > 1) { - nb_eNB = atoi(argv[1]); - - if (argc > 2) { - nb_ue = atoi(argv[2]); - } - } - - for (i = 0; i < nb_eNB; i++) { - sctp_connect_to_remote_host(ip_addr, 36412, 18, NULL, sctp_connected, - recv_callback); - } - - while (1) { - sleep(1); - } - - // generateUplinkNASTransport(&buffer, &len); - // sctp_send_msg(assoc[0], 0, buffer, len); - // s1ap_mme_decode_pdu(buffer, len); - sctp_terminate(); - return(0); -} diff --git a/openair3/TEST/oaisim_mme_s1ap_test.c b/openair3/TEST/oaisim_mme_s1ap_test.c deleted file mode 100644 index aa8f92aee128750cffa67e06f3db364f5e0e2b7f..0000000000000000000000000000000000000000 --- a/openair3/TEST/oaisim_mme_s1ap_test.c +++ /dev/null @@ -1,179 +0,0 @@ -/* - * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The OpenAirInterface Software Alliance licenses this file to You under - * the OAI Public License, Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.openairinterface.org/?page_id=698 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - *------------------------------------------------------------------------------- - * For more information about the OpenAirInterface (OAI) Software Alliance: - * contact@openairinterface.org - */ - -#include <stdio.h> -#include <stdint.h> -#include <string.h> - -#include "s1ap_common.h" -#include "s1ap_eNB_decoder.h" -#include "s1ap_mme_decoder.h" -#include "s1ap_eNB_encoder.h" - -#define MAX_BUF_LENGTH (1024) - -typedef struct { - char *procedure_name; - uint8_t buffer[MAX_BUF_LENGTH]; - uint32_t buf_len; -} s1ap_test_t; - -s1ap_test_t s1ap_test[] = { - // { - // .procedure_name = "Downlink NAS transport", - // .buffer = { - // 0x00, 0x0B, 0x40, 0x21, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, - // 0x05, 0xC0, 0x01, 0x10, 0xCE, 0xCC, 0x00, 0x08, 0x00, 0x03, - // 0x40, 0x01, 0xB3, 0x00, 0x1A, 0x00, 0x0A, 0x09, 0x27, 0xAB, - // 0x1F, 0x7C, 0xEC, 0x01, 0x02, 0x01, 0xD9 - // }, - // .buf_len = 37, - // }, - { - .procedure_name = "Uplink NAS transport", - .buffer = { - 0x00, 0x0D, 0x40, 0x41, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, - 0x05, 0xC0, 0x01, 0x10, 0xCE, 0xCC, 0x00, 0x08, 0x00, 0x03, - 0x40, 0x01, 0xB3, 0x00, 0x1A, 0x00, 0x14, 0x13, 0x27, 0xD3, - 0x77, 0xED, 0x4C, 0x01, 0x02, 0x01, 0xDA, 0x28, 0x08, 0x03, - 0x69, 0x6D, 0x73, 0x03, 0x70, 0x66, 0x74, 0x00, 0x64, 0x40, - 0x08, 0x00, 0x02, 0xF8, 0x29, 0x00, 0x00, 0x20, 0x40, 0x00, - 0x43, 0x40, 0x06, 0x00, 0x02, 0xF8, 0x29, 0x00, 0x04, - }, - .buf_len = 69, - }, - { - .procedure_name = "UE capability info indication", - .buffer = { - 0x00, 0x16, 0x40, 0x37, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, - 0x05, 0xC0, 0x01, 0x10, 0xCE, 0xCC, 0x00, 0x08, 0x00, 0x03, - 0x40, 0x01, 0xB3, 0x00, 0x4A, 0x40, 0x20, 0x1F, 0x00, 0xE8, - 0x01, 0x01, 0xA8, 0x13, 0x80, 0x00, 0x20, 0x83, 0x13, 0x05, - 0x0B, 0x8B, 0xFC, 0x2E, 0x2F, 0xF0, 0xB8, 0xBF, 0xAF, 0x87, - 0xFE, 0x40, 0x44, 0x04, 0x07, 0x0C, 0xA7, 0x4A, 0x80, - }, - .buf_len = 59, - }, - { - .procedure_name = "Initial Context Setup Request", - .buffer = { - 0x00, 0x09, 0x00, 0x80, 0xD4, 0x00, 0x00, 0x06, 0x00, 0x00, - 0x00, 0x05, 0xC0, 0x01, 0x10, 0xCE, 0xCC, 0x00, 0x08, 0x00, - 0x03, 0x40, 0x01, 0xB3, 0x00, 0x42, 0x00, 0x0A, 0x18, 0x08, - 0xF0, 0xD1, 0x80, 0x60, 0x02, 0xFA, 0xF0, 0x80, 0x00, 0x18, - 0x00, 0x80, 0x81, 0x00, 0x00, 0x34, 0x00, 0x7C, 0x45, 0x00, - 0x09, 0x3D, 0x0F, 0x80, 0x0A, 0x05, 0x00, 0x02, 0x03, 0x78, - 0x48, 0x86, 0x6D, 0x27, 0xC7, 0x97, 0x8E, 0xA1, 0x02, 0x07, - 0x42, 0x01, 0x49, 0x06, 0x00, 0x02, 0xF8, 0x29, 0x00, 0x04, - 0x00, 0x48, 0x52, 0x01, 0xC1, 0x01, 0x09, 0x1B, 0x03, 0x69, - 0x6D, 0x73, 0x03, 0x70, 0x66, 0x74, 0x06, 0x6D, 0x6E, 0x63, - 0x30, 0x39, 0x32, 0x06, 0x6D, 0x63, 0x63, 0x32, 0x30, 0x38, - 0x04, 0x67, 0x70, 0x72, 0x73, 0x05, 0x01, 0x0A, 0x80, 0x00, - 0x24, 0x5D, 0x01, 0x00, 0x30, 0x10, 0x23, 0x93, 0x1F, 0x93, - 0x96, 0xFE, 0xFE, 0x74, 0x4B, 0xFF, 0xFF, 0x00, 0xC5, 0x00, - 0x6C, 0x00, 0x32, 0x0B, 0x84, 0x34, 0x01, 0x08, 0x5E, 0x04, - 0xFE, 0xFE, 0xC5, 0x6C, 0x50, 0x0B, 0xF6, 0x02, 0xF8, 0x29, - 0x80, 0x00, 0x01, 0xF0, 0x00, 0x70, 0x8A, 0x53, 0x12, 0x64, - 0x01, 0x01, 0x00, 0x6B, 0x00, 0x05, 0x18, 0x00, 0x0C, 0x00, - 0x00, 0x00, 0x49, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - }, - .buf_len = 217, - }, - { - .procedure_name = "Initial context setup response", - .buffer = { - 0x20, 0x09, 0x00, 0x26, 0x00, 0x00, 0x03, 0x00, 0x00, 0x40, - 0x05, 0xC0, 0x01, 0x10, 0xCE, 0xCC, 0x00, 0x08, 0x40, 0x03, - 0x40, 0x01, 0xB3, 0x00, 0x33, 0x40, 0x0F, 0x00, 0x00, 0x32, - 0x40, 0x0A, 0x0A, 0x1F, 0x0A, 0x05, 0x02, 0x05, 0x00, 0x0F, - 0x7A, 0x03, - }, - .buf_len = 42, - } -}; - -static int compare_buffer(uint8_t *buffer, uint32_t length_buffer, - uint8_t *pattern, - uint32_t length_pattern) -{ - int i; - - if (length_buffer != length_pattern) { - printf("Length mismatch, expecting %d bytes, got %d bytes\n", length_pattern, - length_buffer); - return -1; - } - - for (i = 0; i < length_buffer; i++) { - if (pattern[i] != buffer[i]) { - printf("Mismatch fount in bytes %d\nExpecting 0x%02x, got 0x%02x\n", - i, pattern[i], buffer[i]); - } - } - - return 0; -} - -int main(int argc, char *argv[]) -{ - int i; - asn1_xer_print = 2; - - if (argc > 1) { - asn_debug = 1; - } - - for (i = 0; i < sizeof(s1ap_test) / sizeof(s1ap_test_t); i++) { - S1AP_S1AP_PDU_t pdu; - uint8_t *buffer; - uint32_t length; - memset(&pdu, 0, sizeof(pdu)); - printf("Trying to decode %s procedure with asn1c decoder\n", - s1ap_test[i].procedure_name); - - if (s1ap_mme_decode_pdu(&pdu, s1ap_test[i].buffer, - s1ap_test[i].buf_len) < 0) { - if (s1ap_eNB_decode_pdu(&pdu, s1ap_test[i].buffer, - s1ap_test[i].buf_len) < 0) { - printf("Failed to decode this message\n"); - } else { - printf("Succesfully decoded %s with eNB decoder\n", s1ap_test[i].procedure_name); - } - } else { - printf("Succesfully decoded %s with MME decoder\n", s1ap_test[i].procedure_name); - } - - printf("Trying to encode %s procedure with asn1c encoder\n", - s1ap_test[i].procedure_name); - - if (s1ap_eNB_encode_pdu(&pdu, &buffer, &length) < 0) { - printf("Failed to encode this message on MME side, trying eNB side\n"); - } else { - compare_buffer(buffer, length, s1ap_test[i].buffer, s1ap_test[i].buf_len); - free(buffer); - } - } - - return 0; -} diff --git a/openair3/TEST/oaisim_mme_sctp_test.c b/openair3/TEST/oaisim_mme_sctp_test.c deleted file mode 100644 index b8be3e185cc9aa1a853545728af771901e7c5152..0000000000000000000000000000000000000000 --- a/openair3/TEST/oaisim_mme_sctp_test.c +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The OpenAirInterface Software Alliance licenses this file to You under - * the OAI Public License, Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.openairinterface.org/?page_id=698 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - *------------------------------------------------------------------------------- - * For more information about the OpenAirInterface (OAI) Software Alliance: - * contact@openairinterface.org - */ - -#include <stdio.h> -#include <string.h> -#include <unistd.h> -#include <pthread.h> - -#include <sys/types.h> -#include <sys/socket.h> -#include <netinet/in.h> -#include <netinet/sctp.h> -#include <arpa/inet.h> - -#include "sctp_primitives_client.h" - -#include "s1ap_common.h" -#include "s1ap_eNB.h" -#include "s1ap_mme.h" - -#include "s1ap_eNB_encoder.h" -#include "s1ap_eNB_decoder.h" - -int recv_callback(uint32_t assocId, - uint32_t stream, - uint8_t *buffer, - uint32_t length) -{ - free(buffer); - return 0; -} - -int sctp_connected(void *args, - uint32_t assocId, - uint32_t instreams, - uint32_t outstreams) -{ - return 0; -} - -int main(int argc, char *argv[]) -{ - asn_enc_rval_t retVal; - int i; - - for (i = 0; i < nb_eNB; i++) { - sctp_connect_to_remote_host(ip_addr, 36412, NULL, sctp_connected, recv_callback); - } - - while (1) { - sleep(1); - } - - sctp_terminate(); - return(0); -} diff --git a/openair3/TEST/oaisim_mme_test_s1c.c b/openair3/TEST/oaisim_mme_test_s1c.c deleted file mode 100644 index 94a554ab5f275fb779a21b021748a7672192e192..0000000000000000000000000000000000000000 --- a/openair3/TEST/oaisim_mme_test_s1c.c +++ /dev/null @@ -1,339 +0,0 @@ -/* - * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The OpenAirInterface Software Alliance licenses this file to You under - * the OAI Public License, Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.openairinterface.org/?page_id=698 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - *------------------------------------------------------------------------------- - * For more information about the OpenAirInterface (OAI) Software Alliance: - * contact@openairinterface.org - */ - -#define _GNU_SOURCE -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> -#include <stdint.h> -#include <string.h> -#include <sys/ioctl.h> -#include <sys/types.h> -#include <sys/mman.h> -#include <sys/stat.h> -#include <fcntl.h> -#include <sched.h> -#include <linux/sched.h> -#include <signal.h> -#include <execinfo.h> -#include <getopt.h> -#include <syscall.h> - - -#include "UTIL/LOG/log_extern.h" -#include "assertions.h" -#include "intertask_interface.h" -#include "sctp_eNB_task.h" -#include "s1ap_eNB.h" -#include "enb_config.h" - -#include "oaisim_mme_test_s1c.h" - -# define ENB_REGISTER_RETRY_DELAY 5 -//------------------------------------------------------------------------------ -static void get_options (int argc, char **argv); -static uint32_t eNB_app_register(const uint32_t enb_id_start, const uint32_t enb_id_end, const Enb_properties_array_t *enb_properties); -static void *eNB_app_task (void *args_p); -void mme_test_s1_start_test(instance_t instance); -//------------------------------------------------------------------------------ -static char *conf_config_file_name = NULL; -const Enb_properties_array_t *enb_properties = NULL; -int16_t glog_level = LOG_INFO; -int16_t glog_verbosity = LOG_MED; -s1c_test_t s1c_test = { - 0, // scenario_index - 0, // tx_next_message_index - 0, // rx_next_message_index - 0 // assoc_id - }; - -//------------------------------------------------------------------------------ -static void get_options (int argc, char **argv) -//------------------------------------------------------------------------------ -{ - int c; - - - while ((c = getopt_long (argc, argv, "K:g:G:O:",NULL,NULL)) != -1) { - switch (c) { - case 'O': - conf_config_file_name = optarg; - break; - - case 'g': - glog_level=atoi(optarg); // value between 1 - 9 - break; - - case 'G': - glog_verbosity=atoi(optarg);// value from 0, 0x5, 0x15, 0x35, 0x75 - break; - - default: - break; - } - } - - AssertFatal(conf_config_file_name != NULL,"Please provide a configuration file\n"); - - -} - - -//------------------------------------------------------------------------------ -static uint32_t eNB_app_register(const uint32_t enb_id_start, const uint32_t enb_id_end, const Enb_properties_array_t *enb_properties) -//------------------------------------------------------------------------------ -{ - uint32_t enb_id; - uint32_t mme_id; - MessageDef *msg_p; - uint32_t register_enb_pending = 0; - char *str = NULL; - struct in_addr addr; - - // 1 eNB should be max. - // 1 eNB should be max. - for (enb_id = enb_id_start; (enb_id < enb_id_end) ; enb_id++) { - { - s1ap_register_enb_req_t *s1ap_register_eNB; - - /* note: there is an implicit relationship between the data structure and the message name */ - msg_p = itti_alloc_new_message (TASK_ENB_APP, S1AP_REGISTER_ENB_REQ); - - s1ap_register_eNB = &S1AP_REGISTER_ENB_REQ(msg_p); - - /* Some default/random parameters */ - s1ap_register_eNB->eNB_id = enb_properties->properties[enb_id]->eNB_id; - s1ap_register_eNB->cell_type = enb_properties->properties[enb_id]->cell_type; - s1ap_register_eNB->eNB_name = enb_properties->properties[enb_id]->eNB_name; - s1ap_register_eNB->tac = enb_properties->properties[enb_id]->tac; - s1ap_register_eNB->mcc = enb_properties->properties[enb_id]->mcc; - s1ap_register_eNB->mnc = enb_properties->properties[enb_id]->mnc; - s1ap_register_eNB->mnc_digit_length = enb_properties->properties[enb_id]->mnc_digit_length; - s1ap_register_eNB->default_drx = enb_properties->properties[enb_id]->pcch_defaultPagingCycle[0]; - - s1ap_register_eNB->nb_mme = enb_properties->properties[enb_id]->nb_mme; - AssertFatal (s1ap_register_eNB->nb_mme <= S1AP_MAX_NB_MME_IP_ADDRESS, "Too many MME for eNB %d (%d/%d)!", enb_id, s1ap_register_eNB->nb_mme, - S1AP_MAX_NB_MME_IP_ADDRESS); - - for (mme_id = 0; mme_id < s1ap_register_eNB->nb_mme; mme_id++) { - s1ap_register_eNB->mme_ip_address[mme_id].ipv4 = enb_properties->properties[enb_id]->mme_ip_address[mme_id].ipv4; - s1ap_register_eNB->mme_ip_address[mme_id].ipv6 = enb_properties->properties[enb_id]->mme_ip_address[mme_id].ipv6; - strncpy (s1ap_register_eNB->mme_ip_address[mme_id].ipv4_address, - enb_properties->properties[enb_id]->mme_ip_address[mme_id].ipv4_address, - sizeof(s1ap_register_eNB->mme_ip_address[0].ipv4_address)); - strncpy (s1ap_register_eNB->mme_ip_address[mme_id].ipv6_address, - enb_properties->properties[enb_id]->mme_ip_address[mme_id].ipv6_address, - sizeof(s1ap_register_eNB->mme_ip_address[0].ipv6_address)); - } - - s1ap_register_eNB->enb_ip_address.ipv6 = 0; - s1ap_register_eNB->enb_ip_address.ipv4 = 1; - addr.s_addr = enb_properties->properties[enb_id]->enb_ipv4_address_for_S1_MME; - str = inet_ntoa(addr); - strcpy(s1ap_register_eNB->enb_ip_address.ipv4_address, str); - - itti_send_msg_to_task (TASK_S1AP, ENB_MODULE_ID_TO_INSTANCE(enb_id), msg_p); - - register_enb_pending++; - } - } - - return register_enb_pending; -} - -//------------------------------------------------------------------------------ -static void *eNB_app_task(void *args_p) -//------------------------------------------------------------------------------ -{ - const Enb_properties_array_t *enb_properties_p = NULL; - uint32_t enb_nb = 1; /* Default number of eNB is 1 */ - uint32_t enb_id_start = 0; - uint32_t enb_id_end = enb_id_start + enb_nb; - uint32_t register_enb_pending; - uint32_t registered_enb; - long enb_register_retry_timer_id; - MessageDef *msg_p = NULL; - const char *msg_name = NULL; - instance_t instance; - int result; - - itti_mark_task_ready (TASK_ENB_APP); - - enb_properties_p = enb_config_get(); - - AssertFatal (enb_nb <= enb_properties_p->number, - "Number of eNB is greater than eNB defined in configuration file (%d/%d)!", - enb_nb, enb_properties_p->number); - - - /* Try to register each eNB */ - registered_enb = 0; - register_enb_pending = eNB_app_register (enb_id_start, enb_id_end, enb_properties_p); - - do { - // Wait for a message - itti_receive_msg (TASK_ENB_APP, &msg_p); - - msg_name = ITTI_MSG_NAME (msg_p); - instance = ITTI_MSG_DESTINATION_INSTANCE (msg_p); - - switch (ITTI_MSG_ID(msg_p)) { - case TERMINATE_MESSAGE: - itti_exit_task (); - break; - - case MESSAGE_TEST: - LOG_I(ENB_APP, "Received %s\n", ITTI_MSG_NAME(msg_p)); - break; - - - case S1AP_REGISTER_ENB_CNF: - LOG_I(ENB_APP, "[eNB %d] Received %s: associated MME %d\n", instance, msg_name, - S1AP_REGISTER_ENB_CNF(msg_p).nb_mme); - - DevAssert(register_enb_pending > 0); - register_enb_pending--; - - /* Check if at least eNB is registered with one MME */ - if (S1AP_REGISTER_ENB_CNF(msg_p).nb_mme > 0) { - registered_enb++; - } - - /* Check if all register eNB requests have been processed */ - if (register_enb_pending == 0) { - if (registered_enb == enb_nb) { - mme_test_s1_start_test(instance); - - - } else { - uint32_t not_associated = enb_nb - registered_enb; - - LOG_W(ENB_APP, " %d eNB %s not associated with a MME, retrying registration in %d seconds ...\n", - not_associated, not_associated > 1 ? "are" : "is", ENB_REGISTER_RETRY_DELAY); - - /* Restart the eNB registration process in ENB_REGISTER_RETRY_DELAY seconds */ - if (timer_setup (ENB_REGISTER_RETRY_DELAY, 0, TASK_ENB_APP, INSTANCE_DEFAULT, TIMER_ONE_SHOT, - NULL, &enb_register_retry_timer_id) < 0) { - LOG_E(ENB_APP, " Can not start eNB register retry timer, use \"sleep\" instead!\n"); - - sleep(ENB_REGISTER_RETRY_DELAY); - /* Restart the registration process */ - registered_enb = 0; - register_enb_pending = eNB_app_register (enb_id_start, enb_id_end, enb_properties_p); - } - } - } - - break; - - case S1AP_DEREGISTERED_ENB_IND: - LOG_W(ENB_APP, "[eNB %d] Received %s: associated MME %d\n", instance, msg_name, - S1AP_DEREGISTERED_ENB_IND(msg_p).nb_mme); - - /* TODO handle recovering of registration */ - break; - - case TIMER_HAS_EXPIRED: - LOG_I(ENB_APP, " Received %s: timer_id %d\n", msg_name, TIMER_HAS_EXPIRED(msg_p).timer_id); - - if (TIMER_HAS_EXPIRED (msg_p).timer_id == enb_register_retry_timer_id) { - /* Restart the registration process */ - registered_enb = 0; - register_enb_pending = eNB_app_register (enb_id_start, enb_id_end, enb_properties_p); - } - - break; - - default: - LOG_E(ENB_APP, "Received unexpected message %s\n", msg_name); - break; - } - - result = itti_free (ITTI_MSG_ORIGIN_ID(msg_p), msg_p); - AssertFatal (result == EXIT_SUCCESS, "Failed to free memory (%d)!\n", result); - } while (1); - - return NULL; -} - - -//------------------------------------------------------------------------------ -void mme_test_s1_start_test(instance_t instance) -//------------------------------------------------------------------------------ -{ - s1ap_eNB_itti_send_sctp_data_req(instance, - s1c_test.assoc_id, - s1ap_scenarios[s1c_test.scenario_index][s1c_test.tx_next_message_index].buffer, - s1ap_scenarios[s1c_test.scenario_index][s1c_test.tx_next_message_index].buf_len, - s1ap_scenarios[s1c_test.scenario_index][s1c_test.tx_next_message_index].sctp_stream_id); -} - - -//------------------------------------------------------------------------------ -void mme_test_s1_notify_sctp_data_ind(uint32_t assoc_id, int32_t stream, const uint8_t * const data, const uint32_t data_length) -//------------------------------------------------------------------------------ -{ - -} - - -//------------------------------------------------------------------------------ -int main( int argc, char **argv ) -//------------------------------------------------------------------------------ -{ - // initialize the log (see log.h for details) - logInit(); - - get_options (argc, argv); //Command-line options - set_glog(glog_level, glog_verbosity); - log_set_instance_type (LOG_INSTANCE_ENB); - - /* Read eNB configuration file */ - enb_properties = enb_config_init(conf_config_file_name); - - itti_init(TASK_MAX, tasks_info); - - itti_wait_ready(1); - - if (itti_create_task (TASK_SCTP, sctp_eNB_task, NULL) < 0) { - LOG_E(SCTP, "Create task for SCTP failed\n"); - return -1; - } - - if (itti_create_task (TASK_S1AP, s1ap_eNB_task, NULL) < 0) { - LOG_E(S1AP, "Create task for S1AP failed\n"); - return -1; - } - - if (itti_create_task (TASK_ENB_APP, eNB_app_task, NULL) < 0) { - LOG_E(S1AP, "Create task for S1AP failed\n"); - return -1; - } - - itti_wait_ready(0); - - - - sleep(30); - - logClean(); - return 0; -} diff --git a/openair3/TEST/oaisim_mme_test_s1c.h b/openair3/TEST/oaisim_mme_test_s1c.h deleted file mode 100644 index 91e4472caf0ed2dccb4bf80f942072ebde9a3e6f..0000000000000000000000000000000000000000 --- a/openair3/TEST/oaisim_mme_test_s1c.h +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The OpenAirInterface Software Alliance licenses this file to You under - * the OAI Public License, Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.openairinterface.org/?page_id=698 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - *------------------------------------------------------------------------------- - * For more information about the OpenAirInterface (OAI) Software Alliance: - * contact@openairinterface.org - */ - -typedef struct s1c_test_s { - int scenario_index; - int tx_next_message_index; - int rx_next_message_index; - int32_t assoc_id; -}s1c_test_t; - -void mme_test_s1_start_test(instance_t instance); -void mme_test_s1_notify_sctp_data_ind(uint32_t assoc_id, int32_t stream, const uint8_t * const data, const uint32_t data_length); diff --git a/openair3/TEST/oaisim_mme_test_s1c_s1ap.c b/openair3/TEST/oaisim_mme_test_s1c_s1ap.c deleted file mode 100644 index 60da125073aacd8dd0da7051e590b9926c1efe80..0000000000000000000000000000000000000000 --- a/openair3/TEST/oaisim_mme_test_s1c_s1ap.c +++ /dev/null @@ -1,291 +0,0 @@ -/* - * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The OpenAirInterface Software Alliance licenses this file to You under - * the OAI Public License, Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.openairinterface.org/?page_id=698 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - *------------------------------------------------------------------------------- - * For more information about the OpenAirInterface (OAI) Software Alliance: - * contact@openairinterface.org - */ - -#define _GNU_SOURCE -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> -#include <stdint.h> -#include <string.h> -#include <sys/ioctl.h> -#include <sys/types.h> -#include <sys/mman.h> -#include <sys/stat.h> -#include <fcntl.h> -#include <sched.h> -#include <linux/sched.h> -#include <signal.h> -#include <execinfo.h> -#include <getopt.h> -#include <syscall.h> - - -#include "tree.h" -#include "queue.h" -#include "intertask_interface.h" -#include "s1ap_eNB_default_values.h" -#include "s1ap_common.h" -#include "s1ap_eNB_defs.h" -#include "s1ap_eNB_management_procedures.h" -#include "assertions.h" - -#include "platform_types.h" -#include "oaisim_mme_test_s1c.h" - - -void s1ap_eNB_handle_sctp_data_ind(sctp_data_ind_t *sctp_data_ind) -{ - int result; - DevAssert(sctp_data_ind != NULL); - mme_test_s1_notify_sctp_data_ind(sctp_data_ind->assoc_id, sctp_data_ind->stream, - sctp_data_ind->buffer, sctp_data_ind->buffer_length); - result = itti_free(TASK_UNKNOWN, sctp_data_ind->buffer); - AssertFatal (result == EXIT_SUCCESS, "Failed to free memory (%d)!\n", result); -} - - -void s1ap_eNB_itti_send_sctp_data_req(instance_t instance, int32_t assoc_id, uint8_t *buffer, - uint32_t buffer_length, uint16_t stream) -{ - MessageDef *message_p; - sctp_data_req_t *sctp_data_req; - message_p = itti_alloc_new_message(TASK_S1AP, SCTP_DATA_REQ); - sctp_data_req = &message_p->ittiMsg.sctp_data_req; - sctp_data_req->assoc_id = assoc_id; - sctp_data_req->buffer = buffer; - sctp_data_req->buffer_length = buffer_length; - sctp_data_req->stream = stream; - itti_send_msg_to_task(TASK_SCTP, instance, message_p); -} - -void s1ap_handle_s1_setup_message(s1ap_eNB_mme_data_t *mme_desc_p, int sctp_shutdown) -{ - if (sctp_shutdown) { - /* A previously connected MME has been shutdown */ - - /* TODO check if it was used by some eNB and send a message to inform these eNB if there is no more associated MME */ - if (mme_desc_p->state == S1AP_ENB_STATE_CONNECTED) { - mme_desc_p->state = S1AP_ENB_STATE_DISCONNECTED; - - if (mme_desc_p->s1ap_eNB_instance->s1ap_mme_associated_nb > 0) { - /* Decrease associated MME number */ - mme_desc_p->s1ap_eNB_instance->s1ap_mme_associated_nb --; - } - - /* If there are no more associated MME, inform eNB app */ - if (mme_desc_p->s1ap_eNB_instance->s1ap_mme_associated_nb == 0) { - MessageDef *message_p; - message_p = itti_alloc_new_message(TASK_S1AP, S1AP_DEREGISTERED_ENB_IND); - S1AP_DEREGISTERED_ENB_IND(message_p).nb_mme = 0; - itti_send_msg_to_task(TASK_ENB_APP, mme_desc_p->s1ap_eNB_instance->instance, message_p); - } - } - } else { - /* Check that at least one setup message is pending */ - DevCheck(mme_desc_p->s1ap_eNB_instance->s1ap_mme_pending_nb > 0, mme_desc_p->s1ap_eNB_instance->instance, - mme_desc_p->s1ap_eNB_instance->s1ap_mme_pending_nb, 0); - - if (mme_desc_p->s1ap_eNB_instance->s1ap_mme_pending_nb > 0) { - /* Decrease pending messages number */ - mme_desc_p->s1ap_eNB_instance->s1ap_mme_pending_nb --; - } - - /* If there are no more pending messages, inform eNB app */ - if (mme_desc_p->s1ap_eNB_instance->s1ap_mme_pending_nb == 0) { - MessageDef *message_p; - message_p = itti_alloc_new_message(TASK_S1AP, S1AP_REGISTER_ENB_CNF); - S1AP_REGISTER_ENB_CNF(message_p).nb_mme = mme_desc_p->s1ap_eNB_instance->s1ap_mme_associated_nb; - itti_send_msg_to_task(TASK_ENB_APP, mme_desc_p->s1ap_eNB_instance->instance, message_p); - } - } -} - -void s1ap_eNB_handle_sctp_association_resp(instance_t instance, sctp_new_association_resp_t *sctp_new_association_resp) -{ - s1ap_eNB_instance_t *instance_p; - s1ap_eNB_mme_data_t *s1ap_mme_data_p; - DevAssert(sctp_new_association_resp != NULL); - instance_p = s1ap_eNB_get_instance(instance); - DevAssert(instance_p != NULL); - s1ap_mme_data_p = s1ap_eNB_get_MME(instance_p, -1, - sctp_new_association_resp->ulp_cnx_id); - DevAssert(s1ap_mme_data_p != NULL); - - if (sctp_new_association_resp->sctp_state != SCTP_STATE_ESTABLISHED) { - S1AP_WARN("Received unsuccessful result for SCTP association (%u), instance %d, cnx_id %u\n", - sctp_new_association_resp->sctp_state, - instance, - sctp_new_association_resp->ulp_cnx_id); - s1ap_handle_s1_setup_message(s1ap_mme_data_p, sctp_new_association_resp->sctp_state == SCTP_STATE_SHUTDOWN); - return; - } - - /* Update parameters */ - s1ap_mme_data_p->assoc_id = sctp_new_association_resp->assoc_id; - s1ap_mme_data_p->in_streams = sctp_new_association_resp->in_streams; - s1ap_mme_data_p->out_streams = sctp_new_association_resp->out_streams; - /* Prepare new S1 Setup Request */ - mme_test_s1_start_test(instance_p, s1ap_mme_data_p); -} - -void s1ap_eNB_register_mme(s1ap_eNB_instance_t *instance_p, - net_ip_address_t *mme_ip_address, - net_ip_address_t *local_ip_addr) -{ - MessageDef *message_p = NULL; - sctp_new_association_req_t *sctp_new_association_req_p = NULL; - s1ap_eNB_mme_data_t *s1ap_mme_data_p = NULL; - DevAssert(instance_p != NULL); - DevAssert(mme_ip_address != NULL); - message_p = itti_alloc_new_message(TASK_S1AP, SCTP_NEW_ASSOCIATION_REQ); - sctp_new_association_req_p = &message_p->ittiMsg.sctp_new_association_req; - sctp_new_association_req_p->port = S1AP_PORT_NUMBER; - sctp_new_association_req_p->ppid = S1AP_SCTP_PPID; - memcpy(&sctp_new_association_req_p->remote_address, - mme_ip_address, - sizeof(*mme_ip_address)); - memcpy(&sctp_new_association_req_p->local_address, - local_ip_addr, - sizeof(*local_ip_addr)); - /* Create new MME descriptor */ - s1ap_mme_data_p = calloc(1, sizeof(*s1ap_mme_data_p)); - DevAssert(s1ap_mme_data_p != NULL); - s1ap_mme_data_p->cnx_id = s1ap_eNB_fetch_add_global_cnx_id(); - sctp_new_association_req_p->ulp_cnx_id = s1ap_mme_data_p->cnx_id; - s1ap_mme_data_p->assoc_id = -1; - s1ap_mme_data_p->s1ap_eNB_instance = instance_p; - STAILQ_INIT(&s1ap_mme_data_p->served_gummei); - /* Insert the new descriptor in list of known MME - * but not yet associated. - */ - RB_INSERT(s1ap_mme_map, &instance_p->s1ap_mme_head, s1ap_mme_data_p); - s1ap_mme_data_p->state = S1AP_ENB_STATE_WAITING; - instance_p->s1ap_mme_nb ++; - instance_p->s1ap_mme_pending_nb ++; - itti_send_msg_to_task(TASK_SCTP, instance_p->instance, message_p); -} - - - -void s1ap_eNB_handle_register_eNB(instance_t instance, s1ap_register_enb_req_t *s1ap_register_eNB) -{ - s1ap_eNB_instance_t *new_instance; - uint8_t index; - DevAssert(s1ap_register_eNB != NULL); - /* Look if the provided instance already exists */ - new_instance = s1ap_eNB_get_instance(instance); - - if (new_instance != NULL) { - /* Checks if it is a retry on the same eNB */ - DevCheck(new_instance->eNB_id == s1ap_register_eNB->eNB_id, new_instance->eNB_id, s1ap_register_eNB->eNB_id, 0); - DevCheck(new_instance->cell_type == s1ap_register_eNB->cell_type, new_instance->cell_type, s1ap_register_eNB->cell_type, 0); - DevCheck(new_instance->tac == s1ap_register_eNB->tac, new_instance->tac, s1ap_register_eNB->tac, 0); - DevCheck(new_instance->mcc == s1ap_register_eNB->mcc, new_instance->mcc, s1ap_register_eNB->mcc, 0); - DevCheck(new_instance->mnc == s1ap_register_eNB->mnc, new_instance->mnc, s1ap_register_eNB->mnc, 0); - DevCheck(new_instance->mnc_digit_length == s1ap_register_eNB->mnc_digit_length, new_instance->mnc_digit_length, s1ap_register_eNB->mnc_digit_length, 0); - DevCheck(new_instance->default_drx == s1ap_register_eNB->default_drx, new_instance->default_drx, s1ap_register_eNB->default_drx, 0); - } else { - new_instance = calloc(1, sizeof(s1ap_eNB_instance_t)); - DevAssert(new_instance != NULL); - RB_INIT(&new_instance->s1ap_ue_head); - RB_INIT(&new_instance->s1ap_mme_head); - /* Copy usefull parameters */ - new_instance->instance = instance; - new_instance->eNB_name = s1ap_register_eNB->eNB_name; - new_instance->eNB_id = s1ap_register_eNB->eNB_id; - new_instance->cell_type = s1ap_register_eNB->cell_type; - new_instance->tac = s1ap_register_eNB->tac; - new_instance->mcc = s1ap_register_eNB->mcc; - new_instance->mnc = s1ap_register_eNB->mnc; - new_instance->mnc_digit_length = s1ap_register_eNB->mnc_digit_length; - new_instance->default_drx = s1ap_register_eNB->default_drx; - /* Add the new instance to the list of eNB (meaningfull in virtual mode) */ - s1ap_eNB_insert_new_instance(new_instance); - S1AP_DEBUG("Registered new eNB[%d] and %s eNB id %u\n", - instance, - s1ap_register_eNB->cell_type == CELL_MACRO_ENB ? "macro" : "home", - s1ap_register_eNB->eNB_id); - } - - DevCheck(s1ap_register_eNB->nb_mme <= S1AP_MAX_NB_MME_IP_ADDRESS, - S1AP_MAX_NB_MME_IP_ADDRESS, s1ap_register_eNB->nb_mme, 0); - - /* Trying to connect to provided list of MME ip address */ - for (index = 0; index < s1ap_register_eNB->nb_mme; index++) { - s1ap_eNB_register_mme(new_instance, &s1ap_register_eNB->mme_ip_address[index], - &s1ap_register_eNB->enb_ip_address); - } -} - - - - -void *s1ap_eNB_task(void *arg) -{ - MessageDef *received_msg = NULL; - int result; - S1AP_DEBUG("Starting S1AP layer\n"); - s1ap_eNB_prepare_internal_data(); - itti_mark_task_ready(TASK_S1AP); - - while (1) { - itti_receive_msg(TASK_S1AP, &received_msg); - - switch (ITTI_MSG_ID(received_msg)) { - case TERMINATE_MESSAGE: - itti_exit_task(); - break; - - case S1AP_REGISTER_ENB_REQ: { - /* Register a new eNB. - * in Virtual mode eNBs will be distinguished using the mod_id/ - * Each eNB has to send an S1AP_REGISTER_ENB message with its - * own parameters. - */ - s1ap_eNB_handle_register_eNB(ITTI_MSG_DESTINATION_INSTANCE(received_msg), - &S1AP_REGISTER_ENB_REQ(received_msg)); - } - break; - - case SCTP_NEW_ASSOCIATION_RESP: { - s1ap_eNB_handle_sctp_association_resp(ITTI_MSG_DESTINATION_INSTANCE(received_msg), - &received_msg->ittiMsg.sctp_new_association_resp); - } - break; - - case SCTP_DATA_IND: { - s1ap_eNB_handle_sctp_data_ind(&received_msg->ittiMsg.sctp_data_ind); - } - break; - - default: - S1AP_ERROR("Received unhandled message: %d:%s\n", - ITTI_MSG_ID(received_msg), ITTI_MSG_NAME(received_msg)); - break; - } - - result = itti_free (ITTI_MSG_ORIGIN_ID(received_msg), received_msg); - AssertFatal (result == EXIT_SUCCESS, "Failed to free memory (%d)!\n", result); - received_msg = NULL; - } - - return NULL; -} diff --git a/openair3/TEST/oaisim_mme_test_s1c_s1ap.h b/openair3/TEST/oaisim_mme_test_s1c_s1ap.h deleted file mode 100644 index 4faec0e66e53085a80175a4383b233c29fec3694..0000000000000000000000000000000000000000 --- a/openair3/TEST/oaisim_mme_test_s1c_s1ap.h +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The OpenAirInterface Software Alliance licenses this file to You under - * the OAI Public License, Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.openairinterface.org/?page_id=698 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - *------------------------------------------------------------------------------- - * For more information about the OpenAirInterface (OAI) Software Alliance: - * contact@openairinterface.org - */ - -#ifndef __TEST_OAISIM_MME_TEST_S1C_S1AP__H__ -#define __TEST_OAISIM_MME_TEST_S1C_S1AP__H__ - -#define _GNU_SOURCE -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> -#include <stdint.h> -#include <string.h> -#include <sys/ioctl.h> -#include <sys/types.h> -#include <sys/mman.h> -#include <sys/stat.h> -#include <fcntl.h> -#include <sched.h> -#include <linux/sched.h> -#include <signal.h> -#include <execinfo.h> -#include <getopt.h> -#include <syscall.h> - -void s1ap_eNB_handle_sctp_data_ind(sctp_data_ind_t *sctp_data_ind); - -void s1ap_eNB_itti_send_sctp_data_req(instance_t instance, int32_t assoc_id, uint8_t *buffer, - uint32_t buffer_length, uint16_t stream); - -void s1ap_handle_s1_setup_message(s1ap_eNB_mme_data_t *mme_desc_p, int sctp_shutdown); - -void s1ap_eNB_handle_sctp_association_resp(instance_t instance, sctp_new_association_resp_t *sctp_new_association_resp); - -void s1ap_eNB_register_mme(s1ap_eNB_instance_t *instance_p, - net_ip_address_t *mme_ip_address, - net_ip_address_t *local_ip_addr, - uint16_t in_streams, - uint16_t out_streams); -void s1ap_eNB_handle_register_eNB(instance_t instance, s1ap_register_enb_req_t *s1ap_register_eNB); -void *s1ap_eNB_task(void *arg); - -#endif diff --git a/openair3/TEST/oaisim_mme_test_s1c_scenario.c b/openair3/TEST/oaisim_mme_test_s1c_scenario.c deleted file mode 100644 index 60d74866c8cfa3b4bb8fb26127b9c6a7bb8fdb8c..0000000000000000000000000000000000000000 --- a/openair3/TEST/oaisim_mme_test_s1c_scenario.c +++ /dev/null @@ -1,279 +0,0 @@ -/* - * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The OpenAirInterface Software Alliance licenses this file to You under - * the OAI Public License, Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.openairinterface.org/?page_id=698 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - *------------------------------------------------------------------------------- - * For more information about the OpenAirInterface (OAI) Software Alliance: - * contact@openairinterface.org - */ - -#include <stdarg.h> -#include <string.h> -#include <stdio.h> -#include <ctype.h> - -#include "oaisim_mme_test_s1c_scenario.h" - -int scenario_index = 0; -int scenario_message_index = 0; -int debug = 0; -int error_count = 0; -int break_on_error = 0; - - -extern s1ap_message_test_t s1ap_scenario1[]; - -s1ap_message_test_t s1ap_scenarios[][] = {s1ap_scenario1}; - -/* -1 means invalid */ -static const signed char hex_digits[0x100] = { - -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, - -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, - -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,-1,-1,-1,-1,-1,-1, - -1,10,11,12,13,14,15,-1,-1,-1,-1,-1,-1,-1,-1,-1, - -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, - -1,10,11,12,13,14,15,-1,-1,-1,-1,-1,-1,-1,-1,-1, - -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, - -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, - -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, - -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, - -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, - -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, - -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, - -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, - -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -}; - -//------------------------------------------------------------------------------ -void -fail (const char *format, ...) -//------------------------------------------------------------------------------ -{ - char str[1024]; - va_list arg_ptr; - - va_start (arg_ptr, format); - vsnprintf ( str, sizeof(str), format, arg_ptr); - va_end (arg_ptr); - fputs(str, stderr); - error_count++; - - if (break_on_error) - exit (1); -} - -//------------------------------------------------------------------------------ -void -success (const char *format, ...) -//------------------------------------------------------------------------------ -{ - char str[1024]; - va_list arg_ptr; - - va_start (arg_ptr, format); - vsnprintf ( str, sizeof(str), format, arg_ptr); - va_end (arg_ptr); - fputs(str, stderr); -} - -//------------------------------------------------------------------------------ -void -escapeprint (const char *str, size_t len) -//------------------------------------------------------------------------------ -{ - size_t i; - - printf (" (length %d bytes):\n\t", (int) len); - - for (i = 0; i < len; i++) { - if (((str[i] & 0xFF) >= 'A' && (str[i] & 0xFF) <= 'Z') || - ((str[i] & 0xFF) >= 'a' && (str[i] & 0xFF) <= 'z') || - ((str[i] & 0xFF) >= '0' && (str[i] & 0xFF) <= '9') - || (str[i] & 0xFF) == ' ' || (str[i] & 0xFF) == '.') - printf ("%c", (str[i] & 0xFF)); - else - printf ("\\x%02X", (str[i] & 0xFF)); - - if ((i + 1) % 16 == 0 && (i + 1) < len) - printf ("'\n\t'"); - } - - printf ("\n"); -} - -//------------------------------------------------------------------------------ -void -hexprint (const void *_str, size_t len) -//------------------------------------------------------------------------------ -{ - size_t i; - const char* str = _str; - - printf ("\t;; "); - - for (i = 0; i < len; i++) { - printf ("%02x ", (str[i] & 0xFF)); - - if ((i + 1) % 8 == 0) - printf (" "); - - if ((i + 1) % 16 == 0 && i + 1 < len) - printf ("\n\t;; "); - } - - printf ("\n"); -} - -//------------------------------------------------------------------------------ -void -binprint (const void *_str, size_t len) -//------------------------------------------------------------------------------ -{ - size_t i; - const char* str = _str; - - printf ("\t;; "); - - for (i = 0; i < len; i++) { - printf ("%d%d%d%d%d%d%d%d ", - (str[i] & 0xFF) & 0x80 ? 1 : 0, - (str[i] & 0xFF) & 0x40 ? 1 : 0, - (str[i] & 0xFF) & 0x20 ? 1 : 0, - (str[i] & 0xFF) & 0x10 ? 1 : 0, - (str[i] & 0xFF) & 0x08 ? 1 : 0, - (str[i] & 0xFF) & 0x04 ? 1 : 0, - (str[i] & 0xFF) & 0x02 ? 1 : 0, (str[i] & 0xFF) & 0x01 ? 1 : 0); - - if ((i + 1) % 3 == 0) - printf (" "); - - if ((i + 1) % 6 == 0 && i + 1 < len) - printf ("\n\t;; "); - } - - printf ("\n"); -} - -//------------------------------------------------------------------------------ -int -compare_buffer(const uint8_t *buffer, const uint32_t length_buffer, - const uint8_t *pattern, const uint32_t length_pattern) -//------------------------------------------------------------------------------ -{ - int i; - - if (length_buffer != length_pattern) { - printf("Length mismatch, expecting %d bytes, got %d bytes\n", length_pattern, - length_buffer); - hexprint(buffer, length_buffer); - return -1; - } - - for (i = 0; i < length_buffer; i++) { - if (pattern[i] != buffer[i]) { - printf("Expecting:\n"); - hexprint(pattern, length_pattern); - printf("Received:\n"); - hexprint(buffer, length_buffer); - printf("Mismatch fount in byte %d\nExpecting 0x%02x, got 0x%02x\n", - i, pattern[i], buffer[i]); - return -1; - } - } - - return 0; -} - -//------------------------------------------------------------------------------ -unsigned -decode_hex_length(const char *h) -//------------------------------------------------------------------------------ -{ - const unsigned char *hex = (const unsigned char *) h; - unsigned count; - unsigned i; - - for (count = i = 0; hex[i]; i++) { - if (isspace(hex[i])) - continue; - - if (hex_digits[hex[i]] < 0) - abort(); - - count++; - } - - if (count % 2) - abort(); - - return count / 2; -} - -//------------------------------------------------------------------------------ -int -decode_hex(uint8_t *dst, const char *h) -//------------------------------------------------------------------------------ -{ - const unsigned char *hex = (const unsigned char *) h; - unsigned i = 0; - - for (;;) { - int high, low; - - while (*hex && isspace(*hex)) - hex++; - - if (!*hex) - return 1; - - high = hex_digits[*hex++]; - - if (high < 0) - return 0; - - while (*hex && isspace(*hex)) - hex++; - - if (!*hex) - return 0; - - low = hex_digits[*hex++]; - - if (low < 0) - return 0; - - dst[i++] = (high << 4) | low; - } -} - -//------------------------------------------------------------------------------ -uint8_t * -decode_hex_dup(const char *hex) -//------------------------------------------------------------------------------ -{ - uint8_t *p; - unsigned length = decode_hex_length(hex); - - p = malloc(length * sizeof(uint8_t)); - - if (decode_hex(p, hex)) - return p; - else { - free(p); - return NULL; - } -} - diff --git a/openair3/TEST/oaisim_mme_test_s1c_scenario.h b/openair3/TEST/oaisim_mme_test_s1c_scenario.h deleted file mode 100644 index 8b9a8dd54a14fc74b81f4fa8ba8aecbbaba51ac2..0000000000000000000000000000000000000000 --- a/openair3/TEST/oaisim_mme_test_s1c_scenario.h +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The OpenAirInterface Software Alliance licenses this file to You under - * the OAI Public License, Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.openairinterface.org/?page_id=698 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - *------------------------------------------------------------------------------- - * For more information about the OpenAirInterface (OAI) Software Alliance: - * contact@openairinterface.org - */ - -#ifndef __TEST_OAISIM_MME_TEST_S1C_SCENARIO__H__ -#define __TEST_OAISIM_MME_TEST_S1C_SCENARIO__H__ - -#include <stdlib.h> -#include <stdint.h> - -#define MME_TEST_S1_MAX_BUF_LENGTH (1024) -#define MME_TEST_S1_MAX_BYTES_TEST (32) - -typedef enum entity_s{ - MME, - ENB -} entity_t; - -typedef struct s1ap_message_test_s{ - char *procedure_name; - uint8_t buffer[MME_TEST_S1_MAX_BUF_LENGTH]; - uint16_t dont_check[MME_TEST_S1_MAX_BYTES_TEST]; // bytes index test that can be omitted - uint32_t buf_len; - entity_t originating; - uint16_t sctp_stream_id; - uint32_t assoc_id; -} s1ap_message_test_t; - -void fail (const char *format, ...); -void success (const char *format, ...); -void escapeprint (const char *str, size_t len); -void hexprint (const void *_str, size_t len); -void binprint (const void *_str, size_t len); -int compare_buffer(const uint8_t *buffer, const uint32_t length_buffer, const uint8_t *pattern, const uint32_t length_pattern); -unsigned decode_hex_length(const char *h); -int decode_hex(uint8_t *dst, const char *h); -uint8_t *decode_hex_dup(const char *hex); - -#endif diff --git a/openair3/TEST/oaisim_mme_test_s1c_scenario1.c b/openair3/TEST/oaisim_mme_test_s1c_scenario1.c deleted file mode 100644 index 87a63b876a3d2e774b6418b88dfc09f3f6c9e312..0000000000000000000000000000000000000000 --- a/openair3/TEST/oaisim_mme_test_s1c_scenario1.c +++ /dev/null @@ -1,181 +0,0 @@ -/* - * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The OpenAirInterface Software Alliance licenses this file to You under - * the OAI Public License, Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.openairinterface.org/?page_id=698 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - *------------------------------------------------------------------------------- - * For more information about the OpenAirInterface (OAI) Software Alliance: - * contact@openairinterface.org - */ - -#include <stdlib.h> -#include "oaisim_mme_test_s1c_scenario.h" - - -// Description succesfull attach of UE, release UE. - -s1ap_message_test_t s1ap_scenario1[] = { - { - .procedure_name = "id-initialUEMessage", - .buffer = { - 0x00, 0x0C, - 0x00, 0x5C, 0x00, 0x00, 0x05, 0x00, 0x08, 0x00, 0x04, 0x80, 0x06, 0x69, 0x2D, 0x00, 0x1A, 0x00, - 0x32, 0x31, 0x07, 0x41, 0x71, 0x08, 0x29, 0x80, 0x39, 0x00, 0x00, 0x00, 0x00, 0x10, 0x02, 0xE0, - 0xE0, 0x00, 0x20, 0x02, 0x01, 0xD0, 0x11, 0x27, 0x1A, 0x80, 0x80, 0x21, 0x10, 0x01, 0x00, 0x00, - 0x10, 0x81, 0x06, 0x00, 0x00, 0x00, 0x00, 0x83, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, - 0x00, 0x0A, 0x00, 0x00, 0x43, 0x00, 0x06, 0x00, 0x02, 0xF8, 0x39, 0x00, 0x01, 0x00, 0x64, 0x40, - 0x08, 0x00, 0x02, 0xF8, 0x39, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x86, 0x40, 0x01, 0x30 - }, - .dont_check = { - -1 - }, - .buf_len = 96, - .sctp_stream_id = 1, - .originating = ENB, - }, - { - .procedure_name = "id-downlinkNASTransport, Authentication request", - .buffer = { - 0x00, 0x0B, - 0x00, 0x3D, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x05, 0xC0, 0x80, 0x00, 0x15, 0x20, 0x00, 0x08, - 0x00, 0x04, 0x80, 0x06, 0x69, 0x2D, 0x00, 0x1A, 0x00, 0x25, 0x24, 0x07, 0x52, 0x00, 0xD3, 0xB5, - 0xF0, 0x89, 0x68, 0x02, 0x66, 0x5A, 0x08, 0xE6, 0x51, 0xC7, 0x29, 0x6B, 0x4D, 0xA0, 0x10, 0xDD, - 0x04, 0x53, 0xC8, 0x3F, 0x94, 0x80, 0x00, 0x03, 0xAF, 0x2F, 0x49, 0xF3, 0xC8, 0x38, 0x90, 0x00, - 0x00, 0x00 - }, - .dont_check = { - -1 - }, - .buf_len = 65, - .sctp_stream_id = 1, - .originating = MME, - }, - { - .procedure_name = "id-uplinkNASTransport, 0xAuthentication response", - .buffer = { - 0x00, 0x0d, - 0x40, 0x3a, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0xc0, 0x80, 0x00, 0x15, 0x20, 0x00, 0x08, - 0x00, 0x04, 0x80, 0x06, 0x69, 0x2d, 0x00, 0x1a, 0x00, 0x0C, 0x0b, 0x07, 0x53, 0x08, 0x11, 0x82, - 0x98, 0x98, 0x3b, 0xca, 0xF2, 0x97, 0x00, 0x64, 0x40, 0x08, 0x00, 0x02, 0xF8, 0x39, 0x00, 0x00, - 0xe0, 0x00, 0x00, 0x43, 0x40, 0x06, 0x00, 0x02, 0xF8, 0x39, 0x00, 0x01, 0x00, 0x00 - }, - .dont_check = { - -1 - }, - .buf_len = 62, - .sctp_stream_id = 1, - .originating = ENB, - }, - { - .procedure_name = "id-downlinkNASTransport, Security mode command", - .buffer = { - 0x00, 0x0b, - 0x00, 0x26, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x05, 0xc0, 0x80, 0x00, 0x15, 0x20, 0x00, 0x08, - 0x00, 0x04, 0x80, 0x06, 0x69, 0x2d, 0x00, 0x1a, 0x00, 0x0e, 0x0d, 0x37, 0xFC, 0xc1, 0xda, 0xd9, - 0x00, 0x07, 0x5d, 0x02, 0x00, 0x02, 0xe0, 0xe0, 0x00, 0x00 - }, - .dont_check = { - -1 - }, - .buf_len = 42, - .sctp_stream_id = 1, - .originating = MME, - }, - { - .procedure_name = "id-uplinkNASTransport, Security mode complete", - .buffer = { - 0x00, 0x0d, - 0x40, 0x37, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0xc0, 0x80, 0x00, 0x15, 0x20, 0x00, 0x08, - 0x00, 0x04, 0x80, 0x06, 0x69, 0x2d, 0x00, 0x1a, 0x00, 0x09, 0x08, 0x47, 0x1d, 0xd0, 0xbb, 0xad, - 0x00, 0x07, 0x5e, 0x00, 0x64, 0x40, 0x08, 0x00, 0x02, 0xF8, 0x39, 0x00, 0x00, 0xe0, 0x00, 0x00, - 0x43, 0x40, 0x06, 0x00, 0x02, 0xF8, 0x39, 0x00, 0x01, 0x00 - }, - .dont_check = { - -1 - }, - .buf_len = 59, - .sctp_stream_id = 1, - .originating = ENB, - }, - { - .procedure_name = "id-InitialContextSetup, InitialContextSetupRequest , Attach accept, Activate default EPS bearer context request", - .buffer = { - 0x00, 0x09, - 0x00, 0x80, 0xba, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x05, 0xc0, 0x80, 0x00, 0x15, 0x20, 0x00, - 0x08, 0x00, 0x04, 0x80, 0x06, 0x69, 0x2d, 0x00, 0x42, 0x00, 0x0a, 0x18, 0x05, 0xF5, 0xe1, 0x00, - 0x60, 0x02, 0xFa, 0xF0, 0x80, 0x00, 0x18, 0x00, 0x67, 0x00, 0x00, 0x34, 0x00, 0x62, 0x45, 0x00, - 0x09, 0x04, 0x0f, 0x80, 0x7f, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x53, 0x27, 0x8b, 0xe6, - 0x60, 0xb5, 0x01, 0x07, 0x42, 0x01, 0x4a, 0x06, 0x20, 0x02, 0xF8, 0x39, 0x00, 0x01, 0x00, 0x31, - 0x52, 0x01, 0xc1, 0x01, 0x09, 0x09, 0x03, 0x6f, 0x61, 0x69, 0x04, 0x69, 0x70, 0x76, 0x34, 0x05, - 0x01, 0xc0, 0xbb, 0x00, 0x02, 0x5e, 0x04, 0xFe, 0xFe, 0xde, 0x9e, 0x27, 0x14, 0x80, 0x80, 0x21, - 0x10, 0x03, 0x00, 0x00, 0x10, 0x81, 0x06, 0xc0, 0xa8, 0x0C, 0x64, 0x83, 0x06, 0xc0, 0xa8, 0x6a, - 0x0C, 0x50, 0x0b, 0xF6, 0x02, 0xF8, 0x39, 0x80, 0x00, 0x01, 0x78, 0x00, 0x0C, 0x20, 0x17, 0x2C, - 0x00, 0x6b, 0x00, 0x05, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x49, 0x00, 0x20, 0xFa, 0x59, 0x15, - 0x4e, 0x32, 0x95, 0x04, 0x2d, 0x35, 0xa4, 0x47, 0xc3, 0x80, 0xab, 0x63, 0xd8, 0xe6, 0x91, 0x83, - 0x6C, 0x9a, 0xF0, 0xed, 0x85, 0x38, 0xa8, 0x27, 0x41, 0x6b, 0x2b, 0x64, 0x86, 0x00 - }, - .dont_check = { - -1 - }, - .buf_len = 191, - .sctp_stream_id = 1, - .originating = MME, - }, - { - .procedure_name = "id-UECapabilityInfoIndication", - .buffer = { - 0x00, 0x16, - 0x40, 0x2C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x05, 0xc0, 0x80, 0x00, 0x15, 0x20, 0x00, 0x08, - 0x00, 0x04, 0x80, 0x06, 0x69, 0x2d, 0x00, 0x4a, 0x40, 0x14, 0x13, 0x81, 0x20, 0x00, 0x03, 0x00, - 0x10, 0x60, 0xe0, 0xc1, 0xF8, 0x3f, 0x07, 0xe0 ,0xfd, 0x78, 0x37, 0x62, 0x00, 0x00 - }, - .dont_check = { - -1 - }, - .buf_len = 48, - .originating = ENB, - }, - { - .procedure_name = "id-InitialContextSetup, InitialContextSetupResponse ", - .buffer = { - 0x20, 0x09, - 0x00, 0x27, 0x00, 0x00, 0x03, 0x00, 0x00, 0x40, 0x05, 0xc0, 0x80, 0x00, 0x15, 0x20, 0x00, 0x08, - 0x40, 0x04, 0x80, 0x06, 0x69, 0x2d, 0x00, 0x33, 0x40, 0x0f, 0x00, 0x00, 0x32, 0x40, 0x0a, 0x0a, - 0x1f, 0x7f, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01 - }, - .dont_check = { - -1 - }, - .buf_len = 64, - .sctp_stream_id = 1, - .originating = ENB, - }, - { - .procedure_name = "id-uplinkNASTransport, Attach complete, Activate default EPS bearer context accept", - .buffer = { - - 0x00, 0x0d, - 0x05, 0x00, 0x00, 0x00, 0x05, 0xc0, 0x80, 0x00, 0x15, 0x20, 0x00, 0x08, 0x00, 0x04, 0x80, 0x06, - 0x69, 0x2d, 0x00, 0x1a, 0x00, 0x0e, 0x0d, 0x27, 0xc7, 0x8f, 0x5a, 0xd2, 0x01, 0x07, 0x43, 0x00, - 0x03, 0x52, 0x00, 0xc2, 0x00, 0x64, 0x40, 0x08, 0x00, 0x02, 0xF8, 0x39, 0x00, 0x00, 0xe0, 0x00, - 0x00, 0x43, 0x40, 0x06, 0x00, 0x02, 0xF8, 0x39, 0x00, 0x01 - }, - .dont_check = { - -1 - }, - .buf_len = 64, - .sctp_stream_id = 1, - .originating = ENB, - } -}; diff --git a/targets/RT/USER/lte-hwlat.c b/targets/RT/USER/lte-hwlat.c deleted file mode 100755 index 20482adf8719fda662c6d0672787dec0252c188d..0000000000000000000000000000000000000000 --- a/targets/RT/USER/lte-hwlat.c +++ /dev/null @@ -1,944 +0,0 @@ -/* - * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The OpenAirInterface Software Alliance licenses this file to You under - * the OAI Public License, Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.openairinterface.org/?page_id=698 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - *------------------------------------------------------------------------------- - * For more information about the OpenAirInterface (OAI) Software Alliance: - * contact@openairinterface.org - */ - -#define _GNU_SOURCE -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> -#include <string.h> -#include <sys/ioctl.h> -#include <sys/types.h> -#include <sys/mman.h> -#include <sys/stat.h> -#include <fcntl.h> -#include <sched.h> -#include <linux/sched.h> -#include <signal.h> -#include <execinfo.h> -#include <getopt.h> -#include <syscall.h> -#include <sys/sysinfo.h> - -#include "assertions.h" -#include "PHY/types.h" - -#include "PHY/defs.h" - -#include <sys/time.h> -#define GET_TIME_INIT(num) struct timeval _timers[num] -#define GET_TIME_VAL(num) gettimeofday(&_timers[num], NULL) -#define TIME_VAL_TO_MS(num) (((double)_timers[num].tv_sec*1000.0) + ((double)_timers[num].tv_usec/1000.0)) - -#undef MALLOC //there are two conflicting definitions, so we better make sure we don't use it at all -//#undef FRAME_LENGTH_COMPLEX_SAMPLES //there are two conflicting definitions, so we better make sure we don't use it at all - -#include "../../ARCH/COMMON/common_lib.h" - -#include "PHY/extern.h" -#include "SCHED/extern.h" -#include "LAYER2/MAC/extern.h" -#include "LAYER2/MAC/proto.h" - -#define SYRIQ_CHANNEL_TESTER 0 -#define SYRIQ_CHANNEL_TESTER2 0 -#define SYRIQ_CHANNEL_DATA1 1 - -volatile int oai_exit = 0; - -openair0_config_t openair0_cfg[MAX_CARDS]; - -#if 0 -#define NB_ANTENNAS_RX 4 - -#define DevAssert(cOND) _Assert_(cOND, _Assert_Exit_, "") -#define malloc16(x) memalign(16,x) - -#ifdef 0 -static inline void* malloc16_clear( size_t size ) -{ -#ifdef __AVX2__ - void* ptr = memalign(32, size); -#else - void* ptr = memalign(16, size); -#endif - if(ptr) - memset( ptr, 0, size ); - return ptr; -} -#endif - -#endif - -typedef struct latency_stat { - uint64_t counter; - - uint64_t stat250; - uint64_t stat500; - uint64_t stat600; - uint64_t stat700; - uint64_t stat800; - - uint64_t stat1300; - uint64_t stat1500; - uint64_t stat2000; - uint64_t stat2500; - uint64_t stat3000; - - uint64_t stat880; - uint64_t stat960; - uint64_t stat1040; - uint64_t stat1120; - uint64_t stat1200; -} latency_stat_t; - - -typedef struct timing_stats { - char *name; - double min; - double max; - double total; - unsigned int count; -} timing_stats_t; - - -//static struct timespec get_timespec_diff( -// struct timespec *start, -// struct timespec *stop ) -//{ -// struct timespec result; -// -// if ( ( stop->tv_nsec - start->tv_nsec ) < 0 ) { -// result.tv_sec = stop->tv_sec - start->tv_sec - 1; -// result.tv_nsec = stop->tv_nsec - start->tv_nsec + 1000000000; -// } -// else { -// result.tv_sec = stop->tv_sec - start->tv_sec; -// result.tv_nsec = stop->tv_nsec - start->tv_nsec; -// } -// -// return result; -//} - - -//static void measure_time ( -// openair0_device *rf_device, -// struct timespec *start, -// struct timespec *stop, -// timing_stats_t *stats, -// boolean_t START, -// uint8_t PRINT_INTERVAL ) -//{ -// if ( START ) { -// clock_gettime( CLOCK_MONOTONIC, start ); -// } -// else { -// clock_gettime( CLOCK_MONOTONIC, stop ); -// -// struct timespec diff; -// double current = 0; -//// boolean_t show_stats = false; -// -// diff = get_timespec_diff( start, stop ); -// current = (double)diff.tv_sec * 1000000 + (double)diff.tv_nsec / 1000; -// -// if ( current > stats->max ) { -// stats->max = current; -//// show_stats = true; -// } -// if ( stats->min == 0 || current < stats->min ) { -// stats->min = current; -//// show_stats = true; -// } -// stats->total += current; -// -//// if ( show_stats ) { -//// rf_device.trx_get_stats_func( &rf_device ); -//// } -// -//// if ( stats->count % PRINT_INTERVAL == 0 ) { -//// double avg = stats->total / ( stats->count + 1 ); -//// printf( "[%s][%d] Current : %.2lf µs, Min : %.2lf µs, Max : %.2lf µs, Avg : %.2lf µs\n", -//// stats->count, stats->name, current, stats->min, stats->max, avg ); -//// } -// -// stats->count++; -// } -//} -int32_t **rxdata; -int32_t **txdata; - -int setup_ue_buffers(PHY_VARS_UE **phy_vars_ue, openair0_config_t *openair0_cfg); - -static inline void saif_meas(unsigned int frame_rx, unsigned int subframe_rx) { - static latency_stat_t __thread latency_stat; - static struct timespec __thread last= {0}; - struct timespec now; - clock_gettime(CLOCK_MONOTONIC_RAW, &now); - if ( last.tv_sec ) { - uint64_t diffTime = ((uint64_t)now.tv_sec *1000 *1000 *1000 + now.tv_nsec) - - ((uint64_t)last.tv_sec *1000 *1000 *1000 + last.tv_nsec); - diffTime/=1000; - latency_stat.counter++; - - if ( diffTime <= 800 ) { - if (diffTime < 250 ) - latency_stat.stat250++; - else if (diffTime < 500 ) - latency_stat.stat500++; - else if (diffTime < 600 ) - latency_stat.stat600++; - else if (diffTime < 700 ) - latency_stat.stat700++; - else - latency_stat.stat800++; - } - else if ( diffTime > 1200 ) { - if (diffTime < 1500 ) - latency_stat.stat1300++; - else if ( diffTime < 2000 ) - latency_stat.stat1500++; - else if ( diffTime < 2500 ) - latency_stat.stat2000++; - else if ( diffTime < 3000 ) - latency_stat.stat2500++; - else - latency_stat.stat3000++; - } - else - if (diffTime <= 880 ) - latency_stat.stat880++; - else if (diffTime <= 960 ) - latency_stat.stat960++; - else if (diffTime <= 1040 ) - latency_stat.stat1040++; - else if (diffTime < 1120 ) - latency_stat.stat1120++; - else - latency_stat.stat1200++; - - - if ( (diffTime>=1500) || ( !(frame_rx%1024) && subframe_rx == 0 ) ) { - time_t current=time(NULL); - printf("\n"); - printf("%.2f Period stats cnt=%7.7ld 0.. 250=%7.7ld 250.. 500=%7.7ld 500.. 600=%7.7ld 600.. 700=%7.7ld 700.. 800=%7.7ld - (frame_rx=%u) - %s", - now.tv_sec+(double)now.tv_nsec/1e9, - latency_stat.counter, - latency_stat.stat250, latency_stat.stat500, - latency_stat.stat600, latency_stat.stat700, - latency_stat.stat800, - frame_rx, - ctime(¤t)); - printf("%.2f Period stats cnt=%7.7ld 800.. 880=%7.7ld 880.. 960=%7.7ld 960..1040=%7.7ld 1040..1120=%7.7ld 1120..1200=%7.7ld - (frame_rx=%u) - %s", - now.tv_sec+(double)now.tv_nsec/1e9, - latency_stat.counter, - latency_stat.stat880, latency_stat.stat960, - latency_stat.stat1040, latency_stat.stat1120, - latency_stat.stat1200, - frame_rx, - ctime(¤t)); - printf("%.2f Period stats cnt=%7.7ld 1200..1300=%7.7ld 1300..1500=%7.7ld 1500..2000=%7.7ld 2000..2500=%7.7ld >3000=%7.7ld - (frame_rx=%u) - %s", - now.tv_sec+(double)now.tv_nsec/1e9, - latency_stat.counter, - latency_stat.stat1300, latency_stat.stat1500, - latency_stat.stat2000, latency_stat.stat2500, - latency_stat.stat3000, - frame_rx, - ctime(¤t)); - fflush(stdout); - } - } - last=now; -} -/* End of Changed by SYRTEM */ - -void exit_fun(const char* s) -{ - - if (s != NULL) { - printf("%s %s() Exiting OAI softmodem: %s\n",__FILE__, __FUNCTION__, s); - } - - oai_exit = 1; - -} - - -void init_thread(int sched_runtime, int sched_deadline, int sched_fifo, char * name) { - -#ifdef DEADLINE_SCHEDULER - if (sched_runtime!=0) { - struct sched_attr attr= {0}; - attr.size = sizeof(attr); - // This creates a .5 ms fpga_recv_cnt reservation - attr.sched_policy = SCHED_DEADLINE; - attr.sched_runtime = sched_runtime; - attr.sched_deadline = sched_deadline; - attr.sched_period = 0; - AssertFatal(sched_setattr(0, &attr, 0) == 0, - "[SCHED] main eNB thread: sched_setattr failed %s \n",perror(errno)); - LOG_I(HW,"[SCHED][eNB] eNB main deadline thread %lu started on CPU %d\n", - (unsigned long)gettid(), sched_getcpu()); - } - -#else -#ifdef CPU_AFFINITY - if (get_nprocs() >2) { - for (j = 1; j < get_nprocs(); j++) - CPU_SET(j, &cpuset); - } - AssertFatal( 0 == pthread_setaffinity_np(pthread_self(), sizeof(cpu_set_t), &cpuset)==0,""); -#endif - struct sched_param sp; - sp.sched_priority = sched_fifo; - AssertFatal(pthread_setschedparam(pthread_self(),SCHED_FIFO,&sp)==0, - "Can't set thread priority, Are you root?\n"); -#endif - - // Lock memory from swapping. This is a process wide call (not constraint to this thread). - mlockall(MCL_CURRENT | MCL_FUTURE); - pthread_setname_np( pthread_self(), name ); - -} - - -int main(void) -{ - int ret; - uint64_t i; - openair0_device rf_device; - openair0_timestamp timestamp = 0; - - unsigned int sub_frame = 0; - unsigned int frame_rx = 0; - - unsigned int nb_antennas_tx = 1; - unsigned int nb_antennas_rx = 1; - - - openair0_cfg[0].mmapped_dma = 0; - openair0_cfg[0].configFilename = NULL; - openair0_cfg[0].duplex_mode = duplex_mode_FDD; - - uint32_t **sendbuff = NULL; - uint32_t **recvbuff = NULL; - uint32_t expected_value = 0; - uint32_t received_value = 0; - int nsamp = 0; // 1 ms - int antenna_id = 1; - int c = 0; - int numIter = 0; - int fpga_loop = 0; -#if SYRIQ_CHANNEL_DATA1 - uint64_t first_ts = 0; - uint8_t is_first_ts = 0; - uint64_t trx_read_cnt = 0; - uint32_t j = 0; - uint32_t err_cnt = 0; -#else - int failure = 0; -#endif -#if 0 // 5MHz BW - unsigned int nb_sample_per_tti = 7680; - openair0_cfg[0].sample_rate = 7.68e6; - openair0_cfg[0].samples_per_frame = nb_sample_per_tti*10; - openair0_cfg[0].rx_bw = 2.5e6; - openair0_cfg[0].tx_bw = 2.5e6; - openair0_cfg[0].num_rb_dl = 25; -#endif - -#if 0 // 10MHz BW - unsigned int nb_sample_per_tti = 15360; - openair0_cfg[0].sample_rate = 15.36e6; - openair0_cfg[0].samples_per_frame = nb_sample_per_tti*10; - openair0_cfg[0].rx_bw = 5.0e6; - openair0_cfg[0].tx_bw = 5.0e6; - openair0_cfg[0].num_rb_dl = 50; -#endif - -#if 1 // 20MHz BW - unsigned int nb_sample_per_tti = 30720; - openair0_cfg[0].sample_rate = 30.72e6; - openair0_cfg[0].samples_per_frame = nb_sample_per_tti*10; - openair0_cfg[0].rx_bw = 10.0e6; - openair0_cfg[0].tx_bw = 10.0e6; - openair0_cfg[0].num_rb_dl = 100; -#endif - - const char *openair_dir = getenv("OPENAIR_DIR"); - const char *ini_file = "/usr/local/etc/syriq/ue.band7.tm1.PRB100.NR20.dat"; - - int readBlockSize; - void* rxp[nb_antennas_rx]; - void* txp[nb_antennas_tx]; - -// int32_t rxdata[1][nb_sample_per_tti*10+2048]; -#if 0 - int32_t **rxdata; -#endif -// init_thread(100000, 500000, sched_get_priority_max(SCHED_FIFO),"main UE"); - - printf("LTE HARDWARE Latency debug utility \n"); - printf("INIT data buffers \n"); - -#if 0 - rxdata = (int32_t**)memalign(32, nb_antennas_rx*sizeof(int32_t*) ); - rxdata[0] = (int32_t*)memalign(32,(nb_sample_per_tti*10+2048)*sizeof(int32_t)); -#else - rxdata = (int32_t**)malloc16( nb_antennas_rx*sizeof(int32_t*) ); - txdata = (int32_t**)malloc16( nb_antennas_tx*sizeof(int32_t*) ); - rxdata[0] = (int32_t*)malloc16_clear( 307200*sizeof(int32_t) ); - txdata[0] = (int32_t*)malloc16_clear( 307200*sizeof(int32_t) ); -#endif - - printf("INIT done\n"); - - memset(&rf_device, 0, sizeof(openair0_device)); - - rf_device.host_type = BBU_HOST; - openair0_cfg[0].duplex_mode = duplex_mode_FDD; - openair0_cfg[0].rx_num_channels = 1; - openair0_cfg[0].tx_num_channels = 1; - - // configure channel 0 - for (i=0; i<openair0_cfg[0].rx_num_channels; i++) - { - printf("configure channel %d \n",i); - openair0_cfg[0].autocal[i] = 1; - openair0_cfg[0].rx_freq[i] = 2680000000; - openair0_cfg[0].tx_freq[i] = 2560000000; - openair0_cfg[0].rx_gain[i] = 61; - openair0_cfg[0].tx_gain[i] = 90; - } - - if (openair_dir) - { - openair0_cfg[0].configFilename = malloc(strlen(openair_dir) + strlen(ini_file) + 2); - sprintf(openair0_cfg[0].configFilename, "%s/%s", openair_dir, ini_file); - } -// printf("openair0_cfg[0].configFilename:%s\n", openair0_cfg[0].configFilename); - - ret = openair0_device_load( &rf_device, &openair0_cfg[0] ); - if (ret != 0){ - exit_fun("Error loading device library"); - exit(-1); - } - -/* Runtime test - * 30 720 000 samples (4 bytes) for 1 sec (30 720 for 1 ms) - */ - puts( "* Starting the device" ); - -// TIMING -// struct timespec start, stop; // tx_start, tx_stop; -// timing_stats_t rx_stats, tx_stats; - -// rx_stats.name = strdup( "RX" ); -// tx_stats.name = strdup( "TX" ); -// TIMING - - nsamp = 307200; // 1 ms - sendbuff = memalign( 128, nb_antennas_rx * sizeof( uint32_t * ) ); - sendbuff[0] = memalign( 128, nsamp * sizeof( uint32_t ) ); - recvbuff = memalign( 128, nb_antennas_rx * sizeof( uint32_t * ) ); - recvbuff[0] = memalign( 128, nsamp * sizeof( uint32_t ) ); - -// Create dummy buffer - for ( c = 0; c < nsamp; c++ ) { -// sendbuff[0][c] = (c+1); - sendbuff[0][c] = (c+1)*16; -// sendbuff[0][c] = (nsamp-c); - recvbuff[0][c] = 0; - } - - GET_TIME_INIT(3); - - if ( rf_device.trx_start_func( &rf_device ) < 0 ) { - printf( " device could not be started !\n" ); - return -1; - } - - // read 30720 - - // write 30720 ts+2*30720 - - // if tsread >= 2-307200 -> check expected value + status (RxoVer TxUnder) - - rxp[0] = (void*)&rxdata[0][0]; - txp[0] = (void*)&txdata[0][0]; - timestamp = 0; - nsamp = 30720; // 30720 => 1ms buffer - trx_read_cnt = 100000; // 1 loop => 1ms (10sec=10000; 15min = 900000) - antenna_id = 1; - int diff = 0; - int compare_start = 0; - - uint32_t looploop=0; - uint64_t error_cnt = 0; - uint64_t error_ts_start; - - for (i = 0; i < trx_read_cnt; i++) - { - -// printf("\n\n"); - - -// ret = rf_device.trx_read_func( &rf_device, ×tamp, &(rxp[0][(i*30720)%307200]), nsamp, antenna_id ); -// ret = rf_device.trx_read_func( &rf_device, ×tamp, recvbuff[0][(i*30720)%307200], nsamp, antenna_id ); - rxp[0] = (void*)&rxdata[0][(i*30720)%307200]; - GET_TIME_VAL(0); - ret = rf_device.trx_read_func( &rf_device, ×tamp, rxp, nsamp, antenna_id ); - GET_TIME_VAL(1); - - if (ret != nsamp) - { - printf("Error: nsamp received (%d) != nsamp required (%d)\n", ret, nsamp); - fflush(stdout); - return (-1); - } - if (!is_first_ts) - { - first_ts = timestamp; - is_first_ts = 1; - } - -// printf("%d - trx_read_func ret=%d - ts = %d - @=0x%08lx\n", i, ret, timestamp, rxp[0] ); - - txp[0] = (void*)&(txdata[0][ ((i*30720)%307200+2*30720)%307200 ]); -// printf(" i=%d @txp[0][0] = 0x%016lx\n", i, &(((uint32_t *)txp[0])[0]) ); -// printf(" i=%d @txp[0][1] = 0x%016lx\n", i, &(((uint32_t *)txp[0])[1]) ); - - for ( c = 0; c < nsamp; c++ ) - { - (((uint32_t *)txp[0])[c]) = ( (((timestamp+c+2*30720)<<4)&0x0000FFF0) + (((timestamp+c+2*30720)<<8)&0xFFF00000) ); - } - -// printf(" txp[0][%d] = 0x%x\n",0,((uint32_t *)(txp[0]))[0]); -// printf(" txp[0][%d] = 0x%x\n",1,((uint32_t *)(txp[0]))[1]); -// printf(" ...\n"); -// printf(" txp[0][%d] = 0x%x\n",nsamp-2,((uint32_t *)(txp[0]))[nsamp-2]); -// printf(" txp[0][%d] = 0x%x\n",nsamp-1,((uint32_t *)(txp[0]))[nsamp-1]); - - - ret = rf_device.trx_write_func( &rf_device, (timestamp+2*30720), txp, nsamp, antenna_id, false ); - if (ret != nsamp) - { - printf("Error: nsamp sent (%d) != nsamp required (%d)\n", ret, nsamp); - fflush(stdout); - return (-1); - } - -// printf("%d - trx_write_func ret=%d - ts = %d - @=0x%08lx\n", i, ret, (timestamp+2*30720), txp[0] ); - - - if (timestamp >= (first_ts + 2 * 307200)) - { - - // check Rx Overflow - - // check Tx Underflow - - // check Expected Value - for ( c = 0; c < nsamp; c++ ) - { - -// LOOPBACK -#if 1 - expected_value = ((timestamp + c)&0xFFFFFF); - received_value = ((uint32_t *)(rxp[0]))[c]; - received_value = ((received_value)&0xFFF) + ((received_value>>4)&0xFFF000); - - if (compare_start == 0) - { - compare_start = 1; - diff = expected_value - received_value; - } - received_value = (received_value + diff)&0xFFFFFF; - -#if 1 - - if (expected_value != received_value) - { - if(!error_cnt) - error_ts_start = (timestamp + c); - else - { - if (looploop < 32) - printf("%d - %d != %d - ts %d - raw 0x%x - diff %d\n", - looploop, - expected_value, received_value, - (timestamp + c), ((uint32_t *)(rxp[0]))[c], - diff); - looploop++; - } - - error_cnt++; - - if(!(error_cnt%102400)) - printf(" -> error detected : cnt=%d - start=%ld - stop=... diff=%d\n", - error_cnt, - error_ts_start, - diff); - - } - else - { - if(error_cnt) - { - printf(" -> error detected : cnt=%d - start=%ld - stop=%ld\n\n", - error_cnt, - error_ts_start, - (timestamp + c) ); - looploop=0; - } - error_cnt=0; - } -#endif -#endif - -// DEBUG mode 0 -#if 0 - received_value = ((uint32_t *)(rxp[0]))[c]; - received_value = ((received_value)&0xFFF) + ((received_value>>4)&0xFFF000); - received_value = (received_value&0xFFFFFF); - if (compare_start == 0) - { - compare_start = 1; - expected_value = received_value; - } - else - { - expected_value++; - expected_value = (expected_value&0xFFFFFF); - } - - if (expected_value != received_value) - { - if(!error_cnt) - error_ts_start = (timestamp + c); - error_cnt++; - } - else - { - if(error_cnt) - { - printf(" -> error detected : cnt=%d - start=%ld - stop=%ld\n\n", - error_cnt, - error_ts_start, - (timestamp + c) ); - } - error_cnt=0; - } - - - -// if (expected_value != received_value) -// { -// printf("%d -> %d != %d (ts+c=%ld)(raw=0x%08x)\n", -// looploop, -// expected_value, received_value, -// (timestamp + c), -// ((uint32_t *)(rxp[0]))[c] ); -// -// if (received_value) -// expected_value = received_value; -// } -#endif - - } - } - } - - printf("HwLat Application returns !!!\n"); - fflush(stdout); - sleep(1); - - - printf("\n"); - rf_device.trx_end_func( &rf_device ); - - sleep(1); - free(sendbuff[0]); - free(sendbuff); - free(recvbuff[0]); - free(recvbuff); - - exit(0); - - - - return(0); - - - -// puts( "* Frequency modification test" ); -// rf_device.trx_set_freq_func( &rf_device, &openair0_cfg[0], 0 ); - -// puts( "* Gain modification test" ); -// rf_device.trx_set_gains_func( &rf_device, &openair0_cfg[0] ); // NOT working (cf. initialization) - -//#if LTE_UE -// sleep(1); - GET_TIME_VAL(0); - for (i = 0; i < trx_read_cnt; i++) - { - printf("\n"); - ret = rf_device.trx_read_func( &rf_device, ×tamp, rxp, nsamp, antenna_id ); - printf("* timestamp=%ld\n", timestamp); -#if 1 - for (j = 0; j < nsamp; j++) - { - if ( ((uint32_t *)rxp[0])[j] != ((expected_value + j + timestamp)%307200) ) - { - err_cnt++; - printf("rxp[%06d]=0x%08x (expected 0x%08lx)\n", j, ((uint32_t *)rxp[0])[j], ((expected_value + j + timestamp)%307200) ); - } - if (err_cnt >= 128) - { - printf("Error: more than 128 expected value failed !\n"); - i = (trx_read_cnt - 1); - j = nsamp; - break; - } - } - //expected_value = (expected_value + nsamp)%307200; - expected_value = (expected_value)%307200; -#endif - } - GET_TIME_VAL(1); -//#endif - -/* ********** ********** */ -/* SYRIQ_CHANNEL_DATA1 */ -/* ********** ********** */ -#if SYRIQ_CHANNEL_DATA1 - -// rf_device.trx_get_stats_func( &rf_device ); - - rf_device.trx_end_func( &rf_device ); - - printf("\n* rf_device.trx_read_func(%d) x %d: %.6lf s\n\n", nsamp, i, ((TIME_VAL_TO_MS(1) - TIME_VAL_TO_MS(0)))/1000.0 ); - -// rf_device.trx_get_stats_func( &rf_device ); - -#if 0 - for (i = 0; i < nsamp; i++) - { -// if ( ((uint32_t *)rxp[0])[i] != i) -// { - err_cnt++; - printf("rxp[%06d]=0x%08x (expected 0x%08x)\n", i, ((uint32_t *)rxp[0])[i], i); -// } -// if (err_cnt > 256) -// { -// i = 307200; -// break; -// } - } -#endif -// for (i = 1024-32; i < 1024+32; i++) -// { -//// if ( ((uint32_t *)rxp[0])[i] != i) -//// { -// err_cnt++; -// printf("rxp[%06d]=0x%08x (expected 0x%08x)\n", i, ((uint32_t *)rxp[0])[i], i); -//// } -// if (err_cnt > 256) -// { -// i = 307200; -// break; -// } -// } - printf("SYRIQ CHANNEL DATA1 done !!!\n"); - sleep(1); - return(0); -#endif -/* ********** ********** */ -/* SYRIQ_CHANNEL_DATA1 */ -/* ********** ********** */ - - - - timestamp = 0; - ret = rf_device.trx_write_func( &rf_device, timestamp, (void**)sendbuff, nsamp, antenna_id, false ); - printf("* rf_device.trx_write_func returns %d\n", ret); - - sleep(1); - - nsamp = 30720; - numIter = 100000; - for ( c = 0; c < numIter; c++ ) - { - fpga_loop ++; - if ( !(fpga_loop % 1000) ) - { - printf("\rtest loop %d / %d", fpga_loop, numIter); - fflush(stdout); - } - -// printf("* TEST : %08d\n", (c+1)); -// measure_time( &rf_device, &start, &stop, &tx_stats, true, 10 ); -// ret = rf_device.trx_write_func( &rf_device, timestamp, (void**)sendbuff, nsamp, antenna_id, false ); -// printf("* rf_device.trx_write_func returns %d\n", ret); -// measure_time( &rf_device, &start, &stop, &tx_stats, false, 10 ); - -// sleep(1); - -// measure_time( &rf_device, &start, &stop, &tx_stats, true, 10 ); - ret = rf_device.trx_read_func( &rf_device, ×tamp, (void**)recvbuff, nsamp, antenna_id ); -// measure_time( &rf_device, &start, &stop, &tx_stats, false, 10 ); - - // Check the data - if (ret > 0) - { -/* ********** ********** */ -/* SYRIQ_CHANNEL_TESTER */ -/* ********** ********** */ -#if SYRIQ_CHANNEL_TESTER - failure = 0; - for (i = 0; i < ret; i++) - { - if ( ((i%1024) == 0) || ((i%1024) == 1) || ((i%1024) == 2) || ((i%1024) == 3) ) - { - if ( (recvbuff[0])[i] != (1020 + ((i%1024)+1)) ) - { - printf("* ERROR (buff[0])[%d]: %d, expected %d\n", i, (uint32_t)(recvbuff[0])[i], ((i%1024)+1) ); - failure = 1; - } - } - else if ( (recvbuff[0])[i] != ((i%1024)+1) ) - { - printf("* ERROR (buff[0])[%d]: %d, expected %d\n", i, (uint32_t)(recvbuff[0])[i], ((i%1024)+1) ); - failure = 1; - } - else - { - printf("* DONE (buff[0])[%d]: %d, expected %d\n", i, (uint32_t)(recvbuff[0])[i], ((i%1024)+1) ); - } - if(failure) - break; - } - if (failure) - printf("* ERROR recv %08d checked FAILURE ret=%d\n", (c+1), ret); - else - { -// printf("* DONE recv %08d checked SUCCESSFULLY ret=%d\n", (c+1), ret); - } -#endif -/* ********** ********** */ -/* SYRIQ_CHANNEL_TESTER2*/ -/* ********** ********** */ -#if SYRIQ_CHANNEL_TESTER2 -// printf("* ret=%d timestamp=%ld (%ld)\n", ret, timestamp, (timestamp%307200)); - failure = 0; - for (i = 0; i < ret; i++) - { -// printf("* (recvbuff[0])[%d]: %d\n", i, (uint32_t)(recvbuff[0])[i]); -// printf("* timestamp+(i/1024+1)*1024 - 3 + i%1024: %d\n", (timestamp-nsamp+(i/1024+1)*1024 - 3 + i%1024)%307200 ); - expected_value = ((((i%1024)+1)/*>>4*/)&0x00000FFF); - if ( ((i%1024) == 0) || ((i%1024) == 1) || ((i%1024) == 2) || ((i%1024) == 3) ) - { - expected_value = ((((timestamp-nsamp+(i/1024+1)*1024 - 3 + i%1024))%307200)); - if ( (recvbuff[0])[i] != expected_value) - { - if ( (expected_value == 0) && ((recvbuff[0])[i] != 4915200) ) - { - printf("* ERROR (buff[0])[%d]: %d, expected %d\n", i, (uint32_t)(recvbuff[0])[i], expected_value ); - failure = 1; - } - if ( (expected_value == 0) && ((recvbuff[0])[i] == 4915200) ) - { -// printf("* DONE loop in circular buffer\n"); - } - } - } - else if ( (recvbuff[0])[i] != expected_value ) - { - printf("* ERROR (buff[0])[%d]: %d, expected %d\n", i, (uint32_t)(recvbuff[0])[i], ((i%1024)+1) ); - failure = 1; - } - else - { -// printf("* DONE (buff[0])[%d]: %d, expected %d\n", i, (uint32_t)(recvbuff[0])[i], ((i%1024)+1) ); - } -// if(failure) -// break; - } - if (failure) - printf("* ERROR recv %08d checked FAILURE ret=%d\n", (c+1), ret); - else - { -// printf("* DONE recv %08d checked SUCCESSFULLY ret=%d\n", (c+1), ret); - } -#endif -#if LOOPBACK - -#endif - } - else - { - printf("* ERROR rf_device.trx_read_func returns %d\n", ret); - } - - } - printf("\n"); - rf_device.trx_end_func( &rf_device ); - - sleep(1); - free(sendbuff[0]); - free(sendbuff); - free(recvbuff[0]); - free(recvbuff); - - exit(0); - -// END IS HERE ! - - rf_device.trx_set_freq_func(&rf_device,&openair0_cfg[0],0); - - if (rf_device.trx_start_func(&rf_device) != 0 ) { - printf("Could not start the device\n"); - oai_exit=1; - } - - while(!oai_exit){ - - rxp[0] = (void*)&rxdata[0][sub_frame*nb_sample_per_tti]; - - readBlockSize = rf_device.trx_read_func(&rf_device, - ×tamp, - rxp, - nb_sample_per_tti, - 0); - - if ( readBlockSize != nb_sample_per_tti ) - oai_exit = 1; - - sub_frame++; - sub_frame%=10; - - if( sub_frame == 0) - frame_rx++; - - saif_meas(frame_rx, sub_frame); - } - - return(0); -} diff --git a/targets/RT/USER/lte-hwlat2.c b/targets/RT/USER/lte-hwlat2.c deleted file mode 100644 index 85ec61e44fcd1df0770da30da87f7e88728722f2..0000000000000000000000000000000000000000 --- a/targets/RT/USER/lte-hwlat2.c +++ /dev/null @@ -1,1282 +0,0 @@ -/* - * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The OpenAirInterface Software Alliance licenses this file to You under - * the OAI Public License, Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.openairinterface.org/?page_id=698 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - *------------------------------------------------------------------------------- - * For more information about the OpenAirInterface (OAI) Software Alliance: - * contact@openairinterface.org - */ - - -/* ************************************************************************************************* - - USER GUIDE - - 1 - CONFIGURE TEST SESSION - see TESTS PARAMETERS section below - - 2 - COMPILATION CMD LINE (same as openair compilation) - - NO AVX SUPPORT - /usr/bin/cc -msse4.1 -mssse3 -std=gnu99 -Wall -Wstrict-prototypes -fno-strict-aliasing -rdynamic -funroll-loops -Wno-packed-bitfield-compat -fPIC -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_FCNTL_H=1 -DHAVE_ARPA_INET_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_SYS_SOCKET_H=1 -DHAVE_STRERROR=1 -DHAVE_SOCKET=1 -DHAVE_MEMSET=1 -DHAVE_GETTIMEOFDAY=1 -DHAVE_STDLIB_H=1 -DHAVE_MALLOC=1 -DHAVE_LIBSCTP -g -DMALLOC_CHECK_=3 -O2 -o lte-hwlat-test lte-hwlat2.c -lrt -lpthread -lm -ldl - - AVX2 Support - /usr/bin/cc -mavx2 -msse4.1 -mssse3 -std=gnu99 -Wall -Wstrict-prototypes -fno-strict-aliasing -rdynamic -funroll-loops -Wno-packed-bitfield-compat -fPIC -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_FCNTL_H=1 -DHAVE_ARPA_INET_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_SYS_SOCKET_H=1 -DHAVE_STRERROR=1 -DHAVE_SOCKET=1 -DHAVE_MEMSET=1 -DHAVE_GETTIMEOFDAY=1 -DHAVE_STDLIB_H=1 -DHAVE_MALLOC=1 -DHAVE_LIBSCTP -g -DMALLOC_CHECK_=3 -O2 -o lte-hwlat-test lte-hwlat2.c -lrt -lpthread -lm -ldl - - - 3 - RUN - sudo cset shield --force --kthread on -c 1-3 // for 4 cores - sudo cset shield --force --kthread on -c 1-7 // for 8 cores - sudo cset shield ./lte-hwlat-test - - 4 - remove cset shield - sudo cset shield --reset - - ***************************************************************************************************/ - -/* ************************************************************************************************* - * TESTS PARAMETERS - */ -#define HWLAT_LOOP_CNT 1000000 /* measurment loop count for each thread*/ -#define HWLAT_TTI_SLEEP_US 250 /* usleep duration -> IQ capture simulation (in µ seconds) */ - -#define RX_NB_TH 6 - -#define CALIB_RT_INTRUMENTATION 0 - -/* Laurent Thpmas instrumentation -> see openair2/UTIL/LOG/log.h for full implementation - -> This is a copy and paste implementation in this file for a self contained source */ -#define INSTRUMENTATION_LT_RDTSC 1 -/* SYRTEM rdtsc instrumentation implementation (see below for more infaormation) */ -#define INSTRUMENTATION_SYR_RDTSC 2 -/* SYRTEM instrumentation using clock_gettime MONOTONIC */ -#define INSTRUMENTATION_SYR_CLOCK_MONO 3 -/* SYRTEM instrumentation using clock_gettime REALTIME */ -#define INSTRUMENTATION_SYR_CLOCK_REALTIME 4 - -#define HWLAT_INSTRUMENTATION INSTRUMENTATION_LT_RDTSC - - -/* Statistics histogram output */ -#define HISTOGRAM_MIN_VALUE 0 -#define HISTOGRAM_MAX_VALUE 2000 -#define HISTOGRAM_STEP 1 -#define HISTOGRAM_SIZE ( ( ( HISTOGRAM_MAX_VALUE - HISTOGRAM_MIN_VALUE ) / HISTOGRAM_STEP ) + 1 ) - - - -/* *************************************************************************************************/ - - -/* - * INCLUDES - */ -#define _GNU_SOURCE -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <time.h> -#include <errno.h> -#include <stdint.h> -#include <sys/stat.h> -#include <fcntl.h> -#include <pthread.h> -#include <linux/kernel.h> -#include <linux/types.h> -#include <syscall.h> -#include <math.h> -#include <sched.h> -#include <sys/ioctl.h> -#include <sys/types.h> -#include <sys/mman.h> -#include <sched.h> -#include <linux/sched.h> -#include <signal.h> -#include <execinfo.h> -#include <getopt.h> -#include <sys/sysinfo.h> -#include <unistd.h> -#include <sys/syscall.h> /* For SYS_xxx definitions */ -#ifndef __STDC_FORMAT_MACROS -#define __STDC_FORMAT_MACROS -#endif -#include <inttypes.h> - - -/* From rt_wrapper.h -****************************************************************************************/ -#define gettid() syscall(__NR_gettid) // for gettid - -/* From common/utils/itti/assertions.h -****************************************************************************************/ -# define display_backtrace() - -#define _Assert_Exit_ \ -{ \ - fprintf(stderr, "\nExiting execution\n"); \ - display_backtrace(); \ - fflush(stdout); \ - fflush(stderr); \ - exit(EXIT_FAILURE); \ -} - -#define _Assert_(cOND, aCTION, fORMAT, aRGS...) \ -do { \ - if (!(cOND)) { \ - fprintf(stderr, "\nAssertion ("#cOND") failed!\n" \ - "In %s() %s:%d\n" fORMAT, \ - __FUNCTION__, __FILE__, __LINE__, ##aRGS); \ - aCTION; \ - } \ -} while(0) - -#define AssertFatal(cOND, fORMAT, aRGS...) _Assert_(cOND, _Assert_Exit_, fORMAT, ##aRGS) - - -/* From "openair1/PHY/TOOLS/time_meas.h" -****************************************************************************************/ -double cpu_freq_GHz; - - -typedef struct { - - long long in; - long long diff; - long long diff_now; - long long p_time; /*!< \brief absolute process duration */ - long long diff_square; /*!< \brief process duration square */ - long long max; - int trials; - int meas_flag; -} time_stats_t; - -static inline unsigned long long rdtsc_oai(void) __attribute__((always_inline)); -static inline unsigned long long rdtsc_oai(void) -{ - unsigned long long a, d; - __asm__ volatile ("rdtsc" : "=a" (a), "=d" (d)); - return (d<<32) | a; -} - -double get_cpu_freq_GHz(void); - -static inline void reset_meas(time_stats_t *ts) { - - ts->trials=0; - ts->diff=0; - ts->diff_now=0; - ts->p_time=0; - ts->diff_square=0; - ts->max=0; - ts->meas_flag=0; - -} - -double estimate_MHz_syr(void); -static __inline__ uint64_t pickCyclesStart(void); -static __inline__ uint64_t pickCyclesStop(void); - - -/* From "openair2/UTIL/LOG/log.h" -****************************************************************************************/ -extern double cpuf; -extern double cpu_mhz_syr; - - -static __inline__ uint64_t rdtsc(void) { - uint64_t a, d; - __asm__ volatile ("rdtsc" : "=a" (a), "=d" (d)); - return (d<<32) | a; -} - -typedef struct m { - uint64_t iterations; - uint64_t sum; - uint64_t maxArray[11]; -} Meas; - -static inline void printMeas(char * txt, Meas *M, int period) { - if (M->iterations%period == 0 ) { - char txt2[512]; - sprintf(txt2,"%s avg=%" PRIu64 " iterations=%" PRIu64 " max=%" - PRIu64 ":%" PRIu64 ":%" PRIu64 ":%" PRIu64 ":%" PRIu64 ":%" PRIu64 ":%" PRIu64 ":%" PRIu64 ":%" PRIu64 ":%" PRIu64 "\n", - txt, - M->sum/M->iterations, - M->iterations, - M->maxArray[1],M->maxArray[2], M->maxArray[3],M->maxArray[4], M->maxArray[5], - M->maxArray[6],M->maxArray[7], M->maxArray[8],M->maxArray[9],M->maxArray[10]); -// SYRTEM : just use printf do not include all LOG_X for this test -//#if DISABLE_LOG_X - printf("%s",txt2); -//#else -// LOG_W(PHY, "%s",txt2); -//#endif - } -} - -static inline int cmpint(const void* a, const void* b) { - uint64_t* aa=(uint64_t*)a; - uint64_t* bb=(uint64_t*)b; - return (int)(*aa-*bb); -} - -static inline uint64_t updateTimes(uint64_t start, Meas *M, int period, char * txt) { - if (start!=0) { - uint64_t end=rdtsc(); - long long diff=(end-start)/(cpuf*1000); - M->maxArray[0]=diff; - M->sum+=diff; - M->iterations++; - qsort(M->maxArray, 11, sizeof(uint64_t), cmpint); -// printMeas(txt,M,period); // SYRTEM : Printed only a the end of the measurment loop - return diff; - } - return 0; -} - -static inline uint64_t updateTimes_syr(uint64_t start, Meas *M, int period, char * txt) { - if (start!=0) { -// uint64_t end=rdtsc(); - uint64_t end=pickCyclesStop(); - long long diff=(long long)((double)(end-start)/(cpu_mhz_syr)); -// long long diff=(end-start)/(cpuf*1000); - M->maxArray[0]=diff; - M->sum+=diff; - M->iterations++; - qsort(M->maxArray, 11, sizeof(uint64_t), cmpint); -// printMeas(txt,M,period); // SYRTEM : Printed only a the end of the measurment loop - return diff; - } - return 0; -} - - - - -#define initRefTimes(a) static __thread Meas a= {0} -#define pickTime(a) uint64_t a=rdtsc() -#define pickTime_syr(a) uint64_t a=pickCyclesStart() -#define readTime(a) a - - - - - - -/* - * DEFINES - */ - -#define TIMESPEC_TO_DOUBLE_US( t ) ( ( (double)t.tv_sec * 1000000 ) + ( (double)t.tv_nsec / 1000 ) ) - -typedef struct histo_time { - double max; - unsigned int count; -} histo_time_t; - -static void measure_time ( struct timespec *start, struct timespec *stop, uint8_t START, uint16_t PRINT_INTERVAL ); -static struct timespec get_timespec_diff( struct timespec *start, struct timespec *stop ); -void histogram_save_in_csv( histo_time_t *histo , char *file_prefix); -histo_time_t *histogram_init( histo_time_t *histo ); -void histogram_store_value( histo_time_t *histo, double value ); - - -#define FIFO_PRIORITY 40 - - - -#define true 1 -#define false 0 - - - - -/* - * STRUCTURES - */ - - -/* stub of UE_rxtx_proc full structure in openair1/PHY/defs.h -*/ -typedef struct UE_rxtx_proc { - int instance_cnt_rxtx; - pthread_t pthread_rxtx; - pthread_cond_t cond_rxtx; - pthread_mutex_t mutex_rxtx; - - - int sub_frame_start; - int sub_frame_step; - unsigned long long gotIQs; - - - unsigned long syr_rdtsc_rxtx_th_unlock_iteration; - uint64_t syr_rdtsc_ue_th_got_iq; - double syr_rdtsc_rxtx_th_unlock; - double syr_rdtsc_rxtx_th_unlock_max; - double syr_rdtsc_rxtx_th_unlock_mean; - double syr_rdtsc_rxtx_th_unlock_min; - histo_time_t *syr_rdtsc_rxtx_th_unlock_histogram; - -} UE_rxtx_proc_t; - - - -/* this structure is used to pass both UE phy vars and - * proc to the function UE_thread_rxn_txnp4 - */ -struct rx_tx_thread_data { - /* PHY_VARS_UE *UE; */ // UE phy vars not used for this test - UE_rxtx_proc_t *proc; // We use a stub of rxtx_proc see definition above -}; - - -// ODD / EVEN Scheduling -#if 0 -typedef struct threads_s { - int iq; - int odd; - int even; -} threads_t; -threads_t threads = { -1, -1, -1 }; // Core number for each thread (iq=3, even=2, odd=1) -#endif - -// SLOT 0 / SLOT 1 parallelization -typedef struct threads_s { - int iq; - int one; - int two; - int three; - int four; - int five; - int six; - int slot1_proc_one; - int slot1_proc_two; - int slot1_proc_three; -} threads_t; -threads_t threads= {7,6,5,4,3,2,1,-1,-1,-1}; - -/* - * FUNCTIONS DEFINITION - */ - -void *UE_thread(void *arg); -void init_UE(int nb_inst); - - - -/* - * GLOBALS VARIABLES - */ - -volatile int oai_exit = 0; -int th_count = 0; -double cpuf; -double cpu_mhz_syr; - - - - - - - -pthread_t pthread_ue; -pthread_attr_t attr_ue; - -UE_rxtx_proc_t **rxtx_proc; - -struct timespec even_start, even_stop; -struct timespec odd_start, odd_stop; - -histo_time_t *th_wake_histogram; - - -/* - * FUNCTIONS - */ - - - -void exit_fun(const char* s) { - if ( s != NULL ) { - printf("%s %s() Exiting OAI softmodem: %s\n",__FILE__, __FUNCTION__, s); - } - - oai_exit = 1; -} - - - - -void init_thread(int sched_runtime, int sched_deadline, int sched_fifo, cpu_set_t *cpuset, char * name) { - -#ifdef DEADLINE_SCHEDULER - if (sched_runtime!=0) { - struct sched_attr attr= {0}; - attr.size = sizeof(attr); - attr.sched_policy = SCHED_DEADLINE; - attr.sched_runtime = sched_runtime; - attr.sched_deadline = sched_deadline; - attr.sched_period = 0; - AssertFatal(sched_setattr(0, &attr, 0) == 0, - "[SCHED] %s thread: sched_setattr failed %s \n", name, strerror(errno)); - LOG_I(HW,"[SCHED][eNB] %s deadline thread %lu started on CPU %d\n", - name, (unsigned long)gettid(), sched_getcpu()); - } - -#else - if (CPU_COUNT(cpuset) > 0) - AssertFatal( 0 == pthread_setaffinity_np(pthread_self(), sizeof(cpu_set_t), cpuset), ""); - struct sched_param sp; - sp.sched_priority = sched_fifo; - AssertFatal(pthread_setschedparam(pthread_self(),SCHED_FIFO,&sp)==0, - "Can't set thread priority, Are you root?\n"); - /* Check the actual affinity mask assigned to the thread */ - cpu_set_t *cset=CPU_ALLOC(CPU_SETSIZE); - if (0 == pthread_getaffinity_np(pthread_self(), CPU_ALLOC_SIZE(CPU_SETSIZE), cset)) { - char txt[512]={0}; - for (int j = 0; j < CPU_SETSIZE; j++) - if (CPU_ISSET(j, cset)) - sprintf(txt+strlen(txt), " %d ", j); - printf("CPU Affinity of thread %s is %s\n", name, txt); - } - CPU_FREE(cset); -#endif - - // Lock memory from swapping. This is a process wide call (not constraint to this thread). - mlockall(MCL_CURRENT | MCL_FUTURE); - pthread_setname_np( pthread_self(), name ); - -// SYRTEM : Synchronization thread is not simulated -> just ignore this part of code -// // LTS: this sync stuff should be wrong -// printf("waiting for sync (%s)\n",name); -// pthread_mutex_lock(&sync_mutex); -// printf("Locked sync_mutex, waiting (%s)\n",name); -// while (sync_var<0) -// pthread_cond_wait(&sync_cond, &sync_mutex); -// pthread_mutex_unlock(&sync_mutex); - printf("started %s as PID: %ld\n",name, gettid()); -} - -void init_UE(int nb_inst) -{ - int inst; - for (inst=0; inst < nb_inst; inst++) { - // UE->rfdevice.type = NONE_DEV; -// SYRTEM : we use a stub of phy_var_ue -// PHY_VARS_UE *UE = PHY_vars_UE_g[inst][0]; -// AssertFatal(0 == pthread_create(&UE->proc.pthread_ue, &UE->proc.attr_ue, UE_thread, (void*)UE), ""); - AssertFatal( 0 == pthread_create( &pthread_ue, &attr_ue, UE_thread, NULL ), "" ); - } - - printf("UE threads created by %ld\n", gettid()); -} - - -// SYRTEM - UE synchronization thread is not used in this latency test program -//static void *UE_thread_synch(void *arg) { -// ... -//} - - -// SYRTEM - Stub of UE_thread_rxn_txnp4 -// -> No DSP scheduled -// -> Only thread initialization and thread wake up are kept - -static void *UE_thread_rxn_txnp4(void *arg){ - static __thread int UE_thread_rxtx_retval; - struct rx_tx_thread_data *rtd = arg; - UE_rxtx_proc_t *proc = rtd->proc; - - proc->instance_cnt_rxtx=-1; - - char threadname[256]; - sprintf(threadname,"UE_%d_proc_%d", 0, proc->sub_frame_start); - - cpu_set_t cpuset; - CPU_ZERO(&cpuset); - - if ( (proc->sub_frame_start)%RX_NB_TH == 0 && threads.one != -1 ) - CPU_SET(threads.one, &cpuset); - if ( (proc->sub_frame_start)%RX_NB_TH == 1 && threads.two != -1 ) - CPU_SET(threads.two, &cpuset); - if ( (proc->sub_frame_start)%RX_NB_TH == 2 && threads.three != -1 ) - CPU_SET(threads.three, &cpuset); - if ( (proc->sub_frame_start)%RX_NB_TH == 3 && threads.four != -1 ) - CPU_SET(threads.four, &cpuset); - if ( (proc->sub_frame_start)%RX_NB_TH == 4 && threads.five != -1 ) - CPU_SET(threads.five, &cpuset); - if ( (proc->sub_frame_start)%RX_NB_TH == 5 && threads.six != -1 ) - CPU_SET(threads.six, &cpuset); - //CPU_SET(threads.three, &cpuset); - init_thread(900000,1000000 , FIFO_PRIORITY-1, &cpuset, - threadname); - - - proc->syr_rdtsc_rxtx_th_unlock_iteration=0; - proc->syr_rdtsc_rxtx_th_unlock_max=0; - proc->syr_rdtsc_rxtx_th_unlock_mean=0; - proc->syr_rdtsc_rxtx_th_unlock_min=1000; - proc->syr_rdtsc_rxtx_th_unlock_histogram = NULL; - proc->syr_rdtsc_rxtx_th_unlock_histogram = histogram_init (proc->syr_rdtsc_rxtx_th_unlock_histogram); - - while (!oai_exit) { - if (pthread_mutex_lock(&proc->mutex_rxtx) != 0) { - printf("[SCHED][UE] error locking mutex for UE RXTX\n" ); - exit_fun("nothing to add"); - } - while (proc->instance_cnt_rxtx < 0) { - // most of the time, the thread is waiting here - pthread_cond_wait( &proc->cond_rxtx, &proc->mutex_rxtx ); - } - if (pthread_mutex_unlock(&proc->mutex_rxtx) != 0) { - printf("[SCHED][UE] error unlocking mutex for UE RXn_TXnp4\n" ); - exit_fun("nothing to add"); - } - - - proc->syr_rdtsc_rxtx_th_unlock = (double)(pickCyclesStop()-proc->syr_rdtsc_ue_th_got_iq )/cpu_mhz_syr; - - proc->syr_rdtsc_rxtx_th_unlock_iteration++; - - proc->syr_rdtsc_rxtx_th_unlock_mean += proc->syr_rdtsc_rxtx_th_unlock; - if ( proc->syr_rdtsc_rxtx_th_unlock_max < proc->syr_rdtsc_rxtx_th_unlock ) - proc->syr_rdtsc_rxtx_th_unlock_max = proc->syr_rdtsc_rxtx_th_unlock; - if ( proc->syr_rdtsc_rxtx_th_unlock_min > proc->syr_rdtsc_rxtx_th_unlock ) - proc->syr_rdtsc_rxtx_th_unlock_min = proc->syr_rdtsc_rxtx_th_unlock; - histogram_store_value( proc->syr_rdtsc_rxtx_th_unlock_histogram, proc->syr_rdtsc_rxtx_th_unlock ); - - - if (pthread_mutex_lock(&proc->mutex_rxtx) != 0) { - printf("[SCHED][UE] error locking mutex for UE RXTX\n" ); - exit_fun("noting to add"); - } - proc->instance_cnt_rxtx--; - if (pthread_mutex_unlock(&proc->mutex_rxtx) != 0) { - printf("[SCHED][UE] error unlocking mutex for UE RXTX\n" ); - exit_fun("noting to add"); - } - } - -// thread finished - free(arg); - return &UE_thread_rxtx_retval; -} - - - - -void *UE_thread(void *arg) { - - int i = 0; - int hw_loop_cnt = 0; - - int nb_threads = RX_NB_TH; - char threadname[128]; - cpu_set_t cpuset; - struct rx_tx_thread_data *rtd; - UE_rxtx_proc_t *proc; - - CPU_ZERO( &cpuset ); - - if ( threads.iq != -1 ) - CPU_SET( threads.iq, &cpuset ); - init_thread( 100000, 500000, FIFO_PRIORITY, &cpuset, "HDW Threads" ); - - sprintf( threadname, "Main UE %d", 0 ); - pthread_setname_np( pthread_self(), threadname ); - - -// init_UE_threads(UE) - pthread_attr_init( &attr_ue ); - pthread_attr_setstacksize( &attr_ue, 8192 );//5*PTHREAD_STACK_MIN); - - for ( i = 0; i < nb_threads; i++ ) { - - printf("\n"); - - rtd = calloc( 1, sizeof( struct rx_tx_thread_data ) ); - if ( rtd == NULL ) - abort(); - - rtd->proc = rxtx_proc[i]; // &UE->proc.proc_rxtx[i]; - - pthread_mutex_init( &rxtx_proc[i]->mutex_rxtx ,NULL ); // pthread_mutex_init( &UE->proc.proc_rxtx[i].mutex_rxtx,NULL ); - pthread_cond_init( &rxtx_proc[i]->cond_rxtx, NULL ); // pthread_cond_init(&UE->proc.proc_rxtx[i].cond_rxtx,NULL); - rtd->proc->sub_frame_start=i; - rtd->proc->sub_frame_step=nb_threads; - printf("Init_UE_threads rtd %d proc %d nb_threads %d i %d\n",rtd->proc->sub_frame_start, rxtx_proc[i]->sub_frame_start,nb_threads, i); - pthread_create( &rxtx_proc[i]->pthread_rxtx, NULL, UE_thread_rxn_txnp4, rtd ); // pthread_create( &UE->proc.proc_rxtx[i].pthread_rxtx, NULL, UE_thread_rxn_txnp4, rtd); - - usleep(1000); - - } -// init_UE_threads(UE) - - - - int sub_frame=-1; - while ( !oai_exit ) { - - sub_frame++; - sub_frame %= 10; - - proc = rxtx_proc[hw_loop_cnt%RX_NB_TH]; - - // Simulate IQ reception - usleep( HWLAT_TTI_SLEEP_US ); - - proc->syr_rdtsc_ue_th_got_iq = pickCyclesStart(); - - AssertFatal(pthread_mutex_lock(&proc->mutex_rxtx) ==0,""); - - proc->instance_cnt_rxtx++; - if ( proc->instance_cnt_rxtx == 0 ) { - if ( pthread_cond_signal( &proc->cond_rxtx) != 0 ) { - exit_fun( "nothing to add" ); - } - } else { - if ( proc->instance_cnt_rxtx > 2 ) - exit_fun( "instance_cnt_rxtx > 2" ); - } - - AssertFatal( pthread_cond_signal( &proc->cond_rxtx ) == 0 ,"" ); - AssertFatal(pthread_mutex_unlock(&proc->mutex_rxtx) ==0,""); - - - /* Do not go indefinitely */ - hw_loop_cnt++; - - if ( hw_loop_cnt%1000 == 0 ) - { - printf("\r%d/%d",hw_loop_cnt,HWLAT_LOOP_CNT*RX_NB_TH); - fflush(stdout); - } - - if (hw_loop_cnt >= HWLAT_LOOP_CNT*RX_NB_TH) - { - printf("\n\n"); - for (i=0 ; i<RX_NB_TH ; i++) - { - proc = rxtx_proc[i]; - pthread_getname_np(proc->pthread_rxtx,threadname,128 ); - printf("RxTX Thread unlock latency on thread %s (it. %lu) (us) : max=%8.3f - mean=%8.3f - min=%8.3f\n", - threadname, - proc->syr_rdtsc_rxtx_th_unlock_iteration, - proc->syr_rdtsc_rxtx_th_unlock_max, - proc->syr_rdtsc_rxtx_th_unlock_mean/proc->syr_rdtsc_rxtx_th_unlock_iteration, - proc->syr_rdtsc_rxtx_th_unlock_min); - - histogram_save_in_csv(proc->syr_rdtsc_rxtx_th_unlock_histogram, threadname ); - - } - printf("\n\n"); - oai_exit = 1; - } - - } // while !oai_exit - - oai_exit = 1; - - return NULL; -} - -#define CALIB_LOOP_CNT 1000000 //2000000000 -#define CALIB_LOOP_REPORT_PERIOD 1000 -#define CALIB_LOOP_UP_THRESHOLD 20 // 20 -> for NG Intel flat model -#define CALIB_USLEEP 250 - -int main( void ) -{ - - int i; - - -#if CALIB_RT_INTRUMENTATION - uint32_t calib_loop_count; - - - uint64_t lt_overhead_cur; - uint64_t lt_overhead_min; - uint64_t lt_overhead_max; - uint64_t lt_overhead_mean; - histo_time_t *lt_overhead_histogram = NULL; - - uint64_t lt_syr_overhead_cur; - uint64_t lt_syr_overhead_min; - uint64_t lt_syr_overhead_max; - uint64_t lt_syr_overhead_mean; - histo_time_t *lt_syr_overhead_histogram = NULL; - - double syr_rdtsc_overhead_cur; - double syr_rdtsc_overhead_min; - double syr_rdtsc_overhead_max; - double syr_rdtsc_overhead_mean; - histo_time_t *syr_rdtsc_overhead_histogram = NULL; - - double syr_clock_gettime_overhead_cur; - double syr_clock_gettime_overhead_min; - double syr_clock_gettime_overhead_max; - double syr_clock_gettime_overhead_mean; - histo_time_t *syr_clock_gettime_overhead_histogram = NULL; - - - uint64_t cycles_start; - uint64_t cycles_stop; - - uint64_t cycles_diff; - uint64_t cycles_diff_max = 0; - - - struct timespec start; - struct timespec stop; -#endif - - cpuf = get_cpu_freq_GHz(); - cpu_mhz_syr = estimate_MHz_syr(); - - printf("\n\ncpuf %f - cpu_mhz_syr %f\n\n", cpuf, cpu_mhz_syr); - -#if CALIB_RT_INTRUMENTATION - - /* ********************************************************************************************** */ - /* CALIBRATION */ - /* ********************************************************************************************** */ - - /* ************************************************************* - Laurent Thomas instrumentation overhead - */ - printf("\nCalibrating OAI Realtime Instrumentation (Laurent Thomas imp.)\n"); - calib_loop_count = CALIB_LOOP_CNT; - initRefTimes(lt_instru_calib); // Laurent Thomas realtime instrumentation calibration measurments - lt_overhead_min = 1000; - lt_overhead_max = 0; - lt_overhead_mean = 0; - lt_overhead_histogram = histogram_init( lt_overhead_histogram ); - while(calib_loop_count) - { - pickTime(lt_start); - -// asm volatile(""); // Nop instruction - usleep(CALIB_USLEEP); - - lt_overhead_cur = updateTimes( readTime(lt_start), - <_instru_calib, - CALIB_LOOP_CNT, - "Laurent Thomas realtime instrumentation calibration measurments"); - - lt_overhead_mean += lt_overhead_cur; - if ( lt_overhead_max < lt_overhead_cur ) - lt_overhead_max = lt_overhead_cur; - if ( lt_overhead_min > lt_overhead_cur ) - lt_overhead_min = lt_overhead_cur; - histogram_store_value( lt_overhead_histogram, (double)lt_overhead_cur ); - - if ( calib_loop_count%CALIB_LOOP_REPORT_PERIOD == 0 ) - { - printf("\r%d/%d",calib_loop_count,CALIB_LOOP_CNT); - fflush(stdout); - } - - calib_loop_count--; - } - lt_overhead_mean = lt_overhead_mean/CALIB_LOOP_CNT; - -// printMeas("\nLaurent Thomas realtime instrumentation calibration measurments",<_instru_calib,CALIB_LOOP_CNT); - - - /* ************************************************************* - Laurent Thomas instrumentation overhead - */ - printf("\nCalibrating OAI Realtime Instrumentation - SYRTEM revisited\n"); - calib_loop_count = CALIB_LOOP_CNT; - initRefTimes(lt_instru_calib_syr); // Laurent Thomas realtime instrumentation calibration measurments - lt_syr_overhead_min = 1000; - lt_syr_overhead_max = 0; - lt_syr_overhead_mean = 0; - lt_syr_overhead_histogram = histogram_init( lt_syr_overhead_histogram ); - while(calib_loop_count) - { - pickTime_syr(lt_start_syr); - -// asm volatile(""); // Nop instruction - usleep(CALIB_USLEEP); - - lt_syr_overhead_cur = updateTimes_syr(readTime(lt_start_syr), <_instru_calib_syr, CALIB_LOOP_CNT, "Laurent Thomas realtime instrumentation calibration measurments (SYRTEM Update)"); - - lt_syr_overhead_mean += lt_syr_overhead_cur; - if ( lt_syr_overhead_max < lt_syr_overhead_cur ) - lt_syr_overhead_max = lt_syr_overhead_cur; - if ( lt_syr_overhead_min > lt_syr_overhead_cur ) - lt_syr_overhead_min = lt_syr_overhead_cur; - histogram_store_value( lt_syr_overhead_histogram, (double)lt_syr_overhead_cur ); - - if ( calib_loop_count%CALIB_LOOP_REPORT_PERIOD == 0 ) - { - printf("\r%d/%d",calib_loop_count,CALIB_LOOP_CNT); - fflush(stdout); - } - - calib_loop_count--; - } - lt_syr_overhead_mean = lt_syr_overhead_mean / CALIB_LOOP_CNT; - -// printMeas("\nLaurent Thomas realtime instrumentation calibration measurments (SYRTEM Update)",<_instru_calib_syr,CALIB_LOOP_CNT); - - - - /* ************************************************************* - SYRTEM RDTSC instrumentation overhead - */ - printf("\nCalibrating SYRTEM RDTSC Realtime Instrumentation\n"); - calib_loop_count = CALIB_LOOP_CNT; - syr_rdtsc_overhead_min = 1000; - syr_rdtsc_overhead_max = 0; - syr_rdtsc_overhead_mean = 0; - syr_rdtsc_overhead_histogram = histogram_init( syr_rdtsc_overhead_histogram ); - while(calib_loop_count) - { - - cycles_start = pickCyclesStart(); - -// asm volatile(""); // Nop instruction - usleep(CALIB_USLEEP); - - cycles_stop = pickCyclesStop(); - - cycles_diff = cycles_stop - cycles_start; - if(cycles_diff_max < cycles_diff) - cycles_diff_max = cycles_diff; - - syr_rdtsc_overhead_cur = (double)cycles_diff/cpu_mhz_syr; - - syr_rdtsc_overhead_mean += syr_rdtsc_overhead_cur; - if ( syr_rdtsc_overhead_max < syr_rdtsc_overhead_cur ) - syr_rdtsc_overhead_max = syr_rdtsc_overhead_cur; - if ( syr_rdtsc_overhead_min > syr_rdtsc_overhead_cur ) - syr_rdtsc_overhead_min = syr_rdtsc_overhead_cur; - histogram_store_value( syr_rdtsc_overhead_histogram, (double)syr_rdtsc_overhead_cur ); - - if ( calib_loop_count%CALIB_LOOP_REPORT_PERIOD == 0 ) - { - printf("\r%d/%d",calib_loop_count,CALIB_LOOP_CNT); - fflush(stdout); - } - - calib_loop_count--; - } - syr_rdtsc_overhead_mean = syr_rdtsc_overhead_mean / CALIB_LOOP_CNT; - -// printf("\nSYRTEM RDTSV realtime instrumentation calibration : cycles_diff_max %ld - tsc_duration_max %f us\n ", cycles_diff_max, tsc_duration_max); - - - - /* ************************************************************* - SYRTEM Clock_gettime MONOTONIC instrumentation overhead - */ - printf("\nCalibrating SYRTEM clock_gettime Realtime Instrumentation\n"); - calib_loop_count = CALIB_LOOP_CNT; - syr_clock_gettime_overhead_min = 1000; - syr_clock_gettime_overhead_max = 0; - syr_clock_gettime_overhead_mean = 0; - syr_clock_gettime_overhead_histogram = histogram_init( syr_clock_gettime_overhead_histogram ); - while(calib_loop_count) - { - - clock_gettime( CLOCK_MONOTONIC, &start ); - -// asm volatile(""); // Nop instruction - usleep(CALIB_USLEEP); - - clock_gettime( CLOCK_MONOTONIC, &stop ); - syr_clock_gettime_overhead_cur = TIMESPEC_TO_DOUBLE_US( get_timespec_diff( &start, &stop ) ); - - syr_clock_gettime_overhead_mean += syr_clock_gettime_overhead_cur; - if ( syr_clock_gettime_overhead_max < syr_clock_gettime_overhead_cur ) - syr_clock_gettime_overhead_max = syr_clock_gettime_overhead_cur; - if ( syr_clock_gettime_overhead_min > syr_clock_gettime_overhead_cur ) - syr_clock_gettime_overhead_min = syr_clock_gettime_overhead_cur; - histogram_store_value( syr_clock_gettime_overhead_histogram, (double)syr_clock_gettime_overhead_cur ); - - if ( calib_loop_count%CALIB_LOOP_REPORT_PERIOD == 0 ) - { - printf("\r%d/%d",calib_loop_count,CALIB_LOOP_CNT); - fflush(stdout); - } - - calib_loop_count--; - } - syr_clock_gettime_overhead_mean = syr_clock_gettime_overhead_mean / CALIB_LOOP_CNT; - -// printf("\nSYRTEM clock_gettime MONOTONIC calibration : clock_gettime duration_max %f us\n ", max); - - - printf("\n"); - - printf("OAI LT RT profiling overhead (it. %d) (us) : max=%8ld - mean=%8ld - min=%8ld\n", - CALIB_LOOP_CNT, - lt_overhead_max, lt_overhead_mean, lt_overhead_min); - printf("OAI SYR RT profiling overhead (it. %d) (us) : max=%8ld - mean=%8ld - min=%8ld\n", - CALIB_LOOP_CNT, - lt_syr_overhead_max, lt_syr_overhead_mean, lt_syr_overhead_min); - printf("SYR RDTSC profiling overhead (it. %d) (us) : max=%8.3f - mean=%8.3f - min=%8.3f\n", - CALIB_LOOP_CNT, - syr_rdtsc_overhead_max, syr_rdtsc_overhead_mean, syr_rdtsc_overhead_min); - printf("SYR clock_gettime profiling overhead (it. %d) (us): max=%8.3f - mean=%8.3f - min=%8.3f\n", - CALIB_LOOP_CNT, - syr_clock_gettime_overhead_max, syr_clock_gettime_overhead_mean, syr_clock_gettime_overhead_min); - - return 0; -#endif - - rxtx_proc = calloc( RX_NB_TH, sizeof( UE_rxtx_proc_t* ) ); - for (i=0 ; i<RX_NB_TH; i++) - rxtx_proc[i] = calloc( 1, sizeof( UE_rxtx_proc_t ) ); - - - th_wake_histogram = histogram_init( th_wake_histogram ); - - init_UE( 1 ); - - while ( !oai_exit ) - sleep( 1 ); - - return 0; -} - - -double estimate_MHz_syr(void) -{ - //copied blantantly from http://www.cs.helsinki.fi/linux/linux-kernel/2001-37/0256.html - /* - * $Id: MHz.c,v 1.4 2001/05/21 18:58:01 davej Exp $ - * This file is part of x86info. - * (C) 2001 Dave Jones. - * - * Licensed under the terms of the GNU GPL License version 2. - * - * Estimate CPU MHz routine by Andrea Arcangeli <andrea@suse.de> - * Small changes by David Sterba <sterd9am@ss1000.ms.mff.cuni.cz> - * - */ - - struct timespec start; - struct timespec stop; - - unsigned long long int cycles[2]; /* must be 64 bit */ - double microseconds; /* total time taken */ - - - /* get this function in cached memory */ - cycles[0] = rdtsc (); - clock_gettime( CLOCK_REALTIME, &start ); - - /* we don't trust that this is any specific length of time */ - usleep (100000); - - cycles[1] = rdtsc (); - clock_gettime( CLOCK_REALTIME, &stop ); - microseconds = TIMESPEC_TO_DOUBLE_US( get_timespec_diff( &start, &stop ) ); - - unsigned long long int elapsed = 0; - if (cycles[1] < cycles[0]) - { - //printf("c0 = %llu c1 = %llu",cycles[0],cycles[1]); - elapsed = UINT32_MAX - cycles[0]; - elapsed = elapsed + cycles[1]; - //printf("c0 = %llu c1 = %llu max = %llu elapsed=%llu\n",cycles[0], cycles[1], UINT32_MAX,elapsed); - } - else - { - elapsed = cycles[1] - cycles[0]; - // printf("\nc0 = %llu c1 = %llu elapsed=%llu\n",cycles[0], cycles[1],elapsed); - } - - double mhz = elapsed / microseconds; - - - //printf("%llg MHz processor (estimate). diff cycles=%llu microseconds=%llu \n", mhz, elapsed, microseconds); - //printf("%g elapsed %llu microseconds %llu\n",mhz, elapsed, microseconds); - return (mhz); -} - - - -/** TSC Timestamp references - - - http://oliveryang.net/2015/09/pitfalls-of-TSC-usage/#312-tsc-sync-behaviors-on-smp-system - - https://www.intel.com/content/www/us/en/embedded/training/ia-32-ia-64-benchmark-code-execution-paper.html - - https://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-vol-3b-part-2-manual.pdf - - - http://blog.tinola.com/?e=54 - - https://stackoverflow.com/questions/24392392/getting-tsc-frequency-from-proc-cpuinfo !! warning on turbo - - https://gist.github.com/nfarring/1624742 - - https://www.lmax.com/blog/staff-blogs/2015/10/25/time-stamp-counters/ - - https://github.com/cyring/CoreFreq - - https://patchwork.kernel.org/patch/9438133/ --> TSC_ADJUST - to be checked - -> https://software.intel.com/en-us/forums/software-tuning-performance-optimization-platform-monitoring/topic/388964 - - https://www.google.fr/url?sa=t&rct=j&q=&esrc=s&source=web&cd=11&ved=0ahUKEwjwpJbem5DVAhWBDpoKHXv0Dt04ChAWCCIwAA&url=https%3A%2F%2Fsigarra.up.pt%2Ffeup%2Fpt%2Fpub_geral.show_file%3Fpi_gdoc_id%3D809041&usg=AFQjCNFHTMjmjWMG6QSVnLDflEoU0RavKw&cad=rja - - https://unix4lyfe.org/benchmarking/ - - https://stackoverflow.com/questions/27693145/rdtscp-versus-rdtsc-cpuid - - https://github.com/dterei/tsc/blob/master/tsc.h - - https://software.intel.com/en-us/forums/intel-isa-extensions/topic/280440 - - https://stackoverflow.com/questions/19941588/wrong-clock-cycle-measurements-with-rdtsc - - - -*/ - - - - - - -static __inline__ uint64_t pickCyclesStart(void) { - unsigned cycles_low, cycles_high; - asm volatile( "CPUID\n\t" // serialize - "RDTSC\n\t" // read clock - "MOV %%edx, %0\n\t" - "MOV %%eax, %1\n\t" - : "=r" (cycles_high), "=r" (cycles_low) - :: "%rax", "%rbx", "%rcx", "%rdx" ); -return ((uint64_t) cycles_high << 32) | cycles_low; -} - -static __inline__ uint64_t pickCyclesStop(void) { - uint32_t eax, edx; - - __asm__ __volatile__("rdtscp" - : "=a" (eax), "=d" (edx) - : - : "%ecx", "memory"); - -return (((uint64_t)edx << 32) | eax); -} - - - - - - - - -/************************************************************************************** - EXTRACT from openair1/PHY/TOOLS/time_meas.c -***************************************************************************************/ -double get_cpu_freq_GHz(void) { - - time_stats_t ts = {0}; - reset_meas(&ts); - ts.trials++; - ts.in = rdtsc_oai(); - sleep(1); - ts.diff = (rdtsc_oai()-ts.in); - cpu_freq_GHz = (double)ts.diff/1000000000; - printf("CPU Freq is %f \n", cpu_freq_GHz); - return cpu_freq_GHz; -} - - - -/************************************************************************************** - SYRTEM STATISTICS HELPER -***************************************************************************************/ - - - -histo_time_t *histogram_init(histo_time_t *histo ) -{ - int i = 0; - double max_val = HISTOGRAM_MIN_VALUE + HISTOGRAM_STEP; - - histo = calloc( HISTOGRAM_SIZE, sizeof( histo_time_t ) ); - if ( histo == NULL ) { - printf( "ERROR allocating histogram structure !\n" ); - return NULL; - } - - for ( i = 0; i < HISTOGRAM_SIZE; i++ ) { - histo[i].max = max_val; - max_val += HISTOGRAM_STEP; - } - - return histo; -} - - -void histogram_store_value( histo_time_t *histo, double value ) -{ - int i = 0; - - for ( i = 0; i < HISTOGRAM_SIZE; i++ ) { - if ( histo[i].max >= value || ( i + 1 ) == HISTOGRAM_SIZE ) { - histo[i].count++; - break; - } - } -} - - -void histogram_save_in_csv( histo_time_t *histo , char *file_sufix) -{ - char *csv_filename; - char month[3], day[3], hour[3], min[3], sec[3]; - time_t curr_time; - struct tm *datetime; - - curr_time = time( NULL ); - datetime = localtime( &curr_time ); - - csv_filename = calloc( sizeof( char ), 64 ); - if ( csv_filename == NULL ) { - return; - } - - memset( csv_filename, 0x00, 64 ); - memset( month, 0x00, 3 ); - memset( day, 0x00, 3 ); - memset( hour, 0x00, 3 ); - memset( min, 0x00, 3 ); - memset( sec, 0x00, 3 ); - -/* Month. */ - if ( datetime->tm_mon < 9 ) - snprintf( month, 3, "0%d", datetime->tm_mon + 1 ); - else - snprintf( month, 3, "%d", datetime->tm_mon + 1 ); - -/* Day. */ - if ( datetime->tm_mday < 10 ) - snprintf( day, 3, "0%d", datetime->tm_mday ); - else - snprintf( day, 3, "%d", datetime->tm_mday ); - -/* Hour. */ - if ( datetime->tm_hour < 10 ) - snprintf( hour, 3, "0%d", datetime->tm_hour ); - else - snprintf( hour, 3, "%d", datetime->tm_hour ); - -/* Minute. */ - if ( datetime->tm_min < 10 ) - snprintf( min, 3, "0%d", datetime->tm_min ); - else - snprintf( min, 3, "%d", datetime->tm_min ); - -/* Second. */ - if ( datetime->tm_sec < 10 ) - snprintf( sec, 3, "0%d", datetime->tm_sec ); - else - snprintf( sec, 3, "%d", datetime->tm_sec ); - - snprintf( csv_filename, 63, "ADRV9371_ZC706_HISTO_UEtoRXTX_%d%s%s%s%s%s_%s.csv", - datetime->tm_year + 1900, month, day, hour, min, sec, file_sufix ); - - FILE *fp; - int i = 0; - int min_val = 0; - - fp = fopen( csv_filename, "w+" ); - - fprintf( fp, "range;count\n" ); - - for ( i = 0; i < HISTOGRAM_SIZE; i++ ) { - if ( i + 1 == HISTOGRAM_SIZE ) - fprintf( fp, "%d+;%u\n", min_val, histo[i].count ); - else - fprintf( fp, "%d-%.0f;%u\n", min_val, histo[i].max, histo[i].count ); - min_val = histo[i].max; - } - free(csv_filename); - fclose( fp ); -} - - - -static struct timespec get_timespec_diff( - struct timespec *start, - struct timespec *stop ) -{ - struct timespec result; - - if ( ( stop->tv_nsec - start->tv_nsec ) < 0 ) { - result.tv_sec = stop->tv_sec - start->tv_sec - 1; - result.tv_nsec = stop->tv_nsec - start->tv_nsec + 1000000000; - } - else { - result.tv_sec = stop->tv_sec - start->tv_sec; - result.tv_nsec = stop->tv_nsec - start->tv_nsec; - } - - return result; -} - - -static void measure_time ( - struct timespec *start, - struct timespec *stop, - uint8_t START, - uint16_t PRINT_INTERVAL ) -{ - static double max = 0; - static double min = 0; - static double total = 0; - static int count = 0; - - if ( START ) { - clock_gettime( CLOCK_REALTIME, start ); - } - else { - clock_gettime( CLOCK_REALTIME, stop ); - - struct timespec diff; - double current = 0; - - diff = get_timespec_diff( start, stop ); -// current = ( (double)diff.tv_sec * 1000000 ) + ( (double)diff.tv_nsec / 1000 ); - current = TIMESPEC_TO_DOUBLE_US( diff ); - - if ( current > max ) { - max = current; - } - if ( min == 0 || current < min ) { - min = current; - } - total += current; - - histogram_store_value( th_wake_histogram, current ); - - if ( count % PRINT_INTERVAL == 0 && count != 0 ) { - double avg = total / ( count + 1 ); - printf( "[%d] Current : %.2lf µs, Min : %.2lf µs, Max : %.2lf µs, Moy : %.2lf µs\n", - count, current, min, max, avg ); - } - count++; - } -} - - - - - - - - - - - - - - - - diff --git a/targets/RT/USER/lte-ru.c b/targets/RT/USER/lte-ru.c index 8a5ae99f194bfab6929d8336e2016578ba7345a4..5216d29ef5931ccbb69234322404330df23d97c4 100644 --- a/targets/RT/USER/lte-ru.c +++ b/targets/RT/USER/lte-ru.c @@ -61,7 +61,6 @@ #include "common/utils/LOG/vcd_signal_dumper.h" #include "targets/ARCH/COMMON/common_lib.h" #include "targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.h" -//#include "PHY/TOOLS/time_meas.h" /* these variables have to be defined before including ENB_APP/enb_paramdef.h */ static int DEFBANDS[] = {7}; diff --git a/targets/RT/USER/lte-softmodem.c b/targets/RT/USER/lte-softmodem.c index 62aff12744772bfefe5532bc4687146fedb763d8..5d17cc17bbac079de15122ef0d0591bd114bbecc 100644 --- a/targets/RT/USER/lte-softmodem.c +++ b/targets/RT/USER/lte-softmodem.c @@ -75,7 +75,6 @@ unsigned short config_frames[4] = {2,9,11,13}; #include "common/utils/LOG/vcd_signal_dumper.h" #include "UTIL/OPT/opt.h" #include "enb_config.h" -//#include "PHY/TOOLS/time_meas.h" #include "create_tasks.h" diff --git a/targets/RT/USER/lte-ue.c b/targets/RT/USER/lte-ue.c index 1643ca36ca71a2df537170e0c9d6e6bd8470e542..2e95e56d852db2a57036cde266cf29809b38e020 100644 --- a/targets/RT/USER/lte-ue.c +++ b/targets/RT/USER/lte-ue.c @@ -815,11 +815,6 @@ static void *UE_thread_rxn_txnp4(void *arg) pthread_cond_wait( &proc->cond_rxtx, &proc->mutex_rxtx ); } - //printf("Processing sub frqme %d in %s\n", proc->subframe_rx, threadname); - initRefTimes(t2); - initRefTimes(t3); - pickTime(current); - updateTimes(proc->gotIQs, &t2, 10000, "Delay to wake up UE_Thread_Rx (case 2)"); // Process Rx data for one sub-frame lte_subframe_t sf_type = subframe_select( &UE->frame_parms, proc->subframe_rx); @@ -886,7 +881,6 @@ static void *UE_thread_rxn_txnp4(void *arg) if (UE->mode != loop_through_memory) phy_procedures_UE_S_TX(UE,0,0); - updateTimes(current, &t3, 10000, "Delay to process sub-frame (case 3)"); proc->instance_cnt_rxtx--; if ( IS_SOFTMODEM_BASICSIM || IS_SOFTMODEM_RFSIM ) { @@ -1470,12 +1464,6 @@ static void *UE_phy_stub_single_thread_rxn_txnp4(void *arg) oai_subframe_ind(proc->frame_rx, proc->subframe_rx); } - //Guessing that the next 4 lines are not needed for the phy_stub mode. - /*initRefTimes(t2); - initRefTimes(t3); - pickTime(current); - updateTimes(proc->gotIQs, &t2, 10000, "Delay to wake up UE_Thread_Rx (case 2)");*/ - if (pthread_mutex_lock(&phy_stub_ticking->mutex_single_thread) != 0) { LOG_E( MAC, "[SCHED][UE] error locking mutex for ue_thread_id %d (mutex_single_thread)\n",ue_thread_id); exit_fun("nothing to add"); @@ -2225,8 +2213,6 @@ void *UE_thread(void *arg) LOG_E(PHY,"can't compensate: diff =%d\n", first_symbols); } - pickTime(gotIQs); - /* no timeout in IS_SOFTMODEM_BASICSIM or IS_SOFTMODEM_RFSIM mode */ if (IS_SOFTMODEM_BASICSIM || IS_SOFTMODEM_RFSIM) { ret = pthread_mutex_lock(&proc->mutex_rxtx); @@ -2264,12 +2250,6 @@ void *UE_thread(void *arg) } } - //UE->proc.proc_rxtx[0].gotIQs=readTime(gotIQs); - //UE->proc.proc_rxtx[1].gotIQs=readTime(gotIQs); - for (th_id=0; th_id < RX_NB_TH; th_id++) { - UE->proc.proc_rxtx[th_id].gotIQs=readTime(gotIQs); - } - proc->subframe_rx=sub_frame; proc->subframe_tx=(sub_frame+4)%10; proc->frame_tx = proc->frame_rx + (proc->subframe_rx>5?1:0); @@ -2281,10 +2261,6 @@ void *UE_thread(void *arg) T(T_UE_MASTER_TICK, T_INT(0), T_INT(proc->frame_rx%1024), T_INT(proc->subframe_rx)); AssertFatal (pthread_cond_signal(&proc->cond_rxtx) ==0,""); AssertFatal(pthread_mutex_unlock(&proc->mutex_rxtx) ==0,""); - initRefTimes(t1); - initStaticTime(lastTime); - updateTimes(lastTime, &t1, 20000, "Delay between two IQ acquisitions (case 1)"); - pickStaticTime(lastTime); } else { printf("Processing subframe %d",proc->subframe_rx); getchar();