summaryrefslogtreecommitdiff
path: root/bgpd/bgp_snmp_bgp4.c
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@nvidia.com>2023-08-26 18:07:04 -0400
committerDonald Sharp <sharpd@nvidia.com>2023-09-10 08:31:25 -0400
commitd2ba78929f63d49e78140f28995cc745c1c95966 (patch)
tree71d85bcef551397e7699670cea25fd3744a27a03 /bgpd/bgp_snmp_bgp4.c
parent7b1158b169f59729bdde704539371cd419fe2138 (diff)
bgpd: bgp_fsm_change_status/BGP_TIMER_ON and BGP_EVENT_ADD
Modify bgp_fsm_change_status to be connection oriented and also make the BGP_TIMER_ON and BGP_EVENT_ADD macros connection oriented as well. Attempt to make peer_xfer_conn a bit more understandable because, frankly it was/is confusing. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Diffstat (limited to 'bgpd/bgp_snmp_bgp4.c')
-rw-r--r--bgpd/bgp_snmp_bgp4.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/bgpd/bgp_snmp_bgp4.c b/bgpd/bgp_snmp_bgp4.c
index 8a1b57f22f..0d5b06da1e 100644
--- a/bgpd/bgp_snmp_bgp4.c
+++ b/bgpd/bgp_snmp_bgp4.c
@@ -173,6 +173,7 @@ static int write_bgpPeerTable(int action, uint8_t *var_val,
{
struct in_addr addr;
struct peer *peer;
+ struct peer_connection *connection;
long intval;
if (var_val_type != ASN_INTEGER) {
@@ -190,6 +191,8 @@ static int write_bgpPeerTable(int action, uint8_t *var_val,
if (!peer)
return SNMP_ERR_NOSUCHNAME;
+ connection = peer->connection;
+
if (action != SNMP_MSG_INTERNAL_SET_COMMIT)
return SNMP_ERR_NOERROR;
@@ -202,7 +205,7 @@ static int write_bgpPeerTable(int action, uint8_t *var_val,
#define BGP_PeerAdmin_start 2
/* When the peer is established, */
if (intval == BGP_PeerAdmin_stop)
- BGP_EVENT_ADD(peer, BGP_Stop);
+ BGP_EVENT_ADD(connection, BGP_Stop);
else if (intval == BGP_PeerAdmin_start)
; /* Do nothing. */
else