forked from acouzens/open5gs
[BSF] Handle Ipv4FrameRouteList, save it into context
This commit is contained in:
parent
337a4e5159
commit
88209f52df
|
@ -188,6 +188,9 @@ void bsf_sess_remove(bsf_sess_t *sess)
|
|||
ogs_free(sess->ipv6prefix_string);
|
||||
}
|
||||
|
||||
OpenAPI_clear_and_free_string_list(sess->ipv4_frame_route_list);
|
||||
OpenAPI_clear_and_free_string_list(sess->ipv6_frame_route_list);
|
||||
|
||||
ogs_assert(sess->dnn);
|
||||
ogs_free(sess->dnn);
|
||||
|
||||
|
|
|
@ -52,6 +52,9 @@ typedef struct bsf_sess_s {
|
|||
char *ipv4addr_string;
|
||||
char *ipv6prefix_string;
|
||||
|
||||
OpenAPI_list_t *ipv4_frame_route_list;
|
||||
OpenAPI_list_t *ipv6_frame_route_list;
|
||||
|
||||
uint32_t ipv4addr;
|
||||
struct {
|
||||
uint8_t len;
|
||||
|
|
|
@ -103,6 +103,31 @@ bool bsf_nbsf_management_handle_pcf_binding(
|
|||
ogs_assert(sess->pcf_fqdn);
|
||||
}
|
||||
|
||||
|
||||
if (RecvPcfBinding->ipv4_frame_route_list) {
|
||||
OpenAPI_lnode_t *node = NULL;
|
||||
|
||||
OpenAPI_clear_and_free_string_list(sess->ipv4_frame_route_list);
|
||||
sess->ipv4_frame_route_list = OpenAPI_list_create();
|
||||
OpenAPI_list_for_each(RecvPcfBinding->ipv4_frame_route_list, node) {
|
||||
if (!node->data)
|
||||
continue;
|
||||
OpenAPI_list_add(sess->ipv4_frame_route_list, ogs_strdup(node->data));
|
||||
}
|
||||
}
|
||||
|
||||
if (RecvPcfBinding->ipv6_frame_route_list) {
|
||||
OpenAPI_lnode_t *node = NULL;
|
||||
|
||||
OpenAPI_clear_and_free_string_list(sess->ipv6_frame_route_list);
|
||||
sess->ipv6_frame_route_list = OpenAPI_list_create();
|
||||
OpenAPI_list_for_each(RecvPcfBinding->ipv6_frame_route_list, node) {
|
||||
if (!node->data)
|
||||
continue;
|
||||
OpenAPI_list_add(sess->ipv6_frame_route_list, ogs_strdup(node->data));
|
||||
}
|
||||
}
|
||||
|
||||
sess->s_nssai.sst = RecvPcfBinding->snssai->sst;
|
||||
sess->s_nssai.sd =
|
||||
ogs_s_nssai_sd_from_string(RecvPcfBinding->snssai->sd);
|
||||
|
|
Loading…
Reference in New Issue