Changes in uspace/srv/net/inetsrv/inet_link.c [a2e3ee6:3e6a98c5] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/net/inetsrv/inet_link.c
ra2e3ee6 r3e6a98c5 153 153 { 154 154 inet_link_t *ilink; 155 i net_addr_t iaddr;155 iplink_addr_t iaddr; 156 156 int rc; 157 157 … … 196 196 197 197 static int first = 1; 198 198 /* XXX For testing: set static IP address 192.168.0.4/24 */ 199 199 addr = inet_addrobj_new(); 200 201 200 if (first) { 202 inet_naddr(&addr->naddr, 127, 0, 0, 1, 24);201 addr->naddr.ipv4 = (127 << 24) + (0 << 16) + (0 << 8) + 1; 203 202 first = 0; 204 203 } else { 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 204 addr->naddr.ipv4 = (192 << 24) + (168 << 16) + (0 << 8) + 4; 205 } 206 addr->naddr.bits = 24; 209 207 addr->ilink = ilink; 210 208 addr->name = str_dup("v4a"); … … 217 215 } 218 216 219 i net_naddr_addr(&addr->naddr, &iaddr);217 iaddr.ipv4 = addr->naddr.ipv4; 220 218 rc = iplink_addr_add(ilink->iplink, &iaddr); 221 219 if (rc != EOK) { … … 259 257 inet_addr_t *ldest, inet_dgram_t *dgram, uint8_t proto, uint8_t ttl, int df) 260 258 { 259 iplink_sdu_t sdu; 260 inet_packet_t packet; 261 int rc; 262 size_t offs, roffs; 263 261 264 /* 262 265 * Fill packet structure. Fragmentation is performed by 263 266 * inet_pdu_encode(). 264 267 */ 265 inet_packet_t packet;266 267 268 packet.src = dgram->src; 268 269 packet.dest = dgram->dest; … … 273 274 packet.data = dgram->data; 274 275 packet.size = dgram->size; 275 276 iplink_sdu_t sdu; 277 278 int rc = inet_addr_pack(lsrc, &sdu.lsrc); 279 if (rc != EOK) 280 return rc; 281 282 rc = inet_addr_pack(ldest, &sdu.ldest); 283 if (rc != EOK) 284 return rc; 285 286 size_t offs = 0; 276 277 sdu.lsrc.ipv4 = lsrc->ipv4; 278 sdu.ldest.ipv4 = ldest->ipv4; 279 280 offs = 0; 287 281 do { 288 size_t roffs;289 290 282 /* Encode one fragment */ 291 283 rc = inet_pdu_encode(&packet, offs, ilink->def_mtu, &sdu.data, … … 293 285 if (rc != EOK) 294 286 return rc; 295 287 296 288 /* Send the PDU */ 297 289 rc = iplink_send(ilink->iplink, &sdu); 298 290 free(sdu.data); 299 291 300 292 offs = roffs; 301 293 } while (offs < packet.size); 302 294 303 295 return rc; 304 296 }
Note:
See TracChangeset
for help on using the changeset viewer.