Ignore:
File:
1 edited

Legend:

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

    r1433ecda rb4edc96  
    11/*
     2 * Copyright (c) 2021 Jiri Svoboda
    23 * Copyright (c) 2013 Antonin Steinhauser
    34 * All rights reserved.
     
    3637
    3738#include <errno.h>
     39#include <inet/eth_addr.h>
     40#include <io/log.h>
    3841#include <mem.h>
    3942#include <stdlib.h>
    40 #include <io/log.h>
    4143#include "ntrans.h"
    4244#include "addrobj.h"
     
    6971        ndp_pdu_encode(packet, &dgram);
    7072
    71         inet_link_send_dgram6(link, packet->target_hw_addr, &dgram,
     73        inet_link_send_dgram6(link, &packet->target_hw_addr, &dgram,
    7274            IP_PROTO_ICMPV6, INET6_HOP_LIMIT_MAX, 0);
    7375
     
    108110                if (laddr != NULL) {
    109111                        rc = ntrans_add(packet.sender_proto_addr,
    110                             packet.sender_hw_addr);
     112                            &packet.sender_hw_addr);
    111113                        if (rc != EOK)
    112114                                return rc;
     
    115117
    116118                        reply.opcode = ICMPV6_NEIGHBOUR_ADVERTISEMENT;
    117                         addr48(laddr->ilink->mac, reply.sender_hw_addr);
     119                        reply.sender_hw_addr = laddr->ilink->mac;
    118120                        addr128(packet.target_proto_addr, reply.sender_proto_addr);
    119                         addr48(packet.sender_hw_addr, reply.target_hw_addr);
     121                        reply.target_hw_addr = packet.sender_hw_addr;
    120122                        addr128(packet.sender_proto_addr, reply.target_proto_addr);
    121123
     
    128130                if (laddr != NULL)
    129131                        return ntrans_add(packet.sender_proto_addr,
    130                             packet.sender_hw_addr);
     132                            &packet.sender_hw_addr);
    131133
    132134                break;
     
    151153 *
    152154 */
    153 errno_t ndp_translate(addr128_t src_addr, addr128_t ip_addr, addr48_t mac_addr,
     155errno_t ndp_translate(addr128_t src_addr, addr128_t ip_addr, eth_addr_t *mac_addr,
    154156    inet_link_t *ilink)
    155157{
     
    167169
    168170        packet.opcode = ICMPV6_NEIGHBOUR_SOLICITATION;
    169         addr48(ilink->mac, packet.sender_hw_addr);
     171        packet.sender_hw_addr = ilink->mac;
    170172        addr128(src_addr, packet.sender_proto_addr);
    171173        addr128(ip_addr, packet.solicited_ip);
    172         addr48_solicited_node(ip_addr, packet.target_hw_addr);
     174        eth_addr_solicited_node(ip_addr, &packet.target_hw_addr);
    173175        ndp_solicited_node_ip(ip_addr, packet.target_proto_addr);
    174176
Note: See TracChangeset for help on using the changeset viewer.