Lines Matching refs:pckt

205 static __always_inline __u32 get_packet_hash(struct packet_description *pckt,
209 return jhash_2words(jhash(pckt->srcv6, 16, MAX_VIPS),
210 pckt->ports, CH_RINGS_SIZE);
212 return jhash_2words(pckt->src, pckt->ports, CH_RINGS_SIZE);
216 struct packet_description *pckt,
220 __u32 hash = get_packet_hash(pckt, is_ipv6) % RING_SIZE;
235 struct packet_description *pckt)
249 pckt->proto = ip6h->nexthdr;
250 pckt->flags |= F_ICMP;
251 memcpy(pckt->srcv6, ip6h->daddr.s6_addr32, 16);
252 memcpy(pckt->dstv6, ip6h->saddr.s6_addr32, 16);
257 struct packet_description *pckt)
274 pckt->proto = iph->protocol;
275 pckt->flags |= F_ICMP;
276 pckt->src = iph->daddr;
277 pckt->dst = iph->saddr;
282 struct packet_description *pckt)
290 if (!(pckt->flags & F_ICMP)) {
291 pckt->port16[0] = udp->source;
292 pckt->port16[1] = udp->dest;
294 pckt->port16[0] = udp->dest;
295 pckt->port16[1] = udp->source;
301 struct packet_description *pckt)
310 pckt->flags |= F_SYN_SET;
312 if (!(pckt->flags & F_ICMP)) {
313 pckt->port16[0] = tcp->source;
314 pckt->port16[1] = tcp->dest;
316 pckt->port16[0] = tcp->dest;
317 pckt->port16[1] = tcp->source;
326 struct packet_description pckt = {};
354 pckt.proto = protocol;
360 action = parse_icmpv6(data, data_end, off, &pckt);
365 memcpy(pckt.srcv6, ip6h->saddr.s6_addr32, 16);
366 memcpy(pckt.dstv6, ip6h->daddr.s6_addr32, 16);
376 pckt.proto = protocol;
383 action = parse_icmp(data, data_end, off, &pckt);
388 pckt.src = iph->saddr;
389 pckt.dst = iph->daddr;
392 protocol = pckt.proto;
395 if (!parse_tcp(data, off, data_end, &pckt))
398 if (!parse_udp(data, off, data_end, &pckt))
405 memcpy(vip.daddr.v6, pckt.dstv6, 16);
407 vip.daddr.v4 = pckt.dst;
409 vip.dport = pckt.port16[1];
410 vip.protocol = pckt.proto;
417 pckt.port16[1] = 0;
421 pckt.port16[0] = 0;
423 if (!get_packet_dst(&dst, &pckt, vip_info, is_ipv6))