Changes in uspace/srv/net/ethip/ethip_nic.c [02a09ed:3e6a98c5] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/net/ethip/ethip_nic.c
r02a09ed r3e6a98c5 121 121 } 122 122 123 static ethip_link_addr_t *ethip_nic_addr_new(i net_addr_t *addr)123 static ethip_link_addr_t *ethip_nic_addr_new(iplink_srv_addr_t *addr) 124 124 { 125 125 ethip_link_addr_t *laddr = calloc(1, sizeof(ethip_link_addr_t)); 126 126 127 if (laddr == NULL) { 127 128 log_msg(LOG_DEFAULT, LVL_ERROR, "Failed allocating NIC address structure. " … … 129 130 return NULL; 130 131 } 131 132 132 133 link_initialize(&laddr->addr_list); 133 laddr->addr = *addr; 134 134 laddr->addr.ipv4 = addr->ipv4; 135 135 return laddr; 136 136 } … … 193 193 goto error; 194 194 } 195 196 addr48(nic_address.address,nic->mac_addr);195 196 mac48_decode(nic_address.address, &nic->mac_addr); 197 197 198 198 rc = nic_set_state(nic->sess, NIC_STATE_ACTIVE); … … 203 203 } 204 204 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); 206 207 207 208 return EOK; … … 334 335 } 335 336 336 int ethip_nic_addr_add(ethip_nic_t *nic, inet_addr_t *addr) 337 { 337 int ethip_nic_addr_add(ethip_nic_t *nic, iplink_srv_addr_t *addr) 338 { 339 ethip_link_addr_t *laddr; 340 338 341 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); 341 343 if (laddr == NULL) 342 344 return ENOMEM; 343 345 344 346 list_append(&laddr->addr_list, &nic->addr_list); 345 347 return EOK; 346 348 } 347 349 348 int ethip_nic_addr_remove(ethip_nic_t *nic, inet_addr_t *addr) 349 { 350 int ethip_nic_addr_remove(ethip_nic_t *nic, iplink_srv_addr_t *addr) 351 { 352 ethip_link_addr_t *laddr; 353 350 354 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); 353 357 if (laddr == NULL) 354 358 return ENOENT; 355 359 356 360 list_remove(&laddr->addr_list); 357 361 ethip_link_addr_delete(laddr); … … 360 364 361 365 ethip_link_addr_t *ethip_nic_addr_find(ethip_nic_t *nic, 362 i net_addr_t *addr)366 iplink_srv_addr_t *addr) 363 367 { 364 368 log_msg(LOG_DEFAULT, LVL_DEBUG, "ethip_nic_addr_find()"); 365 369 366 370 list_foreach(nic->addr_list, link) { 367 371 ethip_link_addr_t *laddr = list_get_instance(link, 368 372 ethip_link_addr_t, addr_list); 369 370 if ( inet_addr_compare(addr, &laddr->addr))373 374 if (addr->ipv4 == laddr->addr.ipv4) 371 375 return laddr; 372 376 } 373 377 374 378 return NULL; 375 379 }
Note:
See TracChangeset
for help on using the changeset viewer.