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);
|
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_assert(sess->dnn);
|
||||||
ogs_free(sess->dnn);
|
ogs_free(sess->dnn);
|
||||||
|
|
||||||
|
|
|
@ -52,6 +52,9 @@ typedef struct bsf_sess_s {
|
||||||
char *ipv4addr_string;
|
char *ipv4addr_string;
|
||||||
char *ipv6prefix_string;
|
char *ipv6prefix_string;
|
||||||
|
|
||||||
|
OpenAPI_list_t *ipv4_frame_route_list;
|
||||||
|
OpenAPI_list_t *ipv6_frame_route_list;
|
||||||
|
|
||||||
uint32_t ipv4addr;
|
uint32_t ipv4addr;
|
||||||
struct {
|
struct {
|
||||||
uint8_t len;
|
uint8_t len;
|
||||||
|
|
|
@ -103,6 +103,31 @@ bool bsf_nbsf_management_handle_pcf_binding(
|
||||||
ogs_assert(sess->pcf_fqdn);
|
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.sst = RecvPcfBinding->snssai->sst;
|
||||||
sess->s_nssai.sd =
|
sess->s_nssai.sd =
|
||||||
ogs_s_nssai_sd_from_string(RecvPcfBinding->snssai->sd);
|
ogs_s_nssai_sd_from_string(RecvPcfBinding->snssai->sd);
|
||||||
|
|
Loading…
Reference in New Issue