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