Ignore:
File:
1 edited

Legend:

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

    ra2e3ee6 r3e6a98c5  
    153153{
    154154        inet_link_t *ilink;
    155         inet_addr_t iaddr;
     155        iplink_addr_t iaddr;
    156156        int rc;
    157157
     
    196196
    197197        static int first = 1;
    198        
     198        /* XXX For testing: set static IP address 192.168.0.4/24 */
    199199        addr = inet_addrobj_new();
    200        
    201200        if (first) {
    202                 inet_naddr(&addr->naddr, 127, 0, 0, 1, 24);
     201                addr->naddr.ipv4 = (127 << 24) + (0 << 16) + (0 << 8) + 1;
    203202                first = 0;
    204203        } 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;
    209207        addr->ilink = ilink;
    210208        addr->name = str_dup("v4a");
     
    217215        }
    218216
    219         inet_naddr_addr(&addr->naddr, &iaddr);
     217        iaddr.ipv4 = addr->naddr.ipv4;
    220218        rc = iplink_addr_add(ilink->iplink, &iaddr);
    221219        if (rc != EOK) {
     
    259257    inet_addr_t *ldest, inet_dgram_t *dgram, uint8_t proto, uint8_t ttl, int df)
    260258{
     259        iplink_sdu_t sdu;
     260        inet_packet_t packet;
     261        int rc;
     262        size_t offs, roffs;
     263
    261264        /*
    262265         * Fill packet structure. Fragmentation is performed by
    263266         * inet_pdu_encode().
    264267         */
    265         inet_packet_t packet;
    266        
    267268        packet.src = dgram->src;
    268269        packet.dest = dgram->dest;
     
    273274        packet.data = dgram->data;
    274275        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;
    287281        do {
    288                 size_t roffs;
    289                
    290282                /* Encode one fragment */
    291283                rc = inet_pdu_encode(&packet, offs, ilink->def_mtu, &sdu.data,
     
    293285                if (rc != EOK)
    294286                        return rc;
    295                
     287
    296288                /* Send the PDU */
    297289                rc = iplink_send(ilink->iplink, &sdu);
    298290                free(sdu.data);
    299                
     291
    300292                offs = roffs;
    301293        } while (offs < packet.size);
    302        
     294
    303295        return rc;
    304296}
Note: See TracChangeset for help on using the changeset viewer.