--- embedaddon/bird/proto/babel/babel.c 2017/08/22 12:33:54 1.1.1.1 +++ embedaddon/bird/proto/babel/babel.c 2021/03/17 19:50:23 1.1.1.2 @@ -1488,17 +1488,10 @@ babel_add_iface(struct babel_proto *p, struct iface *n ifa->cf = ic; ifa->pool = pool; ifa->ifname = new->name; + ifa->addr = new->llv6->ip; add_tail(&p->interfaces, NODE ifa); - struct ifa *addr; - WALK_LIST(addr, new->addrs) - if (ipa_is_link_local(addr->ip)) - ifa->addr = addr->ip; - - if (ipa_zero(ifa->addr)) - log(L_WARN "%s: Cannot find link-local addr on %s", p->p.name, new->name); - init_list(&ifa->neigh_list); ifa->hello_seqno = 1; @@ -1549,6 +1542,10 @@ babel_if_notify(struct proto *P, unsigned flags, struc /* we only speak multicast */ if (!(iface->flags & IF_MULTICAST)) + return; + + /* Ignore ifaces without link-local address */ + if (!iface->llv6) return; if (ic)