]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Merge commit '534d0a4b' into thread-next
authorMaria Matejka <mq@ucw.cz>
Fri, 5 Aug 2022 08:37:53 +0000 (10:37 +0200)
committerMaria Matejka <mq@ucw.cz>
Fri, 5 Aug 2022 08:37:53 +0000 (10:37 +0200)
1  2 
sysdep/linux/netlink.c
sysdep/unix/krt.c
sysdep/unix/krt.h

Simple merge
index f796a15936fca444e58b4835a8bf24deab8f20db,342adee55ce6424e2107ac617be4bba1acd4c782..cfa9b1ee3a9c94fe443c5a50d4408d366772e5b9
@@@ -576,8 -780,10 +576,9 @@@ krt_got_route_async(struct krt_proto *p
        }
  #endif
      }
 -  rte_free(e);
  }
  
  /*
   *    Periodic scanning
   */
index e0d60cbd402716a9e158792be6f4ecf460bad69f,1536e5025ec5410ceef5be1f9e76af75b4917643..9f7ebb4f4fb7ccc5de8920187010f638d16b6e04
@@@ -21,15 -21,8 +21,10 @@@ struct kif_proto
  
  #define KRT_DEFAULT_ECMP_LIMIT        16
  
- #if 0
--#define EA_KRT_SOURCE EA_CODE(PROTOCOL_KERNEL, 0)
--#define EA_KRT_METRIC EA_CODE(PROTOCOL_KERNEL, 1)
- #endif
 +extern struct ea_class ea_krt_source, ea_krt_metric;
 +
 +#define KRT_REF_SEEN  0x1     /* Seen in table */
 +#define KRT_REF_BEST  0x2     /* Best in table */
  
  /* Whenever we recognize our own routes, we allow learing of foreign routes */
  
@@@ -55,10 -48,11 +50,7 @@@ struct krt_proto 
    struct proto p;
    struct krt_state sys;               /* Sysdep state */
  
- #ifndef CONFIG_ALL_TABLES_AT_ONCE
 -#ifdef KRT_ALLOW_LEARN
 -  struct rtable *krt_table;   /* Internal table of inherited routes */
 -#endif
 -
    timer *scan_timer;
- #endif
    struct bmap sync_map;               /* Keeps track which exported routes were successfully written to kernel */
    struct bmap seen_map;               /* Routes seen during last periodic scan */
    node krt_node;              /* Node in krt_proto_list */
@@@ -80,8 -73,9 +72,9 @@@ extern pool *krt_pool
  
  struct proto_config * kif_init_config(int class);
  void kif_request_scan(void);
 -void krt_got_route(struct krt_proto *p, struct rte *e);
 -void krt_got_route_async(struct krt_proto *p, struct rte *e, int new);
+ void krt_use_shared_scan(void);
 +void krt_got_route(struct krt_proto *p, struct rte *e, s8 src);
 +void krt_got_route_async(struct krt_proto *p, struct rte *e, int new, s8 src);
  
  static inline int
  krt_get_sync_error(struct krt_proto *p, struct rte *e)