Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/net/tcp/sock.c

    r05bfce7 rdb81577  
    9191static void tcp_sock_notify_data(socket_core_t *sock_core)
    9292{
    93         log_msg(LOG_DEFAULT, LVL_DEBUG, "tcp_sock_notify_data(%d)", sock_core->socket_id);
     93        log_msg(LVL_DEBUG, "tcp_sock_notify_data(%d)", sock_core->socket_id);
    9494        async_exch_t *exch = async_exchange_begin(sock_core->sess);
    9595        async_msg_5(exch, NET_SOCKET_RECEIVED, (sysarg_t)sock_core->socket_id,
     
    100100static void tcp_sock_notify_aconn(socket_core_t *lsock_core)
    101101{
    102         log_msg(LOG_DEFAULT, LVL_DEBUG, "tcp_sock_notify_aconn(%d)", lsock_core->socket_id);
     102        log_msg(LVL_DEBUG, "tcp_sock_notify_aconn(%d)", lsock_core->socket_id);
    103103        async_exch_t *exch = async_exchange_begin(lsock_core->sess);
    104104        async_msg_5(exch, NET_SOCKET_ACCEPTED, (sysarg_t)lsock_core->socket_id,
     
    111111        tcp_sockdata_t *sock;
    112112
    113         log_msg(LOG_DEFAULT, LVL_DEBUG, "tcp_sock_create()");
     113        log_msg(LVL_DEBUG, "tcp_sock_create()");
    114114        *rsock = NULL;
    115115
     
    133133static void tcp_sock_uncreate(tcp_sockdata_t *sock)
    134134{
    135         log_msg(LOG_DEFAULT, LVL_DEBUG, "tcp_sock_uncreate()");
     135        log_msg(LVL_DEBUG, "tcp_sock_uncreate()");
    136136        free(sock);
    137137}
     
    142142        int rc;
    143143
    144         log_msg(LOG_DEFAULT, LVL_DEBUG, "tcp_sock_finish_setup()");
     144        log_msg(LVL_DEBUG, "tcp_sock_finish_setup()");
    145145
    146146        sock->recv_fibril = fibril_create(tcp_sock_recv_fibril, sock);
     
    171171        ipc_call_t answer;
    172172
    173         log_msg(LOG_DEFAULT, LVL_DEBUG, "tcp_sock_socket()");
     173        log_msg(LVL_DEBUG, "tcp_sock_socket()");
    174174
    175175        rc = tcp_sock_create(client, &sock);
     
    203203{
    204204        int rc;
    205         struct sockaddr_in *addr;
    206         size_t addr_size;
     205        struct sockaddr *addr;
     206        size_t addr_len;
    207207        socket_core_t *sock_core;
    208208        tcp_sockdata_t *socket;
    209        
    210         log_msg(LOG_DEFAULT, LVL_DEBUG, "tcp_sock_bind()");
    211         log_msg(LOG_DEFAULT, LVL_DEBUG, " - async_data_write_accept");
    212        
    213         addr = NULL;
    214        
    215         rc = async_data_write_accept((void **) &addr, false, 0, 0, 0, &addr_size);
     209
     210        log_msg(LVL_DEBUG, "tcp_sock_bind()");
     211        log_msg(LVL_DEBUG, " - async_data_write_accept");
     212        rc = async_data_write_accept((void **) &addr, false, 0, 0, 0, &addr_len);
    216213        if (rc != EOK) {
    217214                async_answer_0(callid, rc);
    218                 goto out;
    219         }
    220        
    221         if (addr_size != sizeof(struct sockaddr_in)) {
    222                 async_answer_0(callid, EINVAL);
    223                 goto out;
    224         }
    225        
    226         log_msg(LOG_DEFAULT, LVL_DEBUG, " - call socket_bind");
     215                return;
     216        }
     217
     218        log_msg(LVL_DEBUG, " - call socket_bind");
    227219        rc = socket_bind(&client->sockets, &gsock, SOCKET_GET_SOCKET_ID(call),
    228             addr, addr_size, TCP_FREE_PORTS_START, TCP_FREE_PORTS_END,
     220            addr, addr_len, TCP_FREE_PORTS_START, TCP_FREE_PORTS_END,
    229221            last_used_port);
    230222        if (rc != EOK) {
    231223                async_answer_0(callid, rc);
    232                 goto out;
    233         }
    234        
    235         log_msg(LOG_DEFAULT, LVL_DEBUG, " - call socket_cores_find");
     224                return;
     225        }
     226
     227        log_msg(LVL_DEBUG, " - call socket_cores_find");
    236228        sock_core = socket_cores_find(&client->sockets, SOCKET_GET_SOCKET_ID(call));
    237         if (sock_core == NULL) {
    238                 async_answer_0(callid, ENOENT);
    239                 goto out;
    240         }
    241        
    242         socket = (tcp_sockdata_t *)sock_core->specific_data;
    243         /* XXX Anything to do? */
    244         (void) socket;
    245        
    246         log_msg(LOG_DEFAULT, LVL_DEBUG, " - success");
     229        if (sock_core != NULL) {
     230                socket = (tcp_sockdata_t *)sock_core->specific_data;
     231                /* XXX Anything to do? */
     232                (void) socket;
     233        }
     234
     235        log_msg(LVL_DEBUG, " - success");
    247236        async_answer_0(callid, EOK);
    248        
    249 out:
    250         if (addr != NULL)
    251                 free(addr);
    252237}
    253238
     
    264249        tcp_sock_lconn_t *lconn;
    265250        int i;
    266         int rc;
    267 
    268         log_msg(LOG_DEFAULT, LVL_DEBUG, "tcp_sock_listen()");
     251
     252        log_msg(LVL_DEBUG, "tcp_sock_listen()");
    269253
    270254        socket_id = SOCKET_GET_SOCKET_ID(call);
     
    284268                return;
    285269        }
    286        
    287         if (sock_core->port <= 0) {
    288                 rc = socket_bind_free_port(&gsock, sock_core,
    289                     TCP_FREE_PORTS_START, TCP_FREE_PORTS_END,
    290                     last_used_port);
    291                 if (rc != EOK) {
    292                         async_answer_0(callid, rc);
    293                         return;
    294                 }
    295                
    296                 last_used_port = sock_core->port;
    297         }
    298        
    299         socket = (tcp_sockdata_t *) sock_core->specific_data;
    300        
     270
     271        socket = (tcp_sockdata_t *)sock_core->specific_data;
     272
    301273        /*
    302274         * Prepare @c backlog listening connections.
    303275         */
    304276        fibril_mutex_lock(&socket->lock);
    305        
     277
    306278        socket->backlog = backlog;
    307279        socket->lconn = calloc(backlog, sizeof(tcp_conn_t *));
     
    311283                return;
    312284        }
    313        
    314         log_msg(LOG_DEFAULT, LVL_DEBUG, " - open connections");
    315        
     285
     286        log_msg(LVL_DEBUG, " - open connections");
     287
    316288        lsocket.addr.ipv4 = TCP_IPV4_ANY;
    317289        lsocket.port = sock_core->port;
    318290        fsocket.addr.ipv4 = TCP_IPV4_ANY;
    319291        fsocket.port = TCP_PORT_ANY;
    320        
     292
    321293        for (i = 0; i < backlog; i++) {
    322294
     
    365337        tcp_sock_t fsocket;
    366338
    367         log_msg(LOG_DEFAULT, LVL_DEBUG, "tcp_sock_connect()");
     339        log_msg(LVL_DEBUG, "tcp_sock_connect()");
    368340
    369341        rc = async_data_write_accept((void **) &addr, false, 0, 0, 0, &addr_len);
     
    390362                        return;
    391363                }
    392                
     364
    393365                last_used_port = sock_core->port;
    394366        }
     
    405377                        fibril_mutex_unlock(&socket->lock);
    406378                        async_answer_0(callid, rc);
    407                         log_msg(LOG_DEFAULT, LVL_DEBUG, "tcp_sock_connect: Failed to "
     379                        log_msg(LVL_DEBUG, "tcp_sock_connect: Failed to "
    408380                            "determine local address.");
    409381                        return;
     
    411383
    412384                socket->laddr.ipv4 = loc_addr.ipv4;
    413                 log_msg(LOG_DEFAULT, LVL_DEBUG, "Local IP address is %x", socket->laddr.ipv4);
     385                log_msg(LVL_DEBUG, "Local IP address is %x", socket->laddr.ipv4);
    414386        }
    415387
     
    459431        int rc;
    460432
    461         log_msg(LOG_DEFAULT, LVL_DEBUG, "tcp_sock_accept()");
     433        log_msg(LVL_DEBUG, "tcp_sock_accept()");
    462434
    463435        socket_id = SOCKET_GET_SOCKET_ID(call);
     
    469441                return;
    470442        }
    471        
    472         if (sock_core->port <= 0) {
    473                 rc = socket_bind_free_port(&gsock, sock_core,
    474                     TCP_FREE_PORTS_START, TCP_FREE_PORTS_END,
    475                     last_used_port);
    476                 if (rc != EOK) {
    477                         async_answer_0(callid, rc);
    478                         return;
    479                 }
    480                
    481                 last_used_port = sock_core->port;
    482         }
    483443
    484444        socket = (tcp_sockdata_t *)sock_core->specific_data;
    485445        fibril_mutex_lock(&socket->lock);
    486446
    487         log_msg(LOG_DEFAULT, LVL_DEBUG, " - verify socket->conn");
     447        log_msg(LVL_DEBUG, " - verify socket->conn");
    488448        if (socket->conn != NULL) {
    489449                fibril_mutex_unlock(&socket->lock);
     
    538498
    539499        asocket->conn = conn;
    540         log_msg(LOG_DEFAULT, LVL_DEBUG, "tcp_sock_accept():create asocket\n");
     500        log_msg(LVL_DEBUG, "tcp_sock_accept():create asocket\n");
    541501
    542502        rc = tcp_sock_finish_setup(asocket, &asock_id);
     
    550510        fibril_add_ready(asocket->recv_fibril);
    551511
    552         log_msg(LOG_DEFAULT, LVL_DEBUG, "tcp_sock_accept(): find acore\n");
     512        log_msg(LVL_DEBUG, "tcp_sock_accept(): find acore\n");
    553513
    554514        SOCKET_SET_DATA_FRAGMENT_SIZE(answer, TCP_SOCK_FRAGMENT_SIZE);
     
    561521       
    562522        /* Push one fragment notification to client's queue */
    563         log_msg(LOG_DEFAULT, LVL_DEBUG, "tcp_sock_accept(): notify data\n");
     523        log_msg(LVL_DEBUG, "tcp_sock_accept(): notify data\n");
    564524        fibril_mutex_unlock(&socket->lock);
    565525}
     
    579539        int rc;
    580540
    581         log_msg(LOG_DEFAULT, LVL_DEBUG, "tcp_sock_send()");
     541        log_msg(LVL_DEBUG, "tcp_sock_send()");
    582542        socket_id = SOCKET_GET_SOCKET_ID(call);
    583543        fragments = SOCKET_GET_DATA_FRAGMENTS(call);
     
    651611static void tcp_sock_sendto(tcp_client_t *client, ipc_callid_t callid, ipc_call_t call)
    652612{
    653         log_msg(LOG_DEFAULT, LVL_DEBUG, "tcp_sock_sendto()");
     613        log_msg(LVL_DEBUG, "tcp_sock_sendto()");
    654614        async_answer_0(callid, ENOTSUP);
    655615}
     
    669629        int rc;
    670630
    671         log_msg(LOG_DEFAULT, LVL_DEBUG, "%p: tcp_sock_recv[from]()", client);
     631        log_msg(LVL_DEBUG, "%p: tcp_sock_recv[from]()", client);
    672632
    673633        socket_id = SOCKET_GET_SOCKET_ID(call);
     
    691651        (void)flags;
    692652
    693         log_msg(LOG_DEFAULT, LVL_DEBUG, "tcp_sock_recvfrom(): lock recv_buffer_lock");
     653        log_msg(LVL_DEBUG, "tcp_sock_recvfrom(): lock recv_buffer_lock");
    694654        fibril_mutex_lock(&socket->recv_buffer_lock);
    695655        while (socket->recv_buffer_used == 0 && socket->recv_error == TCP_EOK) {
    696                 log_msg(LOG_DEFAULT, LVL_DEBUG, "wait for recv_buffer_cv + recv_buffer_used != 0");
     656                log_msg(LVL_DEBUG, "wait for recv_buffer_cv + recv_buffer_used != 0");
    697657                fibril_condvar_wait(&socket->recv_buffer_cv,
    698658                    &socket->recv_buffer_lock);
    699659        }
    700660
    701         log_msg(LOG_DEFAULT, LVL_DEBUG, "Got data in sock recv_buffer");
     661        log_msg(LVL_DEBUG, "Got data in sock recv_buffer");
    702662
    703663        data_len = socket->recv_buffer_used;
     
    719679        }
    720680
    721         log_msg(LOG_DEFAULT, LVL_DEBUG, "**** recv result -> %d", rc);
     681        log_msg(LVL_DEBUG, "**** recv result -> %d", rc);
    722682        if (rc != EOK) {
    723683                fibril_mutex_unlock(&socket->recv_buffer_lock);
     
    734694                addr.sin_port = host2uint16_t_be(rsock->port);
    735695
    736                 log_msg(LOG_DEFAULT, LVL_DEBUG, "addr read receive");
     696                log_msg(LVL_DEBUG, "addr read receive");
    737697                if (!async_data_read_receive(&rcallid, &addr_length)) {
    738698                        fibril_mutex_unlock(&socket->recv_buffer_lock);
     
    745705                        addr_length = sizeof(addr);
    746706
    747                 log_msg(LOG_DEFAULT, LVL_DEBUG, "addr read finalize");
     707                log_msg(LVL_DEBUG, "addr read finalize");
    748708                rc = async_data_read_finalize(rcallid, &addr, addr_length);
    749709                if (rc != EOK) {
     
    755715        }
    756716
    757         log_msg(LOG_DEFAULT, LVL_DEBUG, "data read receive");
     717        log_msg(LVL_DEBUG, "data read receive");
    758718        if (!async_data_read_receive(&rcallid, &length)) {
    759719                fibril_mutex_unlock(&socket->recv_buffer_lock);
     
    766726                length = data_len;
    767727
    768         log_msg(LOG_DEFAULT, LVL_DEBUG, "data read finalize");
     728        log_msg(LVL_DEBUG, "data read finalize");
    769729        rc = async_data_read_finalize(rcallid, socket->recv_buffer, length);
    770730
    771731        socket->recv_buffer_used -= length;
    772         log_msg(LOG_DEFAULT, LVL_DEBUG, "tcp_sock_recvfrom: %zu left in buffer",
     732        log_msg(LVL_DEBUG, "tcp_sock_recvfrom: %zu left in buffer",
    773733            socket->recv_buffer_used);
    774734        if (socket->recv_buffer_used > 0) {
     
    798758        int rc;
    799759
    800         log_msg(LOG_DEFAULT, LVL_DEBUG, "tcp_sock_close()");
     760        log_msg(LVL_DEBUG, "tcp_sock_close()");
    801761        socket_id = SOCKET_GET_SOCKET_ID(call);
    802762
     
    838798static void tcp_sock_getsockopt(tcp_client_t *client, ipc_callid_t callid, ipc_call_t call)
    839799{
    840         log_msg(LOG_DEFAULT, LVL_DEBUG, "tcp_sock_getsockopt()");
     800        log_msg(LVL_DEBUG, "tcp_sock_getsockopt()");
    841801        async_answer_0(callid, ENOTSUP);
    842802}
     
    844804static void tcp_sock_setsockopt(tcp_client_t *client, ipc_callid_t callid, ipc_call_t call)
    845805{
    846         log_msg(LOG_DEFAULT, LVL_DEBUG, "tcp_sock_setsockopt()");
     806        log_msg(LVL_DEBUG, "tcp_sock_setsockopt()");
    847807        async_answer_0(callid, ENOTSUP);
    848808}
     
    855815        tcp_sockdata_t *socket = lconn->socket;
    856816
    857         log_msg(LOG_DEFAULT, LVL_DEBUG, "tcp_sock_cstate_cb()");
     817        log_msg(LVL_DEBUG, "tcp_sock_cstate_cb()");
    858818        fibril_mutex_lock(&socket->lock);
    859819        assert(conn == lconn->conn);
     
    868828        list_append(&lconn->ready_list, &socket->ready);
    869829
    870         log_msg(LOG_DEFAULT, LVL_DEBUG, "tcp_sock_cstate_cb(): notify accept");
     830        log_msg(LVL_DEBUG, "tcp_sock_cstate_cb(): notify accept");
    871831
    872832        /* Push one accept notification to client's queue */
     
    882842        tcp_error_t trc;
    883843
    884         log_msg(LOG_DEFAULT, LVL_DEBUG, "tcp_sock_recv_fibril()");
     844        log_msg(LVL_DEBUG, "tcp_sock_recv_fibril()");
    885845
    886846        fibril_mutex_lock(&sock->recv_buffer_lock);
    887847
    888848        while (true) {
    889                 log_msg(LOG_DEFAULT, LVL_DEBUG, "call tcp_uc_receive()");
     849                log_msg(LVL_DEBUG, "call tcp_uc_receive()");
    890850                while (sock->recv_buffer_used != 0 && sock->sock_core != NULL)
    891851                        fibril_condvar_wait(&sock->recv_buffer_cv,
     
    903863                }
    904864
    905                 log_msg(LOG_DEFAULT, LVL_DEBUG, "got data - broadcast recv_buffer_cv");
     865                log_msg(LVL_DEBUG, "got data - broadcast recv_buffer_cv");
    906866
    907867                sock->recv_buffer_used = data_len;
     
    935895                        break;
    936896
    937                 log_msg(LOG_DEFAULT, LVL_DEBUG, "tcp_sock_connection: METHOD=%d\n",
     897                log_msg(LVL_DEBUG, "tcp_sock_connection: METHOD=%d\n",
    938898                    (int)IPC_GET_IMETHOD(call));
    939899
     
    980940
    981941        /* Clean up */
    982         log_msg(LOG_DEFAULT, LVL_DEBUG, "tcp_sock_connection: Clean up");
     942        log_msg(LVL_DEBUG, "tcp_sock_connection: Clean up");
    983943        async_hangup(client.sess);
    984944        socket_cores_release(NULL, &client.sockets, &gsock, tcp_free_sock_data);
Note: See TracChangeset for help on using the changeset viewer.