diff options
Diffstat (limited to 'sysdep/unix/krt.Y')
-rw-r--r-- | sysdep/unix/krt.Y | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/sysdep/unix/krt.Y b/sysdep/unix/krt.Y index 11fd0c0..40f1af9 100644 --- a/sysdep/unix/krt.Y +++ b/sysdep/unix/krt.Y @@ -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_or_none 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 |