forked from acouzens/open5gs
re-order packet buffer clear #568
This commit is contained in:
parent
f642cc0389
commit
9c67459481
|
@ -173,11 +173,8 @@ cleanup:
|
|||
ogs_pkbuf_free(pkbuf);
|
||||
}
|
||||
|
||||
int sgwu_gtp_open(void)
|
||||
int sgwu_gtp_init(void)
|
||||
{
|
||||
ogs_socknode_t *node = NULL;
|
||||
ogs_sock_t *sock = NULL;
|
||||
|
||||
ogs_pkbuf_config_t config;
|
||||
memset(&config, 0, sizeof config);
|
||||
|
||||
|
@ -185,6 +182,19 @@ int sgwu_gtp_open(void)
|
|||
|
||||
packet_pool = ogs_pkbuf_pool_create(&config);
|
||||
|
||||
return OGS_OK;
|
||||
}
|
||||
|
||||
void sgwu_gtp_final(void)
|
||||
{
|
||||
ogs_pkbuf_pool_destroy(packet_pool);
|
||||
}
|
||||
|
||||
int sgwu_gtp_open(void)
|
||||
{
|
||||
ogs_socknode_t *node = NULL;
|
||||
ogs_sock_t *sock = NULL;
|
||||
|
||||
ogs_list_for_each(&sgwu_self()->gtpu_list, node) {
|
||||
sock = ogs_gtp_server(node);
|
||||
ogs_assert(sock);
|
||||
|
@ -206,6 +216,4 @@ int sgwu_gtp_open(void)
|
|||
void sgwu_gtp_close(void)
|
||||
{
|
||||
ogs_socknode_remove_all(&sgwu_self()->gtpu_list);
|
||||
|
||||
ogs_pkbuf_pool_destroy(packet_pool);
|
||||
}
|
||||
|
|
|
@ -26,6 +26,9 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
int sgwu_gtp_init(void);
|
||||
void sgwu_gtp_final(void);
|
||||
|
||||
int sgwu_gtp_open(void);
|
||||
void sgwu_gtp_close(void);
|
||||
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
*/
|
||||
|
||||
#include "context.h"
|
||||
#include "gtp-path.h"
|
||||
|
||||
static ogs_thread_t *thread;
|
||||
static void sgwu_main(void *data);
|
||||
|
@ -31,6 +32,7 @@ int sgwu_initialize()
|
|||
ogs_pfcp_context_init(OGS_MAX_NUM_OF_GTPU_RESOURCE);
|
||||
sgwu_context_init();
|
||||
sgwu_event_init();
|
||||
sgwu_gtp_init();
|
||||
|
||||
rv = ogs_pfcp_xact_init();
|
||||
if (rv != OGS_OK) return rv;
|
||||
|
@ -62,10 +64,11 @@ void sgwu_terminate(void)
|
|||
ogs_thread_destroy(thread);
|
||||
|
||||
sgwu_context_final();
|
||||
ogs_pfcp_context_final();
|
||||
|
||||
ogs_pfcp_context_final();
|
||||
ogs_pfcp_xact_final();
|
||||
|
||||
sgwu_gtp_final();
|
||||
sgwu_event_final();
|
||||
}
|
||||
|
||||
|
|
|
@ -250,6 +250,24 @@ cleanup:
|
|||
ogs_pkbuf_free(pkbuf);
|
||||
}
|
||||
|
||||
|
||||
int upf_gtp_init(void)
|
||||
{
|
||||
ogs_pkbuf_config_t config;
|
||||
memset(&config, 0, sizeof config);
|
||||
|
||||
config.cluster_2048_pool = ogs_app()->pool.packet;
|
||||
|
||||
packet_pool = ogs_pkbuf_pool_create(&config);
|
||||
|
||||
return OGS_OK;
|
||||
}
|
||||
|
||||
void upf_gtp_final(void)
|
||||
{
|
||||
ogs_pkbuf_pool_destroy(packet_pool);
|
||||
}
|
||||
|
||||
int upf_gtp_open(void)
|
||||
{
|
||||
ogs_pfcp_dev_t *dev = NULL;
|
||||
|
@ -258,13 +276,6 @@ int upf_gtp_open(void)
|
|||
ogs_sock_t *sock = NULL;
|
||||
int rc;
|
||||
|
||||
ogs_pkbuf_config_t config;
|
||||
memset(&config, 0, sizeof config);
|
||||
|
||||
config.cluster_2048_pool = ogs_app()->pool.packet;
|
||||
|
||||
packet_pool = ogs_pkbuf_pool_create(&config);
|
||||
|
||||
ogs_list_for_each(&upf_self()->gtpu_list, node) {
|
||||
sock = ogs_gtp_server(node);
|
||||
ogs_assert(sock);
|
||||
|
@ -342,8 +353,6 @@ void upf_gtp_close(void)
|
|||
ogs_pollset_remove(dev->poll);
|
||||
ogs_closesocket(dev->fd);
|
||||
}
|
||||
|
||||
ogs_pkbuf_pool_destroy(packet_pool);
|
||||
}
|
||||
|
||||
static void upf_gtp_handle_multicast(ogs_pkbuf_t *recvbuf)
|
||||
|
|
|
@ -27,6 +27,9 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
int upf_gtp_init(void);
|
||||
void upf_gtp_final(void);
|
||||
|
||||
int upf_gtp_open(void);
|
||||
void upf_gtp_close(void);
|
||||
|
||||
|
|
|
@ -18,8 +18,7 @@
|
|||
*/
|
||||
|
||||
#include "context.h"
|
||||
#include "event.h"
|
||||
#include "upf-sm.h"
|
||||
#include "gtp-path.h"
|
||||
|
||||
static ogs_thread_t *thread;
|
||||
static void upf_main(void *data);
|
||||
|
@ -33,6 +32,7 @@ int upf_initialize()
|
|||
ogs_pfcp_context_init(OGS_MAX_NUM_OF_GTPU_RESOURCE);
|
||||
upf_context_init();
|
||||
upf_event_init();
|
||||
upf_gtp_init();
|
||||
|
||||
rv = ogs_pfcp_xact_init();
|
||||
if (rv != OGS_OK) return rv;
|
||||
|
@ -67,10 +67,11 @@ void upf_terminate(void)
|
|||
ogs_thread_destroy(thread);
|
||||
|
||||
upf_context_final();
|
||||
ogs_pfcp_context_final();
|
||||
|
||||
ogs_pfcp_context_final();
|
||||
ogs_pfcp_xact_final();
|
||||
|
||||
upf_gtp_final();
|
||||
upf_event_final();
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue