Home | History | Annotate | Download | only in android-clat

Lines Matching defs:out

220  * out          - output packet
227 int icmp_to_icmp6(clat_packet out, clat_packet_index pos, const struct icmphdr *icmp,
229 struct icmp6_hdr *icmp6_targ = out[pos].iov_base;
239 out[pos].iov_len = sizeof(struct icmp6_hdr);
246 clat_packet_len = ipv4_packet(out, pos + 1, payload, payload_size);
259 out[CLAT_POS_PAYLOAD].iov_base = (uint8_t *) payload;
260 out[CLAT_POS_PAYLOAD].iov_len = payload_size;
268 icmp6_targ->icmp6_cksum = packet_checksum(checksum, out, pos);
275 * out - output packet
281 int icmp6_to_icmp(clat_packet out, clat_packet_index pos, const struct icmp6_hdr *icmp6,
283 struct icmphdr *icmp_targ = out[pos].iov_base;
293 out[pos].iov_len = sizeof(struct icmphdr);
300 clat_packet_len = ipv6_packet(out, pos + 1, payload, payload_size);
305 out[CLAT_POS_PAYLOAD].iov_base = (uint8_t *) payload;
306 out[CLAT_POS_PAYLOAD].iov_len = payload_size;
314 icmp_targ->checksum = packet_checksum(0, out, pos);
321 * out - output packet
327 int generic_packet(clat_packet out, clat_packet_index pos, const uint8_t *payload, size_t len) {
328 out[pos].iov_len = 0;
329 out[CLAT_POS_PAYLOAD].iov_base = (uint8_t *) payload;
330 out[CLAT_POS_PAYLOAD].iov_len = len;
337 * out - output packet
343 int udp_packet(clat_packet out, clat_packet_index pos, const struct udphdr *udp,
356 return udp_translate(out, pos, udp, old_sum, new_sum, payload, payload_size);
361 * out - output packet
367 int tcp_packet(clat_packet out, clat_packet_index pos, const struct tcphdr *tcp,
391 return tcp_translate(out, pos, tcp, header_size, old_sum, new_sum, payload, payload_size);
396 * out - output packet
404 int udp_translate(clat_packet out, clat_packet_index pos, const struct udphdr *udp,
406 struct udphdr *udp_targ = out[pos].iov_base;
410 out[pos].iov_len = sizeof(struct udphdr);
411 out[CLAT_POS_PAYLOAD].iov_base = (uint8_t *) payload;
412 out[CLAT_POS_PAYLOAD].iov_len = payload_size;
422 udp_targ->check = packet_checksum(new_sum, out, pos);
436 * out - output packet
444 int tcp_translate(clat_packet out, clat_packet_index pos, const struct tcphdr *tcp,
447 struct tcphdr *tcp_targ = out[pos].iov_base;
448 out[pos].iov_len = header_size;
460 out[CLAT_POS_PAYLOAD].iov_base = (uint8_t *) payload;
461 out[CLAT_POS_PAYLOAD].iov_len = payload_size;
469 void send_rawv6(int fd, clat_packet out, int iov_len) __attribute__((weak));
471 void send_rawv6(int fd, clat_packet out, int iov_len) {
482 msg.msg_iov = out,
484 sin6.sin6_addr = ((struct ip6_hdr *) out[CLAT_POS_IPHDR].iov_base)->ip6_dst;
508 clat_packet out = {
520 iov_len = ipv4_packet(out, CLAT_POS_IPHDR, packet, packetsize);
522 send_rawv6(fd, out, iov_len);
525 iov_len = ipv6_packet(out, CLAT_POS_IPHDR, packet, packetsize);
528 out[CLAT_POS_TUNHDR].iov_len = sizeof(tun_targ);
529 send_tun(fd, out, iov_len);