Lines Matching refs:ip6
47 const struct ipv6hdr* const ip6 = is_ethernet ? (void*)(eth + 1) : data; in nat64() local
53 if (data + l2_header_size + sizeof(*ip6) > data_end) return TC_ACT_OK; in nat64()
59 if (ip6->version != 6) return TC_ACT_OK; in nat64()
62 if (ntohs(ip6->payload_len) > 0xFFFF - sizeof(struct iphdr)) return TC_ACT_OK; in nat64()
64 switch (ip6->nexthdr) { in nat64()
79 ip6->saddr.in6_u.u6_addr32[0], in nat64()
80 ip6->saddr.in6_u.u6_addr32[1], in nat64()
81 ip6->saddr.in6_u.u6_addr32[2], in nat64()
83 .local6 = ip6->daddr, in nat64()
99 .tos = (ip6->priority << 4) + (ip6->flow_lbl[0] >> 4), // u8 in nat64()
100 .tot_len = htons(ntohs(ip6->payload_len) + sizeof(struct iphdr)), // u16 in nat64()
103 .ttl = ip6->hop_limit, // u8 in nat64()
104 .protocol = ip6->nexthdr, // u8 in nat64()
106 .saddr = ip6->saddr.in6_u.u6_addr32[3], // u32 in nat64()
123 for (int i = 0; i < sizeof(*ip6) / sizeof(__u16); ++i) { in nat64()
124 sum6 += ~((__u16*)ip6)[i]; // note the bitwise negation in nat64()
266 struct ipv6hdr ip6 = { in sched_cls_egress_clat_rawip() local
276 ip6.daddr.in6_u.u6_addr32[3] = ip4->daddr; in sched_cls_egress_clat_rawip()
281 for (int i = 0; i < sizeof(ip6) / sizeof(__u16); ++i) { in sched_cls_egress_clat_rawip()
282 sum6 += ((__u16*)&ip6)[i]; in sched_cls_egress_clat_rawip()
309 if (data + sizeof(ip6) > data_end) return TC_ACT_SHOT; in sched_cls_egress_clat_rawip()
312 *(struct ipv6hdr*)data = ip6; in sched_cls_egress_clat_rawip()