Changes in uspace/srv/net/inetsrv/inetsrv.c [4c6fd56:3a4c6d9] in mainline
- File:
-
- 1 edited
-
uspace/srv/net/inetsrv/inetsrv.c (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/net/inetsrv/inetsrv.c
r4c6fd56 r3a4c6d9 1 1 /* 2 * Copyright (c) 202 3Jiri Svoboda2 * Copyright (c) 2025 Jiri Svoboda 3 3 * All rights reserved. 4 4 * … … 79 79 }; 80 80 81 static const char *inet_cfg_path = "/w/cfg/inetsrv.sif"; 82 81 83 static FIBRIL_MUTEX_INITIALIZE(client_list_lock); 82 84 static LIST_INITIALIZE(client_list); 85 inet_cfg_t *cfg; 83 86 84 87 static void inet_default_conn(ipc_call_t *, void *); … … 86 89 static errno_t inet_init(void) 87 90 { 91 port_id_t port; 92 errno_t rc; 88 93 loc_srv_t *srv; 89 94 90 95 log_msg(LOG_DEFAULT, LVL_DEBUG, "inet_init()"); 91 96 92 port_id_t port; 93 errno_t rc = async_create_port(INTERFACE_INET, 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, 94 106 inet_default_conn, NULL, &port); 95 107 if (rc != EOK) 96 108 return rc; 97 109 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; 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 } 107 123 108 124 rc = loc_server_register(NAME, &srv); 109 125 if (rc != EOK) { 126 async_port_destroy(port); 110 127 log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering server: %s.", str_error(rc)); 111 128 return EEXIST; … … 113 130 114 131 service_id_t sid; 115 rc = loc_service_register(srv, SERVICE_NAME_INET, &sid); 116 if (rc != EOK) { 132 rc = loc_service_register(srv, SERVICE_NAME_INET, port, &sid); 133 if (rc != EOK) { 134 async_port_destroy(port); 117 135 loc_server_unregister(srv); 118 136 log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering service: %s.", str_error(rc)); … … 194 212 195 213 /* Route packet using source/destination addresses */ 196 197 214 rc = inet_find_dir(&dgram->src, &dgram->dest, dgram->tos, &dir); 198 215 if (rc != EOK) … … 529 546 dgram.data = packet->data; 530 547 dgram.size = packet->size; 531 532 548 return inet_recv_dgram_local(&dgram, packet->proto); 533 549 } else { … … 556 572 557 573 printf(NAME ": Accepting connections.\n"); 574 558 575 task_retval(0); 576 577 (void)inet_link_autoconf(); 559 578 async_manager(); 560 579
Note:
See TracChangeset
for help on using the changeset viewer.
