[PFCP] Handle Measurement Information in Create/Update URR IEs (#1453)
This commit is contained in:
parent
89636fa8d3
commit
38e2dee17f
|
@ -628,6 +628,12 @@ void ogs_pfcp_build_create_urr(
|
|||
message->quota_validity_time.presence = 1;
|
||||
message->quota_validity_time.u32 = urr->quota_validity_time;
|
||||
}
|
||||
|
||||
if (urr->meas_info.octet5) {
|
||||
message->measurement_information.presence = 1;
|
||||
message->measurement_information.data = &urr->meas_info.octet5;
|
||||
message->measurement_information.len = 1;
|
||||
}
|
||||
}
|
||||
|
||||
static struct {
|
||||
|
|
|
@ -231,7 +231,7 @@ typedef struct ogs_pfcp_urr_s {
|
|||
|
||||
ogs_pfcp_measurement_method_t meas_method;
|
||||
ogs_pfcp_reporting_triggers_t rep_triggers;
|
||||
|
||||
ogs_pfcp_measurement_information_t meas_info;
|
||||
ogs_pfcp_measurement_period_t meas_period;
|
||||
|
||||
ogs_pfcp_volume_threshold_t vol_threshold;
|
||||
|
|
|
@ -1178,7 +1178,7 @@ ogs_pfcp_urr_t *ogs_pfcp_handle_create_urr(ogs_pfcp_sess_t *sess,
|
|||
|
||||
if (message->measurement_information.presence &&
|
||||
message->measurement_information.len >= 1) {
|
||||
urr->meas_info = *((unsigned char *)message->measurement_information.data);
|
||||
urr->meas_info.octet5 = *((unsigned char *)message->measurement_information.data);
|
||||
}
|
||||
|
||||
return urr;
|
||||
|
@ -1270,7 +1270,7 @@ ogs_pfcp_urr_t *ogs_pfcp_handle_update_urr(ogs_pfcp_sess_t *sess,
|
|||
|
||||
if (message->measurement_information.presence &&
|
||||
message->measurement_information.len >= 1) {
|
||||
urr->meas_info = *((unsigned char *)message->measurement_information.data);
|
||||
urr->meas_info.octet5 = *((unsigned char *)message->measurement_information.data);
|
||||
}
|
||||
|
||||
return urr;
|
||||
|
|
|
@ -1255,6 +1255,23 @@ ED7(uint8_t spare:2;,
|
|||
uint64_t downlink_n_packets;
|
||||
} __attribute__ ((packed)) ogs_pfcp_volume_measurement_t;
|
||||
|
||||
/*
|
||||
* 8.2.68 Measurement Information
|
||||
*/
|
||||
typedef struct ogs_pfcp_measurement_information_s {
|
||||
union {
|
||||
struct {
|
||||
ED6(uint8_t spare:3;,
|
||||
uint8_t mnop:1;,
|
||||
uint8_t istm:1;,
|
||||
uint8_t radi:1;,
|
||||
uint8_t inam:1;,
|
||||
uint8_t mbqe:1;)
|
||||
};
|
||||
uint8_t octet5;
|
||||
};
|
||||
} __attribute__ ((packed)) ogs_pfcp_measurement_information_t;
|
||||
|
||||
typedef struct ogs_pfcp_user_plane_report_s {
|
||||
ogs_pfcp_report_type_t type;
|
||||
struct {
|
||||
|
|
Loading…
Reference in New Issue