summaryrefslogtreecommitdiff
path: root/bgpd/bgp_network.c
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@nvidia.com>2024-11-20 09:18:39 -0500
committerDonald Sharp <sharpd@nvidia.com>2024-11-20 16:11:22 -0500
commit2a94de8af2678407859473cdb700d0fe2eb908cc (patch)
treee7432003f152a68d50e2eba35b72a862dbf687a4 /bgpd/bgp_network.c
parentbca99119d9c0886f43de8a1d681c259ffb62b379 (diff)
bgpd: bgp_connect should return an `enum connect_result`
This function when it is run by bgp_start is expected to return a `enum connect_result`. But instead the function returns a variety of values that are not really being checked for. Consolidate to a correct choice. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Diffstat (limited to 'bgpd/bgp_network.c')
-rw-r--r--bgpd/bgp_network.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/bgpd/bgp_network.c b/bgpd/bgp_network.c
index de57d91806..844f6b9af2 100644
--- a/bgpd/bgp_network.c
+++ b/bgpd/bgp_network.c
@@ -762,7 +762,7 @@ static int bgp_update_source(struct peer_connection *connection)
}
/* BGP try to connect to the peer. */
-int bgp_connect(struct peer_connection *connection)
+enum connect_result bgp_connect(struct peer_connection *connection)
{
struct peer *peer = connection->peer;
@@ -773,7 +773,7 @@ int bgp_connect(struct peer_connection *connection)
if (peer->conf_if && BGP_CONNECTION_SU_UNSPEC(connection)) {
if (bgp_debug_neighbor_events(peer))
zlog_debug("Peer address not learnt: Returning from connect");
- return 0;
+ return connect_error;
}
frr_with_privs(&bgpd_privs) {
/* Make socket for the peer. */
@@ -787,7 +787,7 @@ int bgp_connect(struct peer_connection *connection)
zlog_debug("%s: Failure to create socket for connection to %s, error received: %s(%d)",
__func__, peer->host, safe_strerror(errno),
errno);
- return -1;
+ return connect_error;
}
set_nonblocking(connection->fd);
@@ -808,7 +808,7 @@ int bgp_connect(struct peer_connection *connection)
__func__, peer->host, safe_strerror(errno),
errno);
- return -1;
+ return connect_error;
}
sockopt_reuseaddr(connection->fd);
@@ -844,7 +844,7 @@ int bgp_connect(struct peer_connection *connection)
/* If the peer is passive mode, force to move to Active mode. */
if (CHECK_FLAG(peer->flags, PEER_FLAG_PASSIVE)) {
BGP_EVENT_ADD(connection, TCP_connection_open_failed);
- return BGP_FSM_SUCCESS;
+ return connect_error;
}
if (peer->conf_if || peer->ifname)