X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Frmr%2Fsi%2Fsrc%2Fsi95%2Fsiestablish.c;h=f2bb7522f82e499986f14691a082b7079eca12d9;hb=691909ffc0dab5989347ecb00b839e68569db164;hp=2fa7e048c678c80512fdfa10b0026976794f4834;hpb=d5e663fe0b25b6330dc2e242efb5b70ea563d80d;p=ric-plt%2Flib%2Frmr.git diff --git a/src/rmr/si/src/si95/siestablish.c b/src/rmr/si/src/si95/siestablish.c index 2fa7e04..f2bb752 100644 --- a/src/rmr/si/src/si95/siestablish.c +++ b/src/rmr/si/src/si95/siestablish.c @@ -214,6 +214,17 @@ extern struct tp_blk *SIconn_prep( struct ginfo_blk *gptr, int type, char *abuf, } SETSOCKOPT( tptr->fd, SOL_TCP, TCP_QUICKACK, (void *)&optval, sizeof( optval) ) ; + if( gptr->tcp_flags & SI_TF_QUICK ) { + optval = 1; + SETSOCKOPT( tptr->fd, SOL_SOCKET, SO_KEEPALIVE, (void *)&optval, sizeof( optval) ) ; + optval = 1; + SETSOCKOPT( tptr->fd, IPPROTO_TCP, TCP_KEEPIDLE, (void *)&optval, sizeof( optval) ) ; + optval = 1; + SETSOCKOPT( tptr->fd, IPPROTO_TCP, TCP_KEEPINTVL, (void *)&optval, sizeof( optval) ) ; + optval = 5; + SETSOCKOPT( tptr->fd, IPPROTO_TCP, TCP_KEEPCNT, (void *)&optval, sizeof( optval) ) ; + } + tptr->paddr = addr; // tuck the remote peer address away if( need_smartc( abuf ) ) { tptr->flags |= TPF_SAFEC;