]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Merge commit 'c6964c305b425b98aaf0492806a28b578d799d83' into integrated
authorOndrej Zajicek <santiago@crfreenet.org>
Wed, 31 Jul 2013 15:39:16 +0000 (17:39 +0200)
committerOndrej Zajicek <santiago@crfreenet.org>
Wed, 31 Jul 2013 15:39:16 +0000 (17:39 +0200)
Conflicts:

sysdep/bsd/krt-sock.c
sysdep/linux/netlink.c
sysdep/unix/krt.h

1  2 
sysdep/bsd/krt-sock.c
sysdep/bsd/krt-sys.h
sysdep/linux/netlink.c
sysdep/unix/krt.c
sysdep/unix/krt.h

index 6aabef2b0a512da5781578b64673c5ed040951d3,cad0cfc94ee46149193841dec05c8ef78f5510e8..49c45e668f903f3f567b299f542b4c5bfc4b8e9f
@@@ -749,16 -681,14 +749,16 @@@ static size_t kif_buflen = 4096
  void
  krt_do_scan(struct krt_proto *p)
  {
-   krt_sysctl_scan((struct proto *)p, p->krt_pool, &krt_buffer, &krt_buflen,
 -  krt_sysctl_scan(&p->p, p->p.pool, &krt_buffer, &krt_buflen, NET_RT_DUMP);
++<<<<<<< HEAD:sysdep/bsd/krt-sock.c
++  krt_sysctl_scan(&p->p, p->krt_pool, &krt_buffer, &krt_buflen,
 +                NET_RT_DUMP, rt_to_af(p->addr_type));
  }
  
  void
  kif_do_scan(struct kif_proto *p)
  {
-   struct proto *P = (struct proto *)p;
    if_start_update();
-   krt_sysctl_scan(P, P->pool, &kif_buffer, &kif_buflen, NET_RT_IFLIST, 0);
 -  krt_sysctl_scan(&p->p, p->p.pool, &kif_buffer, &kif_buflen, NET_RT_IFLIST);
++  krt_sysctl_scan(&p->p, p->p.pool, &kif_buffer, &kif_buflen, NET_RT_IFLIST, 0);
    if_end_update();
  }
  
Simple merge
index 2b434c4c4b63f6bd38df765ec8f404a20e434e84,f61e31a5069e67e5e890328c5d90417876a832a9..593f8c5be2721fd84b07a3dabaf6dc3a4785bd34
@@@ -1101,15 -1083,15 +1101,13 @@@ nl_open_async(void
   *    Interface to the UNIX krt module
   */
  
 -static u8 nl_cf_table[(NL_NUM_TABLES+7) / 8];
 -
  void
- krt_sys_start(struct krt_proto *p, int first)
+ krt_sys_start(struct krt_proto *p)
  {
 -  nl_table_map[KRT_CF->sys.table_id] = p;
 +  nl_tablex_map(p->addr_type == RT_IPV4)[KRT_CF->sys.table_id] = p;
-   if (first)
-     {
-       nl_open();
-       nl_open_async();
-     }
+   nl_open();
+   nl_open_async();
  }
  
  void
index 3442784714fd5879d177c6e81860e606327a6ae1,54297921c7c2dcad7d5f541014ca780a84dda962..39d4729d94741241cf95c184d2c8e998c0a1bf3a
@@@ -960,21 -996,9 +997,11 @@@ static in
  krt_start(struct proto *P)
  {
    struct krt_proto *p = (struct krt_proto *) P;
-   int first = 1;
  
- #ifdef CONFIG_ALL_TABLES_AT_ONCE
-   if (!krt_instance_count++)
-     init_list(&krt_instance_list);
-   else
-     first = 0;
-   p->krt_pool = krt_pool;
-   add_tail(&krt_instance_list, &p->instance_node);
- #else
-   p->krt_pool = P->pool;
- #endif
+   add_tail(&krt_proto_list, &p->krt_node);
  
 +  p->addr_type = p->p.table->addr_type;
 +
  #ifdef KRT_ALLOW_LEARN
    krt_learn_init(p);
  #endif
index 98a4785898eab948396d1772dcba7a673c1de1b6,446914d2bbd13d6863b987c79daa165bb2b020c6..a458b51e71453e5bc18c4126bcdcc79752bb1611
@@@ -56,12 -57,12 +57,13 @@@ struct krt_proto 
  #ifdef KRT_ALLOW_LEARN
    struct rtable krt_table;    /* Internal table of inherited routes */
  #endif
-   pool *krt_pool;             /* Pool used for common krt data */
+ #ifndef CONFIG_ALL_TABLES_AT_ONCE
    timer *scan_timer;
- #ifdef CONFIG_ALL_TABLES_AT_ONCE
-   node instance_node;         /* Node in krt instance list */
  #endif
+   node krt_node;              /* Node in krt_proto_list */
 +  int addr_type;              /* Kernel table address type */
    int initialized;            /* First scan has already been finished */
  };