Changeset 0c2d9bb in mainline for uspace/srv/net/inetsrv/icmpv6.c


Ignore:
Timestamp:
2013-12-25T22:54:29Z (10 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
b51cf2c
Parents:
f7a33de (diff), ac36aed (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

merge mainline changes

File:
1 edited

Legend:

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

    rf7a33de r0c2d9bb  
    4040#include <mem.h>
    4141#include <stdlib.h>
    42 #include <net/socket_codes.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
     
    5858       
    5959        addr128_t src_v6;
    60         uint16_t src_af = inet_addr_get(&dgram->src, NULL, &src_v6);
     60        ip_ver_t src_ver = inet_addr_get(&dgram->src, NULL, &src_v6);
    6161       
    6262        addr128_t dest_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))
     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))
    6666                return EINVAL;
    6767       
     
    8080        inet_get_srcaddr(&dgram->src, 0, &rdgram.src);
    8181        rdgram.dest = dgram->src;
     82        rdgram.iplink = 0;
    8283        rdgram.tos = 0;
    8384        rdgram.data = reply;
     
    115116                return EINVAL;
    116117       
    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;
     118        inetping_sdu_t sdu;
     119       
     120        sdu.src = dgram->src;
     121        sdu.dest = dgram->dest;
    124122       
    125123        icmpv6_message_t *reply = (icmpv6_message_t *) dgram->data;
     
    131129        uint16_t ident = uint16_t_be2host(reply->un.echo.ident);
    132130       
    133         return inetping6_recv(ident, &sdu);
     131        return inetping_recv(ident, &sdu);
    134132}
    135133
     
    159157}
    160158
    161 int icmpv6_ping_send(uint16_t ident, inetping6_sdu_t *sdu)
     159int icmpv6_ping_send(uint16_t ident, inetping_sdu_t *sdu)
    162160{
    163161        size_t rsize = sizeof(icmpv6_message_t) + sdu->size;
     
    178176        inet_dgram_t dgram;
    179177       
    180         inet_addr_set6(sdu->src, &dgram.src);
    181         inet_addr_set6(sdu->dest, &dgram.dest);
     178        dgram.src = sdu->src;
     179        dgram.dest = sdu->dest;
     180        dgram.iplink = 0;
    182181        dgram.tos = 0;
    183182        dgram.data = rdata;
     
    186185        icmpv6_phdr_t phdr;
    187186       
    188         host2addr128_t_be(sdu->src, phdr.src_addr);
    189         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);
    190192        phdr.length = host2uint32_t_be(dgram.size);
    191193        memset(phdr.zeroes, 0, 3);
Note: See TracChangeset for help on using the changeset viewer.