Revision 517d05df

View differences:

nest/route.h
309 309
void rt_feed_channel_abort(struct channel *c);
310 310
struct rtable_config *rt_new_table(struct symbol *s, uint addr_type);
311 311

  
312
/* Default limit for ECMP next hops, defined in sysdep code */
313
extern const int rt_default_ecmp;
312 314

  
313 315
struct rt_show_data_rtable {
314 316
  node n;
proto/bgp/config.Y
58 58
     BGP_CFG->gr_mode = BGP_GR_AWARE;
59 59
     BGP_CFG->gr_time = 120;
60 60
     BGP_CFG->setkey = 1;
61
     BGP_CFG->check_link = 1;
61 62
   }
62 63
 ;
63 64

  
proto/ospf/config.Y
219 219

  
220 220
  init_list(&OSPF_CFG->area_list);
221 221
  init_list(&OSPF_CFG->vlink_list);
222
  OSPF_CFG->ecmp = rt_default_ecmp;
222 223
  OSPF_CFG->tick = OSPF_DEFAULT_TICK;
223 224
  OSPF_CFG->ospf2 = $2;
224 225
  OSPF_CFG->af_ext = !$2;
......
461 462
  OSPF_PATT->deadc = DEADC_D;
462 463
  OSPF_PATT->type = OSPF_IT_UNDEF;
463 464
  init_list(&OSPF_PATT->nbma_list);
465
  OSPF_PATT->check_link = 1;
464 466
  OSPF_PATT->ptp_netmask = 2; /* not specified */
465 467
  OSPF_PATT->tx_tos = IP_PREC_INTERNET_CONTROL;
466 468
  OSPF_PATT->tx_priority = sk_priority_control;
proto/rip/config.Y
56 56

  
57 57
  init_list(&RIP_CFG->patt_list);
58 58
  RIP_CFG->rip2 = $2;
59
  RIP_CFG->ecmp = rt_default_ecmp;
59 60
  RIP_CFG->infinity = RIP_DEFAULT_INFINITY;
60 61
  RIP_CFG->min_timeout_time = 60 S_;
61 62
  RIP_CFG->max_garbage_time = 60 S_;
......
92 93
  RIP_IFACE->split_horizon = 1;
93 94
  RIP_IFACE->poison_reverse = 1;
94 95
  RIP_IFACE->check_zero = 1;
96
  RIP_IFACE->check_link = 1;
95 97
  RIP_IFACE->ttl_security = rip_cfg_is_v2() ? 0 : 1;
96 98
  RIP_IFACE->rx_buffer = rip_cfg_is_v2() ? RIP_MAX_PKT_LENGTH : 0;
97 99
  RIP_IFACE->tx_length = rip_cfg_is_v2() ? RIP_MAX_PKT_LENGTH : 0;
sysdep/bsd/krt-sock.c
33 33
#include "lib/string.h"
34 34
#include "lib/socket.h"
35 35

  
36
const int rt_default_ecmp = 0;
36 37

  
37 38
/*
38 39
 * There are significant differences in multiple tables support between BSD variants.
......
145 146
{
146 147
  rta *a = e->attrs;
147 148

  
148
  /* XXXX device routes are broken */
149 149
  return
150
    ((a->dest == RTD_UNICAST && ipa_nonzero(a->nh.gw) && !a->nh.next) /* No multipath support */
150
    ((a->dest == RTD_UNICAST && !a->nh.next) /* No multipath support */
151 151
#ifdef RTF_REJECT
152 152
     || a->dest == RTD_UNREACHABLE
153 153
#endif
sysdep/linux/netlink.c
80 80

  
81 81
#define krt_ecmp6(p) ((p)->af == AF_INET6)
82 82

  
83
const int rt_default_ecmp = 16;
84

  
83 85
/*
84 86
 * Structure nl_parse_state keeps state of received route processing. Ideally,
85 87
 * we could just independently parse received Netlink messages and immediately

Also available in: Unified diff