multicast: remove useless parameter for group add
authorHangbin Liu <liuhangbin@gmail.com>
Fri, 20 Jul 2018 06:07:42 +0000 (14:07 +0800)
committerDavid S. Miller <davem@davemloft.net>
Sun, 22 Jul 2018 05:46:39 +0000 (22:46 -0700)
Remove the mode parameter for igmp/igmp6_group_added as we can get it
from first parameter.

Fixes: 6e2059b53f988 (ipv4/igmp: init group mode as INCLUDE when join source group)
Fixes: c7ea20c9da5b9 (ipv6/mcast: init as INCLUDE when join SSM INCLUDE group)
Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/igmp.c
net/ipv6/mcast.c

index b3c899a..598333b 100644 (file)
@@ -1289,7 +1289,7 @@ static void igmp_group_dropped(struct ip_mc_list *im)
 #endif
 }
 
-static void igmp_group_added(struct ip_mc_list *im, unsigned int mode)
+static void igmp_group_added(struct ip_mc_list *im)
 {
        struct in_device *in_dev = im->interface;
 #ifdef CONFIG_IP_MULTICAST
@@ -1321,7 +1321,7 @@ static void igmp_group_added(struct ip_mc_list *im, unsigned int mode)
         * not send filter-mode change record as the mode should be from
         * IN() to IN(A).
         */
-       if (mode == MCAST_EXCLUDE)
+       if (im->sfmode == MCAST_EXCLUDE)
                im->crcount = in_dev->mr_qrv ?: net->ipv4.sysctl_igmp_qrv;
 
        igmp_ifc_event(in_dev);
@@ -1432,7 +1432,7 @@ void __ip_mc_inc_group(struct in_device *in_dev, __be32 addr, unsigned int mode)
 #ifdef CONFIG_IP_MULTICAST
        igmpv3_del_delrec(in_dev, im);
 #endif
-       igmp_group_added(im, mode);
+       igmp_group_added(im);
        if (!in_dev->dead)
                ip_rt_multicast_event(in_dev);
 out:
@@ -1699,7 +1699,7 @@ void ip_mc_remap(struct in_device *in_dev)
 #ifdef CONFIG_IP_MULTICAST
                igmpv3_del_delrec(in_dev, pmc);
 #endif
-               igmp_group_added(pmc, pmc->sfmode);
+               igmp_group_added(pmc);
        }
 }
 
@@ -1762,7 +1762,7 @@ void ip_mc_up(struct in_device *in_dev)
 #ifdef CONFIG_IP_MULTICAST
                igmpv3_del_delrec(in_dev, pmc);
 #endif
-               igmp_group_added(pmc, pmc->sfmode);
+               igmp_group_added(pmc);
        }
 }
 
index 2699be7..195ed2d 100644 (file)
@@ -660,7 +660,7 @@ bool inet6_mc_check(struct sock *sk, const struct in6_addr *mc_addr,
        return rv;
 }
 
-static void igmp6_group_added(struct ifmcaddr6 *mc, unsigned int mode)
+static void igmp6_group_added(struct ifmcaddr6 *mc)
 {
        struct net_device *dev = mc->idev->dev;
        char buf[MAX_ADDR_LEN];
@@ -690,7 +690,7 @@ static void igmp6_group_added(struct ifmcaddr6 *mc, unsigned int mode)
         * should not send filter-mode change record as the mode
         * should be from IN() to IN(A).
         */
-       if (mode == MCAST_EXCLUDE)
+       if (mc->mca_sfmode == MCAST_EXCLUDE)
                mc->mca_crcount = mc->idev->mc_qrv;
 
        mld_ifc_event(mc->idev);
@@ -932,7 +932,7 @@ static int __ipv6_dev_mc_inc(struct net_device *dev,
        write_unlock_bh(&idev->lock);
 
        mld_del_delrec(idev, mc);
-       igmp6_group_added(mc, mode);
+       igmp6_group_added(mc);
        ma_put(mc);
        return 0;
 }
@@ -2572,7 +2572,7 @@ void ipv6_mc_up(struct inet6_dev *idev)
        ipv6_mc_reset(idev);
        for (i = idev->mc_list; i; i = i->next) {
                mld_del_delrec(idev, i);
-               igmp6_group_added(i, i->mca_sfmode);
+               igmp6_group_added(i);
        }
        read_unlock_bh(&idev->lock);
 }