diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c index a11fd4d67832..84a28b539c43 100644 --- a/net/ipv6/addrconf.c +++ b/net/ipv6/addrconf.c @@ -3298,6 +3298,10 @@ static void addrconf_addr_gen(struct inet6_dev *idev, bool prefix_route) if (netif_is_l3_master(idev->dev)) return; + /* no link local addresses on devices flagged as slaves */ + if (idev->dev->flags & IFF_SLAVE) + return; + ipv6_addr_set(&addr, htonl(0xFE800000), 0, 0, 0); switch (idev->cnf.addr_gen_mode) {