Lines Matching defs:psl
2315 struct ip_sf_socklist *psl;
2360 psl = rtnl_dereference(pmc->sflist);
2362 if (!psl)
2365 for (i = 0; i < psl->sl_count; i++) {
2366 rv = memcmp(&psl->sl_addr[i], &mreqs->imr_sourceaddr,
2375 if (psl->sl_count == 1 && omode == MCAST_INCLUDE) {
2384 for (j = i+1; j < psl->sl_count; j++)
2385 psl->sl_addr[j-1] = psl->sl_addr[j];
2386 psl->sl_count--;
2392 if (psl && psl->sl_count >= READ_ONCE(net->ipv4.sysctl_igmp_max_msf)) {
2396 if (!psl || psl->sl_count == psl->sl_max) {
2400 if (psl)
2401 count += psl->sl_max;
2409 if (psl) {
2410 for (i = 0; i < psl->sl_count; i++)
2411 newpsl->sl_addr[i] = psl->sl_addr[i];
2413 atomic_sub(IP_SFLSIZE(psl->sl_max), &sk->sk_omem_alloc);
2416 if (psl)
2417 kfree_rcu(psl, rcu);
2418 psl = newpsl;
2421 for (i = 0; i < psl->sl_count; i++) {
2422 rv = memcmp(&psl->sl_addr[i], &mreqs->imr_sourceaddr,
2429 for (j = psl->sl_count-1; j >= i; j--)
2430 psl->sl_addr[j+1] = psl->sl_addr[j];
2431 psl->sl_addr[i] = mreqs->imr_sourceaddr;
2432 psl->sl_count++;
2451 struct ip_sf_socklist *newpsl, *psl;
2509 psl = rtnl_dereference(pmc->sflist);
2510 if (psl) {
2512 psl->sl_count, psl->sl_addr, 0);
2514 atomic_sub(IP_SFLSIZE(psl->sl_max), &sk->sk_omem_alloc);
2520 if (psl)
2521 kfree_rcu(psl, rcu);
2539 struct ip_sf_socklist *psl;
2566 psl = rtnl_dereference(pmc->sflist);
2567 if (!psl) {
2571 count = psl->sl_count;
2574 len = copycount * sizeof(psl->sl_addr[0]);
2581 copy_to_user(&optval->imsf_slist[0], psl->sl_addr, len))
2596 struct ip_sf_socklist *psl;
2615 psl = rtnl_dereference(pmc->sflist);
2616 count = psl ? psl->sl_count : 0;
2625 psin->sin_addr.s_addr = psl->sl_addr[i];
2640 struct ip_sf_socklist *psl;
2658 psl = rcu_dereference(pmc->sflist);
2660 if (!psl)
2663 for (i = 0; i < psl->sl_count; i++) {
2664 if (psl->sl_addr[i] == rmt_addr)
2668 if (pmc->sfmode == MCAST_INCLUDE && i >= psl->sl_count)
2670 if (pmc->sfmode == MCAST_EXCLUDE && i < psl->sl_count)