N3IWF Invalid Configuration

I’m having some problems with the N3IWF. The problem is when I try to start the free5gc docker compose environment, the N3IWF cannot start because of “Invalid Configuration: non zero value required.”

These are the N3IWF logs:
2024-10-28T13:01:00.832306922Z [INFO][N3IWF][Main] N3IWF version:
free5GC version: v3.4.3-19-g88242be
build time: 2024-10-28T12:55:25Z
commit hash: e9097bf5
commit time: 2024-10-18T09:10:48Z
go version: go1.21.8 linux/amd64
2024-10-28T13:01:00.836369374Z [INFO][N3IWF][CFG] Read config from [./config/n3iwfcfg.yaml]
2024-10-28T13:01:00.838220686Z [ERRO][N3IWF][CFG] Invalid Configuration.AMFSCTPAddresses: non zero value required;Configuration.FQDN: non zero value required;Configuration.IKEBindAddr: non zero value required;Configuration.IPSecGatewayAddr: non zero value required;Configuration.LivenessCheck: non zero value required;Configuration.N3IWFGTPBindAddress: non zero value required;Configuration.N3IWFInfo: non zero value required;Configuration.TCPPort: non zero value required;Configuration.UEIPAddressRange: non zero value required
2024-10-28T13:01:00.838242501Z [ERRO][N3IWF][CFG] Invalid Configuration: non zero value required
2024-10-28T13:01:00.838247926Z [ERRO][N3IWF][CFG] [-- PLEASE REFER TO SAMPLE CONFIG FILE COMMENTS --]
2024-10-28T13:01:00.838260367Z [ERRO][N3IWF][Main] N3IWF Run Error: Config validate Error

These is the N3IWF config file:
info:
version: 1.0.5
description: N3IWF initial local configuration

configuration:
N3IWFInformation:
GlobalN3IWFID: # ID used to globally identify an N3IWF
PLMNID: # Public Land Mobile Network ID, =
MCC: 208 # Mobile Country Code (3 digits string, digit: 0~9)
MNC: 93 # Mobile Network Code (2 or 3 digits string, digit: 0~9)
N3IWFID: 135 # ID used to identify an N3IWF in PLMN (uinteger, range: 0~65535)
Name: free5GC_N3IWF # The name of this N3IWF
SupportedTAList: # Tracking Area supported by this N3IWF
- TAC: 000001 # Tracking Area Code (3 bytes hex string, range: 000000~FFFFFF)
BroadcastPLMNList: # Refer to TS 38.413
- PLMNID: # Public Land Mobile Network ID
MCC: 208 # Mobile Country Code (3 digits string, digit: 0~9)
MNC: 93 # Mobile Network Code (2 or 3 digits string, digit: 0~9)
TAISliceSupportList: # Network Slice supported in this TAI
- SNSSAI: # Single Network Slice Selection Assistance Information
SST: 1 # Slice/Service Type (1 byte hex string, range: 0~F)
SD: 010203 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF)
- SNSSAI: # Single Network Slice Selection Assistance Information
SST: 1 # Slice/Service Type (1 byte hex string, range: 0~F)
SD: 112233 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF)

— N2 Interfaces —

AMFSCTPAddresses: # the IP list of N2 interfaces (SCTP) on AMF when using NGAP
- IP:
- amf . free5gc . org
Port: 38412
NASTCPPort: 20000 # TCP port which the NAS listens on

— Nwu Interfaces —

IKEBindAddress: n3iwf.free5gc.org # Nwu interface IP address (IKE) on this N3IWF
IPSecTunnelAddress: 10.100.200.15 # Tunnel IP address of XFRM interface on this N3IWF
UEIPAddressRange: 10.100.200.0/24 # IP address pool allocated to UE in IPSec tunnel
XFRMInterfaceName: xfrmi # Prefix of XFRM interface name created by N3IWF
XFRMInterfaceID: 1 # XFRM interface if_id for IPSec routing (Any value except to 0, default value is 7 if not defined)

— N3 Interfaces —

GTPBindAddress: 10.100.200.15 # IP address of N3 interface (GTP) on this N3IWF

FQDN: n3iwf.free5gc.org # FQDN of this N3IWF

— Security —

PrivateKey: cert/n3iwf.key # Private key file path
CertificateAuthority: cert/n3iwf.pem # Certificate Authority (CA) file path
Certificate: cert/n3iwf.pem # Certificate file path

sending dead peer detection message

LivenessCheck:
enable: true # true or false
transFreq: 60s # frequency of transmission
maxRetryTimes: 4 # the max number of DPD response of UE

logger: # log output setting
enable: true # true or false
level: info # how detailed to output, value: trace, debug, info, warn, error, fatal, panic
reportCaller: false # enable the caller report or not, value: true or false

Hello lks01,

Sorry for the delayed response.

If you’re building images from local resources, please update the attribute names in n3iwfcfg.yaml in the same way as shown in this commit:

Alternatively, you can use remote images, which will reduce the need for manual configuration changes.

I hope this is helpful to you! Please let me know if you have any questions about the solution.

FYI, the issue has been resolved in the free5gc-compose v3.4.4 update.
You are welcome to test the updated Docker images at your convenience.