diff options
| author | Donald Sharp <sharpd@nvidia.com> | 2021-08-09 23:01:32 -0400 | 
|---|---|---|
| committer | Donald Sharp <sharpd@nvidia.com> | 2023-08-18 09:29:04 -0400 | 
| commit | 5d527567357ed859eeb01062777f2c313ee08da2 (patch) | |
| tree | cb7cfde3b7a16edf4deb69b602655041744dfc4a | |
| parent | e20c23fa5b06f1dcef4e99df5099e55251d9d9bd (diff) | |
bgpd: Move t_process_packet and t_process_packet_error to connection
The t_process_packet thread events should be managed by the connection.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
| -rw-r--r-- | bgpd/bgp_fsm.c | 4 | ||||
| -rw-r--r-- | bgpd/bgp_io.c | 11 | ||||
| -rw-r--r-- | bgpd/bgp_packet.c | 2 | ||||
| -rw-r--r-- | bgpd/bgpd.h | 5 | 
4 files changed, 11 insertions, 11 deletions
diff --git a/bgpd/bgp_fsm.c b/bgpd/bgp_fsm.c index b951ada196..41d386ebaa 100644 --- a/bgpd/bgp_fsm.c +++ b/bgpd/bgp_fsm.c @@ -172,7 +172,7 @@ static struct peer *peer_xfer_conn(struct peer *from_peer)  	EVENT_OFF(from_peer->t_delayopen);  	EVENT_OFF(from_peer->t_connect_check_r);  	EVENT_OFF(from_peer->t_connect_check_w); -	EVENT_OFF(from_peer->t_process_packet); +	EVENT_OFF(from_peer->connection.t_process_packet);  	/*  	 * At this point in time, it is possible that there are packets pending @@ -341,7 +341,7 @@ static struct peer *peer_xfer_conn(struct peer *from_peer)  	bgp_reads_on(&peer->connection);  	bgp_writes_on(&peer->connection);  	event_add_event(bm->master, bgp_process_packet, &peer->connection, 0, -			&peer->t_process_packet); +			&peer->connection.t_process_packet);  	return (peer);  } diff --git a/bgpd/bgp_io.c b/bgpd/bgp_io.c index 5b7d234f9d..efef773d85 100644 --- a/bgpd/bgp_io.c +++ b/bgpd/bgp_io.c @@ -97,13 +97,12 @@ void bgp_reads_on(struct peer_connection *connection)  void bgp_reads_off(struct peer_connection *connection)  { -	struct peer *peer = connection->peer;  	struct frr_pthread *fpt = bgp_pth_io;  	assert(fpt->running);  	event_cancel_async(fpt->master, &connection->t_read, NULL); -	EVENT_OFF(peer->t_process_packet); -	EVENT_OFF(peer->t_process_packet_error); +	EVENT_OFF(connection->t_process_packet); +	EVENT_OFF(connection->t_process_packet_error);  	UNSET_FLAG(connection->thread_flags, PEER_THREAD_READS_ON);  } @@ -255,8 +254,8 @@ static void bgp_process_reads(struct event *thread)  		/* Handle the error in the main pthread, include the  		 * specific state change from 'bgp_read'.  		 */ -		event_add_event(bm->master, bgp_packet_process_error, -				connection, code, &peer->t_process_packet_error); +		event_add_event(bm->master, bgp_packet_process_error, connection, +				code, &connection->t_process_packet_error);  		goto done;  	} @@ -299,7 +298,7 @@ done:  		       &connection->t_read);  	if (added_pkt)  		event_add_event(bm->master, bgp_process_packet, connection, 0, -				&peer->t_process_packet); +				&connection->t_process_packet);  }  /* diff --git a/bgpd/bgp_packet.c b/bgpd/bgp_packet.c index e13d1fd937..7bee979c68 100644 --- a/bgpd/bgp_packet.c +++ b/bgpd/bgp_packet.c @@ -3146,7 +3146,7 @@ void bgp_process_packet(struct event *thread)  			if (connection->ibuf->count > 0)  				event_add_event(bm->master, bgp_process_packet,  						connection, 0, -						&peer->t_process_packet); +						&connection->t_process_packet);  		}  	}  } diff --git a/bgpd/bgpd.h b/bgpd/bgpd.h index 5215c6a08d..196f25a24c 100644 --- a/bgpd/bgpd.h +++ b/bgpd/bgpd.h @@ -1139,6 +1139,9 @@ struct peer_connection {  	struct event *t_read;  	struct event *t_write; +	struct event *t_process_packet; +	struct event *t_process_packet_error; +  	/* Thread flags */  	_Atomic uint32_t thread_flags;  #define PEER_THREAD_WRITES_ON (1U << 0) @@ -1557,8 +1560,6 @@ struct peer {  	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_process_packet; -	struct event *t_process_packet_error;  	struct event *t_refresh_stalepath;  	/* Thread flags. */  | 
