On Wed, Mar 04, 2020 at 11:07:36AM +0100, Rafał Miłecki wrote:
BINGO.
Summary:
Every "ifconfig $dev down" results in:
ipv6_mc_down() → igmp6_group_dropped() → igmp6_leave_group() → mld_add_delrec()
& allocating & adding "struct ifmcaddr6" (ff02::2) to the idev->mc_tomb.
Yes, when link down, we store the pmc info in idev->mc_tomb via
mld_add_delrec(), but later when link up, we didn't create new pmc,
but just copy the pmc info in idev->mc_tomb to current idev via
mld_del_delrec() and free the tomb pmc.
Should I still try it given my above debugging results?
In the new patch, I removed the "ff02::2" address in ipv6_mc_down()
and re-added it in ipv6_mc_up(). I would appreciate if you could help
try it and see if we really did wrong in mld_add_delrec().
Thanks
Hangbin