Changes in uspace/srv/net/inetsrv/inet_link.c [4a5a18be:257feec] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/net/inetsrv/inet_link.c
r4a5a18be r257feec 70 70 return rc; 71 71 } 72 72 73 73 log_msg(LOG_DEFAULT, LVL_DEBUG, "call inet_recv_packet()"); 74 74 rc = inet_recv_packet(&packet); 75 75 log_msg(LOG_DEFAULT, LVL_DEBUG, "call inet_recv_packet -> %d", rc); 76 76 free(packet.data); 77 77 78 78 return rc; 79 79 } … … 153 153 { 154 154 inet_link_t *ilink; 155 i plink_addr_t iaddr;155 inet_addr_t iaddr; 156 156 int rc; 157 157 … … 196 196 197 197 static int first = 1; 198 /* XXX For testing: set static IP address 10.0.2.15/24 */198 199 199 addr = inet_addrobj_new(); 200 200 201 if (first) { 201 addr->naddr.ipv4 = (127 << 24) + (0 << 16) + (0 << 8) + 1;202 inet_naddr(&addr->naddr, 127, 0, 0, 1, 24); 202 203 first = 0; 203 204 } else { 204 addr->naddr.ipv4 = (10 << 24) + (0 << 16) + (2 << 8) + 15; 205 } 206 addr->naddr.bits = 24; 205 /* XXX For testing: set static IP address 10.0.2.15/24 */ 206 inet_naddr(&addr->naddr, 10, 0, 2, 15, 24); 207 } 208 207 209 addr->ilink = ilink; 208 210 addr->name = str_dup("v4a"); … … 215 217 } 216 218 217 i addr.ipv4 = addr->naddr.ipv4;219 inet_naddr_addr(&addr->naddr, &iaddr); 218 220 rc = iplink_addr_add(ilink->iplink, &iaddr); 219 221 if (rc != EOK) { … … 230 232 if (ilink->iplink != NULL) 231 233 iplink_close(ilink->iplink); 234 232 235 inet_link_delete(ilink); 233 236 return rc; … … 257 260 inet_addr_t *ldest, inet_dgram_t *dgram, uint8_t proto, uint8_t ttl, int df) 258 261 { 259 iplink_sdu_t sdu;260 inet_packet_t packet;261 int rc;262 size_t offs, roffs;263 264 262 /* 265 263 * Fill packet structure. Fragmentation is performed by 266 264 * inet_pdu_encode(). 267 265 */ 266 267 inet_packet_t packet; 268 268 269 packet.src = dgram->src; 269 270 packet.dest = dgram->dest; … … 274 275 packet.data = dgram->data; 275 276 packet.size = dgram->size; 276 277 sdu.lsrc.ipv4 = lsrc->ipv4; 278 sdu.ldest.ipv4 = ldest->ipv4; 279 280 offs = 0; 277 278 iplink_sdu_t sdu; 279 280 int rc = inet_addr_pack(lsrc, &sdu.lsrc); 281 if (rc != EOK) 282 return rc; 283 284 rc = inet_addr_pack(ldest, &sdu.ldest); 285 if (rc != EOK) 286 return rc; 287 288 size_t offs = 0; 281 289 do { 290 size_t roffs; 291 282 292 /* Encode one fragment */ 283 293 rc = inet_pdu_encode(&packet, offs, ilink->def_mtu, &sdu.data, … … 285 295 if (rc != EOK) 286 296 return rc; 287 297 288 298 /* Send the PDU */ 289 299 rc = iplink_send(ilink->iplink, &sdu); 290 300 free(sdu.data); 291 301 292 302 offs = roffs; 293 303 } while (offs < packet.size); 294 304 295 305 return rc; 296 306 }
Note:
See TracChangeset
for help on using the changeset viewer.