summaryrefslogtreecommitdiff
path: root/bgpd/bgp_network.c
diff options
context:
space:
mode:
authorDonatas Abraitis <donatas.abraitis@gmail.com>2021-05-05 13:45:39 +0300
committerGitHub <noreply@github.com>2021-05-05 13:45:39 +0300
commit48c20391997a9809c710d4669a05f9eee8b5bff8 (patch)
treee6930f157a9c7b0a45947490bafff11410b6ccc3 /bgpd/bgp_network.c
parent4d504309d3be720420225e1ddd45d673f5d6ec23 (diff)
parent4ab467017e922b6b32565952523051862e636e4e (diff)
Merge pull request #8564 from rameshabhinay/bgp_tcp_mss
bgpd: Support tcp-mss for bgp neighbors
Diffstat (limited to 'bgpd/bgp_network.c')
-rw-r--r--bgpd/bgp_network.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/bgpd/bgp_network.c b/bgpd/bgp_network.c
index 55d7a29d98..f3857162c3 100644
--- a/bgpd/bgp_network.c
+++ b/bgpd/bgp_network.c
@@ -442,6 +442,11 @@ static int bgp_accept(struct thread *thread)
if (peer1) {
/* Dynamic neighbor has been created, let it proceed */
peer1->fd = bgp_sock;
+
+ /* Set the user configured MSS to TCP socket */
+ if (CHECK_FLAG(peer1->flags, PEER_FLAG_TCP_MSS))
+ sockopt_tcp_mss_set(bgp_sock, peer1->tcp_mss);
+
bgp_fsm_change_status(peer1, Active);
BGP_TIMER_OFF(
peer1->t_start); /* created in peer_create() */
@@ -713,6 +718,10 @@ int bgp_connect(struct peer *peer)
set_nonblocking(peer->fd);
+ /* Set the user configured MSS to TCP socket */
+ if (CHECK_FLAG(peer->flags, PEER_FLAG_TCP_MSS))
+ sockopt_tcp_mss_set(peer->fd, peer->tcp_mss);
+
bgp_socket_set_buffer_size(peer->fd);
if (bgp_set_socket_ttl(peer, peer->fd) < 0)