Add 'primary' configuration option.
This commit is contained in:
parent
7c3d06b087
commit
6f68f066b6
2 changed files with 16 additions and 0 deletions
|
@ -68,6 +68,7 @@ kif_proto_start: proto_start DEVICE {
|
||||||
cf_kif = this_proto = proto_config_new(&proto_unix_iface, sizeof(struct kif_config));
|
cf_kif = this_proto = proto_config_new(&proto_unix_iface, sizeof(struct kif_config));
|
||||||
this_proto->preference = DEF_PREF_DIRECT;
|
this_proto->preference = DEF_PREF_DIRECT;
|
||||||
THIS_KIF->scan_time = 60;
|
THIS_KIF->scan_time = 60;
|
||||||
|
init_list(&THIS_KIF->primary);
|
||||||
krt_if_construct(THIS_KIF);
|
krt_if_construct(THIS_KIF);
|
||||||
}
|
}
|
||||||
;
|
;
|
||||||
|
@ -81,6 +82,13 @@ kif_item:
|
||||||
/* Scan time of 0 means scan on startup only */
|
/* Scan time of 0 means scan on startup only */
|
||||||
THIS_KIF->scan_time = $3;
|
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
|
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;
|
extern struct protocol proto_unix_iface;
|
||||||
|
|
||||||
|
struct kif_primary_item {
|
||||||
|
node n;
|
||||||
|
byte *pattern;
|
||||||
|
ip_addr prefix;
|
||||||
|
int pxlen;
|
||||||
|
};
|
||||||
|
|
||||||
struct kif_config {
|
struct kif_config {
|
||||||
struct proto_config c;
|
struct proto_config c;
|
||||||
struct krt_if_params iface;
|
struct krt_if_params iface;
|
||||||
int scan_time; /* How often we re-scan interfaces */
|
int scan_time; /* How often we re-scan interfaces */
|
||||||
|
list primary; /* Preferences for primary addresses */
|
||||||
};
|
};
|
||||||
|
|
||||||
struct kif_proto {
|
struct kif_proto {
|
||||||
|
|
Loading…
Reference in a new issue