Lines Matching refs:ip6
55 const struct ipv6hdr * const ip6 = (void *)(eth + 1); in sched_cls_ingress6_nat_6_prog() local
66 if (data + l2_header_size + sizeof(*ip6) > data_end) in sched_cls_ingress6_nat_6_prog()
74 if (ip6->version != 6) in sched_cls_ingress6_nat_6_prog()
77 if (bpf_ntohs(ip6->payload_len) > 0xFFFF - sizeof(struct iphdr)) in sched_cls_ingress6_nat_6_prog()
79 switch (ip6->nexthdr) { in sched_cls_ingress6_nat_6_prog()
97 .tos = (ip6->priority << 4) + (ip6->flow_lbl[0] >> 4), // u8 in sched_cls_ingress6_nat_6_prog()
98 .tot_len = bpf_htons(bpf_ntohs(ip6->payload_len) + sizeof(struct iphdr)), // u16 in sched_cls_ingress6_nat_6_prog()
101 .ttl = ip6->hop_limit, // u8 in sched_cls_ingress6_nat_6_prog()
102 .protocol = ip6->nexthdr, // u8 in sched_cls_ingress6_nat_6_prog()
122 for (int i = 0; i < sizeof(*ip6) / sizeof(__u16); ++i) in sched_cls_ingress6_nat_6_prog()
123 sum6 += ~((__u16 *)ip6)[i]; // note the bitwise negation in sched_cls_ingress6_nat_6_prog()
229 struct ipv6hdr ip6 = { in sched_cls_egress4_snat4_prog() local
237 ip6.saddr.in6_u.u6_addr32[0] = bpf_htonl(0x20010db8); in sched_cls_egress4_snat4_prog()
238 ip6.saddr.in6_u.u6_addr32[1] = 0; in sched_cls_egress4_snat4_prog()
239 ip6.saddr.in6_u.u6_addr32[2] = 0; in sched_cls_egress4_snat4_prog()
240 ip6.saddr.in6_u.u6_addr32[3] = bpf_htonl(1); in sched_cls_egress4_snat4_prog()
241 ip6.daddr.in6_u.u6_addr32[0] = bpf_htonl(0x20010db8); in sched_cls_egress4_snat4_prog()
242 ip6.daddr.in6_u.u6_addr32[1] = 0; in sched_cls_egress4_snat4_prog()
243 ip6.daddr.in6_u.u6_addr32[2] = 0; in sched_cls_egress4_snat4_prog()
244 ip6.daddr.in6_u.u6_addr32[3] = bpf_htonl(2); in sched_cls_egress4_snat4_prog()
249 for (int i = 0; i < sizeof(ip6) / sizeof(__u16); ++i) in sched_cls_egress4_snat4_prog()
250 sum6 += ((__u16 *)&ip6)[i]; in sched_cls_egress4_snat4_prog()
273 if (data + l2_header_size + sizeof(ip6) > data_end) in sched_cls_egress4_snat4_prog()
281 *(struct ipv6hdr *)(new_eth + 1) = ip6; in sched_cls_egress4_snat4_prog()