Changeset 8a9a41e in mainline for uspace/srv/net/ethip/arp.c


Ignore:
Timestamp:
2021-10-24T08:28:43Z (2 years ago)
Author:
GitHub <noreply@…>
Children:
f628215
Parents:
2ce943a (diff), cd981f2a (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.
git-author:
Erik Kučák <35500848+Riko196@…> (2021-10-24 08:28:43)
git-committer:
GitHub <noreply@…> (2021-10-24 08:28:43)
Message:

Merge branch 'HelenOS:master' into master

File:
1 edited

Legend:

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

    r2ce943a r8a9a41e  
    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.