Changes in uspace/srv/net/inetsrv/inetsrv.c [9749e47:695b6ff] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/net/inetsrv/inetsrv.c
r9749e47 r695b6ff 46 46 #include <stdlib.h> 47 47 #include <sys/types.h> 48 #include <net/socket_codes.h> 48 49 #include "addrobj.h" 49 50 #include "icmp.h" … … 54 55 #include "inetcfg.h" 55 56 #include "inetping.h" 57 #include "inetping6.h" 56 58 #include "inet_link.h" 57 59 #include "reass.h" … … 61 63 62 64 static inet_naddr_t solicited_node_mask = { 63 . version = ip_v6,65 .family = AF_INET6, 64 66 .addr6 = {0xff, 0x02, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x01, 0xff, 0, 0, 0}, 65 67 .prefix = 104 … … 67 69 68 70 static inet_addr_t broadcast4_all_hosts = { 69 . version = ip_v4,71 .family = AF_INET, 70 72 .addr = 0xffffffff 71 73 }; 72 74 73 75 static inet_addr_t multicast_all_nodes = { 74 . version = ip_v6,76 .family = AF_INET6, 75 77 .addr6 = {0xff, 0x02, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x01} 76 78 }; … … 114 116 return EEXIST; 115 117 } 118 119 rc = loc_service_register_with_iface(SERVICE_NAME_INETPING6, &sid, 120 INET_PORT_PING6); 121 if (rc != EOK) { 122 log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering service (%d).", rc); 123 return EEXIST; 124 } 125 126 rc = inet_link_discovery_start(); 127 if (rc != EOK) 128 return EEXIST; 116 129 117 130 return EOK; … … 171 184 172 185 if (dgram->iplink != 0) { 173 /* XXX TODO - IPv6 */174 186 log_msg(LOG_DEFAULT, LVL_DEBUG, "dgram directly to iplink %zu", 175 187 dgram->iplink); … … 179 191 return ENOENT; 180 192 181 if (dgram->src. version != ip_v4||182 dgram->dest. version != ip_v4)193 if (dgram->src.family != AF_INET || 194 dgram->dest.family != AF_INET) 183 195 return EINVAL; 184 196 … … 217 229 218 230 /* Take source address from the address object */ 219 if (remote->version == ip_v4 && remote->addr == 0xffffffff) { 220 /* XXX TODO - IPv6 */ 221 local->version = ip_v4; 231 if (remote->family == AF_INET && remote->addr == 0xffffffff) { 232 local->family = AF_INET; 222 233 local->addr = 0; 223 234 return EOK; 224 235 } 225 226 236 inet_naddr_addr(&dir.aobj->naddr, local); 227 237 return EOK; … … 444 454 inetping_conn(iid, icall, arg); 445 455 break; 456 case INET_PORT_PING6: 457 inetping6_conn(iid, icall, arg); 458 break; 446 459 default: 447 460 async_answer_0(iid, ENOTSUP);
Note:
See TracChangeset
for help on using the changeset viewer.