forked from acouzens/open5gs
name changes
This commit is contained in:
parent
8add407715
commit
4a2604b52c
|
@ -67,9 +67,9 @@ struct c_sockaddr_t {
|
|||
* - Should not add any atrribute in this area.
|
||||
*
|
||||
* e.g)
|
||||
* struct sockaddr sa;
|
||||
* struct sockaddr addr;
|
||||
* ...
|
||||
* sockaddr_len((c_sockaddr_t *)&sa);
|
||||
* sockaddr_len((c_sockaddr_t *)&addr);
|
||||
*/
|
||||
#define c_sa_family sa.sa_family
|
||||
#define c_sa_port sin.sin_port
|
||||
|
@ -86,14 +86,12 @@ struct c_sockaddr_t {
|
|||
c_sockaddr_t *next;
|
||||
};
|
||||
|
||||
typedef list_t c_socklist_t;
|
||||
|
||||
typedef struct _c_socknode_t {
|
||||
typedef struct _sock_node_t {
|
||||
lnode_t node;
|
||||
|
||||
sock_id sock;
|
||||
c_sockaddr_t *sa_list;
|
||||
} c_socknode_t;
|
||||
} sock_node_t;
|
||||
|
||||
/*
|
||||
* Init/Final
|
||||
|
@ -110,8 +108,8 @@ CORE_DECLARE(status_t) sock_delete(sock_id id);
|
|||
CORE_DECLARE(status_t) sock_socket(
|
||||
sock_id *id, int family, int type, int protocol);
|
||||
CORE_DECLARE(status_t) sock_setsockopt(sock_id id, c_int32_t opt, c_int32_t on);
|
||||
CORE_DECLARE(status_t) sock_bind(sock_id id, c_sockaddr_t *sa);
|
||||
CORE_DECLARE(status_t) sock_connect(sock_id id, c_sockaddr_t *sa);
|
||||
CORE_DECLARE(status_t) sock_bind(sock_id id, c_sockaddr_t *addr);
|
||||
CORE_DECLARE(status_t) sock_connect(sock_id id, c_sockaddr_t *addr);
|
||||
|
||||
CORE_DECLARE(status_t) sock_listen(sock_id id);
|
||||
CORE_DECLARE(status_t) sock_accept(sock_id *new, sock_id id);
|
||||
|
@ -123,31 +121,29 @@ CORE_DECLARE(c_sockaddr_t *) sock_remote_addr(sock_id id);
|
|||
/*
|
||||
* Socket Address
|
||||
*/
|
||||
CORE_DECLARE(c_socknode_t *) socknode_add(c_socklist_t *list,
|
||||
CORE_DECLARE(sock_node_t *) sock_add_node(list_t *list,
|
||||
int family, const char *hostname, c_uint16_t port, int flags);
|
||||
CORE_DECLARE(status_t) socknode_remove(c_socklist_t *list, c_socknode_t *node);
|
||||
CORE_DECLARE(status_t) socknode_remove_all(c_socklist_t *list);
|
||||
CORE_DECLARE(status_t) sock_remove_node(list_t *list, sock_node_t *node);
|
||||
CORE_DECLARE(status_t) sock_remove_all_nodes(list_t *list);
|
||||
|
||||
CORE_DECLARE(status_t) socknode_getifaddrs_to_list(
|
||||
c_socklist_t *list, c_uint16_t port);
|
||||
CORE_DECLARE(status_t) socknode_filter_family(c_socklist_t *list, int family);
|
||||
CORE_DECLARE(status_t) sock_get_all_nodes(list_t *list, c_uint16_t port);
|
||||
CORE_DECLARE(status_t) sock_filter_node(list_t *list, int family);
|
||||
|
||||
CORE_DECLARE(socklen_t) sockaddr_len(const void *sa);
|
||||
CORE_DECLARE(int) sockaddr_is_equal(void *p, void *q);
|
||||
|
||||
CORE_DECLARE(status_t) core_getifaddrs(c_sockaddr_t **sa);
|
||||
CORE_DECLARE(status_t) core_getaddrinfo(c_sockaddr_t **sa,
|
||||
CORE_DECLARE(status_t) core_getaddrinfo(c_sockaddr_t **sa_list,
|
||||
int family, const char *hostname, c_uint16_t port, int flags);
|
||||
CORE_DECLARE(status_t) core_freeaddrinfo(c_sockaddr_t *sa);
|
||||
CORE_DECLARE(status_t) core_freeaddrinfo(c_sockaddr_t *sa_list);
|
||||
CORE_DECLARE(status_t) core_filteraddrinfo(c_sockaddr_t **sa_list, int family);
|
||||
|
||||
#define CORE_ADDRSTRLEN INET6_ADDRSTRLEN
|
||||
#define CORE_ADDR(__aDDR, __bUF) \
|
||||
core_inet_ntop(__aDDR, buf, CORE_ADDRSTRLEN)
|
||||
#define CORE_PORT(__aDDR) \
|
||||
ntohs((__aDDR)->c_sa_port)
|
||||
CORE_DECLARE(const char *)core_inet_ntop(void *sa, char *buf, int buflen);
|
||||
CORE_DECLARE(status_t) core_inet_pton(int family, const char *src, void *sa);
|
||||
CORE_DECLARE(const char *)core_inet_ntop(void *addr, char *buf, int buflen);
|
||||
CORE_DECLARE(status_t) core_inet_pton(int family, const char *src, void *addr);
|
||||
|
||||
CORE_DECLARE(socklen_t) sockaddr_len(const void *addr);
|
||||
CORE_DECLARE(int) sockaddr_is_equal(void *p, void *q);
|
||||
|
||||
/*
|
||||
* UDP Socket
|
||||
|
|
|
@ -14,7 +14,7 @@ static list_t fd_list;
|
|||
static fd_set read_fds;
|
||||
|
||||
pool_declare(sock_pool, sock_t, MAX_SOCK_POOL_SIZE);
|
||||
pool_declare(socknode_pool, c_socknode_t, MAX_SOCKNODE_POOL_SIZE);
|
||||
pool_declare(sock_node_pool, sock_node_t, MAX_SOCKNODE_POOL_SIZE);
|
||||
|
||||
static status_t sononblock(int sd);
|
||||
static status_t soblock(int sd);
|
||||
|
@ -27,7 +27,7 @@ static void fd_dispatch(fd_set *fds);
|
|||
status_t network_init(void)
|
||||
{
|
||||
pool_init(&sock_pool, MAX_SOCK_POOL_SIZE);
|
||||
pool_init(&socknode_pool, MAX_SOCKNODE_POOL_SIZE);
|
||||
pool_init(&sock_node_pool, MAX_SOCKNODE_POOL_SIZE);
|
||||
|
||||
max_fd = 0;
|
||||
list_init(&fd_list);
|
||||
|
@ -44,15 +44,15 @@ status_t network_final(void)
|
|||
d_trace(3, "%d not freed in sock_pool[%d]\n",
|
||||
pool_size(&sock_pool) - pool_avail(&sock_pool),
|
||||
pool_size(&sock_pool));
|
||||
if (pool_size(&socknode_pool) != pool_avail(&socknode_pool))
|
||||
d_error("%d not freed in socknode_pool[%d]",
|
||||
pool_size(&socknode_pool) - pool_avail(&socknode_pool),
|
||||
pool_size(&socknode_pool));
|
||||
d_trace(3, "%d not freed in socknode_pool[%d]\n",
|
||||
pool_size(&socknode_pool) - pool_avail(&socknode_pool),
|
||||
pool_size(&socknode_pool));
|
||||
if (pool_size(&sock_node_pool) != pool_avail(&sock_node_pool))
|
||||
d_error("%d not freed in sock_node_pool[%d]",
|
||||
pool_size(&sock_node_pool) - pool_avail(&sock_node_pool),
|
||||
pool_size(&sock_node_pool));
|
||||
d_trace(3, "%d not freed in sock_node_pool[%d]\n",
|
||||
pool_size(&sock_node_pool) - pool_avail(&sock_node_pool),
|
||||
pool_size(&sock_node_pool));
|
||||
pool_final(&sock_pool);
|
||||
pool_final(&socknode_pool);
|
||||
pool_final(&sock_node_pool);
|
||||
|
||||
return CORE_OK;
|
||||
}
|
||||
|
@ -163,54 +163,54 @@ status_t sock_setsockopt(sock_id id, c_int32_t opt, c_int32_t on)
|
|||
return CORE_OK;
|
||||
}
|
||||
|
||||
status_t sock_bind(sock_id id, c_sockaddr_t *sa)
|
||||
status_t sock_bind(sock_id id, c_sockaddr_t *addr)
|
||||
{
|
||||
sock_t *sock = (sock_t *)id;
|
||||
char buf[CORE_ADDRSTRLEN];
|
||||
socklen_t addrlen;
|
||||
|
||||
d_assert(sock, return CORE_ERROR,);
|
||||
d_assert(sa, return CORE_ERROR,);
|
||||
d_assert(addr, return CORE_ERROR,);
|
||||
|
||||
addrlen = sockaddr_len(sa);
|
||||
addrlen = sockaddr_len(addr);
|
||||
d_assert(addrlen, return CORE_ERROR,);
|
||||
|
||||
if (bind(sock->fd, &sa->sa, addrlen) != 0)
|
||||
if (bind(sock->fd, &addr->sa, addrlen) != 0)
|
||||
{
|
||||
d_error("socket bind(%s:%d) failed(%d:%s)",
|
||||
CORE_ADDR(sa, buf), CORE_PORT(sa), errno, strerror(errno));
|
||||
CORE_ADDR(addr, buf), CORE_PORT(addr), errno, strerror(errno));
|
||||
return CORE_ERROR;
|
||||
}
|
||||
|
||||
memcpy(&sock->local_addr, sa, sizeof(sock->local_addr));
|
||||
memcpy(&sock->local_addr, addr, sizeof(sock->local_addr));
|
||||
|
||||
d_trace(1, "socket bind %s:%d\n", CORE_ADDR(sa, buf), CORE_PORT(sa));
|
||||
d_trace(1, "socket bind %s:%d\n", CORE_ADDR(addr, buf), CORE_PORT(addr));
|
||||
|
||||
return CORE_OK;
|
||||
}
|
||||
|
||||
status_t sock_connect(sock_id id, c_sockaddr_t *sa)
|
||||
status_t sock_connect(sock_id id, c_sockaddr_t *addr)
|
||||
{
|
||||
sock_t *sock = (sock_t *)id;
|
||||
char buf[CORE_ADDRSTRLEN];
|
||||
socklen_t addrlen;
|
||||
|
||||
d_assert(sock, return CORE_ERROR,);
|
||||
d_assert(sa, return CORE_ERROR,);
|
||||
d_assert(addr, return CORE_ERROR,);
|
||||
|
||||
addrlen = sockaddr_len(sa);
|
||||
addrlen = sockaddr_len(addr);
|
||||
d_assert(addrlen, return CORE_ERROR,);
|
||||
|
||||
if (connect(sock->fd, &sa->sa, addrlen) != 0)
|
||||
if (connect(sock->fd, &addr->sa, addrlen) != 0)
|
||||
{
|
||||
d_error("socket connect(%s:%d) failed(%d:%s)",
|
||||
CORE_ADDR(sa, buf), CORE_PORT(sa), errno, strerror(errno));
|
||||
CORE_ADDR(addr, buf), CORE_PORT(addr), errno, strerror(errno));
|
||||
return CORE_ERROR;
|
||||
}
|
||||
|
||||
memcpy(&sock->remote_addr, sa, sizeof(sock->remote_addr));
|
||||
memcpy(&sock->remote_addr, addr, sizeof(sock->remote_addr));
|
||||
|
||||
d_trace(1, "socket connect %s:%d\n", CORE_ADDR(sa, buf), CORE_PORT(sa));
|
||||
d_trace(1, "socket connect %s:%d\n", CORE_ADDR(addr, buf), CORE_PORT(addr));
|
||||
|
||||
return CORE_OK;
|
||||
}
|
||||
|
@ -237,15 +237,15 @@ status_t sock_accept(sock_id *new, sock_id id)
|
|||
sock_t *new_sock = NULL;
|
||||
|
||||
int new_fd = -1;
|
||||
c_sockaddr_t sa;
|
||||
c_sockaddr_t addr;
|
||||
socklen_t addrlen;
|
||||
|
||||
memset(&sa, 0, sizeof(sa));
|
||||
addrlen = sizeof(sa.ss);
|
||||
memset(&addr, 0, sizeof(addr));
|
||||
addrlen = sizeof(addr.ss);
|
||||
|
||||
d_assert(id, return CORE_ERROR,);
|
||||
|
||||
new_fd = accept(sock->fd, &sa.sa, &addrlen);
|
||||
new_fd = accept(sock->fd, &addr.sa, &addrlen);
|
||||
if (new_fd < 0)
|
||||
{
|
||||
d_error("accept failed(%d:%s)", errno, strerror(errno));
|
||||
|
@ -259,7 +259,7 @@ status_t sock_accept(sock_id *new, sock_id id)
|
|||
new_sock->family = sock->family;
|
||||
new_sock->fd = new_fd;
|
||||
|
||||
memcpy(&new_sock->remote_addr, &sa, sizeof(new_sock->remote_addr));
|
||||
memcpy(&new_sock->remote_addr, &addr, sizeof(new_sock->remote_addr));
|
||||
|
||||
*new = (sock_id)new_sock;
|
||||
|
||||
|
@ -291,17 +291,16 @@ c_sockaddr_t *sock_remote_addr(sock_id id)
|
|||
/*
|
||||
* Socket Address
|
||||
*/
|
||||
static c_socknode_t *socknode_add_internal(
|
||||
c_socklist_t *list, c_sockaddr_t *sa_list)
|
||||
static sock_node_t *sock_add_node_internal(list_t *list, c_sockaddr_t *sa_list)
|
||||
{
|
||||
c_socknode_t *node = NULL;
|
||||
sock_node_t *node = NULL;
|
||||
|
||||
d_assert(list, return NULL,);
|
||||
d_assert(sa_list, return NULL,);
|
||||
|
||||
pool_alloc_node(&socknode_pool, &node);
|
||||
pool_alloc_node(&sock_node_pool, &node);
|
||||
d_assert(node, return NULL,);
|
||||
memset(node, 0, sizeof(c_socknode_t));
|
||||
memset(node, 0, sizeof(sock_node_t));
|
||||
|
||||
node->sa_list = sa_list;
|
||||
|
||||
|
@ -310,7 +309,7 @@ static c_socknode_t *socknode_add_internal(
|
|||
return node;
|
||||
}
|
||||
|
||||
c_socknode_t *socknode_add(c_socklist_t *list,
|
||||
sock_node_t *sock_add_node(list_t *list,
|
||||
int family, const char *hostname, c_uint16_t port, int flags)
|
||||
{
|
||||
status_t rv;
|
||||
|
@ -324,31 +323,31 @@ c_socknode_t *socknode_add(c_socklist_t *list,
|
|||
return NULL;
|
||||
}
|
||||
|
||||
return socknode_add_internal(list, sa_list);
|
||||
return sock_add_node_internal(list, sa_list);
|
||||
}
|
||||
|
||||
status_t socknode_remove(c_socklist_t *list, c_socknode_t *node)
|
||||
status_t sock_remove_node(list_t *list, sock_node_t *node)
|
||||
{
|
||||
d_assert(node, return CORE_ERROR,);
|
||||
|
||||
list_remove(list, node);
|
||||
|
||||
core_freeaddrinfo(node->sa_list);
|
||||
pool_free_node(&socknode_pool, node);
|
||||
pool_free_node(&sock_node_pool, node);
|
||||
|
||||
return CORE_OK;
|
||||
}
|
||||
|
||||
status_t socknode_remove_all(c_socklist_t *list)
|
||||
status_t sock_remove_all_nodes(list_t *list)
|
||||
{
|
||||
c_socknode_t *node = NULL, *next_node = NULL;
|
||||
sock_node_t *node = NULL, *next_node = NULL;
|
||||
|
||||
node = list_first(list);
|
||||
while(node)
|
||||
{
|
||||
next_node = list_next(node);
|
||||
|
||||
socknode_remove(list, node);
|
||||
sock_remove_node(list, node);
|
||||
|
||||
node = next_node;
|
||||
}
|
||||
|
@ -356,7 +355,7 @@ status_t socknode_remove_all(c_socklist_t *list)
|
|||
return CORE_OK;
|
||||
}
|
||||
|
||||
status_t socknode_getifaddrs_to_list(c_socklist_t *list, c_uint16_t port)
|
||||
status_t sock_get_all_nodes(list_t *list, c_uint16_t port)
|
||||
{
|
||||
struct ifaddrs *iflist, *cur;
|
||||
int rc;
|
||||
|
@ -409,7 +408,7 @@ status_t socknode_getifaddrs_to_list(c_socklist_t *list, c_uint16_t port)
|
|||
memcpy(&addr->sa, cur->ifa_addr, sockaddr_len(cur->ifa_addr));
|
||||
addr->c_sa_port = htons(port);
|
||||
|
||||
d_assert(socknode_add_internal(list, addr), return CORE_ERROR,);
|
||||
d_assert(sock_add_node_internal(list, addr), return CORE_ERROR,);
|
||||
}
|
||||
|
||||
freeifaddrs(iflist);
|
||||
|
@ -417,39 +416,21 @@ status_t socknode_getifaddrs_to_list(c_socklist_t *list, c_uint16_t port)
|
|||
return CORE_OK;
|
||||
}
|
||||
|
||||
status_t socknode_filter_family(c_socklist_t *list, int family)
|
||||
status_t sock_filter_node(list_t *list, int family)
|
||||
{
|
||||
c_socknode_t *node = NULL, *next_node = NULL;
|
||||
sock_node_t *node = NULL, *next_node = NULL;
|
||||
|
||||
d_assert(list, return CORE_ERROR,);
|
||||
|
||||
node = list_first(list);
|
||||
while(node)
|
||||
{
|
||||
c_sockaddr_t *addr = NULL, *prev_addr = NULL, *next_addr = NULL;
|
||||
|
||||
next_node = list_next(node);
|
||||
|
||||
prev_addr = NULL;
|
||||
addr = node->sa_list;
|
||||
while(addr)
|
||||
{
|
||||
next_addr = addr->next;
|
||||
|
||||
if (addr->c_sa_family != family)
|
||||
{
|
||||
if (prev_addr)
|
||||
prev_addr->next = addr->next;
|
||||
else
|
||||
node->sa_list = addr->next;
|
||||
core_free(addr);
|
||||
}
|
||||
|
||||
prev_addr = addr;
|
||||
addr = next_addr;
|
||||
}
|
||||
core_filteraddrinfo(&node->sa_list, family);
|
||||
|
||||
if (node->sa_list == NULL)
|
||||
socknode_remove(list, node);
|
||||
sock_remove_node(list, node);
|
||||
|
||||
node = next_node;
|
||||
}
|
||||
|
@ -457,7 +438,6 @@ status_t socknode_filter_family(c_socklist_t *list, int family)
|
|||
return CORE_OK;
|
||||
}
|
||||
|
||||
|
||||
status_t core_getaddrinfo(c_sockaddr_t **sa,
|
||||
int family, const char *hostname, c_uint16_t port, int flags)
|
||||
{
|
||||
|
@ -533,6 +513,34 @@ status_t core_freeaddrinfo(c_sockaddr_t *sa)
|
|||
return CORE_OK;
|
||||
}
|
||||
|
||||
status_t core_filteraddrinfo(c_sockaddr_t **sa_list, int family)
|
||||
{
|
||||
c_sockaddr_t *addr = NULL, *prev_addr = NULL, *next_addr = NULL;
|
||||
|
||||
d_assert(sa_list, return CORE_ERROR,);
|
||||
|
||||
prev_addr = NULL;
|
||||
addr = *sa_list;
|
||||
while(addr)
|
||||
{
|
||||
next_addr = addr->next;
|
||||
|
||||
if (addr->c_sa_family != family)
|
||||
{
|
||||
if (prev_addr)
|
||||
prev_addr->next = addr->next;
|
||||
else
|
||||
*sa_list = addr->next;
|
||||
core_free(addr);
|
||||
}
|
||||
|
||||
prev_addr = addr;
|
||||
addr = next_addr;
|
||||
}
|
||||
|
||||
return CORE_OK;
|
||||
}
|
||||
|
||||
const char *core_inet_ntop(void *sa, char *buf, int buflen)
|
||||
{
|
||||
int family;
|
||||
|
|
|
@ -335,51 +335,51 @@ static void sock_test6(abts_case *tc, void *data)
|
|||
static void sock_test7(abts_case *tc, void *data)
|
||||
{
|
||||
status_t rv;
|
||||
c_socknode_t *node;
|
||||
sock_node_t *node;
|
||||
c_sockaddr_t *addr;
|
||||
c_socklist_t list;
|
||||
list_t list;
|
||||
char buf[CORE_ADDRSTRLEN];
|
||||
|
||||
list_init(&list);
|
||||
|
||||
node = socknode_add(&list, AF_INET6, NULL, PORT, 0);
|
||||
node = sock_add_node(&list, AF_INET6, NULL, PORT, 0);
|
||||
ABTS_PTR_NOTNULL(tc, node);
|
||||
rv = socknode_filter_family(&list, AF_INET6);
|
||||
rv = sock_filter_node(&list, AF_INET6);
|
||||
ABTS_INT_EQUAL(tc, CORE_OK, rv);
|
||||
node = list_first(&list);
|
||||
ABTS_PTR_NOTNULL(tc, node);
|
||||
rv = socknode_filter_family(&list, AF_INET);
|
||||
rv = sock_filter_node(&list, AF_INET);
|
||||
ABTS_INT_EQUAL(tc, CORE_OK, rv);
|
||||
node = list_first(&list);
|
||||
ABTS_PTR_NULL(tc, node);
|
||||
|
||||
node = socknode_add(&list, AF_INET, NULL, PORT, AI_PASSIVE);
|
||||
node = sock_add_node(&list, AF_INET, NULL, PORT, AI_PASSIVE);
|
||||
ABTS_PTR_NOTNULL(tc, node);
|
||||
rv = socknode_filter_family(&list, AF_INET);
|
||||
rv = sock_filter_node(&list, AF_INET);
|
||||
ABTS_INT_EQUAL(tc, CORE_OK, rv);
|
||||
node = list_first(&list);
|
||||
ABTS_PTR_NOTNULL(tc, node);
|
||||
rv = socknode_filter_family(&list, AF_INET6);
|
||||
rv = sock_filter_node(&list, AF_INET6);
|
||||
ABTS_INT_EQUAL(tc, CORE_OK, rv);
|
||||
node = list_first(&list);
|
||||
ABTS_PTR_NULL(tc, node);
|
||||
|
||||
node = socknode_add(&list, AF_UNSPEC, NULL, PORT, 0);
|
||||
node = sock_add_node(&list, AF_UNSPEC, NULL, PORT, 0);
|
||||
ABTS_PTR_NOTNULL(tc, node);
|
||||
rv = socknode_filter_family(&list, AF_INET6);
|
||||
rv = sock_filter_node(&list, AF_INET6);
|
||||
ABTS_INT_EQUAL(tc, CORE_OK, rv);
|
||||
node = list_first(&list);
|
||||
ABTS_PTR_NOTNULL(tc, node);
|
||||
rv = socknode_filter_family(&list, AF_INET);
|
||||
rv = sock_filter_node(&list, AF_INET);
|
||||
ABTS_INT_EQUAL(tc, CORE_OK, rv);
|
||||
node = list_first(&list);
|
||||
ABTS_PTR_NULL(tc, node);
|
||||
|
||||
node = socknode_add(&list, AF_INET6, NULL, PORT, 0);
|
||||
node = sock_add_node(&list, AF_INET6, NULL, PORT, 0);
|
||||
ABTS_PTR_NOTNULL(tc, node);
|
||||
node = socknode_add(&list, AF_INET, NULL, PORT, AI_PASSIVE);
|
||||
node = sock_add_node(&list, AF_INET, NULL, PORT, AI_PASSIVE);
|
||||
ABTS_PTR_NOTNULL(tc, node);
|
||||
node = socknode_add(&list, AF_UNSPEC, NULL, PORT, AI_PASSIVE);
|
||||
node = sock_add_node(&list, AF_UNSPEC, NULL, PORT, AI_PASSIVE);
|
||||
ABTS_PTR_NOTNULL(tc, node);
|
||||
|
||||
node = list_first(&list);
|
||||
|
@ -402,10 +402,10 @@ static void sock_test7(abts_case *tc, void *data)
|
|||
ABTS_PTR_NOTNULL(tc, addr);
|
||||
ABTS_INT_EQUAL(tc, PORT, CORE_PORT(addr));
|
||||
|
||||
rv = socknode_getifaddrs_to_list(&list, PORT);
|
||||
rv = sock_get_all_nodes(&list, PORT);
|
||||
ABTS_INT_EQUAL(tc, CORE_OK, rv);
|
||||
|
||||
socknode_remove_all(&list);
|
||||
sock_remove_all_nodes(&list);
|
||||
}
|
||||
|
||||
abts_suite *testsock(abts_suite *suite)
|
||||
|
|
|
@ -109,8 +109,8 @@ status_t mme_context_final()
|
|||
index_final(&mme_enb_pool);
|
||||
pool_final(&mme_sgw_pool);
|
||||
|
||||
socknode_remove_all(&self.gtpc4_list);
|
||||
socknode_remove_all(&self.gtpc6_list);
|
||||
sock_remove_all_nodes(&self.gtpc4_list);
|
||||
sock_remove_all_nodes(&self.gtpc6_list);
|
||||
|
||||
pool_final(&mme_s1ap_pool);
|
||||
|
||||
|
@ -338,7 +338,7 @@ status_t mme_context_parse_config()
|
|||
yaml_iter_recurse(&mme_iter, >pc_array);
|
||||
do
|
||||
{
|
||||
c_socknode_t *node = NULL;
|
||||
sock_node_t *node = NULL;
|
||||
int family = AF_UNSPEC;
|
||||
const char *hostname = NULL;
|
||||
c_uint16_t port = GTPV2_C_UDP_PORT;
|
||||
|
@ -400,20 +400,20 @@ status_t mme_context_parse_config()
|
|||
|
||||
if (context_self()->parameter.no_ipv4 == 0)
|
||||
{
|
||||
node = socknode_add(&self.gtpc4_list,
|
||||
node = sock_add_node(&self.gtpc4_list,
|
||||
family, hostname, port, AI_PASSIVE);
|
||||
d_assert(node, return CORE_ERROR,);
|
||||
rv = socknode_filter_family(
|
||||
rv = sock_filter_node(
|
||||
&self.gtpc4_list, AF_INET);
|
||||
d_assert(rv == CORE_OK, return CORE_ERROR,);
|
||||
}
|
||||
|
||||
if (context_self()->parameter.no_ipv6 == 0)
|
||||
{
|
||||
node = socknode_add(&self.gtpc6_list,
|
||||
node = sock_add_node(&self.gtpc6_list,
|
||||
family, hostname, port, AI_PASSIVE);
|
||||
d_assert(node, return CORE_ERROR,);
|
||||
rv = socknode_filter_family(
|
||||
rv = sock_filter_node(
|
||||
&self.gtpc6_list, AF_INET6);
|
||||
d_assert(rv == CORE_OK, return CORE_ERROR,);
|
||||
}
|
||||
|
@ -424,20 +424,20 @@ status_t mme_context_parse_config()
|
|||
{
|
||||
if (context_self()->parameter.no_ipv4 == 0)
|
||||
{
|
||||
rv = socknode_getifaddrs_to_list(
|
||||
rv = sock_get_all_nodes(
|
||||
&self.gtpc4_list, self.gtpc_port);
|
||||
d_assert(rv == CORE_OK, return CORE_ERROR,);
|
||||
rv = socknode_filter_family(
|
||||
rv = sock_filter_node(
|
||||
&self.gtpc4_list, AF_INET);
|
||||
d_assert(rv == CORE_OK, return CORE_ERROR,);
|
||||
}
|
||||
|
||||
if (context_self()->parameter.no_ipv6 == 0)
|
||||
{
|
||||
rv = socknode_getifaddrs_to_list(
|
||||
rv = sock_get_all_nodes(
|
||||
&self.gtpc6_list, self.gtpc_port);
|
||||
d_assert(rv == CORE_OK, return CORE_ERROR,);
|
||||
rv = socknode_filter_family(&self.gtpc6_list,
|
||||
rv = sock_filter_node(&self.gtpc6_list,
|
||||
AF_INET6);
|
||||
d_assert(rv == CORE_OK, return CORE_ERROR,);
|
||||
}
|
||||
|
|
|
@ -61,9 +61,9 @@ typedef struct _mme_context_t {
|
|||
|
||||
c_uint16_t gtpc_port; /* Default GTPC Port */
|
||||
|
||||
c_socklist_t gtpc4_list; /* MME GTPC IPv4 Server List */
|
||||
list_t gtpc4_list; /* MME GTPC IPv4 Server List */
|
||||
c_sockaddr_t *gtpc4_addr; /* MME GTPC IPv4 Address */
|
||||
c_socklist_t gtpc6_list; /* MME GTPC IPv6 Server List */
|
||||
list_t gtpc6_list; /* MME GTPC IPv6 Server List */
|
||||
c_sockaddr_t *gtpc6_addr; /* MME GTPC IPv6 Address */
|
||||
|
||||
c_uint32_t s5c_addr; /* PGW S5C remote address */
|
||||
|
|
|
@ -46,7 +46,7 @@ status_t mme_gtp_open()
|
|||
{
|
||||
status_t rv;
|
||||
mme_sgw_t *sgw = mme_sgw_first();
|
||||
c_socknode_t *node;
|
||||
sock_node_t *node;
|
||||
sock_id temp; /* FIXME ADDR */
|
||||
|
||||
for (node = list_first(&mme_self()->gtpc4_list);
|
||||
|
@ -107,7 +107,7 @@ status_t mme_gtp_open()
|
|||
|
||||
status_t mme_gtp_close()
|
||||
{
|
||||
c_socknode_t *node;
|
||||
sock_node_t *node;
|
||||
|
||||
for (node = list_first(&mme_self()->gtpc4_list);
|
||||
node; node = list_next(node))
|
||||
|
|
Loading…
Reference in New Issue