Contiki-NG
Loading...
Searching...
No Matches
nat64-dns64.c File Reference

NAT64 DNS64 translation – rewrites DNS queries (AAAA->A) and responses (A->AAAA with NAT64 prefix) inline. More...

#include "nat64-dns64.h"
#include "net/ipv6/uip.h"
#include "ipv6/ip64-addr.h"
#include <string.h>
#include "sys/log.h"

Go to the source code of this file.

Functions

void nat64_dns64_6to4 (uint8_t *data, uint16_t len)
 Rewrite an outgoing DNS query from AAAA to A.
 
uint16_t nat64_dns64_4to6 (const uint8_t *ipv4data, uint16_t ipv4len, uint8_t *ipv6data, uint16_t ipv6len, uint16_t ipv6bufsiz)
 Rewrite an incoming DNS response from A to AAAA.
 

Detailed Description

NAT64 DNS64 translation – rewrites DNS queries (AAAA->A) and responses (A->AAAA with NAT64 prefix) inline.

The translator handles compressed DNS names (RFC 1035 ยง4.1.4), grows A records to AAAA records via the NAT64 prefix synthesis from ip64_addr_4to6, and truncates the authority and additional sections after expansion since their offsets become invalid (and constrained resolvers do not consume them).

Author
Nicolas Tsiftes nicol.nosp@m.as.t.nosp@m.sifte.nosp@m.s@ri.nosp@m..se

Definition in file nat64-dns64.c.