diff options
| author | Donald Sharp <sharpd@cumulusnetworks.com> | 2019-10-16 07:58:44 -0400 |
|---|---|---|
| committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2019-10-16 13:38:29 -0400 |
| commit | d38c6bb1b0365b06e9cc1a8df69aca05dbf743a8 (patch) | |
| tree | 1ac231bb8c19c1d89ae863cc73afcae38157c88b | |
| parent | 30c9a17229cbe990584a61dfa2f84287bebb8156 (diff) | |
bgpd: Check setsockopt return codes
Let end user know that a setsockopt failed and we may
be experiencing degraded performance.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
| -rw-r--r-- | bgpd/bgp_bmp.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/bgpd/bgp_bmp.c b/bgpd/bgp_bmp.c index ff655048a8..9f1fe64813 100644 --- a/bgpd/bgp_bmp.c +++ b/bgpd/bgp_bmp.c @@ -1307,8 +1307,12 @@ static struct bmp *bmp_open(struct bmp_targets *bt, int bmp_sock) } bt->cnt_accept++; - setsockopt(bmp_sock, SOL_SOCKET, SO_KEEPALIVE, &on, sizeof(on)); - setsockopt(bmp_sock, IPPROTO_TCP, TCP_NODELAY, &on, sizeof(on)); + if (setsockopt(bmp_sock, SOL_SOCKET, SO_KEEPALIVE, &on, sizeof(on)) < 0) + flog_err(EC_LIB_SOCKET, "bmp: %d can't setsockopt SO_KEEPALIVE: %s(%d)", + bmp_sock, safe_strerror(errno), errno); + if (setsockopt(bmp_sock, IPPROTO_TCP, TCP_NODELAY, &on, sizeof(on)) < 0) + flog_err(EC_LIB_SOCKET, "bmp: %d can't setsockopt TCP_NODELAY: %s(%d)", + bmp_sock, safe_strerror(errno), errno); zlog_info("bmp[%s] connection established", buf); |
