################################################################################################### # NOTE: # The format of this file is toml (https://github.com/cktan/tomlc99) # to make vim editor display colorful and human readable, # you can create a symbolic links named sapp.ini to sapp.toml, ln -sf sapp.toml sapp.ini ################################################################################################### [SYSTEM] instance_name = "sapp4" [CPU] worker_threads=16 ### note, bind_mask, if you do not want to bind thread to special CPU core, keep it empty as [] bind_mask=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16] #bind_mask=[] [PACKET_IO] ### note, BSD_packet_filter, if you do not want to set any filter rule, keep it empty as "" BSD_packet_filter="" ### note, depolyment.mode options: [mirror, inline, transparent] [packet_io.depolyment] {% if nic_transparent_mode.enable %} mode=transparent {% else %} mode=inline {% endif %} ### note, interface.type options: [pag,pcap,marsio] [packet_io.internal.interface] {% if nic_transparent_mode.enable %} type={{nic_transparent_mode.mode}} name={{nic_transparent_mode.internel_interface}} {% else %} type=marsio name=vxlan_user {% endif %} [packet_io.external.interface] {% if nic_transparent_mode.enable %} type={{nic_transparent_mode.mode}} name={{nic_transparent_mode.external_interface}} {% else %} type=pcap name=lo {% endif %} [packet_io.polling] ### note, polling_priority = call sapp_recv_pkt every call polling_entry times, polling_priority=1 [STREAM] [stream.tcp] max=200000 timeout=30 syn_mandatory=1 reorder_pkt_max=5 analyse_option_enabled=1 [stream.tcp.inject] link_mss=1460 [stream.tcp.inject.rst] number=3 signature_enabled=1 signature_seed1=65535 signature_seed2=13 [stream.udp] max=10000 timeout=60 [PROFILING] [profiling.pkt_latency] enabled=0 ### note, threshold unit is microseconds (us) threshold=1000000 [profiling.sanity_check] raw_pkt_broken_enabled=0 symbol_conflict_enabled=0 [profiling.log] level=20 interval=5 [profiling.log.local] enabled=1 ### note, if "file_truncate_open_enabled=1", file will be truncated, otherwise open the file for appending. file_truncate_enabled = 1 log_file_name = "fs2_sysinfo.log" [profiling.log.remote] enabled=1 server_ip={{ fs_remote.address }} server_port={{ fs_remote.port }} [profiling.log.remote.field_stat2] ### note, is valid when "remote_send_out_type=field_stat2" ### note, metric_type option value: [default, json] metric_type = default app_name=sapp [TOOLS] [tools.pkt_dump] enabled=0 ### note, mode options value:[storage, udp_socket] mode=udp_socket BSD_packet_filter="" [tools.pkt_dump.threads] ### note, if you want enable pkt dump in all thread, set dump_thread_all_enabled=1, then 'dump_thread_id' is obsoleted. ### if dump_thread_all_enabled=0, then use dump_thread_id to specify separate specified thread index. all_threads_enabled=1 ### note, dump_thread_id start from 0, max is CPU.worker_threads-1 dump_thread_id=[0,1,2,3,4] [tools.pkt_dump.udp] command_port=12345 [tools.pkt_dump.storage] ### note, file path must be double quotation mark extension, for example, path="/dev/shm/pkt_dump" path="/dev/shm/pkt_dump" ### note, file size unit: MB file_size_max_per_thread=10000 ### note: ### These configurations format is complex and difficult to describe with toml grammar, ### so, create a Independent config file to description specific information. [SPECIAL_CONFIG_LINK] project_list_path="./etc/project_list.conf" plugin_path="./etc/plugin.conf" entrylist_path="./etc/entrylist.conf" send_raw_pkt_path="./etc/send_raw_pkt.conf" vxlan_sport_service_map_path="./etc/vxlan_sport_service_map.conf"