Changeset 9cd8165 in mainline for uspace/srv/net


Ignore:
Timestamp:
2012-01-27T12:54:09Z (14 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
790d6d1
Parents:
7174403
Message:

NIC does not need nic_device_id_t. Now it exists just inside net. Not sure if
we care to rename it since net is going away soon, anyway.

Location:
uspace/srv/net
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/net/cfg/e1k.nic

    r7174403 r9cd8165  
    1212
    1313IP_CONFIG=static
    14 IP_ADDR=10.0.2.15
     14IP_ADDR=192.168.0.4
    1515IP_ROUTING=yes
    16 IP_NETMASK=255.255.255.240
    17 IP_BROADCAST=10.0.2.255
    18 IP_GATEWAY=10.0.2.2
     16IP_NETMASK=255.255.255.0
     17IP_BROADCAST=192.168.0.255
     18IP_GATEWAY=192.168.0.1
    1919ARP=arp
    2020
  • uspace/srv/net/cfg/ne2k.nic

    r7174403 r9cd8165  
    1212
    1313IP_CONFIG=static
    14 IP_ADDR=10.0.2.15
     14IP_ADDR=192.168.0.4
    1515IP_ROUTING=yes
    16 IP_NETMASK=255.255.255.240
    17 IP_BROADCAST=10.0.2.255
    18 IP_GATEWAY=10.0.2.2
     16IP_NETMASK=255.255.255.0
     17IP_BROADCAST=192.168.0.255
     18IP_GATEWAY=192.168.0.1
    1919ARP=arp
    2020
  • uspace/srv/net/nil/eth/eth.c

    r7174403 r9cd8165  
    173173    void *arg);
    174174
    175 static int eth_device_state(nic_device_id_t device_id, sysarg_t state)
     175static int eth_device_state(eth_device_t *device, sysarg_t state)
    176176{
    177177        int index;
     
    183183                proto = eth_protos_get_index(&eth_globals.protos, index);
    184184                if ((proto) && (proto->sess)) {
    185                         il_device_state_msg(proto->sess, device_id, state,
    186                             proto->service);
     185                        il_device_state_msg(proto->sess, device->device_id,
     186                            state, proto->service);
    187187                }
    188188        }
     
    347347        }
    348348       
    349         rc = nic_callback_create(device->sess, device_id,
    350             eth_nic_cb_connection, NULL);
     349        rc = nic_callback_create(device->sess, eth_nic_cb_connection, device);
    351350        if (rc != EOK) {
    352351                fibril_rwlock_write_unlock(&eth_globals.devices_lock);
     
    825824}
    826825
    827 static int eth_received(nic_device_id_t device_id)
     826static int eth_received(eth_device_t *device)
    828827{
    829828        void *data;
     
    845844        free(data);
    846845       
    847         return nil_received_msg_local(device_id, packet);
    848 }
    849 
    850 static int eth_addr_changed(nic_device_id_t device_id)
     846        return nil_received_msg_local(device->device_id, packet);
     847}
     848
     849static int eth_addr_changed(eth_device_t *device)
    851850{
    852851        nic_address_t address;
     
    866865
    867866        fibril_rwlock_write_lock(&eth_globals.devices_lock);
    868         /* An existing device? */
    869         eth_device_t *device = eth_devices_find(&eth_globals.devices, device_id);
    870         if (device) {
    871                 printf("Device %d changing address from " PRIMAC " to " PRIMAC "\n",
    872                         device_id, ARGSMAC(device->addr.address), ARGSMAC(address.address));
    873                 memcpy(&device->addr, &address, sizeof (nic_address_t));
    874                 fibril_rwlock_write_unlock(&eth_globals.devices_lock);
    875 
    876                 /* Notify all upper layer modules */
    877                 fibril_rwlock_read_lock(&eth_globals.protos_lock);
    878                 int index;
    879                 for (index = 0; index < eth_protos_count(&eth_globals.protos); index++) {
    880                         eth_proto_t *proto = eth_protos_get_index(&eth_globals.protos, index);
    881                         if (proto->sess != NULL) {
    882                                 il_addr_changed_msg(proto->sess, device->device_id,
    883                                                 ETH_ADDR, address.address);
    884                         }
    885                 }
    886 
    887                 fibril_rwlock_read_unlock(&eth_globals.protos_lock);
    888                 return EOK;
    889         } else {
    890                 return ENOENT;
    891         }
     867
     868        printf("Device %d changing address from " PRIMAC " to " PRIMAC "\n",
     869                device->device_id, ARGSMAC(device->addr.address),
     870                ARGSMAC(address.address));
     871        memcpy(&device->addr, &address, sizeof (nic_address_t));
     872        fibril_rwlock_write_unlock(&eth_globals.devices_lock);
     873
     874        /* Notify all upper layer modules */
     875        fibril_rwlock_read_lock(&eth_globals.protos_lock);
     876        int index;
     877        for (index = 0; index < eth_protos_count(&eth_globals.protos); index++) {
     878                eth_proto_t *proto = eth_protos_get_index(&eth_globals.protos, index);
     879                if (proto->sess != NULL) {
     880                        il_addr_changed_msg(proto->sess, device->device_id,
     881                                        ETH_ADDR, address.address);
     882                }
     883        }
     884
     885        fibril_rwlock_read_unlock(&eth_globals.protos_lock);
     886        return EOK;
    892887}
    893888
     
    962957static void eth_nic_cb_connection(ipc_callid_t iid, ipc_call_t *icall, void *arg)
    963958{
     959        eth_device_t *device = (eth_device_t *)arg;
    964960        int rc;
    965961       
     
    975971                switch (IPC_GET_IMETHOD(call)) {
    976972                case NIC_EV_DEVICE_STATE:
    977                         rc = eth_device_state(IPC_GET_ARG1(call),
    978                             IPC_GET_ARG2(call));
     973                        rc = eth_device_state(device, IPC_GET_ARG1(call));
    979974                        async_answer_0(callid, (sysarg_t) rc);
    980975                        break;
    981976                case NIC_EV_RECEIVED:
    982                         rc = eth_received(IPC_GET_ARG1(call));
     977                        rc = eth_received(device);
    983978                        async_answer_0(callid, (sysarg_t) rc);
    984979                        break;
    985980                case NIC_EV_ADDR_CHANGED:
    986                         rc = eth_addr_changed(IPC_GET_ARG1(call));
     981                        rc = eth_addr_changed(device);
    987982                        async_answer_0(callid, (sysarg_t) rc);
    988983                        break;
  • uspace/srv/net/nil/nildummy/nildummy.c

    r7174403 r9cd8165  
    7373    void *arg);
    7474
    75 static int nildummy_device_state(nic_device_id_t device_id, sysarg_t state)
     75static int nildummy_device_state(nildummy_device_t *device, sysarg_t state)
    7676{
    7777        fibril_rwlock_read_lock(&nildummy_globals.protos_lock);
    7878        if (nildummy_globals.proto.sess)
    79                 il_device_state_msg(nildummy_globals.proto.sess, device_id,
    80                     state, nildummy_globals.proto.service);
     79                il_device_state_msg(nildummy_globals.proto.sess,
     80                    device->device_id, state, nildummy_globals.proto.service);
    8181        fibril_rwlock_read_unlock(&nildummy_globals.protos_lock);
    8282       
     
    8484}
    8585
    86 static int nildummy_addr_changed(nic_device_id_t device_id)
     86static int nildummy_addr_changed(nildummy_device_t *device)
    8787{
    8888        return ENOTSUP;
     
    182182        }
    183183       
    184         int rc = nic_callback_create(device->sess, device_id,
    185             nildummy_nic_cb_conn, NULL);
     184        int rc = nic_callback_create(device->sess, nildummy_nic_cb_conn,
     185            device);
    186186        if (rc != EOK) {
    187187                async_hangup(device->sess);
     
    383383}
    384384
    385 static int nildummy_received(nic_device_id_t device_id)
     385static int nildummy_received(nildummy_device_t *device)
    386386{
    387387        void *data;
     
    401401        free(pdata);
    402402
    403         return nil_received_msg_local(device_id, packet);
     403        return nil_received_msg_local(device->device_id, packet);
    404404}
    405405
     
    465465static void nildummy_nic_cb_conn(ipc_callid_t iid, ipc_call_t *icall, void *arg)
    466466{
     467        nildummy_device_t *device = (nildummy_device_t *)arg;
    467468        int rc;
    468469       
     
    478479                switch (IPC_GET_IMETHOD(call)) {
    479480                case NIC_EV_DEVICE_STATE:
    480                         rc = nildummy_device_state(IPC_GET_ARG1(call),
    481                             IPC_GET_ARG2(call));
     481                        rc = nildummy_device_state(device, IPC_GET_ARG1(call));
    482482                        async_answer_0(callid, (sysarg_t) rc);
    483483                        break;
    484484                case NIC_EV_RECEIVED:
    485                         rc = nildummy_received(IPC_GET_ARG1(call));
     485                        rc = nildummy_received(device);
    486486                        async_answer_0(callid, (sysarg_t) rc);
    487487                        break;
    488488                case NIC_EV_ADDR_CHANGED:
    489                         rc = nildummy_addr_changed(IPC_GET_ARG1(call));
     489                        rc = nildummy_addr_changed(device);
    490490                        async_answer_0(callid, (sysarg_t) rc);
    491491                        break;
Note: See TracChangeset for help on using the changeset viewer.