diff --git a/filter/config.Y b/filter/config.Y index a64bb932..12e593d0 100644 --- a/filter/config.Y +++ b/filter/config.Y @@ -112,7 +112,7 @@ f_new_ec_item(u32 kind, u32 ipv4_used, u32 key, u32 vf, u32 vt) { u64 fm, to; - if (ipv4_used || (key >= 0x10000)) { + if ((kind != EC_GENERIC) && (ipv4_used || (key >= 0x10000))) { check_u16(vf); if (vt == EC_ALL) vt = 0xFFFF; diff --git a/proto/radv/radv.c b/proto/radv/radv.c index 4a6593b8..b4b1bc58 100644 --- a/proto/radv/radv.c +++ b/proto/radv/radv.c @@ -167,7 +167,7 @@ radv_iface_new(struct radv_proto *p, struct iface *iface, struct radv_iface_conf ifa->addr = find_lladdr(iface); if (!ifa->addr) { - log(L_ERR "%s: Cannot find link-locad addr on interface %s", p->p.name, iface->name); + log(L_ERR "%s: Missing link-local address on interface %s", p->p.name, iface->name); return; } @@ -389,7 +389,7 @@ radv_reconfigure(struct proto *P, struct proto_config *CF) if (!proto_configure_channel(P, &P->main_channel, proto_cf_main_channel(CF))) return 0; - P->cf = CF; /* radv_check_active() requires proper p->cf */ + P->cf = CF; /* radv_check_active() requires proper P->cf */ p->active = radv_check_active(p); struct iface *iface;