#define DEF_PREF_DIRECT 240 /* Directly connected */
#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_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_INHERITED 10 /* Routes inherited from other routing daemons */
#endif
ospf_proto_start: proto_start OSPF {
this_proto = proto_config_new(&proto_ospf, sizeof(struct ospf_config));
+ this_proto->preference = DEF_PREF_OSPF;
}
;
e->u.ospf.tag=0; /* FIXME Some config? */
e->pflags = 0;
e->net=ne;
+ e->pref = p->preference;
DBG("Modifying rt entry %I\n (IP: %I, GW: %I, Iface: %s)\n",
nf->fn.prefix,ip,en->nh,en->nhi->name);
rte_update(p->table, ne, p, e);
cf_error("Kernel protocol already defined");
#endif
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->learn = THIS_KRT->persist = 0;
krt_scan_construct(THIS_KRT);