]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Merge commit 'c980f8002e0f0578d5e715d48d65d9fb9a0c5a70' into integrated
authorOndrej Zajicek <santiago@crfreenet.org>
Fri, 2 May 2014 16:25:41 +0000 (18:25 +0200)
committerOndrej Zajicek <santiago@crfreenet.org>
Fri, 2 May 2014 16:25:41 +0000 (18:25 +0200)
Conflicts:

sysdep/unix/krt.h

1  2 
conf/conf.c
nest/config.Y
nest/proto.c
nest/protocol.h
nest/route.h
nest/rt-table.c
proto/bgp/packets.c
sysdep/unix/krt.c
sysdep/unix/krt.h

diff --cc conf/conf.c
Simple merge
diff --cc nest/config.Y
index 4315979f8f5ffabc6f833e6d7b5fce680ae8685e,59d354b821aa55542e648eba444df26139a18fbc..c8ebd9bcc5043a207e2bb8c4d3baba879c5aef63
@@@ -104,11 -111,14 +105,16 @@@ listen_opt
   ;
  
  
+ CF_ADDTO(conf, gr_opts)
+ gr_opts: GRACEFUL RESTART WAIT expr ';' { new_config->gr_wait = $4; } ;
  /* Creation of routing tables */
  
 -tab_sorted:
 +CF_ADDTO(conf, table)
 +
 +table_sorted:
            { $$ = 0; }
   | SORTED { $$ = 1; }
   ;
diff --cc nest/proto.c
Simple merge
diff --cc nest/protocol.h
Simple merge
diff --cc nest/route.h
index 89efddd8a31a868c31ab6107b28df6a88d0d1e49,82d9e2025617735df3b1860861fd18b53d33d33e..762a475479a6d399bdc6a3ca1741c29486ed2a9f
@@@ -308,11 -274,17 +316,20 @@@ void rt_dump_all(void)
  int rt_feed_baby(struct proto *p);
  void rt_feed_baby_abort(struct proto *p);
  int rt_prune_loop(void);
 -struct rtable_config *rt_new_table(struct symbol *s);
 +struct rtable_config *rt_new_table(struct symbol *s, int addr_type);
 +static inline int rt_match(int rt, u32 rtlist) { return !rtlist || ((1 << rt)  & rtlist); }
 +int rt_addrsize(int addr_type); // XXXX needed?
 +
  
+ static inline void
+ rt_mark_for_prune(rtable *tab)
+ {
+   if (tab->prune_state == RPS_RUNNING)
+     fit_get(&tab->fib, &tab->prune_fit);
+   tab->prune_state = RPS_SCHEDULED;
+ }
  struct rt_show_data {
    ip_addr prefix;
    unsigned pxlen;
diff --cc nest/rt-table.c
Simple merge
Simple merge
Simple merge
index 2ce8d31ff57852a9720523f8da6cb3a606635f16,2cd23165612989d674568f0342045331fec10b81..1495999706fce43fe92fb02b27f8ed28321fe2b8
@@@ -63,8 -64,8 +64,9 @@@ struct krt_proto 
  #endif
  
    node krt_node;              /* Node in krt_proto_list */
-   int initialized;            /* First scan has already been finished */
 +  int addr_type;              /* Kernel table address type */
+   byte ready;                 /* Initial feed has been finished */
+   byte initialized;           /* First scan has been finished */
  };
  
  extern pool *krt_pool;