Lines Matching refs:enpc

193 npfa_icmp_inspect(npf_cache_t *npc, npf_cache_t *enpc)  in npfa_icmp_inspect()  argument
206 memset(enpc, 0, sizeof(npf_cache_t)); in npfa_icmp_inspect()
207 enpc->npc_ctx = npc->npc_ctx; in npfa_icmp_inspect()
208 enpc->npc_nbuf = nbuf; in npfa_icmp_inspect()
217 ret = npfa_icmp4_inspect(ic->icmp_type, enpc, &hasqid); in npfa_icmp_inspect()
221 ret = npfa_icmp6_inspect(ic6->icmp6_type, enpc, &hasqid); in npfa_icmp_inspect()
241 npf_cache_t enpc; in npfa_icmp_conn() local
247 if (!npfa_icmp_inspect(npc, &enpc)) in npfa_icmp_conn()
271 SWAP(npf_addr_t *, enpc.npc_ips[NPF_SRC], enpc.npc_ips[NPF_DST]); in npfa_icmp_conn()
273 switch (enpc.npc_proto) { in npfa_icmp_conn()
275 l4.th.th_sport = enpc.npc_l4.tcp->th_dport; in npfa_icmp_conn()
276 l4.th.th_dport = enpc.npc_l4.tcp->th_sport; in npfa_icmp_conn()
277 enpc.npc_l4.tcp = &l4.th; in npfa_icmp_conn()
280 l4.uh.uh_sport = enpc.npc_l4.udp->uh_dport; in npfa_icmp_conn()
281 l4.uh.uh_dport = enpc.npc_l4.udp->uh_sport; in npfa_icmp_conn()
282 enpc.npc_l4.udp = &l4.uh; in npfa_icmp_conn()
285 const struct icmp *ic = enpc.npc_l4.icmp; in npfa_icmp_conn()
286 ret = npfa_icmp4_inspect(ic->icmp_type, &enpc, &hasqid); in npfa_icmp_conn()
289 enpc.npc_info |= NPC_ICMP_ID; in npfa_icmp_conn()
293 const struct icmp6_hdr *ic6 = enpc.npc_l4.icmp6; in npfa_icmp_conn()
294 ret = npfa_icmp6_inspect(ic6->icmp6_type, &enpc, &hasqid); in npfa_icmp_conn()
297 enpc.npc_info |= NPC_ICMP_ID; in npfa_icmp_conn()
305 conn = npf_conn_lookup(&enpc, di, &flow); in npfa_icmp_conn()
323 npf_cache_t enpc; in npfa_icmp_nat() local
336 if (!npfa_icmp_inspect(npc, &enpc)) in npfa_icmp_nat()
348 KASSERT(npf_iscached(&enpc, NPC_IP46)); in npfa_icmp_nat()
349 KASSERT(npf_iscached(&enpc, NPC_LAYER4)); in npfa_icmp_nat()
358 const int proto = enpc.npc_proto; in npfa_icmp_nat()
362 if (npf_iscached(&enpc, NPC_IP4)) { in npfa_icmp_nat()
363 const struct ip *eip = enpc.npc_ip.v4; in npfa_icmp_nat()
368 const struct tcphdr *th = enpc.npc_l4.tcp; in npfa_icmp_nat()
374 const struct udphdr *uh = enpc.npc_l4.udp; in npfa_icmp_nat()
395 cksum = npf_addr_cksum(cksum, enpc.npc_alen, enpc.npc_ips[which], addr); in npfa_icmp_nat()
411 if (npf_napt_rwr(&enpc, which, addr, port)) { in npfa_icmp_nat()
419 if (npf_iscached(&enpc, NPC_IP4)) { in npfa_icmp_nat()
420 const struct ip *eip = enpc.npc_ip.v4; in npfa_icmp_nat()
425 const struct tcphdr *th = enpc.npc_l4.tcp; in npfa_icmp_nat()
431 const struct udphdr *uh = enpc.npc_l4.udp; in npfa_icmp_nat()