From bcd784b1f0a1add3ef85d192e0e5f9be464d6413 Mon Sep 17 00:00:00 2001 From: Sukchan Lee Date: Sat, 15 Jun 2019 16:54:49 +0900 Subject: [PATCH] Apply ogslib changes --- lib/ogslib | 2 +- src/mme/ogs-lksctp.c | 7 ++++--- src/mme/s1ap-lkpath.c | 4 ++++ src/mme/s1ap-path.c | 9 ++------- src/mme/s1ap-usrpath.c | 3 +++ tests/common/test-packet.c | 1 + 6 files changed, 15 insertions(+), 11 deletions(-) diff --git a/lib/ogslib b/lib/ogslib index 86d826beed..1239ee54c9 160000 --- a/lib/ogslib +++ b/lib/ogslib @@ -1 +1 @@ -Subproject commit 86d826beedc9b00d3f778160a90bc6ee77cffe9d +Subproject commit 1239ee54c9d168ce094bab66d38a2ae84fe3cada diff --git a/src/mme/ogs-lksctp.c b/src/mme/ogs-lksctp.c index 869a5710f1..28b5021ca9 100644 --- a/src/mme/ogs-lksctp.c +++ b/src/mme/ogs-lksctp.c @@ -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; } diff --git a/src/mme/s1ap-lkpath.c b/src/mme/s1ap-lkpath.c index 3517b381cb..912f2eb1cc 100644 --- a/src/mme/s1ap-lkpath.c +++ b/src/mme/s1ap-lkpath.c @@ -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); diff --git a/src/mme/s1ap-path.c b/src/mme/s1ap-path.c index 9863f0a4e6..dc85c73524 100644 --- a/src/mme/s1ap-path.c +++ b/src/mme/s1ap-path.c @@ -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; } diff --git a/src/mme/s1ap-usrpath.c b/src/mme/s1ap-usrpath.c index 76c2e45520..f6e06512a3 100644 --- a/src/mme/s1ap-usrpath.c +++ b/src/mme/s1ap-usrpath.c @@ -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); diff --git a/tests/common/test-packet.c b/tests/common/test-packet.c index f63b718775..cdeac02334 100644 --- a/tests/common/test-packet.c +++ b/tests/common/test-packet.c @@ -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);