• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/net/ipv4/

Lines Matching refs:psf

229 static int is_in(struct ip_mc_list *pmc, struct ip_sf_list *psf, int type,
237 if (!(pmc->gsquery && !psf->sf_gsresp)) {
243 if (psf->sf_count[MCAST_INCLUDE])
246 psf->sf_count[MCAST_EXCLUDE];
252 return psf->sf_count[MCAST_INCLUDE] != 0;
257 psf->sf_count[MCAST_INCLUDE])
260 psf->sf_count[MCAST_EXCLUDE];
262 if (gdeleted || !psf->sf_crcount)
267 return gdeleted || (psf->sf_crcount && sdeleted);
268 return psf->sf_crcount && !gdeleted && !sdeleted;
276 struct ip_sf_list *psf;
279 for (psf=pmc->sources; psf; psf=psf->sf_next) {
280 if (!is_in(pmc, psf, type, gdeleted, sdeleted))
396 struct ip_sf_list *psf, *psf_next, *psf_prev, **psf_list;
427 for (psf=*psf_list; psf; psf=psf_next) {
430 psf_next = psf->sf_next;
432 if (!is_in(pmc, psf, type, gdeleted, sdeleted)) {
433 psf_prev = psf;
439 psf->sf_gsresp = 0;
460 *psrc = psf->sf_inaddr;
463 type == IGMPV3_BLOCK_OLD_SOURCES) && psf->sf_crcount) {
464 psf->sf_crcount--;
465 if ((sdeleted || gdeleted) && psf->sf_crcount == 0) {
467 psf_prev->sf_next = psf->sf_next;
469 *psf_list = psf->sf_next;
470 kfree(psf);
474 psf_prev = psf;
546 struct ip_sf_list *psf_prev, *psf_next, *psf;
549 for (psf=*ppsf; psf; psf = psf_next) {
550 psf_next = psf->sf_next;
551 if (psf->sf_crcount == 0) {
553 psf_prev->sf_next = psf->sf_next;
555 *ppsf = psf->sf_next;
556 kfree(psf);
558 psf_prev = psf;
781 struct ip_sf_list *psf;
785 for (psf=pmc->sources; psf; psf=psf->sf_next) {
792 psf->sf_count[MCAST_EXCLUDE])
794 if (srcs[i] == psf->sf_inaddr) {
808 struct ip_sf_list *psf;
816 for (psf=pmc->sources; psf; psf=psf->sf_next) {
820 if (srcs[i] == psf->sf_inaddr) {
821 psf->sf_gsresp = 1;
1079 struct ip_sf_list *psf;
1084 for (psf=pmc->sources; psf; psf=psf->sf_next)
1085 psf->sf_crcount = pmc->crcount;
1098 struct ip_sf_list *psf, *psf_next;
1115 for (psf=pmc->tomb; psf; psf=psf_next) {
1116 psf_next = psf->sf_next;
1117 kfree(psf);
1142 struct ip_sf_list *psf, *psf_next;
1145 psf = pmc->tomb;
1148 for (; psf; psf=psf_next) {
1149 psf_next = psf->sf_next;
1150 kfree(psf);
1490 struct ip_sf_list *psf, *psf_prev;
1494 for (psf=pmc->sources; psf; psf=psf->sf_next) {
1495 if (psf->sf_inaddr == *psfsrc)
1497 psf_prev = psf;
1499 if (!psf || psf->sf_count[sfmode] == 0) {
1503 psf->sf_count[sfmode]--;
1504 if (psf->sf_count[sfmode] == 0) {
1507 if (!psf->sf_count[MCAST_INCLUDE] && !psf->sf_count[MCAST_EXCLUDE]) {
1514 psf_prev->sf_next = psf->sf_next;
1516 pmc->sources = psf->sf_next;
1518 if (psf->sf_oldin &&
1520 psf->sf_crcount = in_dev->mr_qrv ? in_dev->mr_qrv :
1522 psf->sf_next = pmc->tomb;
1523 pmc->tomb = psf;
1527 kfree(psf);
1578 struct ip_sf_list *psf;
1587 for (psf=pmc->sources; psf; psf = psf->sf_next)
1588 psf->sf_crcount = 0;
1605 struct ip_sf_list *psf, *psf_prev;
1608 for (psf=pmc->sources; psf; psf=psf->sf_next) {
1609 if (psf->sf_inaddr == *psfsrc)
1611 psf_prev = psf;
1613 if (!psf) {
1614 psf = kzalloc(sizeof(*psf), GFP_ATOMIC);
1615 if (!psf)
1617 psf->sf_inaddr = *psfsrc;
1619 psf_prev->sf_next = psf;
1621 pmc->sources = psf;
1623 psf->sf_count[sfmode]++;
1624 if (psf->sf_count[sfmode] == 1) {
1633 struct ip_sf_list *psf;
1636 for (psf=pmc->sources; psf; psf=psf->sf_next)
1638 psf->sf_oldin = mca_xcount ==
1639 psf->sf_count[MCAST_EXCLUDE] &&
1640 !psf->sf_count[MCAST_INCLUDE];
1642 psf->sf_oldin = psf->sf_count[MCAST_INCLUDE] != 0;
1647 struct ip_sf_list *psf, *dpsf;
1653 for (psf=pmc->sources; psf; psf=psf->sf_next) {
1655 new_in = mca_xcount == psf->sf_count[MCAST_EXCLUDE] &&
1656 !psf->sf_count[MCAST_INCLUDE];
1658 new_in = psf->sf_count[MCAST_INCLUDE] != 0;
1660 if (!psf->sf_oldin) {
1664 if (dpsf->sf_inaddr == psf->sf_inaddr)
1675 psf->sf_crcount = qrv;
1678 } else if (psf->sf_oldin) {
1680 psf->sf_crcount = 0;
1686 if (dpsf->sf_inaddr == psf->sf_inaddr)
1692 *dpsf = *psf;
1750 struct ip_sf_list *psf;
1765 for (psf=pmc->sources; psf; psf = psf->sf_next)
1766 psf->sf_crcount = 0;
1778 struct ip_sf_list *psf, *nextpsf;
1780 for (psf=pmc->tomb; psf; psf=nextpsf) {
1781 nextpsf = psf->sf_next;
1782 kfree(psf);
1785 for (psf=pmc->sources; psf; psf=nextpsf) {
1786 nextpsf = psf->sf_next;
1787 kfree(psf);
1853 struct ip_sf_socklist *psf;
1855 psf = container_of(rp, struct ip_sf_socklist, rcu);
1857 kfree(psf);
1863 struct ip_sf_socklist *psf = iml->sflist;
1866 if (psf == NULL) {
1872 iml->sfmode, psf->sl_count, psf->sl_addr, 0);
1875 atomic_sub(IP_SFLSIZE(psf->sl_max), &sk->sk_omem_alloc);
1876 call_rcu(&psf->rcu, ip_sf_socklist_reclaim);
2352 struct ip_sf_list *psf;
2364 for (psf=im->sources; psf; psf=psf->sf_next) {
2365 if (psf->sf_inaddr == src_addr)
2368 if (psf)
2369 rv = psf->sf_count[MCAST_INCLUDE] ||
2370 psf->sf_count[MCAST_EXCLUDE] !=
2540 struct ip_sf_list *psf = NULL;
2555 psf = im->sources;
2556 if (likely(psf != NULL)) {
2565 return psf;
2568 static struct ip_sf_list *igmp_mcf_get_next(struct seq_file *seq, struct ip_sf_list *psf)
2572 psf = psf->sf_next;
2573 while (!psf) {
2594 psf = state->im->sources;
2597 return psf;
2602 struct ip_sf_list *psf = igmp_mcf_get_first(seq);
2603 if (psf)
2604 while (pos && (psf = igmp_mcf_get_next(seq, psf)) != NULL)
2606 return pos ? NULL : psf;
2618 struct ip_sf_list *psf;
2620 psf = igmp_mcf_get_first(seq);
2622 psf = igmp_mcf_get_next(seq, v);
2624 return psf;
2645 struct ip_sf_list *psf = (struct ip_sf_list *)v;
2660 ntohl(psf->sf_inaddr),
2661 psf->sf_count[MCAST_INCLUDE],
2662 psf->sf_count[MCAST_EXCLUDE]);