Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/net/inetsrv/icmpv6.c

    r9749e47 r1d94e21  
    4040#include <mem.h>
    4141#include <stdlib.h>
    42 #include <types/inetping.h>
     42#include <net/socket_codes.h>
    4343#include "icmpv6.h"
    4444#include "icmpv6_std.h"
    4545#include "inetsrv.h"
    46 #include "inetping.h"
     46#include "inetping6.h"
    4747#include "pdu.h"
    4848
     
    5858       
    5959        addr128_t src_v6;
    60         ip_ver_t src_ver = inet_addr_get(&dgram->src, NULL, &src_v6);
     60        uint16_t src_af = inet_addr_get(&dgram->src, NULL, &src_v6);
    6161       
    6262        addr128_t dest_v6;
    63         ip_ver_t dest_ver = inet_addr_get(&dgram->dest, NULL, &dest_v6);
    64        
    65         if ((src_ver != dest_ver) || (src_ver != ip_v6))
     63        uint16_t dest_af = inet_addr_get(&dgram->dest, NULL, &dest_v6);
     64       
     65        if ((src_af != dest_af) || (src_af != AF_INET6))
    6666                return EINVAL;
    6767       
     
    8080        inet_get_srcaddr(&dgram->src, 0, &rdgram.src);
    8181        rdgram.dest = dgram->src;
    82         rdgram.iplink = 0;
    8382        rdgram.tos = 0;
    8483        rdgram.data = reply;
     
    116115                return EINVAL;
    117116       
    118         inetping_sdu_t sdu;
    119        
    120         sdu.src = dgram->src;
    121         sdu.dest = dgram->dest;
     117        inetping6_sdu_t sdu;
     118       
     119        uint16_t src_af = inet_addr_get(&dgram->src, NULL, &sdu.src);
     120        uint16_t dest_af = inet_addr_get(&dgram->dest, NULL, &sdu.dest);
     121       
     122        if ((src_af != dest_af) || (src_af != AF_INET6))
     123                return EINVAL;
    122124       
    123125        icmpv6_message_t *reply = (icmpv6_message_t *) dgram->data;
     
    129131        uint16_t ident = uint16_t_be2host(reply->un.echo.ident);
    130132       
    131         return inetping_recv(ident, &sdu);
     133        return inetping6_recv(ident, &sdu);
    132134}
    133135
     
    157159}
    158160
    159 int icmpv6_ping_send(uint16_t ident, inetping_sdu_t *sdu)
     161int icmpv6_ping_send(uint16_t ident, inetping6_sdu_t *sdu)
    160162{
    161163        size_t rsize = sizeof(icmpv6_message_t) + sdu->size;
     
    176178        inet_dgram_t dgram;
    177179       
    178         dgram.src = sdu->src;
    179         dgram.dest = sdu->dest;
    180         dgram.iplink = 0;
     180        inet_addr_set6(sdu->src, &dgram.src);
     181        inet_addr_set6(sdu->dest, &dgram.dest);
    181182        dgram.tos = 0;
    182183        dgram.data = rdata;
     
    185186        icmpv6_phdr_t phdr;
    186187       
    187         assert(sdu->src.version == ip_v6);
    188         assert(sdu->dest.version == ip_v6);
    189        
    190         host2addr128_t_be(sdu->src.addr6, phdr.src_addr);
    191         host2addr128_t_be(sdu->dest.addr6, phdr.dest_addr);
     188        host2addr128_t_be(sdu->src, phdr.src_addr);
     189        host2addr128_t_be(sdu->dest, phdr.dest_addr);
    192190        phdr.length = host2uint32_t_be(dgram.size);
    193191        memset(phdr.zeroes, 0, 3);
Note: See TracChangeset for help on using the changeset viewer.