Ignore:
File:
1 edited

Legend:

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

    r02a09ed r3e6a98c5  
    121121}
    122122
    123 static ethip_link_addr_t *ethip_nic_addr_new(inet_addr_t *addr)
     123static ethip_link_addr_t *ethip_nic_addr_new(iplink_srv_addr_t *addr)
    124124{
    125125        ethip_link_addr_t *laddr = calloc(1, sizeof(ethip_link_addr_t));
     126
    126127        if (laddr == NULL) {
    127128                log_msg(LOG_DEFAULT, LVL_ERROR, "Failed allocating NIC address structure. "
     
    129130                return NULL;
    130131        }
    131        
     132
    132133        link_initialize(&laddr->addr_list);
    133         laddr->addr = *addr;
    134        
     134        laddr->addr.ipv4 = addr->ipv4;
    135135        return laddr;
    136136}
     
    193193                goto error;
    194194        }
    195        
    196         addr48(nic_address.address, nic->mac_addr);
     195
     196        mac48_decode(nic_address.address, &nic->mac_addr);
    197197
    198198        rc = nic_set_state(nic->sess, NIC_STATE_ACTIVE);
     
    203203        }
    204204
    205         log_msg(LOG_DEFAULT, LVL_DEBUG, "Initialized IP link service,");
     205        log_msg(LOG_DEFAULT, LVL_DEBUG, "Initialized IP link service, MAC = 0x%" PRIx64,
     206            nic->mac_addr.addr);
    206207
    207208        return EOK;
     
    334335}
    335336
    336 int ethip_nic_addr_add(ethip_nic_t *nic, inet_addr_t *addr)
    337 {
     337int ethip_nic_addr_add(ethip_nic_t *nic, iplink_srv_addr_t *addr)
     338{
     339        ethip_link_addr_t *laddr;
     340
    338341        log_msg(LOG_DEFAULT, LVL_DEBUG, "ethip_nic_addr_add()");
    339        
    340         ethip_link_addr_t *laddr = ethip_nic_addr_new(addr);
     342        laddr = ethip_nic_addr_new(addr);
    341343        if (laddr == NULL)
    342344                return ENOMEM;
    343        
     345
    344346        list_append(&laddr->addr_list, &nic->addr_list);
    345347        return EOK;
    346348}
    347349
    348 int ethip_nic_addr_remove(ethip_nic_t *nic, inet_addr_t *addr)
    349 {
     350int ethip_nic_addr_remove(ethip_nic_t *nic, iplink_srv_addr_t *addr)
     351{
     352        ethip_link_addr_t *laddr;
     353
    350354        log_msg(LOG_DEFAULT, LVL_DEBUG, "ethip_nic_addr_remove()");
    351        
    352         ethip_link_addr_t *laddr = ethip_nic_addr_find(nic, addr);
     355
     356        laddr = ethip_nic_addr_find(nic, addr);
    353357        if (laddr == NULL)
    354358                return ENOENT;
    355        
     359
    356360        list_remove(&laddr->addr_list);
    357361        ethip_link_addr_delete(laddr);
     
    360364
    361365ethip_link_addr_t *ethip_nic_addr_find(ethip_nic_t *nic,
    362     inet_addr_t *addr)
     366    iplink_srv_addr_t *addr)
    363367{
    364368        log_msg(LOG_DEFAULT, LVL_DEBUG, "ethip_nic_addr_find()");
    365        
     369
    366370        list_foreach(nic->addr_list, link) {
    367371                ethip_link_addr_t *laddr = list_get_instance(link,
    368372                    ethip_link_addr_t, addr_list);
    369                
    370                 if (inet_addr_compare(addr, &laddr->addr))
     373
     374                if (addr->ipv4 == laddr->addr.ipv4)
    371375                        return laddr;
    372376        }
    373        
     377
    374378        return NULL;
    375379}
Note: See TracChangeset for help on using the changeset viewer.