Apply ogslib changes

This commit is contained in:
Sukchan Lee 2019-06-15 16:54:49 +09:00
parent c855546d77
commit bcd784b1f0
6 changed files with 15 additions and 11 deletions

@ -1 +1 @@
Subproject commit 86d826beedc9b00d3f778160a90bc6ee77cffe9d
Subproject commit 1239ee54c9d168ce094bab66d38a2ae84fe3cada

View File

@ -61,8 +61,8 @@ ogs_sock_t *ogs_sctp_socket(int family, int type, ogs_socknode_t *node)
rv = subscribe_to_events(new);
ogs_assert(rv == OGS_OK);
if (option.nodelay) {
rv = set_nodelay(new, option.nodelay);
if (node->option.nodelay) {
rv = set_nodelay(new, node->option.nodelay);
ogs_assert(rv == OGS_OK);
}
@ -399,10 +399,11 @@ static int set_nodelay(ogs_sock_t *sock, int on)
{
ogs_assert(sock);
ogs_trace("Turn on SCTP_NODELAY");
if (setsockopt(sock->fd, IPPROTO_SCTP, SCTP_NODELAY,
&on, sizeof(on)) != 0) {
ogs_log_message(OGS_LOG_ERROR, ogs_socket_errno,
"setsockopt for SCTP_NO_DELAY failed");
"setsockopt for SCTP_NODELAY failed");
return OGS_ERROR;
}

View File

@ -18,6 +18,8 @@
*/
#include "ogs-sctp.h"
#include "app/context.h"
#include "mme-event.h"
#include "s1ap-path.h"
@ -30,6 +32,8 @@ ogs_sock_t *s1ap_server(ogs_socknode_t *node)
ogs_assert(node);
ogs_socknode_sctp_option(node, &context_self()->config.sockopt);
ogs_socknode_nodelay(node, true);
ogs_socknode_set_poll(node, mme_self()->pollset,
OGS_POLLIN, accept_handler, node);

View File

@ -19,7 +19,6 @@
#include "ogs-sctp.h"
#include "app/context.h"
#include "mme-event.h"
#include "nas-security.h"
@ -33,15 +32,11 @@ int s1ap_open(void)
{
ogs_socknode_t *node = NULL;
ogs_list_for_each(&mme_self()->s1ap_list, node) {
ogs_socknode_set_option(node, &context_self()->config.sockopt);
ogs_list_for_each(&mme_self()->s1ap_list, node)
s1ap_server(node);
}
ogs_list_for_each(&mme_self()->s1ap_list6, node) {
ogs_socknode_set_option(node, &context_self()->config.sockopt);
ogs_list_for_each(&mme_self()->s1ap_list6, node)
s1ap_server(node);
}
return OGS_OK;
}

View File

@ -18,6 +18,8 @@
*/
#include "ogs-sctp.h"
#include "app/context.h"
#include "mme-event.h"
#include "s1ap-path.h"
@ -34,6 +36,7 @@ ogs_sock_t *s1ap_server(ogs_socknode_t *node)
ogs_assert(node);
ogs_socknode_sctp_option(node, &context_self()->config.sockopt);
ogs_socknode_set_poll(node, mme_self()->pollset,
OGS_POLLIN, s1ap_usrsctp_recv_handler, node);

View File

@ -50,6 +50,7 @@ ogs_socknode_t *testenb_s1ap_client(const char *ipstr)
node = ogs_socknode_new(addr);
ogs_assert(node);
ogs_socknode_nodelay(node, true);
ogs_sctp_client(SOCK_STREAM, node);
ogs_assert(node->sock);