mirror of
				https://gitlab.labs.nic.cz/labs/bird.git
				synced 2024-05-11 16:54:54 +00:00 
			
		
		
		
	BGP refeed and reload with Adj-RIB-In/Out is done without route refresh
This commit is contained in:
		@@ -1464,6 +1464,12 @@ bgp_feed_begin(struct channel *C, int initial)
 | 
			
		||||
  if (initial && p->cf->gr_mode)
 | 
			
		||||
    c->feed_state = BFS_LOADING;
 | 
			
		||||
 | 
			
		||||
  if (!initial && C->out_table)
 | 
			
		||||
  {
 | 
			
		||||
    c->feed_out_table = 1;
 | 
			
		||||
    return;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /* It is refeed and both sides support enhanced route refresh */
 | 
			
		||||
  if (!initial && p->enhanced_refresh)
 | 
			
		||||
  {
 | 
			
		||||
@@ -1482,6 +1488,12 @@ bgp_feed_end(struct channel *C)
 | 
			
		||||
  struct bgp_proto *p = (void *) C->proto;
 | 
			
		||||
  struct bgp_channel *c = (void *) C;
 | 
			
		||||
 | 
			
		||||
  if (c->feed_out_table)
 | 
			
		||||
  {
 | 
			
		||||
    c->feed_out_table = 0;
 | 
			
		||||
    return;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /* This should not happen */
 | 
			
		||||
  if (!p->conn)
 | 
			
		||||
    return;
 | 
			
		||||
 
 | 
			
		||||
@@ -383,6 +383,8 @@ struct bgp_channel {
 | 
			
		||||
 | 
			
		||||
  u8 feed_state;			/* Feed state (TX) for EoR, RR packets, see BFS_* */
 | 
			
		||||
  u8 load_state;			/* Load state (RX) for EoR, RR packets, see BFS_* */
 | 
			
		||||
 | 
			
		||||
  u8 feed_out_table;			/* Refeed into out_table */
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
struct bgp_prefix {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user