From 15dcf5e743d83814242eda3980ee668877852f7b Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Fri, 1 Dec 2023 17:23:26 +0100 Subject: examples/stream-*: Support SCTP when called with "-s" argument Change-Id: I4137cdf1e21cb669b632fe5c126ec27475d98400 --- examples/stream-client.c | 24 ++++++++++++++++++++---- examples/stream-server.c | 16 +++++++++++++++- 2 files changed, 35 insertions(+), 5 deletions(-) (limited to 'examples') diff --git a/examples/stream-client.c b/examples/stream-client.c index 6781c72..e42748f 100644 --- a/examples/stream-client.c +++ b/examples/stream-client.c @@ -3,6 +3,7 @@ #include #include #include +#include #include #include @@ -89,10 +90,21 @@ static int kbd_cb(struct osmo_fd *fd, unsigned int what) return 0; } -int main(void) +int main(int argc, char **argv) { struct osmo_fd *kbd_ofd; - int rc; + bool use_sctp = false; + int opt, rc; + + while ((opt = getopt(argc, argv, "s")) != -1) { + switch (opt) { + case 's': + use_sctp = true; + break; + default: + break; + } + } tall_test = talloc_named_const(NULL, 1, "osmo_stream_cli_test"); msgb_talloc_ctx_init(tall_test, 0); @@ -111,12 +123,16 @@ int main(void) osmo_stream_cli_set_name(conn, "stream_client"); osmo_stream_cli_set_addr(conn, "127.0.0.1"); osmo_stream_cli_set_port(conn, 10000); + if (use_sctp) + osmo_stream_cli_set_proto(conn, IPPROTO_SCTP); + osmo_stream_cli_set_connect_cb(conn, connect_cb); osmo_stream_cli_set_disconnect_cb(conn, disconnect_cb); osmo_stream_cli_set_read_cb2(conn, read_cb); - if (osmo_stream_cli_open(conn) < 0) { - fprintf(stderr, "cannot open cli\n"); + rc = osmo_stream_cli_open(conn); + if (rc < 0) { + fprintf(stderr, "cannot open cli: %d\n", rc); exit(EXIT_FAILURE); } diff --git a/examples/stream-server.c b/examples/stream-server.c index 8aa8b9b..9faf307 100644 --- a/examples/stream-server.c +++ b/examples/stream-server.c @@ -117,9 +117,21 @@ static int kbd_cb(struct osmo_fd *fd, unsigned int what) return 0; } -int main(void) +int main(int argc, char **argv) { struct osmo_fd *kbd_ofd; + bool use_sctp = false; + int opt; + + while ((opt = getopt(argc, argv, "s")) != -1) { + switch (opt) { + case 's': + use_sctp = true; + break; + default: + break; + } + } tall_test = talloc_named_const(NULL, 1, "osmo_stream_srv_test"); msgb_talloc_ctx_init(tall_test, 0); @@ -137,6 +149,8 @@ int main(void) } osmo_stream_srv_link_set_addr(srv, "127.0.0.1"); osmo_stream_srv_link_set_port(srv, 10000); + if (use_sctp) + osmo_stream_srv_link_set_proto(srv, IPPROTO_SCTP); osmo_stream_srv_link_set_accept_cb(srv, accept_cb); if (osmo_stream_srv_link_open(srv) < 0) { -- cgit v1.2.3