Le support 6rd a été intégré à partir de linux 2.6.33 (
Kconfig, 
sit.c). Par rapport au patch précité, il y a plus de paramètres :
  59struct ip_tunnel_6rd {
  60        struct in6_addr         prefix;
  61        __be32                  relay_prefix;
  62        __u16                   prefixlen;
  63        __u16                   relay_prefixlen;
  64};On a ajouté un préfixe IPv4 : 
prefixIPv4 = relay_prefix/relay_prefixlen
Chaque abonné est identifié par ID et non par son adresse IPv4:
IPv4 = prefixIPv4 || ID
ID est le suffixe de l'adresse IPv4. ID fait donc (32 - relay_prefixlen) bits; l'espace d'adressage peut être économisé.
On a donc :
addrv6 = prefix || ID || localpart
Le mode 6rd de base qu'utilise Free est obtenu avec relay_prefixlen = 0.
On remarque quand CONFIG_IPV6_SIT_6RD est sélectionné, le 6to4 est défini par 
ipip6_tunnel_clone_6rd comme étant du 6rd :
 204        if (t->dev == sitn->fb_tunnel_dev) {
 205                ipv6_addr_set(&t->ip6rd.prefix, htonl(0x20020000), 0, 0, 0);
 206                t->ip6rd.relay_prefix = 0;
 207                t->ip6rd.prefixlen = 16;
 208                t->ip6rd.relay_prefixlen = 0;
 209        } else {