• [^] # Re: IPv6

    Posté par (site web personnel) . En réponse à la dépêche Netconsole, log de messages noyaux via UDP. Évalué à 4.

    Je sais pas. A première vue il n'y a pas d'équivent à in_aton() pour l'ipv6:
    __u32 in_aton(char*) dans net/ipv4/utils.c convertit une adresse au format ascii ("129.168.0.11") en int.
    Il faudrait d'abord un net/ipv6/utils.c avec
    in6_addr *inv6_aton(char *)

    voir dans inet_pton6() dans le fichier resolv/inet_pton.c de la glibc pour l'algo, il est pas tout simple.

    Le reste a l'air plus trivial:
    -ajouter deux champs in6_addr *local_ipv6, *remote_ipv6 à la structure netpoll (include/linux/netpoll.h)
    -modifier net/core/netpoll.c::netpoll_parse_options() : si "np->local_ip=ntohl(in_aton(cur));" rate (adresse non ipv4), setter np->local_ipv6 grâce à inv6_aton() (attention au byte order aussi).
    -Ensuite en fonction de la non-nullité de np->local_ipv6, l'utiliser en lieu et place de np->local_ip. (changer aussi iph->version et tout ça).
    -Et pareil pour remote_ip/remote_ipv6...

    Bref, un patch qui attend un courageux :)