+ else {
+ bool tls;
+ if(framework_environment.settings.tls_connections == 0) {
+ tls = false;
+ }
+ else {
+ tls = true;
+ }
+
+ regs[total_regs].sent = false;
+ regs[total_regs].port = 0;
+ regs[total_regs].is_tls = tls;
+ total_regs++;
+ }
+
+ uint32_t remaining = total_regs;
+ while(remaining) {
+ for(int i = 0; i < total_regs; i++) {
+ if(regs[i].sent == false) {
+ uint16_t port = regs[i].port;
+ bool is_tls = regs[i].is_tls;
+ int rc = ves_pnf_registration_send(current_session, nf_ip_v4_address, nf_ip_v6_address, port, mp, is_tls);
+ if(rc == NTS_ERR_OK) {
+ remaining--;
+ regs[i].sent = true;
+ }
+ else {
+ log_error("pnfRegistration failed for ipv4=%s ipv6=%s port=%d is_tls=%d\n", nf_ip_v4_address, nf_ip_v6_address, port, is_tls);
+ }
+ }
+ }
+ if(remaining) {
+ log_error("pnfRegistration could not register all ports; retrying in 5 seconds...\n");
+ sleep(5);
+ }
+ }
+ free(regs);
+ log_add_verbose(2, "PNF registration finished\n");
+ ves_pnf_registration_status = 1;