Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/net/ethip/arp.c

    ra35b458 rb4edc96  
    11/*
    2  * Copyright (c) 2012 Jiri Svoboda
     2 * Copyright (c) 2021 Jiri Svoboda
    33 * All rights reserved.
    44 *
     
    3636
    3737#include <errno.h>
    38 #include <io/log.h>
    3938#include <inet/iplink_srv.h>
    4039#include <inet/addr.h>
     40#include <inet/eth_addr.h>
     41#include <io/log.h>
    4142#include <stdlib.h>
    4243#include "arp.h"
     
    7980
    8081        (void) atrans_add(packet.sender_proto_addr,
    81             packet.sender_hw_addr);
     82            &packet.sender_hw_addr);
    8283
    8384        if (packet.opcode == aop_request) {
     
    8586
    8687                reply.opcode = aop_reply;
    87                 addr48(nic->mac_addr, reply.sender_hw_addr);
     88                reply.sender_hw_addr = nic->mac_addr;
    8889                reply.sender_proto_addr = laddr_v4;
    89                 addr48(packet.sender_hw_addr, reply.target_hw_addr);
     90                reply.target_hw_addr = packet.sender_hw_addr;
    9091                reply.target_proto_addr = packet.sender_proto_addr;
    9192
     
    9596
    9697errno_t arp_translate(ethip_nic_t *nic, addr32_t src_addr, addr32_t ip_addr,
    97     addr48_t mac_addr)
     98    eth_addr_t *mac_addr)
    9899{
    99100        /* Broadcast address */
    100101        if (ip_addr == addr32_broadcast_all_hosts) {
    101                 addr48(addr48_broadcast, mac_addr);
     102                *mac_addr = eth_addr_broadcast;
    102103                return EOK;
    103104        }
     
    110111
    111112        packet.opcode = aop_request;
    112         addr48(nic->mac_addr, packet.sender_hw_addr);
     113        packet.sender_hw_addr = nic->mac_addr;
    113114        packet.sender_proto_addr = src_addr;
    114         addr48(addr48_broadcast, packet.target_hw_addr);
     115        packet.target_hw_addr = eth_addr_broadcast;
    115116        packet.target_proto_addr = ip_addr;
    116117
     
    138139                return rc;
    139140
    140         addr48(packet->target_hw_addr, frame.dest);
    141         addr48(packet->sender_hw_addr, frame.src);
     141        frame.dest = packet->target_hw_addr;
     142        frame.src = packet->sender_hw_addr;
    142143        frame.etype_len = ETYPE_ARP;
    143144        frame.data = pdata;
Note: See TracChangeset for help on using the changeset viewer.