mirror of
https://gitlab.eurecom.fr/oai/openairinterface5g.git
synced 2026-07-13 04:30:28 +00:00
Prevent the PNF from sending P7 messages after sending a STOP.indication
Upon stopping the PNF, when sending the STOP.indication to the VNF, set pnf_p7->terminate to 1. Add a check on the PNF P7 send functions to not send a message after pnf_p7->terminate is set
This commit is contained in:
@@ -1801,6 +1801,9 @@ int nr_stop_request(nfapi_pnf_config_t *config, nfapi_pnf_phy_config_t *phy, nfa
|
||||
.header.phy_id = req->header.phy_id};
|
||||
nfapi_nr_stop_indication(config, &resp);
|
||||
has_sent_stop_ind = true;
|
||||
// Upon sending the STOP.indication mark P7 PNF to terminate, to not send any further messages to the VNF
|
||||
pnf_p7_t *pnf_p7 = (pnf_p7_t *)(p7_config_g);
|
||||
pnf_p7->terminate = 1;
|
||||
#ifdef ENABLE_WLS
|
||||
wls_pnf_close(pnf_p5_init_and_receive_pthread);
|
||||
#endif
|
||||
|
||||
@@ -78,6 +78,10 @@ static int send_p7_msg(pnf_p7_t *pnf_p7, uint8_t *msg, uint32_t len)
|
||||
|
||||
bool pnf_nr_send_p7_message(pnf_p7_t *pnf_p7, nfapi_nr_p7_message_header_t *header, uint32_t msg_len)
|
||||
{
|
||||
if (pnf_p7->terminate) {
|
||||
//don't send any further P7 messages after terminating
|
||||
return false;
|
||||
}
|
||||
header->m_segment_sequence = NFAPI_NR_P7_SET_MSS(0, 0, pnf_p7->sequence_number);
|
||||
|
||||
// Need to guard against different threads calling the encode function at the same time
|
||||
|
||||
@@ -201,7 +201,10 @@ bool wls_pnf_nr_send_p5_message(pnf_t *pnf, nfapi_nr_p4_p5_message_header_t *msg
|
||||
bool wls_pnf_nr_send_p7_message(pnf_p7_t *pnf_p7, nfapi_nr_p7_message_header_t *msg, uint32_t msg_len)
|
||||
{
|
||||
UNUSED_VARIABLE(msg_len);
|
||||
|
||||
if (pnf_p7->terminate) {
|
||||
// don't send any further P7 messages after terminating
|
||||
return false;
|
||||
}
|
||||
if (!isFAPIMessageIDValid(msg->message_id)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user