diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c index 0c804716a2aa74d97086fb22fcf9f4d03ee2eb34..627cd24b7c0d0ffdefc9020e5c4f514fd48c9eea 100644 --- a/net/ipv6/addrconf.c +++ b/net/ipv6/addrconf.c @@ -3241,6 +3241,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) {