NRF NFManagement Bad Request

Hello everyone,

I try to fuzz the Free5GC NRF and I struggle to get a valid PUT /nnrf-nfm/v1/nf-instances/{nfInstanceID} request (NFManagement). I am using the example values found in the OpenAPI document from Free5GC (https://github.com/free5gc/openapi/blob/c8dbd684a7255a54c514f09b5aae4aeb95e37d1e/Nnrf_NFManagement/api/openapi.yaml) but the only response I get from the network is a 400 Bad Request with details: “100”. I could not find any information for this “100” and I wanted to ask everyone if there is a place where I can look it up or anyone who knows what could cause this.

Thanks in advance.

My request looks like this: (sorry for being long)
> PUT /nnrf-nfm/v1/nf-instances/566048da-ed19-4cd3-8e0a-b7e0e1ec4d72

{
"nfInstanceId":"566048da-ed19-4cd3-8e0a-b7e0e1ec4d72",
"heartBeatTimer":100,
"plmnList":
[
    {
        "mcc":"mcc",
        "mnc":"mnc"
    },
    {
        "mcc":"mcc",
        "mnc":"mnc"
    }
],
"sNssais":
[
    {
        "sst":153,
        "sd":"sd"
    },
    {
        "sst":153,
        "sd":"sd"
    }
],
"nsiList":
[
    "nsiList",
    "nsiList"
],
"fqdn":"fqdn",
"interPlmnFqdn":"interPlmnFqdn",
"ipv4Addresses":
[
    "198.51.100.1",
    "198.51.100.1"
],
"ipv6Addresses":["2001:db8:85a3::8a2e:370:7334"],
"allowedPlmns":
[
    {
        "mcc":"mcc",
        "mnc":"mnc"
    },
    {
        "mcc":"mcc",
        "mnc":"mnc"
    }
],
"allowedNfTypes":
[null,null
],
"allowedNfDomains":
[
    "allowedNfDomains",
    "allowedNfDomains"
],
"allowedNssais":
[
    {
        "sst":153,
        "sd":"sd"
    },
    {
        "sst":153,
        "sd":"sd"
    }
],
"priority":9606,
"capacity":39072,
"load":56,
"locality":"locality",
"udrInfo":
    {
        "groupId":"groupId",
        "supiRanges":
        [
            {
                "start":"start",
                "end":"end",
                "pattern":"pattern"
            },
            {
                "start":"start",
                "end":"end",
                "pattern":"pattern"
            }
        ],
        "gpsiRanges":
        [
            {
                "start":"start",
                "end":"end",
                "pattern":"pattern"
            },
            {
                "start":"start",
                "end":"end",
                "pattern":"pattern"
            }
        ],
        "externalGroupIdentifiersRanges":
        [
            {
                "start":"start",
                "end":"end",
                "pattern":"pattern"
            },
            {
                "start":"start",
                "end":"end",
                "pattern":"pattern"
            }
        ],
        "supportedDataSets":
        [null,null
        ]
    }
,
"udmInfo":
    {
        "groupId":"groupId",
        "supiRanges":
        [
            {
                "start":"start",
                "end":"end",
                "pattern":"pattern"
            },
            {
                "start":"start",
                "end":"end",
                "pattern":"pattern"
            }
        ],
        "gpsiRanges":
        [
            {
                "start":"start",
                "end":"end",
                "pattern":"pattern"
            },
            {
                "start":"start",
                "end":"end",
                "pattern":"pattern"
            }
        ],
        "externalGroupIdentifiersRanges":
        [
            {
                "start":"start",
                "end":"end",
                "pattern":"pattern"
            },
            {
                "start":"start",
                "end":"end",
                "pattern":"pattern"
            }
        ],
        "routingIndicators":
        [
            "routingIndicators",
            "routingIndicators"
        ]
    }
,
"ausfInfo":
    {
        "groupId":"groupId",
        "supiRanges":
        [
            {
                "start":"start",
                "end":"end",
                "pattern":"pattern"
            },
            {
                "start":"start",
                "end":"end",
                "pattern":"pattern"
            }
        ],
        "routingIndicators":
        [
            "routingIndicators",
            "routingIndicators"
        ]
    }
,
"amfInfo":
    {
        "amfSetId":"amfSetId",
        "amfRegionId":"amfRegionId",
        "guamiList":
        [
            {
                "plmnId":
                    {
                        "mcc":"mcc",
                        "mnc":"mnc"
                    }
                ,
                "amfId":"amfId"
            },
            {
                "plmnId":
                    {
                        "mcc":"mcc",
                        "mnc":"mnc"
                    }
                ,
                "amfId":"amfId"
            }
        ],
        "taiList":
        [
            {
                "plmnId":
                    {
                        "mcc":"mcc",
                        "mnc":"mnc"
                    }
                ,
                "tac":"tac"
            },
            {
                "plmnId":
                    {
                        "mcc":"mcc",
                        "mnc":"mnc"
                    }
                ,
                "tac":"tac"
            }
        ],
        "taiRangeList":
        [
            {
                "plmnId":
                    {
                        "mcc":"mcc",
                        "mnc":"mnc"
                    }
                ,
                "tacRangeList":
                [
                    {
                        "start":"start",
                        "end":"end",
                        "pattern":"pattern"
                    },
                    {
                        "start":"start",
                        "end":"end",
                        "pattern":"pattern"
                    }
                ]
            },
            {
                "plmnId":
                    {
                        "mcc":"mcc",
                        "mnc":"mnc"
                    }
                ,
                "tacRangeList":
                [
                    {
                        "start":"start",
                        "end":"end",
                        "pattern":"pattern"
                    },
                    {
                        "start":"start",
                        "end":"end",
                        "pattern":"pattern"
                    }
                ]
            }
        ],
        "backupInfoAmfFailure":
        [
            {
                "plmnId":
                    {
                        "mcc":"mcc",
                        "mnc":"mnc"
                    }
                ,
                "amfId":"amfId"
            },
            {
                "plmnId":
                    {
                        "mcc":"mcc",
                        "mnc":"mnc"
                    }
                ,
                "amfId":"amfId"
            }
        ],
        "backupInfoAmfRemoval":
        [
            {
                "plmnId":
                    {
                        "mcc":"mcc",
                        "mnc":"mnc"
                    }
                ,
                "amfId":"amfId"
            },
            {
                "plmnId":
                    {
                        "mcc":"mcc",
                        "mnc":"mnc"
                    }
                ,
                "amfId":"amfId"
            }
        ],
        "n2InterfaceAmfInfo":
            {
                "ipv4EndpointAddress":
                [
                    "198.51.100.1",
                    "198.51.100.1"
                ],
                "ipv6EndpointAddress":["2001:db8:85a3::8a2e:370:7334"],
                "amfName":"amfName"
            }
    }
,
"smfInfo":
    {
        "sNssaiSmfInfoList":
        [
            {
                "sNssai":
                    {
                        "sst":153,
                        "sd":"sd"
                    }
                ,
                "dnnSmfInfoList":
                [
                    {
                        "dnn":"dnn"
                    },
                    {
                        "dnn":"dnn"
                    }
                ]
            },
            {
                "sNssai":
                    {
                        "sst":153,
                        "sd":"sd"
                    }
                ,
                "dnnSmfInfoList":
                [
                    {
                        "dnn":"dnn"
                    },
                    {
                        "dnn":"dnn"
                    }
                ]
            }
        ],
        "taiList":
        [
            {
                "plmnId":
                    {
                        "mcc":"mcc",
                        "mnc":"mnc"
                    }
                ,
                "tac":"tac"
            },
            {
                "plmnId":
                    {
                        "mcc":"mcc",
                        "mnc":"mnc"
                    }
                ,
                "tac":"tac"
            }
        ],
        "taiRangeList":
        [
            {
                "plmnId":
                    {
                        "mcc":"mcc",
                        "mnc":"mnc"
                    }
                ,
                "tacRangeList":
                [
                    {
                        "start":"start",
                        "end":"end",
                        "pattern":"pattern"
                    },
                    {
                        "start":"start",
                        "end":"end",
                        "pattern":"pattern"
                    }
                ]
            },
            {
                "plmnId":
                    {
                        "mcc":"mcc",
                        "mnc":"mnc"
                    }
                ,
                "tacRangeList":
                [
                    {
                        "start":"start",
                        "end":"end",
                        "pattern":"pattern"
                    },
                    {
                        "start":"start",
                        "end":"end",
                        "pattern":"pattern"
                    }
                ]
            }
        ],
        "pgwFqdn":"pgwFqdn",
        "accessType":
        [null,null
        ]
    }
,
"upfInfo":
    {
        "sNssaiUpfInfoList":
        [
            {
                "sNssai":
                    {
                        "sst":153,
                        "sd":"sd"
                    }
                ,
                "dnnUpfInfoList":
                [
                    {
                        "dnn":"dnn",
                        "dnaiList":
                        [null,null
                        ]
                    },
                    {
                        "dnn":"dnn",
                        "dnaiList":
                        [null,null
                        ]
                    }
                ]
            },
            {
                "sNssai":
                    {
                        "sst":153,
                        "sd":"sd"
                    }
                ,
                "dnnUpfInfoList":
                [
                    {
                        "dnn":"dnn",
                        "dnaiList":
                        [null,null
                        ]
                    },
                    {
                        "dnn":"dnn",
                        "dnaiList":
                        [null,null
                        ]
                    }
                ]
            }
        ],
        "smfServingArea":
        [
            "smfServingArea",
            "smfServingArea"
        ],
        "interfaceUpfInfoList":
        [
            {
                "ipv4EndpointAddresses":
                [
                    "198.51.100.1",
                    "198.51.100.1"
                ],
                "ipv6EndpointAddresses":["2001:db8:85a3::8a2e:370:7334"],
                "endpointFqdn":"endpointFqdn",
                "networkInstance":"networkInstance"
            },
            {
                "ipv4EndpointAddresses":
                [
                    "198.51.100.1",
                    "198.51.100.1"
                ],
                "ipv6EndpointAddresses":["2001:db8:85a3::8a2e:370:7334"],
                "endpointFqdn":"endpointFqdn",
                "networkInstance":"networkInstance"
            }
        ],
        "iwkEpsInd":false
    }
,
"pcfInfo":
    {
        "dnnList":
        [null,null
        ],
        "supiRanges":
        [
            {
                "start":"start",
                "end":"end",
                "pattern":"pattern"
            },
            {
                "start":"start",
                "end":"end",
                "pattern":"pattern"
            }
        ],
        "rxDiamHost":"rxDiamHost",
        "rxDiamRealm":"rxDiamRealm"
    }
,
"bsfInfo":
    {
        "dnnList":
        [null,null
        ],
        "ipDomainList":
        [
            "ipDomainList",
            "ipDomainList"
        ],
        "ipv4AddressRanges":
        [
            {
                "start":"198.51.100.1",
                "end":"198.51.100.1"
            },
            {
                "start":"198.51.100.1",
                "end":"198.51.100.1"
            }
        ],
        "ipv6PrefixRanges":
        [
            {
                "start":"2001:db8:abcd:12::0/64",
                "end":"2001:db8:abcd:12::0/64"
            },
            {
                "start":"2001:db8:abcd:12::0/64",
                "end":"2001:db8:abcd:12::0/64"
            }
        ]
    }
,
"chfInfo":
    {
        "supiRangeList":
        [
            {
                "start":"start",
                "end":"end",
                "pattern":"pattern"
            },
            {
                "start":"start",
                "end":"end",
                "pattern":"pattern"
            }
        ],
        "gpsiRangeList":
        [
            {
                "start":"start",
                "end":"end",
                "pattern":"pattern"
            },
            {
                "start":"start",
                "end":"end",
                "pattern":"pattern"
            }
        ],
        "plmnRangeList":
        [
            {
                "start":"start",
                "end":"end",
                "pattern":"pattern"
            },
            {
                "start":"start",
                "end":"end",
                "pattern":"pattern"
            }
        ]
    }
,
"nrfInfo":
    {
        "servedUdrInfo":{"key":{"supportedDataSets":[null,null],"groupId":"groupId","externalGroupIdentifiersRanges":[{"start":"start","pattern":"pattern","end":"end"},{"start":"start","pattern":"pattern","end":"end"}],"supiRanges":[{"start":"start","pattern":"pattern","end":"end"},{"start":"start","pattern":"pattern","end":"end"}],"gpsiRanges":[{"start":"start","pattern":"pattern","end":"end"},{"start":"start","pattern":"pattern","end":"end"}]}},
        "servedUdmInfo":{"key":{"routingIndicators":["routingIndicators","routingIndicators"],"groupId":"groupId","externalGroupIdentifiersRanges":[{"start":"start","pattern":"pattern","end":"end"},{"start":"start","pattern":"pattern","end":"end"}],"supiRanges":[{"start":"start","pattern":"pattern","end":"end"},{"start":"start","pattern":"pattern","end":"end"}],"gpsiRanges":[{"start":"start","pattern":"pattern","end":"end"},{"start":"start","pattern":"pattern","end":"end"}]}},
        "servedAusfInfo":{"key":{"routingIndicators":["routingIndicators","routingIndicators"],"groupId":"groupId","supiRanges":[{"start":"start","pattern":"pattern","end":"end"},{"start":"start","pattern":"pattern","end":"end"}]}},
        "servedAmfInfo":{"key":{"backupInfoAmfRemoval":[{"plmnId":{"mnc":"mnc","mcc":"mcc"},"amfId":"amfId"},{"plmnId":{"mnc":"mnc","mcc":"mcc"},"amfId":"amfId"}],"guamiList":[{"plmnId":{"mnc":"mnc","mcc":"mcc"},"amfId":"amfId"},{"plmnId":{"mnc":"mnc","mcc":"mcc"},"amfId":"amfId"}],"taiRangeList":[{"tacRangeList":[{"start":"start","pattern":"pattern","end":"end"},{"start":"start","pattern":"pattern","end":"end"}],"plmnId":{"mnc":"mnc","mcc":"mcc"}},{"tacRangeList":[{"start":"start","pattern":"pattern","end":"end"},{"start":"start","pattern":"pattern","end":"end"}],"plmnId":{"mnc":"mnc","mcc":"mcc"}}],"backupInfoAmfFailure":[{"plmnId":{"mnc":"mnc","mcc":"mcc"},"amfId":"amfId"},{"plmnId":{"mnc":"mnc","mcc":"mcc"},"amfId":"amfId"}],"amfSetId":"amfSetId","amfRegionId":"amfRegionId","n2InterfaceAmfInfo":{"ipv4EndpointAddress":["198.51.100.1","198.51.100.1"],"amfName":"amfName","ipv6EndpointAddress":["2001:db8:85a3::8a2e:370:7334","2001:db8:85a3::8a2e:370:7334"]},"taiList":[{"tac":"tac","plmnId":{"mnc":"mnc","mcc":"mcc"}},{"tac":"tac","plmnId":{"mnc":"mnc","mcc":"mcc"}}]}},
        "servedSmfInfo":{"key":{"accessType":[null,null],"sNssaiSmfInfoList":[{"dnnSmfInfoList":[{"dnn":"dnn"},{"dnn":"dnn"}],"sNssai":{"sd":"sd","sst":153}},{"dnnSmfInfoList":[{"dnn":"dnn"},{"dnn":"dnn"}],"sNssai":{"sd":"sd","sst":153}}],"taiRangeList":[{"tacRangeList":[{"start":"start","pattern":"pattern","end":"end"},{"start":"start","pattern":"pattern","end":"end"}],"plmnId":{"mnc":"mnc","mcc":"mcc"}},{"tacRangeList":[{"start":"start","pattern":"pattern","end":"end"},{"start":"start","pattern":"pattern","end":"end"}],"plmnId":{"mnc":"mnc","mcc":"mcc"}}],"taiList":[{"tac":"tac","plmnId":{"mnc":"mnc","mcc":"mcc"}},{"tac":"tac","plmnId":{"mnc":"mnc","mcc":"mcc"}}],"pgwFqdn":"pgwFqdn"}},
        "servedUpfInfo":{"key":{"iwkEpsInd":false,"interfaceUpfInfoList":[{"networkInstance":"networkInstance","ipv4EndpointAddresses":["198.51.100.1","198.51.100.1"],"ipv6EndpointAddresses":["2001:db8:85a3::8a2e:370:7334","2001:db8:85a3::8a2e:370:7334"],"endpointFqdn":"endpointFqdn"},{"networkInstance":"networkInstance","ipv4EndpointAddresses":["198.51.100.1","198.51.100.1"],"ipv6EndpointAddresses":["2001:db8:85a3::8a2e:370:7334","2001:db8:85a3::8a2e:370:7334"],"endpointFqdn":"endpointFqdn"}],"smfServingArea":["smfServingArea","smfServingArea"],"sNssaiUpfInfoList":[{"dnnUpfInfoList":[{"dnaiList":[null,null],"dnn":"dnn"},{"dnaiList":[null,null],"dnn":"dnn"}],"sNssai":{"sd":"sd","sst":153}},{"dnnUpfInfoList":[{"dnaiList":[null,null],"dnn":"dnn"},{"dnaiList":[null,null],"dnn":"dnn"}],"sNssai":{"sd":"sd","sst":153}}]}},
        "servedPcfInfo":{"key":{"rxDiamHost":"rxDiamHost","dnnList":[null,null],"rxDiamRealm":"rxDiamRealm","supiRanges":[{"start":"start","pattern":"pattern","end":"end"},{"start":"start","pattern":"pattern","end":"end"}]}},
        "servedBsfInfo": {"key": {"dnnList": [null,null],"ipDomainList": ["ipDomainList","ipDomainList"],"ipv4AddressRanges": [{"start": "198.51.100.1","end": "198.51.100.1"},{"start": "198.51.100.1","end": "198.51.100.1"}],"ipv6PrefixRanges": [{"start": "2001:db8:abcd:12::0/64","end": "2001:db8:abcd:12::0/64"},{"start": "2001:db8:abcd:12::0/64","end": "2001:db8:abcd:12::0/64"}]}},
        "servedChfInfo":{"key":{"gpsiRangeList":[{"start":"start","pattern":"pattern","end":"end"},{"start":"start","pattern":"pattern","end":"end"}],"plmnRangeList":[{"start":"start","pattern":"pattern","end":"end"},{"start":"start","pattern":"pattern","end":"end"}],"supiRangeList":[{"start":"start","pattern":"pattern","end":"end"},{"start":"start","pattern":"pattern","end":"end"}]}}
    }
,
"customInfo":{},
"recoveryTime":"2019-06-26T20:20:39+00:00",
"nfServicePersistence":false,
"nfServices":
[
    {
        "serviceInstanceId":"serviceInstanceId",
        "versions":
        [
            {
                "apiVersionInUri":"apiVersionInUri",
                "apiFullVersion":"apiFullVersion",
                "expiry":"2000-01-23T05:56:07+01:00"
            },
            {
                "apiVersionInUri":"apiVersionInUri",
                "apiFullVersion":"apiFullVersion",
                "expiry":"2000-01-23T05:56:07+01:00"
            }
        ],
        "fqdn":"fqdn",
        "interPlmnFqdn":"interPlmnFqdn",
        "ipEndPoints":
        [
            {
                "ipv4Address":"198.51.100.1",
                "ipv6Address":"2001:db8:85a3::8a2e:370:7334",
                "port":15087
            },
            {
                "ipv4Address":"198.51.100.1",
                "ipv6Address":"2001:db8:85a3::8a2e:370:7334",
                "port":15087
            }
        ],
        "apiPrefix":"apiPrefix",
        "defaultNotificationSubscriptions":
        [
            {
                "callbackUri":"callbackUri"
            },
            {
                "callbackUri":"callbackUri"
            }
        ],
        "allowedPlmns":
        [
            {
                "mcc":"mcc",
                "mnc":"mnc"
            },
            {
                "mcc":"mcc",
                "mnc":"mnc"
            }
        ],
        "allowedNfTypes":
        [null,null
        ],
        "allowedNfDomains":
        [
            "allowedNfDomains",
            "allowedNfDomains"
        ],
        "allowedNssais":
        [
            {
                "sst":153,
                "sd":"sd"
            },
            {
                "sst":153,
                "sd":"sd"
            }
        ],
        "priority":9606,
        "capacity":39072,
        "load":56,
        "recoveryTime":"2000-01-23T05:56:07+01:00",
        "chfServiceInfo":
            {
                "primaryChfServiceInstance":"primaryChfServiceInstance",
                "secondaryChfServiceInstance":"secondaryChfServiceInstance"
            }
        ,
        "supportedFeatures":"supportedFeatures"
    },
    {
        "serviceInstanceId":"serviceInstanceId",
        "versions":
        [
            {
                "apiVersionInUri":"apiVersionInUri",
                "apiFullVersion":"apiFullVersion",
                "expiry":"2000-01-23T05:56:07+01:00"
            },
            {
                "apiVersionInUri":"apiVersionInUri",
                "apiFullVersion":"apiFullVersion",
                "expiry":"2000-01-23T05:56:07+01:00"
            }
        ],
        "fqdn":"fqdn",
        "interPlmnFqdn":"interPlmnFqdn",
        "ipEndPoints":
        [
            {
                "ipv4Address":"198.51.100.1",
                "ipv6Address":"2001:db8:85a3::8a2e:370:7334",
                "port":15087
            },
            {
                "ipv4Address":"198.51.100.1",
                "ipv6Address":"2001:db8:85a3::8a2e:370:7334",
                "port":15087
            }
        ],
        "apiPrefix":"apiPrefix",
        "defaultNotificationSubscriptions":
        [
            {
                "callbackUri":"callbackUri"
            },
            {
                "callbackUri":"callbackUri"
            }
        ],
        "allowedPlmns":
        [
            {
                "mcc":"mcc",
                "mnc":"mnc"
            },
            {
                "mcc":"mcc",
                "mnc":"mnc"
            }
        ],
        "allowedNfTypes":
        [null,null
        ],
        "allowedNfDomains":
        [
            "allowedNfDomains",
            "allowedNfDomains"
        ],
        "allowedNssais":
        [
            {
                "sst":153,
                "sd":"sd"
            },
            {
                "sst":153,
                "sd":"sd"
            }
        ],
        "priority":9606,
        "capacity":39072,
        "load":56,
        "recoveryTime":"2000-01-23T05:56:07+01:00",
        "chfServiceInfo":
            {
                "primaryChfServiceInstance":"primaryChfServiceInstance",
                "secondaryChfServiceInstance":"secondaryChfServiceInstance"
            }
        ,
        "supportedFeatures":"supportedFeatures"
    }
]}

Hello @hidingturtle,

When you send a PUT /nnrf-nfm/v1/nf-instances/{nfInstanceID} request, it will be handled by the function named HTTPRegisterNFInstance in https://github.com/free5gc/nrf/blob/35bbb553b90188d8d195a16e8fcb686dd440a8f0/internal/sbi/management/api_nf_instance_id_document.go.
I think the error you got comes from setp 4: call producer, and if you look deeper you can find 400 Bad Request with details: “100” is generated when NFRegisterProcedure call NnrfNFManagementDataModel to check the nfProfile you send in request.
The details:"100" is the value of “heartBeatTimer” in your request.

The above description means there are something missing in your request.
You can try it yourself to find out the missing IE.
If you still have problems about this, you can leave a message for more information.