diff --git a/lib/pfcp/build.c b/lib/pfcp/build.c index b60dfc8da..d9470ff4c 100644 --- a/lib/pfcp/build.c +++ b/lib/pfcp/build.c @@ -463,7 +463,7 @@ void ogs_pfcp_build_create_far( message->far_id.u32 = far->id; message->apply_action.presence = 1; - message->apply_action.u8 = far->apply_action; + message->apply_action.u16 = far->apply_action; if (far->apply_action & OGS_PFCP_APPLY_ACTION_FORW) { message->forwarding_parameters.presence = 1; @@ -507,7 +507,7 @@ void ogs_pfcp_build_update_far_deactivate( far->apply_action = OGS_PFCP_APPLY_ACTION_BUFF | OGS_PFCP_APPLY_ACTION_NOCP; message->apply_action.presence = 1; - message->apply_action.u8 = far->apply_action; + message->apply_action.u16 = far->apply_action; ogs_assert(sess->bar); message->bar_id.presence = 1; @@ -527,7 +527,7 @@ void ogs_pfcp_build_update_far_activate( ogs_assert(far->apply_action & OGS_PFCP_APPLY_ACTION_FORW); message->apply_action.presence = 1; - message->apply_action.u8 = far->apply_action; + message->apply_action.u16 = far->apply_action; message->update_forwarding_parameters.presence = 1; message->update_forwarding_parameters.destination_interface.presence = 1; diff --git a/lib/pfcp/handler.c b/lib/pfcp/handler.c index 982b83af5..0d043527d 100644 --- a/lib/pfcp/handler.c +++ b/lib/pfcp/handler.c @@ -761,7 +761,7 @@ ogs_pfcp_far_t *ogs_pfcp_handle_create_far(ogs_pfcp_sess_t *sess, return NULL; } - far->apply_action = message->apply_action.u8; + far->apply_action = message->apply_action.u16; far->dst_if = 0; memset(&far->outer_header_creation, 0, sizeof(far->outer_header_creation)); @@ -855,7 +855,7 @@ ogs_pfcp_far_t *ogs_pfcp_handle_update_far(ogs_pfcp_sess_t *sess, } if (message->apply_action.presence) - far->apply_action = message->apply_action.u8; + far->apply_action = message->apply_action.u16; if (message->update_forwarding_parameters.presence) { if (message->update_forwarding_parameters. diff --git a/lib/pfcp/message.c b/lib/pfcp/message.c index ddcc4a5d1..7f08e45ae 100644 --- a/lib/pfcp/message.c +++ b/lib/pfcp/message.c @@ -20,7 +20,7 @@ /******************************************************************************* * This file had been created by pfcp-tlv.py script v0.1.0 * Please do not modify this file but regenerate it via script. - * Created on: 2022-05-10 22:56:07.851458 by acetcom + * Created on: 2022-06-06 21:06:39.847520 by acetcom * from 29244-g10.docx ******************************************************************************/ @@ -303,10 +303,10 @@ ogs_tlv_desc_t ogs_pfcp_tlv_desc_up_function_features = ogs_tlv_desc_t ogs_pfcp_tlv_desc_apply_action = { - OGS_TLV_UINT8, + OGS_TLV_UINT16, "Apply Action", OGS_PFCP_APPLY_ACTION_TYPE, - 1, + 2, 0, sizeof(ogs_pfcp_tlv_apply_action_t), { NULL } diff --git a/lib/pfcp/message.h b/lib/pfcp/message.h index b9d95ce8a..9e009a6b0 100644 --- a/lib/pfcp/message.h +++ b/lib/pfcp/message.h @@ -20,7 +20,7 @@ /******************************************************************************* * This file had been created by pfcp-tlv.py script v0.1.0 * Please do not modify this file but regenerate it via script. - * Created on: 2022-05-10 22:56:07.844328 by acetcom + * Created on: 2022-06-06 21:06:39.840383 by acetcom * from 29244-g10.docx ******************************************************************************/ @@ -506,7 +506,7 @@ typedef ogs_tlv_uint16_t ogs_pfcp_tlv_offending_ie_t; typedef ogs_tlv_octet_t ogs_pfcp_tlv_forwarding_policy_t; typedef ogs_tlv_uint8_t ogs_pfcp_tlv_destination_interface_t; typedef ogs_tlv_octet_t ogs_pfcp_tlv_up_function_features_t; -typedef ogs_tlv_uint8_t ogs_pfcp_tlv_apply_action_t; +typedef ogs_tlv_uint16_t ogs_pfcp_tlv_apply_action_t; typedef ogs_tlv_octet_t ogs_pfcp_tlv_downlink_data_service_information_t; typedef ogs_tlv_octet_t ogs_pfcp_tlv_downlink_data_notification_delay_t; typedef ogs_tlv_octet_t ogs_pfcp_tlv_dl_buffering_duration_t; diff --git a/lib/pfcp/support/pfcp-tlv.py b/lib/pfcp/support/pfcp-tlv.py index 65297c131..7fda4a67c 100644 --- a/lib/pfcp/support/pfcp-tlv.py +++ b/lib/pfcp/support/pfcp-tlv.py @@ -418,7 +418,7 @@ type_list["Reporting Triggers"]["size"] = 3 # Type 37 type_list["Report Type"]["size"] = 1 # Type 39 type_list["Offending IE"]["size"] = 2 # Type 40 type_list["Destination Interface"]["size"] = 1 # Type 42 -type_list["Apply Action"]["size"] = 1 # Type 44 +type_list["Apply Action"]["size"] = 2 # Type 44 type_list["PFCPSMReq-Flags"]["size"] = 1 # Type 49 type_list["PFCPSRRsp-Flags"]["size"] = 1 # Type 50 type_list["PDR ID"]["size"] = 2 # Type 56