Ignore:
File:
1 edited

Legend:

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

    r3e6a98c5 ra2e3ee6  
    153153{
    154154        inet_link_t *ilink;
    155         iplink_addr_t iaddr;
     155        inet_addr_t iaddr;
    156156        int rc;
    157157
     
    196196
    197197        static int first = 1;
    198         /* XXX For testing: set static IP address 192.168.0.4/24 */
     198       
    199199        addr = inet_addrobj_new();
     200       
    200201        if (first) {
    201                 addr->naddr.ipv4 = (127 << 24) + (0 << 16) + (0 << 8) + 1;
     202                inet_naddr(&addr->naddr, 127, 0, 0, 1, 24);
    202203                first = 0;
    203204        } else {
    204                 addr->naddr.ipv4 = (192 << 24) + (168 << 16) + (0 << 8) + 4;
    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       
    207209        addr->ilink = ilink;
    208210        addr->name = str_dup("v4a");
     
    215217        }
    216218
    217         iaddr.ipv4 = addr->naddr.ipv4;
     219        inet_naddr_addr(&addr->naddr, &iaddr);
    218220        rc = iplink_addr_add(ilink->iplink, &iaddr);
    219221        if (rc != EOK) {
     
    257259    inet_addr_t *ldest, inet_dgram_t *dgram, uint8_t proto, uint8_t ttl, int df)
    258260{
    259         iplink_sdu_t sdu;
    260         inet_packet_t packet;
    261         int rc;
    262         size_t offs, roffs;
    263 
    264261        /*
    265262         * Fill packet structure. Fragmentation is performed by
    266263         * inet_pdu_encode().
    267264         */
     265        inet_packet_t packet;
     266       
    268267        packet.src = dgram->src;
    269268        packet.dest = dgram->dest;
     
    274273        packet.data = dgram->data;
    275274        packet.size = dgram->size;
    276 
    277         sdu.lsrc.ipv4 = lsrc->ipv4;
    278         sdu.ldest.ipv4 = ldest->ipv4;
    279 
    280         offs = 0;
     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;
    281287        do {
     288                size_t roffs;
     289               
    282290                /* Encode one fragment */
    283291                rc = inet_pdu_encode(&packet, offs, ilink->def_mtu, &sdu.data,
     
    285293                if (rc != EOK)
    286294                        return rc;
    287 
     295               
    288296                /* Send the PDU */
    289297                rc = iplink_send(ilink->iplink, &sdu);
    290298                free(sdu.data);
    291 
     299               
    292300                offs = roffs;
    293301        } while (offs < packet.size);
    294 
     302       
    295303        return rc;
    296304}
Note: See TracChangeset for help on using the changeset viewer.