Ignore:
File:
1 edited

Legend:

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

    r348c589 r014dd57b  
    4040#include <malloc.h>
    4141#include <stdio.h>
     42#include <ipc/ipc.h>
    4243#include <ipc/services.h>
    4344#include <ipc/net.h>
     
    6061#include <ip_interface.h>
    6162#include <icmp_client.h>
    62 #include <icmp_remote.h>
     63#include <icmp_interface.h>
    6364#include <net_interface.h>
    6465#include <socket_core.h>
     
    353354                                    SERVICE_UDP, IPC_GET_ERROR(*icall));
    354355                       
    355                         async_answer_0(iid, (sysarg_t) rc);
     356                        ipc_answer_0(iid, (sysarg_t) rc);
    356357                        break;
    357358                default:
    358                         async_answer_0(iid, (sysarg_t) ENOTSUP);
     359                        ipc_answer_0(iid, (sysarg_t) ENOTSUP);
    359360                }
    360361               
     
    392393        udp_globals.net_phone = net_phone;
    393394       
    394         udp_globals.icmp_phone = icmp_connect_module(ICMP_CONNECT_TIMEOUT);
     395        udp_globals.icmp_phone = icmp_connect_module(SERVICE_ICMP,
     396            ICMP_CONNECT_TIMEOUT);
    395397       
    396398        udp_globals.ip_phone = ip_bind_service(SERVICE_IP, IPPROTO_UDP,
     
    417419        rc = packet_dimensions_initialize(&udp_globals.dimensions);
    418420        if (rc != EOK) {
    419                 socket_ports_destroy(&udp_globals.sockets, free);
     421                socket_ports_destroy(&udp_globals.sockets);
    420422                fibril_rwlock_write_unlock(&udp_globals.lock);
    421423                return rc;
     
    434436            &data);
    435437        if (rc != EOK) {
    436                 socket_ports_destroy(&udp_globals.sockets, free);
     438                socket_ports_destroy(&udp_globals.sockets);
    437439                fibril_rwlock_write_unlock(&udp_globals.lock);
    438440                return rc;
     
    499501        device_id_t device_id;
    500502        packet_dimension_t *packet_dimension;
    501         size_t size;
    502503        int rc;
    503 
    504         /* In case of error, do not update the data fragment size. */
    505         *data_fragment_size = 0;
    506504       
    507505        rc = tl_get_address_port(addr, addrlen, &dest_port);
     
    543541                packet_dimension = &udp_globals.packet_dimension;
    544542//      }
    545 
    546         /*
    547          * Update the data fragment size based on what the lower layers can
    548          * handle without fragmentation, but not more than the maximum allowed
    549          * for UDP.
    550          */
    551         size = MAX_UDP_FRAGMENT_SIZE;
    552         if (packet_dimension->content < size)
    553             size = packet_dimension->content;
    554         *data_fragment_size = size;
    555543
    556544        /* Read the first packet fragment */
     
    800788                                break;
    801789                       
    802                         size = MAX_UDP_FRAGMENT_SIZE;
    803790                        if (tl_get_ip_packet_dimension(udp_globals.ip_phone,
    804791                            &udp_globals.dimensions, DEVICE_INVALID_ID,
    805792                            &packet_dimension) == EOK) {
    806                                 if (packet_dimension->content < size)
    807                                         size = packet_dimension->content;
     793                                SOCKET_SET_DATA_FRAGMENT_SIZE(answer,
     794                                    packet_dimension->content);
    808795                        }
    809                         SOCKET_SET_DATA_FRAGMENT_SIZE(answer, size);
     796
     797//                      SOCKET_SET_DATA_FRAGMENT_SIZE(answer,
     798//                          MAX_UDP_FRAGMENT_SIZE);
    810799                        SOCKET_SET_HEADER_SIZE(answer, UDP_HEADER_SIZE);
    811800                        answer_count = 3;
     
    880869
    881870        /* Release the application phone */
    882         async_hangup(app_phone);
     871        ipc_hangup(app_phone);
    883872
    884873        /* Release all local sockets */
     
    887876
    888877        return res;
    889 }
    890 
    891 /** Per-connection initialization
    892  *
    893  */
    894 void tl_connection(void)
    895 {
    896878}
    897879
     
    909891 * @see IS_NET_UDP_MESSAGE()
    910892 */
    911 int tl_message(ipc_callid_t callid, ipc_call_t *call,
     893int tl_module_message(ipc_callid_t callid, ipc_call_t *call,
    912894    ipc_call_t *answer, size_t *answer_count)
    913895{
Note: See TracChangeset for help on using the changeset viewer.