Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/net/inetsrv/inetsrv.c

    r3a4c6d9 r4c6fd56  
    11/*
    2  * Copyright (c) 2025 Jiri Svoboda
     2 * Copyright (c) 2023 Jiri Svoboda
    33 * All rights reserved.
    44 *
     
    7979};
    8080
    81 static const char *inet_cfg_path = "/w/cfg/inetsrv.sif";
    82 
    8381static FIBRIL_MUTEX_INITIALIZE(client_list_lock);
    8482static LIST_INITIALIZE(client_list);
    85 inet_cfg_t *cfg;
    8683
    8784static void inet_default_conn(ipc_call_t *, void *);
     
    8986static errno_t inet_init(void)
    9087{
     88        loc_srv_t *srv;
     89
     90        log_msg(LOG_DEFAULT, LVL_DEBUG, "inet_init()");
     91
    9192        port_id_t port;
    92         errno_t rc;
    93         loc_srv_t *srv;
    94 
    95         log_msg(LOG_DEFAULT, LVL_DEBUG, "inet_init()");
    96 
    97         rc = inet_link_discovery_start();
    98         if (rc != EOK)
    99                 return rc;
    100 
    101         rc = inet_cfg_open(inet_cfg_path, &cfg);
    102         if (rc != EOK)
    103                 return rc;
    104 
    105         rc = async_create_port(INTERFACE_INET,
     93        errno_t rc = async_create_port(INTERFACE_INET,
    10694            inet_default_conn, NULL, &port);
    10795        if (rc != EOK)
    10896                return rc;
    10997
    110         rc = async_port_create_interface(port, INTERFACE_INETCFG,
    111             inet_cfg_conn, NULL);
    112         if (rc != EOK) {
    113                 async_port_destroy(port);
    114                 return rc;
    115         }
    116 
    117         rc = async_port_create_interface(port, INTERFACE_INETPING,
    118             inetping_conn, NULL);
    119         if (rc != EOK) {
    120                 async_port_destroy(port);
    121                 return rc;
    122         }
     98        rc = async_create_port(INTERFACE_INETCFG,
     99            inet_cfg_conn, NULL, &port);
     100        if (rc != EOK)
     101                return rc;
     102
     103        rc = async_create_port(INTERFACE_INETPING,
     104            inetping_conn, NULL, &port);
     105        if (rc != EOK)
     106                return rc;
    123107
    124108        rc = loc_server_register(NAME, &srv);
    125109        if (rc != EOK) {
    126                 async_port_destroy(port);
    127110                log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering server: %s.", str_error(rc));
    128111                return EEXIST;
     
    130113
    131114        service_id_t sid;
    132         rc = loc_service_register(srv, SERVICE_NAME_INET, port, &sid);
    133         if (rc != EOK) {
    134                 async_port_destroy(port);
     115        rc = loc_service_register(srv, SERVICE_NAME_INET, &sid);
     116        if (rc != EOK) {
    135117                loc_server_unregister(srv);
    136118                log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering service: %s.", str_error(rc));
     
    212194
    213195        /* Route packet using source/destination addresses */
     196
    214197        rc = inet_find_dir(&dgram->src, &dgram->dest, dgram->tos, &dir);
    215198        if (rc != EOK)
     
    546529                        dgram.data = packet->data;
    547530                        dgram.size = packet->size;
     531
    548532                        return inet_recv_dgram_local(&dgram, packet->proto);
    549533                } else {
     
    572556
    573557        printf(NAME ": Accepting connections.\n");
    574 
    575558        task_retval(0);
    576 
    577         (void)inet_link_autoconf();
    578559        async_manager();
    579560
Note: See TracChangeset for help on using the changeset viewer.