Commit 6f68f066 authored by Ondřej Zajíček's avatar Ondřej Zajíček

Add 'primary' configuration option.

parent 7c3d06b0
......@@ -68,6 +68,7 @@ kif_proto_start: proto_start DEVICE {
cf_kif = this_proto = proto_config_new(&proto_unix_iface, sizeof(struct kif_config));
this_proto->preference = DEF_PREF_DIRECT;
THIS_KIF->scan_time = 60;
init_list(&THIS_KIF->primary);
krt_if_construct(THIS_KIF);
}
;
......@@ -81,6 +82,13 @@ kif_item:
/* Scan time of 0 means scan on startup only */
THIS_KIF->scan_time = $3;
}
| PRIMARY TEXT prefix_or_ipa {
struct kif_primary_item *kpi = cfg_alloc(sizeof (struct kif_primary_item));
kpi->pattern = $2;
kpi->prefix = $3.addr;
kpi->pxlen = $3.len;
add_tail(&THIS_KIF->primary, &kpi->n);
}
;
CF_CODE
......
......@@ -86,10 +86,18 @@ void krt_got_route_async(struct krt_proto *p, struct rte *e, int new);
extern struct protocol proto_unix_iface;
struct kif_primary_item {
node n;
byte *pattern;
ip_addr prefix;
int pxlen;
};
struct kif_config {
struct proto_config c;
struct krt_if_params iface;
int scan_time; /* How often we re-scan interfaces */
list primary; /* Preferences for primary addresses */
};
struct kif_proto {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment