diff --git a/lib/app/ogs-context.c b/lib/app/ogs-context.c index dd7231cb7..4513e1457 100644 --- a/lib/app/ogs-context.c +++ b/lib/app/ogs-context.c @@ -86,7 +86,7 @@ static void recalculate_pool_size(void) self.pool.pfcp_node = self.pool.nf; #define MAX_NUM_OF_NF_SERVICE 16 /* Num of NF Service per NF Instance */ -#define MAX_NUM_OF_SBI_MESSAGE 8 /* Num of HTTP(s) Request/Response per NF */ +#define MAX_NUM_OF_SBI_MESSAGE 4 /* Num of HTTP(s) Request/Response per NF */ #define MAX_NUM_OF_NF_SUBSCRIPTION 4 /* Num of Subscription per NF */ self.pool.nf_service = self.pool.nf * MAX_NUM_OF_NF_SERVICE; self.pool.sbi_message = self.pool.nf * MAX_NUM_OF_SBI_MESSAGE; diff --git a/lib/sbi/context.c b/lib/sbi/context.c index e0de0b312..fae858b05 100644 --- a/lib/sbi/context.c +++ b/lib/sbi/context.c @@ -1022,7 +1022,7 @@ ogs_sbi_xact_t *ogs_sbi_xact_add( ogs_assert(sbi_object); ogs_pool_alloc(&xact_pool, &xact); - ogs_assert(xact); + if (!xact) return NULL; memset(xact, 0, sizeof(ogs_sbi_xact_t)); xact->target_nf_type = target_nf_type; diff --git a/lib/sbi/message.c b/lib/sbi/message.c index 80c1c5436..9e3d55769 100644 --- a/lib/sbi/message.c +++ b/lib/sbi/message.c @@ -164,8 +164,7 @@ ogs_sbi_request_t *ogs_sbi_request_new(void) ogs_sbi_request_t *request = NULL; ogs_pool_alloc(&request_pool, &request); - - ogs_assert(request); + if (!request) return NULL; memset(request, 0, sizeof(ogs_sbi_request_t)); request->http.params = ogs_hash_make(); @@ -221,7 +220,7 @@ ogs_sbi_request_t *ogs_sbi_build_request(ogs_sbi_message_t *message) ogs_assert(message); request = ogs_sbi_request_new(); - ogs_assert(request); + if (!request) return NULL; ogs_assert(message->h.method); request->h.method = ogs_strdup(message->h.method); diff --git a/lib/sbi/nnrf-build.c b/lib/sbi/nnrf-build.c index 765c14510..973504140 100644 --- a/lib/sbi/nnrf-build.c +++ b/lib/sbi/nnrf-build.c @@ -267,7 +267,6 @@ ogs_sbi_request_t *ogs_nnrf_nfm_build_register( message.NFProfile = NFProfile; request = ogs_sbi_build_request(&message); - ogs_assert(request); ogs_sbi_nnrf_free_nf_profile(NFProfile); @@ -306,7 +305,6 @@ ogs_sbi_request_t *ogs_nnrf_nfm_build_update(ogs_sbi_nf_instance_t *nf_instance) message.PatchItemList = PatchItemList; request = ogs_sbi_build_request(&message); - ogs_assert(request); OpenAPI_list_free(PatchItemList); @@ -330,7 +328,6 @@ ogs_sbi_request_t *ogs_nnrf_nfm_build_de_register( message.h.resource.component[1] = nf_instance->id; request = ogs_sbi_build_request(&message); - ogs_assert(request); return request; } @@ -383,7 +380,6 @@ ogs_sbi_request_t *ogs_nnrf_nfm_build_status_subscribe( message.SubscriptionData = SubscriptionData; request = ogs_sbi_build_request(&message); - ogs_assert(request); ogs_free(SubscriptionData->nf_status_notification_uri); ogs_free(SubscriptionData); @@ -408,7 +404,6 @@ ogs_sbi_request_t *ogs_nnrf_nfm_build_status_unsubscribe( message.h.resource.component[1] = subscription->id; request = ogs_sbi_build_request(&message); - ogs_assert(request); return request; } @@ -433,7 +428,6 @@ ogs_sbi_request_t *ogs_nnrf_disc_build_discover( message.param.requester_nf_type = requester_nf_type; request = ogs_sbi_build_request(&message); - ogs_assert(request); return request; } diff --git a/lib/sbi/path.c b/lib/sbi/path.c index 1c83e3527..6d5f3b23c 100644 --- a/lib/sbi/path.c +++ b/lib/sbi/path.c @@ -148,7 +148,10 @@ void ogs_nnrf_nfm_send_nf_register(ogs_sbi_nf_instance_t *nf_instance) ogs_assert(client); request = ogs_nnrf_nfm_build_register(nf_instance); - ogs_assert(request); + if (!request) { + ogs_error("ogs_nnrf_nfm_send_nf_register() failed"); + return; + } ogs_sbi_client_send_request(client, client->cb, request, nf_instance); } @@ -162,7 +165,10 @@ void ogs_nnrf_nfm_send_nf_update(ogs_sbi_nf_instance_t *nf_instance) ogs_assert(client); request = ogs_nnrf_nfm_build_update(nf_instance); - ogs_assert(request); + if (!request) { + ogs_error("ogs_nnrf_nfm_send_nf_update() failed"); + return; + } ogs_sbi_client_send_request(client, client->cb, request, nf_instance); } @@ -176,7 +182,10 @@ void ogs_nnrf_nfm_send_nf_de_register(ogs_sbi_nf_instance_t *nf_instance) ogs_assert(client); request = ogs_nnrf_nfm_build_de_register(nf_instance); - ogs_assert(request); + if (!request) { + ogs_error("ogs_nnrf_nfm_send_nf_de_register() failed"); + return; + } ogs_sbi_client_send_request(client, client->cb, request, nf_instance); } @@ -199,7 +208,11 @@ void ogs_nnrf_nfm_send_nf_status_subscribe(ogs_sbi_client_t *client, subscription->subscr_cond.nf_type = subscr_cond_nf_type; request = ogs_nnrf_nfm_build_status_subscribe(subscription); - ogs_assert(request); + if (!request) { + ogs_error("ogs_nnrf_nfm_send_nf_status_subscribe() failed"); + ogs_sbi_subscription_remove(subscription); + return; + } ogs_sbi_client_send_request(client, client->cb, request, subscription); } @@ -214,7 +227,10 @@ void ogs_nnrf_nfm_send_nf_status_unsubscribe( ogs_assert(client); request = ogs_nnrf_nfm_build_status_unsubscribe(subscription); - ogs_assert(request); + if (!request) { + ogs_error("ogs_nnrf_nfm_send_nf_status_unsubscribe() failed"); + return; + } ogs_sbi_client_send_request(client, client->cb, request, subscription); } diff --git a/src/amf/event.c b/src/amf/event.c index 8871003e1..b0f78eb68 100644 --- a/src/amf/event.c +++ b/src/amf/event.c @@ -38,7 +38,7 @@ amf_event_t *amf_event_new(amf_event_e id) amf_event_t *e = NULL; ogs_pool_alloc(&pool, &e); - ogs_assert(e); + if (!e) return NULL; memset(e, 0, sizeof(*e)); e->id = id; diff --git a/src/amf/ngap-path.c b/src/amf/ngap-path.c index 56414b66e..4ccb2c0ce 100644 --- a/src/amf/ngap-path.c +++ b/src/amf/ngap-path.c @@ -203,14 +203,18 @@ int ngap_send_to_nas(ran_ue_t *ran_ue, OGS_NAS_EXTENDED_PROTOCOL_DISCRIMINATOR_5GMM) { int rv; e = amf_event_new(AMF_EVT_5GMM_MESSAGE); - ogs_assert(e); + if (!e) { + ogs_error("ngap_send_to_nas() failed"); + ogs_pkbuf_free(nasbuf); + return OGS_ERROR; + } e->ran_ue = ran_ue; e->ngap.code = procedureCode; e->nas.type = security_header_type.type; e->pkbuf = nasbuf; rv = ogs_queue_push(ogs_app()->queue, e); if (rv != OGS_OK) { - ogs_warn("ogs_queue_push() failed:%d", (int)rv); + ogs_warn("ngap_send_to_nas() failed:%d", (int)rv); ogs_pkbuf_free(e->pkbuf); amf_event_free(e); } @@ -220,12 +224,14 @@ int ngap_send_to_nas(ran_ue_t *ran_ue, amf_ue_t *amf_ue = ran_ue->amf_ue; if (!amf_ue) { ogs_error("No UE Context"); + ogs_pkbuf_free(nasbuf); return OGS_ERROR; } return ngap_send_to_5gsm(amf_ue, nasbuf); } else { ogs_error("Unknown NAS Protocol discriminator 0x%02x", h->extended_protocol_discriminator); + ogs_pkbuf_free(nasbuf); return OGS_ERROR; } } diff --git a/src/amf/sbi-path.c b/src/amf/sbi-path.c index 403752c4d..1b659e5fd 100644 --- a/src/amf/sbi-path.c +++ b/src/amf/sbi-path.c @@ -132,13 +132,19 @@ void amf_ue_sbi_discover_and_send( xact = ogs_sbi_xact_add(target_nf_type, &amf_ue->sbi, (ogs_sbi_build_f)build, amf_ue, data, amf_timer_sbi_client_wait_expire); - ogs_assert(xact); + if (!xact) { + ogs_error("amf_ue_sbi_discover_and_send() failed"); + nas_5gs_send_gmm_reject_from_sbi( + amf_ue, OGS_SBI_HTTP_STATUS_GATEWAY_TIMEOUT); + return; + } if (ogs_sbi_discover_and_send(xact, (ogs_fsm_handler_t)amf_nf_state_registered, client_cb) != true) { - + ogs_error("amf_ue_sbi_discover_and_send() failed"); nas_5gs_send_gmm_reject_from_sbi( amf_ue, OGS_SBI_HTTP_STATUS_GATEWAY_TIMEOUT); + return; } } @@ -155,15 +161,21 @@ void amf_sess_sbi_discover_and_send(OpenAPI_nf_type_e target_nf_type, xact = ogs_sbi_xact_add(target_nf_type, &sess->sbi, (ogs_sbi_build_f)build, sess, data, amf_timer_sbi_client_wait_expire); - ogs_assert(xact); + if (!xact) { + ogs_error("amf_sess_sbi_discover_and_send() failed"); + nas_5gs_send_back_5gsm_message_from_sbi( + sess, OGS_SBI_HTTP_STATUS_GATEWAY_TIMEOUT); + return; + } xact->state = state; if (ogs_sbi_discover_and_send(xact, (ogs_fsm_handler_t)amf_nf_state_registered, client_cb) != true) { - + ogs_error("amf_sess_sbi_discover_and_send() failed"); nas_5gs_send_back_5gsm_message_from_sbi( sess, OGS_SBI_HTTP_STATUS_GATEWAY_TIMEOUT); + return; } } diff --git a/src/amf/timer.c b/src/amf/timer.c index b85a97893..31f1c7097 100644 --- a/src/amf/timer.c +++ b/src/amf/timer.c @@ -137,7 +137,14 @@ static void sbi_timer_send_event(int timer_id, void *data) break; case AMF_TIMER_SBI_CLIENT_WAIT: e = amf_event_new(AMF_EVT_SBI_TIMER); - ogs_assert(e); + if (!e) { + ogs_sbi_xact_t *sbi_xact = data; + ogs_assert(sbi_xact); + + ogs_error("sbi_timer_send_event() failed"); + ogs_sbi_xact_remove(sbi_xact); + return; + } e->timer_id = timer_id; e->sbi.data = data; break; @@ -193,6 +200,7 @@ static void gmm_timer_event_send( ogs_assert(amf_ue); e = amf_event_new(AMF_EVT_5GMM_TIMER); + ogs_assert(e); e->timer_id = timer_id; e->amf_ue = amf_ue; @@ -238,6 +246,7 @@ void amf_timer_ng_holding_timer_expire(void *data) ran_ue = data; e = amf_event_new(AMF_EVT_NGAP_TIMER); + ogs_assert(e); e->timer_id = AMF_TIMER_NG_HOLDING; e->ran_ue = ran_ue; diff --git a/src/ausf/sbi-path.c b/src/ausf/sbi-path.c index a483c48cc..049d6cf95 100644 --- a/src/ausf/sbi-path.c +++ b/src/ausf/sbi-path.c @@ -131,15 +131,22 @@ void ausf_sbi_discover_and_send(OpenAPI_nf_type_e target_nf_type, xact = ogs_sbi_xact_add(target_nf_type, &ausf_ue->sbi, (ogs_sbi_build_f)build, ausf_ue, data, ausf_timer_sbi_client_wait_expire); - ogs_assert(xact); + if (!xact) { + ogs_error("ausf_sbi_discover_and_send() failed"); + ogs_sbi_server_send_error(stream, + OGS_SBI_HTTP_STATUS_GATEWAY_TIMEOUT, NULL, + "Cannot discover", ausf_ue->suci); + return; + } xact->assoc_stream = stream; if (ogs_sbi_discover_and_send(xact, (ogs_fsm_handler_t)ausf_nf_state_registered, client_cb) != true) { - + ogs_error("ausf_sbi_discover_and_send() failed"); ogs_sbi_server_send_error(stream, OGS_SBI_HTTP_STATUS_GATEWAY_TIMEOUT, NULL, "Cannot discover", ausf_ue->suci); + return; } } diff --git a/src/ausf/timer.c b/src/ausf/timer.c index c3fbab749..c51778aa4 100644 --- a/src/ausf/timer.c +++ b/src/ausf/timer.c @@ -53,12 +53,24 @@ static void sbi_timer_send_event(int timer_id, void *data) case AUSF_TIMER_NF_INSTANCE_NO_HEARTBEAT: case AUSF_TIMER_NF_INSTANCE_VALIDITY: case AUSF_TIMER_SUBSCRIPTION_VALIDITY: - case AUSF_TIMER_SBI_CLIENT_WAIT: e = ausf_event_new(AUSF_EVT_SBI_TIMER); ogs_assert(e); e->timer_id = timer_id; e->sbi.data = data; break; + case AUSF_TIMER_SBI_CLIENT_WAIT: + e = ausf_event_new(AUSF_EVT_SBI_TIMER); + if (!e) { + ogs_sbi_xact_t *sbi_xact = data; + ogs_assert(sbi_xact); + + ogs_error("sbi_timer_send_event() failed"); + ogs_sbi_xact_remove(sbi_xact); + return; + } + e->timer_id = timer_id; + e->sbi.data = data; + break; default: ogs_fatal("Unknown timer id[%d]", timer_id); ogs_assert_if_reached(); diff --git a/src/mme/s1ap-path.c b/src/mme/s1ap-path.c index aaa469f30..1ee6d6237 100644 --- a/src/mme/s1ap-path.c +++ b/src/mme/s1ap-path.c @@ -207,14 +207,18 @@ int s1ap_send_to_nas(enb_ue_t *enb_ue, if (h->protocol_discriminator == OGS_NAS_PROTOCOL_DISCRIMINATOR_EMM) { int rv; e = mme_event_new(MME_EVT_EMM_MESSAGE); - ogs_assert(e); + if (!e) { + ogs_error("s1ap_send_to_nas() failed"); + ogs_pkbuf_free(nasbuf); + return OGS_ERROR; + } e->enb_ue = enb_ue; e->s1ap_code = procedureCode; e->nas_type = security_header_type.type; e->pkbuf = nasbuf; rv = ogs_queue_push(ogs_app()->queue, e); if (rv != OGS_OK) { - ogs_warn("ogs_queue_push() failed:%d", (int)rv); + ogs_warn("s1ap_send_to_nas() failed:%d", (int)rv); ogs_pkbuf_free(e->pkbuf); mme_event_free(e); } @@ -224,12 +228,14 @@ int s1ap_send_to_nas(enb_ue_t *enb_ue, mme_ue_t *mme_ue = enb_ue->mme_ue; if (!mme_ue) { ogs_error("No UE Context"); + ogs_pkbuf_free(nasbuf); return OGS_ERROR; } return s1ap_send_to_esm(mme_ue, nasbuf, security_header_type.type); } else { ogs_error("Unknown/Unimplemented NAS Protocol discriminator 0x%02x", h->protocol_discriminator); + ogs_pkbuf_free(nasbuf); return OGS_ERROR; } } diff --git a/src/pcf/sbi-path.c b/src/pcf/sbi-path.c index 15df1b107..0af047a95 100644 --- a/src/pcf/sbi-path.c +++ b/src/pcf/sbi-path.c @@ -137,7 +137,7 @@ static bool pcf_sbi_discover_and_send(OpenAPI_nf_type_e target_nf_type, xact = ogs_sbi_xact_add(target_nf_type, sbi_object, build, context, data, pcf_timer_sbi_client_wait_expire); - ogs_assert(xact); + if (!xact) return false; xact->assoc_stream = stream; @@ -151,9 +151,11 @@ void pcf_ue_sbi_discover_and_send(OpenAPI_nf_type_e target_nf_type, { if (pcf_sbi_discover_and_send(target_nf_type, &pcf_ue->sbi, stream, (ogs_sbi_build_f)build, pcf_ue, data) != true) { + ogs_error("pcf_ue_sbi_discover_and_send() failed"); ogs_sbi_server_send_error(stream, OGS_SBI_HTTP_STATUS_GATEWAY_TIMEOUT, NULL, "Cannot discover", pcf_ue->supi); + return; } } @@ -163,8 +165,10 @@ void pcf_sess_sbi_discover_and_send(OpenAPI_nf_type_e target_nf_type, { if (pcf_sbi_discover_and_send(target_nf_type, &sess->sbi, stream, (ogs_sbi_build_f)build, sess, data) != true) { + ogs_error("pcf_sess_sbi_discover_and_send() failed"); ogs_sbi_server_send_error(stream, OGS_SBI_HTTP_STATUS_GATEWAY_TIMEOUT, NULL, "Cannot discover", NULL); + return; } } diff --git a/src/pcf/timer.c b/src/pcf/timer.c index 89e81a31a..6cd58fd6d 100644 --- a/src/pcf/timer.c +++ b/src/pcf/timer.c @@ -53,12 +53,24 @@ static void sbi_timer_send_event(int timer_id, void *data) case PCF_TIMER_NF_INSTANCE_NO_HEARTBEAT: case PCF_TIMER_NF_INSTANCE_VALIDITY: case PCF_TIMER_SUBSCRIPTION_VALIDITY: - case PCF_TIMER_SBI_CLIENT_WAIT: e = pcf_event_new(PCF_EVT_SBI_TIMER); ogs_assert(e); e->timer_id = timer_id; e->sbi.data = data; break; + case PCF_TIMER_SBI_CLIENT_WAIT: + e = pcf_event_new(PCF_EVT_SBI_TIMER); + if (!e) { + ogs_sbi_xact_t *sbi_xact = data; + ogs_assert(sbi_xact); + + ogs_error("sbi_timer_send_event() failed"); + ogs_sbi_xact_remove(sbi_xact); + return; + } + e->timer_id = timer_id; + e->sbi.data = data; + break; default: ogs_fatal("Unknown timer id[%d]", timer_id); ogs_assert_if_reached(); diff --git a/src/smf/sbi-path.c b/src/smf/sbi-path.c index 077f8b099..dbb34b597 100644 --- a/src/smf/sbi-path.c +++ b/src/smf/sbi-path.c @@ -138,16 +138,23 @@ void smf_sbi_discover_and_send(OpenAPI_nf_type_e target_nf_type, xact = ogs_sbi_xact_add(target_nf_type, &sess->sbi, (ogs_sbi_build_f)build, sess, data, smf_timer_sbi_client_wait_expire); - ogs_assert(xact); + if (!xact) { + ogs_error("smf_sbi_discover_and_send() failed"); + ogs_sbi_server_send_error(stream, + OGS_SBI_HTTP_STATUS_GATEWAY_TIMEOUT, NULL, + "Cannot discover", smf_ue->supi); + return; + } xact->assoc_stream = stream; if (ogs_sbi_discover_and_send(xact, (ogs_fsm_handler_t)smf_nf_state_registered, client_cb) != true) { - + ogs_error("smf_sbi_discover_and_send() failed"); ogs_sbi_server_send_error(stream, OGS_SBI_HTTP_STATUS_GATEWAY_TIMEOUT, NULL, "Cannot discover", smf_ue->supi); + return; } } @@ -168,7 +175,10 @@ void smf_namf_comm_send_n1_n2_message_transfer( xact = ogs_sbi_xact_add(OpenAPI_nf_type_AMF, &sess->sbi, (ogs_sbi_build_f)smf_namf_comm_build_n1_n2_message_transfer, sess, param, smf_timer_sbi_client_wait_expire); - ogs_assert(xact); + if (!xact) { + ogs_error("smf_namf_comm_send_n1_n2_message_transfer() failed"); + return; + } xact->state = param->state; diff --git a/src/smf/timer.c b/src/smf/timer.c index 901c1f9de..f640c7681 100644 --- a/src/smf/timer.c +++ b/src/smf/timer.c @@ -68,13 +68,25 @@ static void timer_send_event(int timer_id, void *data) case SMF_TIMER_NF_INSTANCE_NO_HEARTBEAT: case SMF_TIMER_NF_INSTANCE_VALIDITY: case SMF_TIMER_SUBSCRIPTION_VALIDITY: - case SMF_TIMER_SBI_CLIENT_WAIT: case SMF_TIMER_RELEASE_HOLDING: e = smf_event_new(SMF_EVT_SBI_TIMER); ogs_assert(e); e->timer_id = timer_id; e->sbi.data = data; break; + case SMF_TIMER_SBI_CLIENT_WAIT: + e = smf_event_new(SMF_EVT_SBI_TIMER); + if (!e) { + ogs_sbi_xact_t *sbi_xact = data; + ogs_assert(sbi_xact); + + ogs_error("timer_send_event() failed"); + ogs_sbi_xact_remove(sbi_xact); + return; + } + e->timer_id = timer_id; + e->sbi.data = data; + break; default: ogs_fatal("Unknown timer id[%d]", timer_id); ogs_assert_if_reached(); diff --git a/src/udm/sbi-path.c b/src/udm/sbi-path.c index 46d0d9d9d..0b2b4f9af 100644 --- a/src/udm/sbi-path.c +++ b/src/udm/sbi-path.c @@ -141,15 +141,22 @@ void udm_sbi_discover_and_send(OpenAPI_nf_type_e target_nf_type, xact = ogs_sbi_xact_add(target_nf_type, &udm_ue->sbi, (ogs_sbi_build_f)build, udm_ue, data, udm_timer_sbi_client_wait_expire); - ogs_assert(xact); + if (!xact) { + ogs_error("udm_sbi_discover_and_send() failed"); + ogs_sbi_server_send_error(stream, + OGS_SBI_HTTP_STATUS_GATEWAY_TIMEOUT, NULL, + "Cannot discover", udm_ue->suci); + return; + } xact->assoc_stream = stream; if (ogs_sbi_discover_and_send(xact, (ogs_fsm_handler_t)udm_nf_state_registered, client_cb) != true) { - + ogs_error("udm_sbi_discover_and_send() failed"); ogs_sbi_server_send_error(stream, OGS_SBI_HTTP_STATUS_GATEWAY_TIMEOUT, NULL, "Cannot discover", udm_ue->suci); + return; } } diff --git a/src/udm/timer.c b/src/udm/timer.c index 00e605097..d4fc33188 100644 --- a/src/udm/timer.c +++ b/src/udm/timer.c @@ -53,12 +53,24 @@ static void sbi_timer_send_event(int timer_id, void *data) case UDM_TIMER_NF_INSTANCE_NO_HEARTBEAT: case UDM_TIMER_NF_INSTANCE_VALIDITY: case UDM_TIMER_SUBSCRIPTION_VALIDITY: - case UDM_TIMER_SBI_CLIENT_WAIT: e = udm_event_new(UDM_EVT_SBI_TIMER); ogs_assert(e); e->timer_id = timer_id; e->sbi.data = data; break; + case UDM_TIMER_SBI_CLIENT_WAIT: + e = udm_event_new(UDM_EVT_SBI_TIMER); + if (!e) { + ogs_sbi_xact_t *sbi_xact = data; + ogs_assert(sbi_xact); + + ogs_error("sbi_timer_send_event() failed"); + ogs_sbi_xact_remove(sbi_xact); + return; + } + e->timer_id = timer_id; + e->sbi.data = data; + break; default: ogs_fatal("Unknown timer id[%d]", timer_id); ogs_assert_if_reached(); diff --git a/vagrant/centos/Vagrantfile b/vagrant/centos/Vagrantfile index cefd5194b..9b41d1d68 100644 --- a/vagrant/centos/Vagrantfile +++ b/vagrant/centos/Vagrantfile @@ -62,8 +62,8 @@ Vagrant.configure("2") do |config| # information on available options. config.vm.provider "virtualbox" do |vb| # Customize the amount of memory on the VM: - vb.memory = "1024" - vb.cpus = "1" + vb.memory = "3072" + vb.cpus = "2" end # Enable provisioning with a shell script. Additional provisioners such as diff --git a/vagrant/freebsd/Vagrantfile b/vagrant/freebsd/Vagrantfile index 734d77f97..d8540390e 100644 --- a/vagrant/freebsd/Vagrantfile +++ b/vagrant/freebsd/Vagrantfile @@ -62,7 +62,7 @@ Vagrant.configure("2") do |config| config.vm.provider "virtualbox" do |vb| # Customize the amount of memory on the VM: vb.memory = "3072" - vb.cpus = "1" + vb.cpus = "2" end # Enable provisioning with a shell script. Additional provisioners such as