Ignore:
File:
1 edited

Legend:

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

    rb4edc96 rfafb8e5  
    11/*
    2  * Copyright (c) 2021 Jiri Svoboda
     2 * Copyright (c) 2012 Jiri Svoboda
    33 * All rights reserved.
    44 *
     
    3939#include <async.h>
    4040#include <errno.h>
    41 #include <inet/eth_addr.h>
    4241#include <inet/iplink_srv.h>
    4342#include <io/log.h>
     
    5958static errno_t ethip_send6(iplink_srv_t *srv, iplink_sdu6_t *sdu);
    6059static errno_t ethip_get_mtu(iplink_srv_t *srv, size_t *mtu);
    61 static errno_t ethip_get_mac48(iplink_srv_t *srv, eth_addr_t *mac);
    62 static errno_t ethip_set_mac48(iplink_srv_t *srv, eth_addr_t *mac);
     60static errno_t ethip_get_mac48(iplink_srv_t *srv, addr48_t *mac);
     61static errno_t ethip_set_mac48(iplink_srv_t *srv, addr48_t *mac);
    6362static errno_t ethip_addr_add(iplink_srv_t *srv, inet_addr_t *addr);
    6463static errno_t ethip_addr_remove(iplink_srv_t *srv, inet_addr_t *addr);
     
    178177        eth_frame_t frame;
    179178
    180         errno_t rc = arp_translate(nic, sdu->src, sdu->dest, &frame.dest);
     179        errno_t rc = arp_translate(nic, sdu->src, sdu->dest, frame.dest);
    181180        if (rc != EOK) {
    182181                log_msg(LOG_DEFAULT, LVL_WARN, "Failed to look up IPv4 address 0x%"
     
    185184        }
    186185
    187         frame.src = nic->mac_addr;
     186        addr48(nic->mac_addr, frame.src);
    188187        frame.etype_len = ETYPE_IP;
    189188        frame.data = sdu->data;
     
    209208        eth_frame_t frame;
    210209
    211         frame.dest = sdu->dest;
    212         frame.src = nic->mac_addr;
     210        addr48(sdu->dest, frame.dest);
     211        addr48(nic->mac_addr, frame.src);
    213212        frame.etype_len = ETYPE_IPV6;
    214213        frame.data = sdu->data;
     
    277276}
    278277
    279 static errno_t ethip_get_mac48(iplink_srv_t *srv, eth_addr_t *mac)
     278static errno_t ethip_get_mac48(iplink_srv_t *srv, addr48_t *mac)
    280279{
    281280        log_msg(LOG_DEFAULT, LVL_DEBUG, "ethip_get_mac48()");
    282281
    283282        ethip_nic_t *nic = (ethip_nic_t *) srv->arg;
    284         *mac = nic->mac_addr;
    285 
    286         return EOK;
    287 }
    288 
    289 static errno_t ethip_set_mac48(iplink_srv_t *srv, eth_addr_t *mac)
     283        addr48(nic->mac_addr, *mac);
     284
     285        return EOK;
     286}
     287
     288static errno_t ethip_set_mac48(iplink_srv_t *srv, addr48_t *mac)
    290289{
    291290        log_msg(LOG_DEFAULT, LVL_DEBUG, "ethip_set_mac48()");
    292291
    293292        ethip_nic_t *nic = (ethip_nic_t *) srv->arg;
    294         nic->mac_addr = *mac;
     293        addr48(*mac, nic->mac_addr);
    295294
    296295        return EOK;
Note: See TracChangeset for help on using the changeset viewer.