Ignore:
File:
1 edited

Legend:

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

    rb4edc96 ra35b458  
    11/*
    2  * Copyright (c) 2021 Jiri Svoboda
     2 * Copyright (c) 2012 Jiri Svoboda
    33 * All rights reserved.
    44 *
     
    3636
    3737#include <errno.h>
     38#include <io/log.h>
    3839#include <inet/iplink_srv.h>
    3940#include <inet/addr.h>
    40 #include <inet/eth_addr.h>
    41 #include <io/log.h>
    4241#include <stdlib.h>
    4342#include "arp.h"
     
    8079
    8180        (void) atrans_add(packet.sender_proto_addr,
    82             &packet.sender_hw_addr);
     81            packet.sender_hw_addr);
    8382
    8483        if (packet.opcode == aop_request) {
     
    8685
    8786                reply.opcode = aop_reply;
    88                 reply.sender_hw_addr = nic->mac_addr;
     87                addr48(nic->mac_addr, reply.sender_hw_addr);
    8988                reply.sender_proto_addr = laddr_v4;
    90                 reply.target_hw_addr = packet.sender_hw_addr;
     89                addr48(packet.sender_hw_addr, reply.target_hw_addr);
    9190                reply.target_proto_addr = packet.sender_proto_addr;
    9291
     
    9695
    9796errno_t arp_translate(ethip_nic_t *nic, addr32_t src_addr, addr32_t ip_addr,
    98     eth_addr_t *mac_addr)
     97    addr48_t mac_addr)
    9998{
    10099        /* Broadcast address */
    101100        if (ip_addr == addr32_broadcast_all_hosts) {
    102                 *mac_addr = eth_addr_broadcast;
     101                addr48(addr48_broadcast, mac_addr);
    103102                return EOK;
    104103        }
     
    111110
    112111        packet.opcode = aop_request;
    113         packet.sender_hw_addr = nic->mac_addr;
     112        addr48(nic->mac_addr, packet.sender_hw_addr);
    114113        packet.sender_proto_addr = src_addr;
    115         packet.target_hw_addr = eth_addr_broadcast;
     114        addr48(addr48_broadcast, packet.target_hw_addr);
    116115        packet.target_proto_addr = ip_addr;
    117116
     
    139138                return rc;
    140139
    141         frame.dest = packet->target_hw_addr;
    142         frame.src = packet->sender_hw_addr;
     140        addr48(packet->target_hw_addr, frame.dest);
     141        addr48(packet->sender_hw_addr, frame.src);
    143142        frame.etype_len = ETYPE_ARP;
    144143        frame.data = pdata;
Note: See TracChangeset for help on using the changeset viewer.