X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;f=net%2Fipv6%2Fmcast.c;h=f9fcf690bd5d60781f7c9c1d9e152eafb6712367;hb=69585dd69e663a40729492c7b52eb82477a2027a;hp=71c3dacec1ed008c7f291e4aef0b7e6d55fe1c5e;hpb=3aee0605a41399063c0ad396f1f4267108f210d3;p=mv-sheeva.git diff --git a/net/ipv6/mcast.c b/net/ipv6/mcast.c index 71c3dacec1e..f9fcf690bd5 100644 --- a/net/ipv6/mcast.c +++ b/net/ipv6/mcast.c @@ -2249,6 +2249,25 @@ static void igmp6_timer_handler(unsigned long data) ma_put(ma); } +/* Device changing type */ + +void ipv6_mc_unmap(struct inet6_dev *idev) +{ + struct ifmcaddr6 *i; + + /* Install multicast list, except for all-nodes (already installed) */ + + read_lock_bh(&idev->lock); + for (i = idev->mc_list; i; i = i->next) + igmp6_group_dropped(i); + read_unlock_bh(&idev->lock); +} + +void ipv6_mc_remap(struct inet6_dev *idev) +{ + ipv6_mc_up(idev); +} + /* Device going down */ void ipv6_mc_down(struct inet6_dev *idev)