Skip to content

Commit

Permalink
IPv6: Create temporary address if none exists.
Browse files Browse the repository at this point in the history
If privacy extentions are enabled, but no current temporary address exists,
then create one when we get a router advertisement.

Signed-off-by: Glenn Wurster <gwurster@scs.carleton.ca>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Glenn Wurster authored and David S. Miller committed Oct 26, 2010
1 parent ded85aa commit aed6550
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions net/ipv6/addrconf.c
Original file line number Diff line number Diff line change
Expand Up @@ -2021,10 +2021,11 @@ void addrconf_prefix_rcv(struct net_device *dev, u8 *opt, int len)
ipv6_ifa_notify(0, ift);
}

if (create && in6_dev->cnf.use_tempaddr > 0) {
if ((create || list_empty(&in6_dev->tempaddr_list)) && in6_dev->cnf.use_tempaddr > 0) {
/*
* When a new public address is created as described in [ADDRCONF],
* also create a new temporary address.
* also create a new temporary address. Also create a temporary
* address if it's enabled but no temporary address currently exists.
*/
read_unlock_bh(&in6_dev->lock);
ipv6_create_tempaddr(ifp, NULL);
Expand Down

0 comments on commit aed6550

Please sign in to comment.