[snowflake]
snowflake_base = 1   # [0, 31]
snowflake_offset = 2 # [0, 127]

[packet_io]
mode = "dumpfile"      # dumpfile, dumpfilelist, marsio
app_symbol = "stellar"
dev_symbol = "nf_0_fw"

dumpfile_path = "/tmp/dumpfile/dumpfile.pcap"
#dumpfile_path = "/tmp/dumpfile/dumpfilelist"

nr_threads = 1                         # [1, 256]
cpu_mask = [5, 6, 7, 8, 9, 10, 11, 12]

[ip_reassembly]
enable = 1
timeout = 10000     # range: [1, 60000] (ms)
bucket_entries = 32 # range: [1, 4294967295] (must be power of 2)
bucket_num = 1024   # range: [1, 4294967295]

[session_manager]
# max session number
max_tcp_session_num = 50000
max_udp_session_num = 50000

# session overload evict
tcp_overload_evict_old_sess = 1 # 1: evict old session, 0: bypass new session
udp_overload_evict_old_sess = 1 # 1: evict old session, 0: bypass new session

# TCP timeout
tcp_init_timeout = 5000           # range: [1, 60000] (ms)
tcp_handshake_timeout = 5000      # range: [1, 60000] (ms)
tcp_data_timeout = 5000           # range: [1, 15999999000] (ms)
tcp_half_closed_timeout = 5000    # range: [1, 604800000] (ms)
tcp_time_wait_timeout = 5000      # range: [1, 600000] (ms)
tcp_discard_timeout = 10000       # range: [1, 15999999000] (ms)
tcp_unverified_rst_timeout = 5000 # range: [1, 600000] (ms)
# UDP timeout
udp_data_timeout = 5000    # range: [1, 15999999000] (ms)
udp_discard_timeout = 5000 # range: [1, 15999999000] (ms)

# duplicate packet filter
duplicated_packet_filter_enable = 1
duplicated_packet_filter_capacity = 1000000   # range: [1, 4294967295]
duplicated_packet_filter_timeout = 10000      # range: [1, 60000] (ms)
duplicated_packet_filter_error_rate = 0.00001 # range: [0.0, 1.0]

# evicted session filter
evicted_session_filter_enable = 1
evicted_session_filter_capacity = 1000000   # range: [1, 4294967295]
evicted_session_filter_timeout = 10000      # range: [1, 60000] (ms)
evicted_session_filter_error_rate = 0.00001 # range: [0.0, 1.0]

# TCP reassembly (Per direction)
tcp_reassembly_enable = 1
tcp_reassembly_max_timeout = 10000 # range: [1, 60000] (ms)
tcp_reassembly_max_segments = 256  # range: [2, 4096]

[schedule]
# Note: free_expired_session_interval determines the precision of session_manager timeout
free_expired_session_interval = 50   # range: [1, 60000] (ms)
free_expired_session_batch = 1000    # range: [1, 60000]
force_session_expire_before_exit = 0 # 1: force session to expire before exit, 0: wait for session to naturally expire before exit.

# Note: free_expired_ip_frag_interval determines the precision of ip_reassembly timeout
free_expired_ip_frag_interval = 50 # range: [1, 60000] (ms)
free_expired_ip_frag_batch = 1000  # range: [1, 60000]

merge_stat_interval = 500   # range: [1, 60000] (ms)
output_stat_interval = 2000 # range: [1, 60000] (ms)

packet_io_yield_interval = 900 # range: [1, 60000] (ms)
