Ignore:
File:
1 edited

Legend:

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

    r7858acbf ree95794  
    231231    ipc_call_t *call)
    232232{
    233         log_msg(LOG_DEFAULT, LVL_DEBUG, "ethip_nic_addr_changed()");
    234         async_answer_0(callid, ENOTSUP);
     233        uint8_t *addr;
     234        size_t size;
     235        int rc;
     236
     237        rc = async_data_write_accept((void **)&addr, false, 0, 0, 0, &size);
     238        if (rc != EOK) {
     239                log_msg(LOG_DEFAULT, LVL_DEBUG, "data_write_accept() failed");
     240                return;
     241        }
     242
     243        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));
     248
     249        rc = iplink_ev_change_addr(&nic->iplink, &nic->mac_addr);
     250        if (rc != EOK) {
     251                log_msg(LOG_DEFAULT, LVL_DEBUG, "iplink_ev_change_addr() failed");
     252                return;
     253        }
     254
     255        free(addr);
     256        async_answer_0(callid, EOK);
    235257}
    236258
     
    295317                        break;
    296318                default:
     319                        log_msg(LOG_DEFAULT, LVL_DEBUG, "unknown IPC method: %" PRIun, IPC_GET_IMETHOD(call));
    297320                        async_answer_0(callid, ENOTSUP);
    298321                }
Note: See TracChangeset for help on using the changeset viewer.