#
# logger:
#
#  o Set OGS_LOG_INFO to all domain level
#   - If `level` is omitted, the default level is OGS_LOG_INFO)
#   - If `domain` is omitted, the all domain level is set from 'level'
#    (Nothing is needed)
#
#  o Set OGS_LOG_ERROR to all domain level
#   - `level` can be set with none, fatal, error, warn, info, debug, trace
#    level: error
#
#  o Set OGS_LOG_DEBUG to mme/emm domain level
#    level: debug
#    domain: mme,emm
#
#  o Set OGS_LOG_TRACE to all domain level
#    level: trace
#    domain: core,pfcp,gtp,sgwc,event,tlv,mem,sock
#
logger:
    file: ${sgwc.log_filename}
    level: debug

#
# sgwc:
#
#  <GTP-C Server>
#
#  o GTP-C Server(127.0.0.3:2123, [fe80::2%lo]:2123)
#    gtpc:
#      addr:
#        - 127.0.0.3
#        - fe80::2%lo
#
#  o On SGW, Same Configuration(127.0.0.3:2123,
#  [fe80::2%lo]:2123) as below.
#    gtpc:
#      - addr: 127.0.0.3
#      - addr: fe80::2%lo
#
#  <PFCP Server>
#
#  o PFCP Server(127.0.0.3:8805, ::1:8805)
#    pfcp:
#      - addr: 127.0.0.3
#      - addr: ::1
#
#  o PFCP-U Server(127.0.0.1:2152, [::1]:2152)
#    pfcp:
#      name: localhost
#
sgwc:
    gtpc:
      - addr: ${epc.run_addr}
        port: 2125
    pfcp:
      - addr: ${epc.run_addr}
        port: 8805

#
# sgwu:
#
#  <PFCP Client>>
#
#  o PFCP Client(127.0.0.6:8805)
#
#    pfcp:
#      addr: 127.0.0.6
#
#  <SGWU_SELECTION_MODE - EPC only>
#
# o Round-Robin
#   (note that round robin can be disabled for a particular node
#     by setting flag 'rr' to 0)
#
#  sgwu:
#    pfcp:
#      - addr: 127.0.0.6
#      - addr: 127.0.0.12
#        rr: 0
#      - addr: 127.0.0.18
#
# o SGWU selection by eNodeB TAC
#   (either single TAC or multiple TACs, DECIMAL representation)
#
#  sgwu:
#    pfcp:
#      - addr: 127.0.0.6
#        tac: 1
#      - addr: 127.0.0.12
#        tac: [3,5,8]
#
# o SGWU selection by UE's APN (either single APN or multiple APNs)
#
#  sgwu:
#    pfcp:
#      - addr: 127.0.0.6
#        apn: ims
#      - addr: 127.0.0.12
#        apn: [internet, web]
#
# o SGWU selection by CellID(e_cell_id: 28bit)
#   (either single e_cell_id or multiple e_cell_id, HEX representation)
#
#  sgwu:
#    pfcp:
#      - addr: 127.0.0.6
#        e_cell_id: 463
#      - addr: 127.0.0.12
#        e_cell_id: [123456789, 9413]
#
sgwu:
    pfcp:
      - addr: ${epc.run_addr}
        port: 8806

#
# parameter:
#
#  o Number of output streams per SCTP associations.
#      sctp_streams: 30
#
#  o Disable use of IPv4 addresses (only IPv6)
#      no_ipv4: true
#
#  o Disable use of IPv6 addresses (only IPv4)
#      no_ipv6: true
#
#  o Prefer IPv4 instead of IPv6 for estabishing new GTP connections.
#      prefer_ipv4: true
#
#  o Enable Multicast traffic to the UE
#      multicast: true
#
#  o Disable Stateless Address Autoconfiguration for IPv6
#      no_slaac: true
#
parameter:

#
# max:
#
# o Maximum Number of UE per AMF/MME
#    ue: 1024
# o Maximum Number of gNB/eNB per AMF/MME
#    gnb: 32
#
max:

#
# pool:
#
# o The default memory pool size was set assuming 1024 UEs.
#   To connect more UEs, you need to increase the size further.
#
#   - Pool-size 128         => 65536 Number
#   - Pool-size 256         => 16384 Number
#   - Pool-size 512         => 4096 Number
#   - Pool-size 1024        => 1024 Number
#   - Pool-size 2048        => 512 Number
#   - Pool-size 8192        => 128 Number
#   - Pool-size 1024*1024   => 8 Number
#
#    128:  65536
#    256:  16384
#    512:  4096
#    1024: 1024
#    2048: 512
#    8192: 128
#    big:  8
#
pool:

#
# time:
#
#  o Message Wait Duration (Default : 10,000 ms = 10 seconds)
#
#  o Message Wait Duration (3000 ms)
#    message:
#        duration: 3000
time:
