Home | History | Annotate | Download | only in net

Lines Matching refs:ad

98 #define	ADDR_NETWORK(ad)	((ad)->pfra_net < AF_BITS((ad)->pfra_af))
274 struct pfr_addr ad;
292 if (COPYIN(addr+i, &ad, sizeof(ad), flags))
294 if (pfr_validate_addr(&ad))
296 p = pfr_lookup_addr(kt, &ad, 1);
297 q = pfr_lookup_addr(tmpkt, &ad, 1);
300 ad.pfra_fback = PFR_FB_DUPLICATE;
302 ad.pfra_fback = PFR_FB_ADDED;
303 else if (p->pfrke_not != ad.pfra_not)
304 ad.pfra_fback = PFR_FB_CONFLICT;
306 ad.pfra_fback = PFR_FB_NONE;
309 p = pfr_create_kentry(&ad,
315 ad.pfra_fback = PFR_FB_NONE;
322 if (COPYOUT(&ad, addr+i, sizeof(ad), flags))
354 struct pfr_addr ad;
385 if (COPYIN(addr+i, &ad, sizeof(ad), flags))
387 if (pfr_validate_addr(&ad))
389 p = pfr_lookup_addr(kt, &ad, 1);
396 if (COPYIN(addr+i, &ad, sizeof(ad), flags))
398 if (pfr_validate_addr(&ad))
400 p = pfr_lookup_addr(kt, &ad, 1);
403 ad.pfra_fback = PFR_FB_NONE;
404 else if (p->pfrke_not != ad.pfra_not)
405 ad.pfra_fback = PFR_FB_CONFLICT;
407 ad.pfra_fback = PFR_FB_DUPLICATE;
409 ad.pfra_fback = PFR_FB_DELETED;
411 if (p != NULL && p->pfrke_not == ad.pfra_not &&
418 if (COPYOUT(&ad, addr+i, sizeof(ad), flags))
445 struct pfr_addr ad;
468 if (COPYIN(addr+i, &ad, sizeof(ad), flags))
470 if (pfr_validate_addr(&ad))
472 ad.pfra_fback = PFR_FB_NONE;
473 p = pfr_lookup_addr(kt, &ad, 1);
476 ad.pfra_fback = PFR_FB_DUPLICATE;
480 if (p->pfrke_not != ad.pfra_not) {
482 ad.pfra_fback = PFR_FB_CHANGED;
486 q = pfr_lookup_addr(tmpkt, &ad, 1);
488 ad.pfra_fback = PFR_FB_DUPLICATE;
491 p = pfr_create_kentry(&ad,
497 ad.pfra_fback = PFR_FB_NONE;
500 ad.pfra_fback = PFR_FB_ADDED;
506 if (COPYOUT(&ad, addr+i, sizeof(ad), flags))
517 pfr_copyout_addr(&ad, p);
518 ad.pfra_fback = PFR_FB_DELETED;
519 if (COPYOUT(&ad, addr+size+i, sizeof(ad), flags))
560 struct pfr_addr ad;
571 if (COPYIN(addr+i, &ad, sizeof(ad), flags))
573 if (pfr_validate_addr(&ad))
575 if (ADDR_NETWORK(&ad))
577 p = pfr_lookup_addr(kt, &ad, 0);
579 pfr_copyout_addr(&ad, p);
580 ad.pfra_fback = (p == NULL) ? PFR_FB_NONE :
584 if (COPYOUT(&ad, addr+i, sizeof(ad), flags))
688 struct pfr_addr ad;
700 if (COPYIN(addr+i, &ad, sizeof(ad), flags))
702 if (pfr_validate_addr(&ad))
704 p = pfr_lookup_addr(kt, &ad, 1);
706 ad.pfra_fback = (p != NULL) ?
708 if (COPYOUT(&ad, addr+i, sizeof(ad), flags))
734 pfr_validate_addr(struct pfr_addr *ad)
738 switch (ad->pfra_af) {
741 if (ad->pfra_net > 32)
747 if (ad->pfra_net > 128)
754 if (ad->pfra_net < 128 &&
755 (((char *)ad)[ad->pfra_net/8] & (0xFF >> (ad->pfra_net%8))))
757 for (i = (ad->pfra_net+7)/8; i < sizeof(ad->pfra_u); i++)
758 if (((char *)ad)[i])
760 if (ad->pfra_not && ad->pfra_not != 1)
762 if (ad->pfra_fback)
802 pfr_lookup_addr(struct pfr_ktable *kt, struct pfr_addr *ad, int exact)
810 if (ad->pfra_af == AF_INET) {
811 FILLIN_SIN(sa.sin, ad->pfra_ip4addr);
813 } else if ( ad->pfra_af == AF_INET6 ) {
814 FILLIN_SIN6(sa.sin6, ad->pfra_ip6addr);
817 if (ADDR_NETWORK(ad)) {
818 pfr_prepare_network(&mask, ad->pfra_af, ad->pfra_net);
835 pfr_create_kentry(struct pfr_addr *ad, int intr)
847 if (ad->pfra_af == AF_INET)
848 FILLIN_SIN(ke->pfrke_sa.sin, ad->pfra_ip4addr);
849 else if (ad->pfra_af == AF_INET6)
850 FILLIN_SIN6(ke->pfrke_sa.sin6, ad->pfra_ip6addr);
851 ke->pfrke_af = ad->pfra_af;
852 ke->pfrke_net = ad->pfra_net;
853 ke->pfrke_not = ad->pfra_not;
899 pfr_insert_kentry(struct pfr_ktable *kt, struct pfr_addr *ad, long tzero)
904 p = pfr_lookup_addr(kt, ad, 1);
907 p = pfr_create_kentry(ad, 1);
966 struct pfr_addr ad;
970 if (COPYIN(addr+i, &ad, sizeof(ad), flags))
972 ad.pfra_fback = PFR_FB_NONE;
973 if (COPYOUT(&ad, addr+i, sizeof(ad), flags))
1057 pfr_copyout_addr(struct pfr_addr *ad, struct pfr_kentry *ke)
1059 bzero(ad, sizeof(*ad));
1062 ad->pfra_af = ke->pfrke_af;
1063 ad->pfra_net = ke->pfrke_net;
1064 ad->pfra_not = ke->pfrke_not;
1065 if (ad->pfra_af == AF_INET)
1066 ad->pfra_ip4addr = ke->pfrke_sa.sin.sin_addr;
1067 else if (ad->pfra_af == AF_INET6)
1068 ad->pfra_ip6addr = ke->pfrke_sa.sin6.sin6_addr;
1092 struct pfr_addr ad;
1094 pfr_copyout_addr(&ad, ke);
1095 if (copyout(&ad, w->pfrw_addr, sizeof(ad)))
1521 struct pfr_addr ad;
1571 if (COPYIN(addr+i, &ad, sizeof(ad), flags))
1573 if (pfr_validate_addr(&ad))
1575 if (pfr_lookup_addr(shadow, &ad, 1) != NULL)
1577 p = pfr_create_kentry(&ad, 0);
1704 struct pfr_addr ad;
1715 pfr_copyout_addr(&ad, p);
1716 q = pfr_lookup_addr(kt, &ad, 1);