Ignore:
File:
1 edited

Legend:

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

    rfafb8e5 re82b37e  
    11/*
    2  * Copyright (c) 2012 Jiri Svoboda
     2 * Copyright (c) 2024 Jiri Svoboda
    33 * All rights reserved.
    44 *
     
    3737#include <adt/list.h>
    3838#include <async.h>
    39 #include <stdbool.h>
    4039#include <errno.h>
    41 #include <str_error.h>
    4240#include <fibril_synch.h>
     41#include <inet/eth_addr.h>
    4342#include <inet/iplink_srv.h>
    4443#include <io/log.h>
    4544#include <loc.h>
     45#include <mem.h>
    4646#include <nic_iface.h>
     47#include <stdbool.h>
    4748#include <stdlib.h>
    48 #include <mem.h>
     49#include <str_error.h>
    4950#include "ethip.h"
    5051#include "ethip_nic.h"
     
    193194        }
    194195
    195         addr48(nic_address.address, nic->mac_addr);
     196        eth_addr_decode(nic_address.address, &nic->mac_addr);
    196197
    197198        rc = nic_set_state(nic->sess, NIC_STATE_ACTIVE);
     
    233234        uint8_t *addr;
    234235        size_t size;
     236        eth_addr_str_t saddr;
    235237        errno_t rc;
    236238
     
    241243        }
    242244
     245        eth_addr_decode(addr, &nic->mac_addr);
     246        eth_addr_format(&nic->mac_addr, &saddr);
     247
    243248        log_msg(LOG_DEFAULT, LVL_DEBUG, "ethip_nic_addr_changed(): "
    244             "new addr=%02x:%02x:%02x:%02x:%02x:%02x",
    245             addr[0], addr[1], addr[2], addr[3], addr[4], addr[5]);
    246 
    247         memcpy(&nic->mac_addr, addr, sizeof(nic->mac_addr));
     249            "new addr=%s", saddr.str);
    248250
    249251        rc = iplink_ev_change_addr(&nic->iplink, &nic->mac_addr);
     
    399401                assert(i < count);
    400402
    401                 addr48_t mac;
    402                 addr48_solicited_node(v6, mac);
     403                eth_addr_t mac;
     404                eth_addr_solicited_node(v6, &mac);
    403405
    404406                /* Avoid duplicate addresses in the list */
     
    407409
    408410                for (size_t j = 0; j < i; j++) {
    409                         if (addr48_compare(mac_list[j].address, mac)) {
     411                        eth_addr_t mac_entry;
     412                        eth_addr_decode(mac_list[j].address, &mac_entry);
     413                        if (eth_addr_compare(&mac_entry, &mac)) {
    410414                                found = true;
    411415                                break;
     
    414418
    415419                if (!found) {
    416                         addr48(mac, mac_list[i].address);
     420                        eth_addr_encode(&mac, mac_list[i].address);
    417421                        i++;
    418                 } else
     422                } else {
    419423                        count--;
     424                }
    420425        }
    421426
Note: See TracChangeset for help on using the changeset viewer.