Changeset 9749e47 in mainline for uspace/srv/net/inetsrv/icmpv6.c


Ignore:
Timestamp:
2013-10-04T19:23:43Z (12 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
f1d04b2
Parents:
26de91a
Message:

ping6 - resistance is futile.

File:
1 edited

Legend:

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

    r26de91a r9749e47  
    4040#include <mem.h>
    4141#include <stdlib.h>
    42 #include <types/inetping6.h>
     42#include <types/inetping.h>
    4343#include "icmpv6.h"
    4444#include "icmpv6_std.h"
    4545#include "inetsrv.h"
    46 #include "inetping6.h"
     46#include "inetping.h"
    4747#include "pdu.h"
    4848
     
    116116                return EINVAL;
    117117       
    118         inetping6_sdu_t sdu;
    119        
    120         ip_ver_t src_ver = inet_addr_get(&dgram->src, NULL, &sdu.src);
    121         ip_ver_t dest_ver = inet_addr_get(&dgram->dest, NULL, &sdu.dest);
    122        
    123         if ((src_ver != dest_ver) || (src_ver != ip_v6))
    124                 return EINVAL;
     118        inetping_sdu_t sdu;
     119       
     120        sdu.src = dgram->src;
     121        sdu.dest = dgram->dest;
    125122       
    126123        icmpv6_message_t *reply = (icmpv6_message_t *) dgram->data;
     
    132129        uint16_t ident = uint16_t_be2host(reply->un.echo.ident);
    133130       
    134         return inetping6_recv(ident, &sdu);
     131        return inetping_recv(ident, &sdu);
    135132}
    136133
     
    160157}
    161158
    162 int icmpv6_ping_send(uint16_t ident, inetping6_sdu_t *sdu)
     159int icmpv6_ping_send(uint16_t ident, inetping_sdu_t *sdu)
    163160{
    164161        size_t rsize = sizeof(icmpv6_message_t) + sdu->size;
     
    179176        inet_dgram_t dgram;
    180177       
    181         inet_addr_set6(sdu->src, &dgram.src);
    182         inet_addr_set6(sdu->dest, &dgram.dest);
     178        dgram.src = sdu->src;
     179        dgram.dest = sdu->dest;
    183180        dgram.iplink = 0;
    184181        dgram.tos = 0;
     
    188185        icmpv6_phdr_t phdr;
    189186       
    190         host2addr128_t_be(sdu->src, phdr.src_addr);
    191         host2addr128_t_be(sdu->dest, phdr.dest_addr);
     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);
    192192        phdr.length = host2uint32_t_be(dgram.size);
    193193        memset(phdr.zeroes, 0, 3);
Note: See TracChangeset for help on using the changeset viewer.