Changes in / [aa85487:137691a] in mainline


Ignore:
Files:
14 deleted
7 edited

Legend:

Unmodified
Added
Removed
  • boot/Makefile.common

    raa85487 r137691a  
    9191        $(USPACEDIR)/srv/net/net/net \
    9292        $(USPACEDIR)/srv/net/netif/lo/lo \
     93        $(USPACEDIR)/srv/net/netif/dp8390/dp8390 \
    9394        $(USPACEDIR)/srv/net/nil/eth/eth \
    9495        $(USPACEDIR)/srv/net/nil/nildummy/nildummy \
     
    104105NET_CFG = \
    105106        $(USPACEDIR)/srv/net/cfg/$(NETWORKING)/general \
    106         $(USPACEDIR)/srv/net/cfg/$(NETWORKING)/lo
    107 
    108 ifeq ($(CONFIG_NETIF_DP8390),y)
    109         NET_SRVS        +=      $(USPACEDIR)/srv/net/netif/dp8390/dp8390
    110 
    111         NET_CFG +=      $(USPACEDIR)/srv/net/cfg/$(NETWORKING)/ne2k
     107        $(USPACEDIR)/srv/net/cfg/$(NETWORKING)/lo \
     108        $(USPACEDIR)/srv/net/cfg/$(NETWORKING)/ne2k
    112109endif
    113110
     
    133130endif
    134131endif
    135 endif
     132
  • uspace/srv/net/Makefile

    raa85487 r137691a  
    3131DIRS = \
    3232        netif/lo \
     33        netif/dp8390 \
    3334        nil/eth \
    3435        nil/nildummy \
     
    4748                tl/udp \
    4849                tl/tcp \
    49 
    50 ifeq ($(CONFIG_NETIF_DP8390),y)
    51         DIRS += netif/dp8390
    52 endif
    5350
    5451DIRS_ALL = $(DIRS) $(DIRS_MODULAR)
  • uspace/srv/net/include/socket.h

    raa85487 r137691a  
    6161 *  @returns EPROTONOSUPPORT if the protocol is not supported.
    6262 *  @returns ENOMEM if there is not enough memory left.
    63  *  @returns ELIMIT if there was not a free socket identifier found this time.
    6463 *  @returns Other error codes as defined for the NET_SOCKET message.
    6564 *  @returns Other error codes as defined for the bind_service_timeout() function.
  • uspace/srv/net/module.c

    raa85487 r137691a  
    110110                res = module_message( callid, & call, & answer, & answer_count );
    111111
    112                 if(( IPC_GET_METHOD( call ) == IPC_M_PHONE_HUNGUP ) || ( res == EHANGUP )){
    113                         return;
    114                 }
     112                if( IPC_GET_METHOD( call ) == IPC_M_PHONE_HUNGUP ) return;
    115113
    116114                answer_call( callid, res, & answer, answer_count );
  • uspace/srv/net/tl/icmp/icmp.c

    raa85487 r137691a  
    658658        ipc_callid_t                    data_callid;
    659659        icmp_echo_ref                   echo_data;
    660         int                                             res;
    661660
    662661        /*
     
    664663         *  - Answer the first NET_ICMP_INIT call.
    665664         */
    666         res = EOK;
    667         answer_count = 0;
     665        ipc_answer_0( callid, EOK );
    668666
    669667//      fibril_rwlock_initialize( & lock );
     
    671669        echo_data = ( icmp_echo_ref ) malloc( sizeof( * echo_data ));
    672670        if( ! echo_data ) return ENOMEM;
    673 
    674671        // assign a new identifier
    675672        fibril_rwlock_write_lock( & icmp_globals.lock );
    676         res = icmp_bind_free_id( echo_data );
     673        ERROR_CODE = icmp_bind_free_id( echo_data );
    677674        fibril_rwlock_write_unlock( & icmp_globals.lock );
    678         if( res < 0 ){
     675        if( ERROR_CODE < 0 ){
    679676                free( echo_data );
    680                 return res;
     677                return ERROR_CODE;
    681678        }
    682679
    683680        while( keep_on_going ){
    684 
    685                 // answer the call
    686                 answer_call( callid, res, & answer, answer_count );
    687 
    688                 // refresh data
    689681                refresh_answer( & answer, & answer_count );
    690682
    691                 // get the next call
    692683                callid = async_get_call( & call );
    693684
    694                 // process the call
    695685                switch( IPC_GET_METHOD( call )){
    696686                        case IPC_M_PHONE_HUNGUP:
    697687                                keep_on_going = false;
    698                                 res = EHANGUP;
     688                                ERROR_CODE = EOK;
    699689                                break;
    700690                        case NET_ICMP_ECHO:
    701691//                              fibril_rwlock_write_lock( & lock );
    702692                                if( ! async_data_write_receive( & data_callid, & length )){
    703                                         res = EINVAL;
     693                                        ERROR_CODE = EINVAL;
    704694                                }else{
    705695                                        addr = malloc( length );
    706696                                        if( ! addr ){
    707                                                 res = ENOMEM;
     697                                                ERROR_CODE = ENOMEM;
    708698                                        }else{
    709699                                                if( ! ERROR_OCCURRED( async_data_write_finalize( data_callid, addr, length ))){
    710700                                                        fibril_rwlock_write_lock( & icmp_globals.lock );
    711                                                         res = icmp_echo( echo_data->identifier, echo_data->sequence_number, ICMP_GET_SIZE( call ), ICMP_GET_TIMEOUT( call ), ICMP_GET_TTL( call ), ICMP_GET_TOS( call ), ICMP_GET_DONT_FRAGMENT( call ), addr, ( socklen_t ) length );
     701                                                        ERROR_CODE = icmp_echo( echo_data->identifier, echo_data->sequence_number, ICMP_GET_SIZE( call ), ICMP_GET_TIMEOUT( call ), ICMP_GET_TTL( call ), ICMP_GET_TOS( call ), ICMP_GET_DONT_FRAGMENT( call ), addr, ( socklen_t ) length );
    712702                                                        fibril_rwlock_write_unlock( & icmp_globals.lock );
    713703                                                        free( addr );
     
    717707                                                                echo_data->sequence_number = 0;
    718708                                                        }
    719                                                 }else{
    720                                                         res = ERROR_CODE;
    721709                                                }
    722710                                        }
     
    725713                                break;
    726714                        default:
    727                                 res = icmp_process_message( & call );
     715                                ERROR_CODE = icmp_process_message( & call );
    728716                }
     717
     718                answer_call( callid, ERROR_CODE, & answer, answer_count );
    729719        }
    730720
     
    733723        icmp_echo_data_exclude( & icmp_globals.echo_data, echo_data->identifier );
    734724        fibril_rwlock_write_unlock( & icmp_globals.lock );
    735         return res;
     725        return EOK;
    736726}
    737727
  • uspace/srv/net/tl/tcp/tcp.c

    raa85487 r137691a  
    10701070         *  - Answer the first IPC_M_CONNECT_ME_TO call.
    10711071         */
    1072         res = EOK;
    1073         answer_count = 0;
     1072        ipc_answer_0( callid, EOK );
    10741073
    10751074        socket_cores_initialize( & local_sockets );
     
    10771076
    10781077        while( keep_on_going ){
    1079 
    1080                 // answer the call
    1081                 answer_call( callid, res, & answer, answer_count );
    1082 
    10831078                // refresh data
    10841079                refresh_answer( & answer, & answer_count );
    10851080
    1086                 // get the next call
    10871081                callid = async_get_call( & call );
    1088 
    1089                 // process the call
     1082//              printf( "message %d\n", IPC_GET_METHOD( * call ));
     1083
    10901084                switch( IPC_GET_METHOD( call )){
    10911085                        case IPC_M_PHONE_HUNGUP:
    10921086                                keep_on_going = false;
    1093                                 res = EHANGUP;
     1087                                res = EOK;
    10941088                                break;
    10951089                        case NET_SOCKET:
     
    12371231                                break;
    12381232                }
     1233
     1234//              printf( "res = %d\n", res );
     1235
     1236                answer_call( callid, res, & answer, answer_count );
    12391237        }
    12401238
     
    12751273                                        // TODO release as connection lost
    12761274                                        //tcp_refresh_socket_data( socket_data );
    1277                                 }else{
    1278                                         // retransmit
    1279                                         tcp_retransmit_packet( socket, socket_data, timeout->sequence_number );
    1280                                 }
     1275                                }
     1276                                // retransmit
     1277                                // TODO enable retransmit
     1278                                //tcp_retransmit_packet( socket, socket_data, timeout->sequence_number );
    12811279                                fibril_rwlock_write_unlock( socket_data->local_lock );
    12821280                        }else{
  • uspace/srv/net/tl/udp/udp.c

    raa85487 r137691a  
    390390        fibril_rwlock_write_unlock( & udp_globals.lock );
    391391        async_msg_5( socket->phone, NET_SOCKET_RECEIVED, ( ipcarg_t ) socket->socket_id, packet_dimension->content, 0, 0, ( ipcarg_t ) fragments );
    392         return EOK;
     392/*      fibril_rwlock_write_unlock( & udp_globals.lock );
     393        async_msg_5( socket->phone, NET_SOCKET_RECEIVED, ( ipcarg_t ) socket->socket_id, 0, 0, 0, ( ipcarg_t ) fragments );
     394*/      return EOK;
    393395}
    394396
     
    427429         *  - Answer the first IPC_M_CONNECT_TO_ME call.
    428430         */
    429         res = EOK;
    430         answer_count = 0;
     431        ipc_answer_0( callid, EOK );
    431432
    432433        // The client connection is only in one fibril and therefore no additional locks are needed.
     
    436437
    437438        while( keep_on_going ){
    438 
    439                 // answer the call
    440                 answer_call( callid, res, & answer, answer_count );
    441 
    442439                // refresh data
    443440                refresh_answer( & answer, & answer_count );
    444441
    445                 // get the next call
    446442                callid = async_get_call( & call );
    447 
    448                 // process the call
     443//              printf( "message %d\n", IPC_GET_METHOD( * call ));
     444
    449445                switch( IPC_GET_METHOD( call )){
    450446                        case IPC_M_PHONE_HUNGUP:
    451447                                keep_on_going = false;
    452                                 res = EHANGUP;
     448                                res = EOK;
    453449                                break;
    454450                        case NET_SOCKET:
     
    518514                                break;
    519515                }
     516
     517//              printf( "res = %d\n", res );
     518
     519                answer_call( callid, res, & answer, answer_count );
    520520        }
    521521
     
    523523        socket_cores_release( udp_globals.net_phone, & local_sockets, & udp_globals.sockets, NULL );
    524524
    525         return res;
     525        return EOK;
    526526}
    527527
     
    618618        header->checksum = 0;
    619619        if( udp_globals.checksum_computing ){
    620                 // update the pseudo header
    621                 if( ERROR_OCCURRED( ip_client_set_pseudo_header_data_length( ip_header, headerlen, total_length + UDP_HEADER_SIZE ))){
     620//              if( ERROR_OCCURRED( ip_get_route_req( udp_globals.ip_phone, IPPROTO_UDP, addr, addrlen, & device_id, & ip_header, & headerlen ))){
     621//                      return udp_release_and_return( packet, ERROR_CODE );
     622//              }
     623                if( ERROR_OCCURRED( ip_client_set_pseudo_header_data_length( ip_header, headerlen, total_length + UDP_HEADER_SIZE))){
    622624                        free( ip_header );
    623625                        return udp_release_and_return( packet, ERROR_CODE );
    624626                }
    625                 // finish the checksum computation
    626627                checksum = compute_checksum( checksum, ip_header, headerlen );
    627628                checksum = compute_checksum( checksum, ( uint8_t * ) header, sizeof( * header ));
Note: See TracChangeset for help on using the changeset viewer.