Use preferences properly.
This commit is contained in:
parent
1151401e2b
commit
916c8c0aba
4 changed files with 5 additions and 3 deletions
|
@ -351,10 +351,10 @@ extern struct protocol *attr_class_to_protocol[EAP_MAX];
|
||||||
|
|
||||||
#define DEF_PREF_DIRECT 240 /* Directly connected */
|
#define DEF_PREF_DIRECT 240 /* Directly connected */
|
||||||
#define DEF_PREF_STATIC 200 /* Static route */
|
#define DEF_PREF_STATIC 200 /* Static route */
|
||||||
#define DEF_PREF_OSPF_INTERNAL 150 /* OSPF intra-area, inter-area and type 1 external routes */
|
#define DEF_PREF_OSPF 150 /* OSPF intra-area, inter-area and type 1 external routes */
|
||||||
#define DEF_PREF_RIP 120 /* RIP */
|
#define DEF_PREF_RIP 120 /* RIP */
|
||||||
#define DEF_PREF_BGP 100 /* BGP */
|
#define DEF_PREF_BGP 100 /* BGP */
|
||||||
#define DEF_PREF_OSPF_EXTERNAL 80 /* OSPF external routes */
|
|
||||||
#define DEF_PREF_PIPE 70 /* Routes piped from other tables */
|
#define DEF_PREF_PIPE 70 /* Routes piped from other tables */
|
||||||
|
#define DEF_PREF_INHERITED 10 /* Routes inherited from other routing daemons */
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -20,6 +20,7 @@ CF_ADDTO(proto, ospf_proto '}')
|
||||||
|
|
||||||
ospf_proto_start: proto_start OSPF {
|
ospf_proto_start: proto_start OSPF {
|
||||||
this_proto = proto_config_new(&proto_ospf, sizeof(struct ospf_config));
|
this_proto = proto_config_new(&proto_ospf, sizeof(struct ospf_config));
|
||||||
|
this_proto->preference = DEF_PREF_OSPF;
|
||||||
}
|
}
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|
|
@ -211,6 +211,7 @@ again:
|
||||||
e->u.ospf.tag=0; /* FIXME Some config? */
|
e->u.ospf.tag=0; /* FIXME Some config? */
|
||||||
e->pflags = 0;
|
e->pflags = 0;
|
||||||
e->net=ne;
|
e->net=ne;
|
||||||
|
e->pref = p->preference;
|
||||||
DBG("Modifying rt entry %I\n (IP: %I, GW: %I, Iface: %s)\n",
|
DBG("Modifying rt entry %I\n (IP: %I, GW: %I, Iface: %s)\n",
|
||||||
nf->fn.prefix,ip,en->nh,en->nhi->name);
|
nf->fn.prefix,ip,en->nh,en->nhi->name);
|
||||||
rte_update(p->table, ne, p, e);
|
rte_update(p->table, ne, p, e);
|
||||||
|
|
|
@ -31,7 +31,7 @@ kern_proto_start: proto_start KERNEL {
|
||||||
cf_error("Kernel protocol already defined");
|
cf_error("Kernel protocol already defined");
|
||||||
#endif
|
#endif
|
||||||
cf_krt = this_proto = proto_config_new(&proto_unix_kernel, sizeof(struct krt_config));
|
cf_krt = this_proto = proto_config_new(&proto_unix_kernel, sizeof(struct krt_config));
|
||||||
this_proto->preference = 0;
|
this_proto->preference = DEF_PREF_INHERITED;
|
||||||
THIS_KRT->scan_time = 60;
|
THIS_KRT->scan_time = 60;
|
||||||
THIS_KRT->learn = THIS_KRT->persist = 0;
|
THIS_KRT->learn = THIS_KRT->persist = 0;
|
||||||
krt_scan_construct(THIS_KRT);
|
krt_scan_construct(THIS_KRT);
|
||||||
|
|
Loading…
Reference in a new issue