Lines Matching defs:ad

118 #define	ADDR_NETWORK(ad)	((ad)->pfra_net < AF_BITS((ad)->pfra_af))
273 struct pfr_addr ad;
291 for (i = 0; i < size; i++, addr += sizeof (ad)) {
292 if (COPYIN(addr, &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, sizeof (ad), flags))
350 struct pfr_addr ad;
381 for (i = 0; i < size; i++, addr += sizeof (ad)) {
382 if (COPYIN(addr, &ad, sizeof (ad), flags))
384 if (pfr_validate_addr(&ad))
386 p = pfr_lookup_addr(kt, &ad, 1);
392 for (addr = _addr, i = 0; i < size; i++, addr += sizeof (ad)) {
393 if (COPYIN(addr, &ad, sizeof (ad), flags))
395 if (pfr_validate_addr(&ad))
397 p = pfr_lookup_addr(kt, &ad, 1);
400 ad.pfra_fback = PFR_FB_NONE;
401 else if (p->pfrke_not != ad.pfra_not)
402 ad.pfra_fback = PFR_FB_CONFLICT;
404 ad.pfra_fback = PFR_FB_DUPLICATE;
406 ad.pfra_fback = PFR_FB_DELETED;
408 if (p != NULL && p->pfrke_not == ad.pfra_not &&
415 if (COPYOUT(&ad, addr, sizeof (ad), flags))
438 struct pfr_addr ad;
460 for (i = 0; i < size; i++, addr += sizeof (ad)) {
461 if (COPYIN(addr, &ad, sizeof (ad), flags))
463 if (pfr_validate_addr(&ad))
465 ad.pfra_fback = PFR_FB_NONE;
466 p = pfr_lookup_addr(kt, &ad, 1);
469 ad.pfra_fback = PFR_FB_DUPLICATE;
473 if (p->pfrke_not != ad.pfra_not) {
475 ad.pfra_fback = PFR_FB_CHANGED;
479 q = pfr_lookup_addr(tmpkt, &ad, 1);
481 ad.pfra_fback = PFR_FB_DUPLICATE;
484 p = pfr_create_kentry(&ad,
490 ad.pfra_fback = PFR_FB_NONE;
493 ad.pfra_fback = PFR_FB_ADDED;
499 if (COPYOUT(&ad, addr, sizeof (ad), flags))
511 pfr_copyout_addr(&ad, p);
512 ad.pfra_fback = PFR_FB_DELETED;
513 if (COPYOUT(&ad, addr, sizeof (ad), flags))
515 addr += sizeof (ad);
551 struct pfr_addr ad;
561 for (i = 0; i < size; i++, addr += sizeof (ad)) {
562 if (COPYIN(addr, &ad, sizeof (ad), flags))
564 if (pfr_validate_addr(&ad))
566 if (ADDR_NETWORK(&ad))
568 p = pfr_lookup_addr(kt, &ad, 0);
570 pfr_copyout_addr(&ad, p);
571 ad.pfra_fback = (p == NULL) ? PFR_FB_NONE :
575 if (COPYOUT(&ad, addr, sizeof (ad), flags))
677 struct pfr_addr ad;
689 for (i = 0; i < size; i++, addr += sizeof (ad)) {
690 if (COPYIN(addr, &ad, sizeof (ad), flags))
692 if (pfr_validate_addr(&ad))
694 p = pfr_lookup_addr(kt, &ad, 1);
696 ad.pfra_fback = (p != NULL) ?
698 if (COPYOUT(&ad, addr, sizeof (ad), flags))
720 pfr_validate_addr(struct pfr_addr *ad)
724 switch (ad->pfra_af) {
727 if (ad->pfra_net > 32)
733 if (ad->pfra_net > 128)
740 if (ad->pfra_net < 128 &&
741 (((caddr_t)ad)[ad->pfra_net/8] & (0xFF >> (ad->pfra_net%8))))
743 for (i = (ad->pfra_net+7)/8; i < (int)sizeof (ad->pfra_u); i++)
744 if (((caddr_t)ad)[i])
746 if (ad->pfra_not && ad->pfra_not != 1)
748 if (ad->pfra_fback)
790 pfr_lookup_addr(struct pfr_ktable *kt, struct pfr_addr *ad, int exact)
799 if (ad->pfra_af == AF_INET) {
800 FILLIN_SIN(sa.sin, ad->pfra_ip4addr);
802 } else if (ad->pfra_af == AF_INET6) {
803 FILLIN_SIN6(sa.sin6, ad->pfra_ip6addr);
808 if (ADDR_NETWORK(ad)) {
809 pfr_prepare_network(&mask, ad->pfra_af, ad->pfra_net);
824 pfr_create_kentry(struct pfr_addr *ad, int intr)
836 if (ad->pfra_af == AF_INET)
837 FILLIN_SIN(ke->pfrke_sa.sin, ad->pfra_ip4addr);
838 else if (ad->pfra_af == AF_INET6)
839 FILLIN_SIN6(ke->pfrke_sa.sin6, ad->pfra_ip6addr);
840 ke->pfrke_af = ad->pfra_af;
841 ke->pfrke_net = ad->pfra_net;
842 ke->pfrke_not = ad->pfra_not;
888 pfr_insert_kentry(struct pfr_ktable *kt, struct pfr_addr *ad, u_int64_t tzero)
893 p = pfr_lookup_addr(kt, ad, 1);
896 p = pfr_create_kentry(ad, 1);
955 struct pfr_addr ad;
958 for (i = 0; i < size; i++, addr += sizeof (ad)) {
959 if (COPYIN(addr, &ad, sizeof (ad), flags))
961 ad.pfra_fback = PFR_FB_NONE;
962 if (COPYOUT(&ad, addr, sizeof (ad), flags))
1048 pfr_copyout_addr(struct pfr_addr *ad, struct pfr_kentry *ke)
1050 bzero(ad, sizeof (*ad));
1053 ad->pfra_af = ke->pfrke_af;
1054 ad->pfra_net = ke->pfrke_net;
1055 ad->pfra_not = ke->pfrke_not;
1056 if (ad->pfra_af == AF_INET)
1057 ad->pfra_ip4addr = ke->pfrke_sa.sin.sin_addr;
1058 else if (ad->pfra_af == AF_INET6)
1059 ad->pfra_ip6addr = ke->pfrke_sa.sin6.sin6_addr;
1085 struct pfr_addr ad;
1087 pfr_copyout_addr(&ad, ke);
1088 if (copyout(&ad, w->pfrw_addr, sizeof (ad)))
1090 w->pfrw_addr += sizeof (ad);
1503 struct pfr_addr ad;
1555 for (i = 0; i < size; i++, addr += sizeof (ad)) {
1556 if (COPYIN(addr, &ad, sizeof (ad), flags))
1558 if (pfr_validate_addr(&ad))
1560 if (pfr_lookup_addr(shadow, &ad, 1) != NULL)
1562 p = pfr_create_kentry(&ad, 0);
1691 struct pfr_addr ad;
1702 pfr_copyout_addr(&ad, p);
1703 q = pfr_lookup_addr(kt, &ad, 1);