Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/net/tl/udp/udp.c

    r2e99277 ra000878c  
    192192        ERROR_DECLARE;
    193193
    194         measured_string_t       names[] = {{ "UDP_CHECKSUM_COMPUTING", 22 }, { "UDP_AUTOBINDING", 15 }};
     194        measured_string_t       names[] = {{ str_dup("UDP_CHECKSUM_COMPUTING"), 22 }, { str_dup("UDP_AUTOBINDING"), 15 }};
    195195        measured_string_ref     configuration;
    196196        size_t                          count = sizeof( names ) / sizeof( measured_string_t );
     
    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.