Lines Matching refs:ipv4
60 struct iphdr *ipv4;
83 ctx->ipv4 = (struct iphdr *)(ctx->eth + 1);
85 if (ctx->ipv4 + 1 > ctx->data_end)
88 if (ctx->ipv4->ihl != sizeof(*ctx->ipv4) / 4)
91 if (ctx->ipv4->version != 4)
94 if (ctx->ipv4->protocol != IPPROTO_TCP)
97 ctx->tcp = (struct tcphdr *)(ctx->ipv4 + 1);
142 if (ctx->ipv4) {
143 ctx->ipv4 = (struct iphdr *)(ctx->eth + 1);
145 ctx->tcp = (struct tcphdr *)(ctx->ipv4 + 1);
147 ctx->ipv4 = NULL;
162 return csum_tcpudp_magic(ctx->ipv4->saddr, ctx->ipv4->daddr,
183 if (ctx->ipv4) {
186 csum = bpf_csum_diff(0, 0, (void *)ctx->ipv4, ctx->ipv4->ihl * 4, 0);
292 if ((ctx->ipv4 && ctx->attrs.mss != MSS_LOCAL_IPV4) ||
320 if (ctx->ipv4) {
327 first = (u64)ctx->ipv4->saddr << 32 | ctx->ipv4->daddr;
427 if (ctx->ipv4) {
428 swap(ctx->ipv4->saddr, ctx->ipv4->daddr);
431 ctx->ipv4->check = 0;
432 ctx->ipv4->tos = 0;
433 ctx->ipv4->tot_len = bpf_htons((long)ctx->ptr32 - (long)ctx->ipv4);
434 ctx->ipv4->id = 0;
435 ctx->ipv4->ttl = 64;
437 csum = bpf_csum_diff(0, 0, (void *)ctx->ipv4, sizeof(*ctx->ipv4), 0);
441 ctx->ipv4->check = csum_fold(csum);
469 if (ctx->ipv4)
470 first = (u64)ctx->ipv4->saddr << 32 | ctx->ipv4->daddr;
488 if (ctx->ipv4) {
519 if (ctx->ipv4) {
520 tuple.ipv4.saddr = ctx->ipv4->saddr;
521 tuple.ipv4.daddr = ctx->ipv4->daddr;
522 tuple.ipv4.sport = ctx->tcp->source;
523 tuple.ipv4.dport = ctx->tcp->dest;
524 tuple_size = sizeof(tuple.ipv4);