Home | History | Annotate | Download | only in net

Lines Matching defs:ke

99 #define	KENTRY_NETWORK(ke)	((ke)->pfrke_net < AF_BITS((ke)->pfrke_af))
100 #define KENTRY_RNF_ROOT(ke) \
101 ((((struct radix_node *)(ke))->rn_flags & RNF_ROOT) != 0)
145 struct pfr_kentry *ke);
806 struct pfr_kentry *ke;
820 ke = (struct pfr_kentry *)rn_lookup(&sa, &mask, head);
822 if (ke && KENTRY_RNF_ROOT(ke))
823 ke = NULL;
825 ke = (struct pfr_kentry *)rn_match(&sa, head);
826 if (ke && KENTRY_RNF_ROOT(ke))
827 ke = NULL;
828 if (exact && ke && KENTRY_NETWORK(ke))
829 ke = NULL;
831 return (ke);
837 struct pfr_kentry *ke;
840 ke = pool_get(&pfr_kentry_pl2, PR_NOWAIT);
842 ke = pool_get(&pfr_kentry_pl, PR_NOWAIT);
843 if (ke == NULL)
845 bzero(ke, sizeof(*ke));
848 FILLIN_SIN(ke->pfrke_sa.sin, ad->pfra_ip4addr);
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;
854 ke->pfrke_intrpool = intr;
855 return (ke);
870 pfr_destroy_kentry(struct pfr_kentry *ke)
872 if (ke->pfrke_intrpool)
873 pool_put(&pfr_kentry_pl2, ke);
875 pool_put(&pfr_kentry_pl, ke);
1004 pfr_route_kentry(struct pfr_ktable *kt, struct pfr_kentry *ke)
1011 bzero(ke->pfrke_node, sizeof(ke->pfrke_node));
1012 if (ke->pfrke_af == AF_INET)
1014 else if (ke->pfrke_af == AF_INET6)
1018 if (KENTRY_NETWORK(ke)) {
1019 pfr_prepare_network(&mask, ke->pfrke_af, ke->pfrke_net);
1020 rn = rn_addroute(&ke->pfrke_sa, &mask, head, ke->pfrke_node);
1022 rn = rn_addroute(&ke->pfrke_sa, NULL, head, ke->pfrke_node);
1029 pfr_unroute_kentry(struct pfr_ktable *kt, struct pfr_kentry *ke)
1036 if (ke->pfrke_af == AF_INET)
1038 else if (ke->pfrke_af == AF_INET6)
1042 if (KENTRY_NETWORK(ke)) {
1043 pfr_prepare_network(&mask, ke->pfrke_af, ke->pfrke_net);
1044 rn = rn_delete(&ke->pfrke_sa, &mask, head);
1046 rn = rn_delete(&ke->pfrke_sa, NULL, head);
1057 pfr_copyout_addr(struct pfr_addr *ad, struct pfr_kentry *ke)
1060 if (ke == NULL)
1062 ad->pfra_af = ke->pfrke_af;
1063 ad->pfra_net = ke->pfrke_net;
1064 ad->pfra_not = ke->pfrke_not;
1066 ad->pfra_ip4addr = ke->pfrke_sa.sin.sin_addr;
1068 ad->pfra_ip6addr = ke->pfrke_sa.sin6.sin6_addr;
1074 struct pfr_kentry *ke = (struct pfr_kentry *)rn;
1080 ke->pfrke_mark = 0;
1083 if (ke->pfrke_mark)
1087 SLIST_INSERT_HEAD(w->pfrw_workq, ke, pfrke_workq);
1094 pfr_copyout_addr(&ad, ke);
1104 pfr_copyout_addr(&as.pfras_a, ke);
1107 bcopy(ke->pfrke_packets, as.pfras_packets,
1109 bcopy(ke->pfrke_bytes, as.pfras_bytes,
1112 as.pfras_tzero = ke->pfrke_tzero;
1120 if (ke->pfrke_not)
1123 w->pfrw_kentry = ke;
1128 if (ke->pfrke_af == AF_INET) {
1131 pfr_prepare_network(&pfr_mask, AF_INET, ke->pfrke_net);
1133 &ke->pfrke_sa, AF_INET);
1136 } else if (ke->pfrke_af == AF_INET6){
1139 pfr_prepare_network(&pfr_mask, AF_INET6, ke->pfrke_net);
1141 &ke->pfrke_sa, AF_INET6);
2009 struct pfr_kentry *ke = NULL;
2021 ke = (struct pfr_kentry *)rn_match(&pfr_sin, kt->pfrkt_ip4);
2022 if (ke && KENTRY_RNF_ROOT(ke))
2023 ke = NULL;
2029 ke = (struct pfr_kentry *)rn_match(&pfr_sin6, kt->pfrkt_ip6);
2030 if (ke && KENTRY_RNF_ROOT(ke))
2031 ke = NULL;
2035 match = (ke && !ke->pfrke_not);
2047 struct pfr_kentry *ke = NULL;
2058 ke = (struct pfr_kentry *)rn_match(&pfr_sin, kt->pfrkt_ip4);
2059 if (ke && KENTRY_RNF_ROOT(ke))
2060 ke = NULL;
2066 ke = (struct pfr_kentry *)rn_match(&pfr_sin6, kt->pfrkt_ip6);
2067 if (ke && KENTRY_RNF_ROOT(ke))
2068 ke = NULL;
2074 if ((ke == NULL || ke->pfrke_not) != notrule) {
2081 if (ke != NULL && op_pass != PFR_OP_XPASS) {
2082 ke->pfrke_packets[dir_out][op_pass]++;
2083 ke->pfrke_bytes[dir_out][op_pass] += len;
2137 struct pfr_kentry *ke, *ke2 = (void *)0xdeadb;
2159 ke = pfr_kentry_byidx(kt, idx, af);
2160 if (ke == NULL)
2162 pfr_prepare_network(&pfr_mask, af, ke->pfrke_net);
2163 *raddr = SUNION2PF(&ke->pfrke_sa, af);
2180 if (!KENTRY_NETWORK(ke)) {
2195 if (ke2 == ke) {