|
@@ -3386,9 +3386,15 @@ static int addrconf_notify(struct notifier_block *this, unsigned long event,
|
|
|
}
|
|
|
|
|
|
if (idev) {
|
|
|
- if (idev->if_flags & IF_READY)
|
|
|
- /* device is already configured. */
|
|
|
+ if (idev->if_flags & IF_READY) {
|
|
|
+ /* device is already configured -
|
|
|
+ * but resend MLD reports, we might
|
|
|
+ * have roamed and need to update
|
|
|
+ * multicast snooping switches
|
|
|
+ */
|
|
|
+ ipv6_mc_up(idev);
|
|
|
break;
|
|
|
+ }
|
|
|
idev->if_flags |= IF_READY;
|
|
|
}
|
|
|
|