aboutsummaryrefslogtreecommitdiff
path: root/programs
diff options
context:
space:
mode:
authorMichael Tuexen <tuexen@fh-muenster.de>2020-03-16 12:03:58 +0100
committerMichael Tuexen <tuexen@fh-muenster.de>2020-03-16 12:03:58 +0100
commit0c9e6498e223c9e69bcea739ccef80f91ddf9e70 (patch)
treefec1e74b680aa4737df36c2e0128175c67f4e4e5 /programs
parenta42777257dbd66f28366487d7c5407b27d7ce85c (diff)
downloadusrsctp-0c9e6498e223c9e69bcea739ccef80f91ddf9e70.tar.gz
Set default MTU for an endpoint to 9000 bytes.
Diffstat (limited to 'programs')
-rw-r--r--programs/ekr_loop.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/programs/ekr_loop.c b/programs/ekr_loop.c
index b8dacfb5..35154f67 100644
--- a/programs/ekr_loop.c
+++ b/programs/ekr_loop.c
@@ -263,6 +263,7 @@ main(int argc, char *argv[])
{
struct sockaddr_in sin_s, sin_c;
struct sockaddr_conn sconn;
+ struct sctp_paddrparams paddrparams;
#ifdef _WIN32
SOCKET fd_c, fd_s;
#else
@@ -413,6 +414,17 @@ main(int argc, char *argv[])
exit(EXIT_FAILURE);
}
debug_printf("to %d.\n", cur_buf_size);
+ memset(&paddrparams, 0, sizeof(struct sctp_paddrparams));
+ paddrparams.spp_address.ss_family = AF_CONN;
+#ifdef HAVE_SCONN_LEN
+ paddrparams.spp_address.ss_len = sizeof(struct sockaddr_conn);
+#endif
+ paddrparams.spp_flags = SPP_PMTUD_DISABLE;
+ paddrparams.spp_pathmtu = 9000;
+ if (usrsctp_setsockopt(s_c, IPPROTO_SCTP, SCTP_PEER_ADDR_PARAMS, &paddrparams, sizeof(struct sctp_paddrparams)) < 0) {
+ perror("usrsctp_setsockopt");
+ exit(EXIT_FAILURE);
+ }
if ((s_l = usrsctp_socket(AF_CONN, SOCK_STREAM, IPPROTO_SCTP, receive_cb, NULL, 0, &fd_s)) == NULL) {
perror("usrsctp_socket");
exit(EXIT_FAILURE);