From 981dd86920ec049174ea81f961896b94e4ae017f Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Sat, 26 Aug 2023 22:08:19 -0400 Subject: [PATCH] bgpd: move t_generate_updgrp_packets into peer_connection The t_generate_updgrp_packets event pointer belongs in the peer_connection pointer. Signed-off-by: Donald Sharp --- bgpd/bgp_fsm.c | 5 +++-- bgpd/bgp_io.c | 4 ++-- bgpd/bgp_packet.c | 7 ++++--- bgpd/bgp_updgrp.c | 9 +++++---- bgpd/bgpd.h | 3 ++- 5 files changed, 16 insertions(+), 12 deletions(-) diff --git a/bgpd/bgp_fsm.c b/bgpd/bgp_fsm.c index 9f19aec200..b7a7cf75e9 100644 --- a/bgpd/bgp_fsm.c +++ b/bgpd/bgp_fsm.c @@ -580,7 +580,7 @@ void bgp_routeadv_timer(struct event *thread) peer->synctime = monotime(NULL); event_add_timer_msec(bm->master, bgp_generate_updgrp_packets, peer, 0, - &peer->t_generate_updgrp_packets); + &peer->connection->t_generate_updgrp_packets); /* MRAI timer will be started again when FIFO is built, no need to * do it here. @@ -997,7 +997,8 @@ void bgp_adjust_routeadv(struct peer *peer) * is added to update group packet generate which will allow * more routes to be sent in the update message */ - BGP_UPDATE_GROUP_TIMER_ON(&peer->t_generate_updgrp_packets, + BGP_UPDATE_GROUP_TIMER_ON(&peer->connection + ->t_generate_updgrp_packets, bgp_generate_updgrp_packets); return; } diff --git a/bgpd/bgp_io.c b/bgpd/bgp_io.c index 55acc0ab85..13007872d4 100644 --- a/bgpd/bgp_io.c +++ b/bgpd/bgp_io.c @@ -68,7 +68,7 @@ void bgp_writes_off(struct peer_connection *connection) assert(fpt->running); event_cancel_async(fpt->master, &connection->t_write, NULL); - EVENT_OFF(peer->t_generate_updgrp_packets); + EVENT_OFF(connection->t_generate_updgrp_packets); UNSET_FLAG(peer->connection->thread_flags, PEER_THREAD_WRITES_ON); } @@ -149,7 +149,7 @@ static void bgp_process_writes(struct event *thread) event_add_write(fpt->master, bgp_process_writes, connection, connection->fd, &connection->t_write); } else if (!fatal) { - BGP_UPDATE_GROUP_TIMER_ON(&peer->t_generate_updgrp_packets, + BGP_UPDATE_GROUP_TIMER_ON(&connection->t_generate_updgrp_packets, bgp_generate_updgrp_packets); } } diff --git a/bgpd/bgp_packet.c b/bgpd/bgp_packet.c index b29c630d9c..69fe7558ae 100644 --- a/bgpd/bgp_packet.c +++ b/bgpd/bgp_packet.c @@ -403,7 +403,7 @@ static void bgp_write_proceed_actions(struct peer *peer) next_pkt = paf->next_pkt_to_send; if (next_pkt && next_pkt->buffer) { - BGP_TIMER_ON(peer->t_generate_updgrp_packets, + BGP_TIMER_ON(peer->connection->t_generate_updgrp_packets, bgp_generate_updgrp_packets, 0); return; } @@ -414,7 +414,7 @@ static void bgp_write_proceed_actions(struct peer *peer) if (bpacket_queue_is_full(SUBGRP_INST(subgrp), SUBGRP_PKTQ(subgrp)) || subgroup_packets_to_build(subgrp)) { - BGP_TIMER_ON(peer->t_generate_updgrp_packets, + BGP_TIMER_ON(peer->connection->t_generate_updgrp_packets, bgp_generate_updgrp_packets, 0); return; } @@ -429,7 +429,8 @@ static void bgp_write_proceed_actions(struct peer *peer) && !CHECK_FLAG(peer->af_sflags[afi][safi], PEER_STATUS_EOR_SEND) && safi != SAFI_MPLS_VPN) { - BGP_TIMER_ON(peer->t_generate_updgrp_packets, + BGP_TIMER_ON(peer->connection + ->t_generate_updgrp_packets, bgp_generate_updgrp_packets, 0); return; } diff --git a/bgpd/bgp_updgrp.c b/bgpd/bgp_updgrp.c index a55e48d8ed..e9202e6a3e 100644 --- a/bgpd/bgp_updgrp.c +++ b/bgpd/bgp_updgrp.c @@ -2201,10 +2201,11 @@ void subgroup_trigger_write(struct update_subgroup *subgrp) */ SUBGRP_FOREACH_PEER (subgrp, paf) if (peer_established(paf->peer)) - event_add_timer_msec( - bm->master, bgp_generate_updgrp_packets, - paf->peer, 0, - &paf->peer->t_generate_updgrp_packets); + event_add_timer_msec(bm->master, + bgp_generate_updgrp_packets, + paf->peer, 0, + &paf->peer->connection + ->t_generate_updgrp_packets); } int update_group_clear_update_dbg(struct update_group *updgrp, void *arg) diff --git a/bgpd/bgpd.h b/bgpd/bgpd.h index fdf1f121c3..ec1d0f2980 100644 --- a/bgpd/bgpd.h +++ b/bgpd/bgpd.h @@ -1149,6 +1149,8 @@ struct peer_connection { struct event *t_gr_restart; struct event *t_gr_stale; + struct event *t_generate_updgrp_packets; + struct event *t_routeadv; struct event *t_process_packet; struct event *t_process_packet_error; @@ -1562,7 +1564,6 @@ struct peer { struct event *t_pmax_restart; struct event *t_llgr_stale[AFI_MAX][SAFI_MAX]; struct event *t_revalidate_all[AFI_MAX][SAFI_MAX]; - struct event *t_generate_updgrp_packets; struct event *t_refresh_stalepath; /* Thread flags. */ -- 2.39.5