Lines Matching refs:ip4
156 const struct iphdr *const ip4 = (void *)(eth + 1); in sched_cls_egress4_snat4_prog() local
171 if (ip4->version != 4) in sched_cls_egress4_snat4_prog()
175 if (ip4->ihl != 5) in sched_cls_egress4_snat4_prog()
179 if (bpf_htons(ip4->tot_len) > 0xFFFF - sizeof(struct ipv6hdr)) in sched_cls_egress4_snat4_prog()
185 for (int i = 0; i < sizeof(*ip4) / sizeof(__u16); ++i) in sched_cls_egress4_snat4_prog()
186 sum4 += ((__u16 *)ip4)[i]; in sched_cls_egress4_snat4_prog()
196 if (bpf_ntohs(ip4->tot_len) < sizeof(*ip4)) in sched_cls_egress4_snat4_prog()
200 if (ip4->frag_off & ~bpf_htons(IP_DF)) in sched_cls_egress4_snat4_prog()
203 switch (ip4->protocol) { in sched_cls_egress4_snat4_prog()
210 if (data + sizeof(*ip4) + sizeof(struct udphdr) > data_end) in sched_cls_egress4_snat4_prog()
212 const struct udphdr *uh = (const struct udphdr *)(ip4 + 1); in sched_cls_egress4_snat4_prog()
231 .priority = ip4->tos >> 4, // __u8:4 in sched_cls_egress4_snat4_prog()
232 .flow_lbl = {(ip4->tos & 0xF) << 4, 0, 0}, // __u8[3] in sched_cls_egress4_snat4_prog()
233 .payload_len = bpf_htons(bpf_ntohs(ip4->tot_len) - 20), // __be16 in sched_cls_egress4_snat4_prog()
234 .nexthdr = ip4->protocol, // __u8 in sched_cls_egress4_snat4_prog()
235 .hop_limit = ip4->ttl, // __u8 in sched_cls_egress4_snat4_prog()