Ignore:
File:
1 edited

Legend:

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

    ra2e3ee6 ra1a101d  
    112112inet_addrobj_t *inet_addrobj_find(inet_addr_t *addr, inet_addrobj_find_t find)
    113113{
    114         uint32_t addr_addr;
    115         int rc = inet_addr_pack(addr, &addr_addr);
    116         if (rc != EOK)
    117                 return NULL;
    118        
    119         fibril_mutex_lock(&addr_list_lock);
    120        
     114        uint32_t mask;
     115
     116        log_msg(LOG_DEFAULT, LVL_DEBUG, "inet_addrobj_find(%x)", (unsigned)addr->ipv4);
     117
     118        fibril_mutex_lock(&addr_list_lock);
     119
    121120        list_foreach(addr_list, link) {
    122121                inet_addrobj_t *naddr = list_get_instance(link,
    123122                    inet_addrobj_t, addr_list);
    124                
    125                 uint32_t naddr_addr;
    126                 uint8_t naddr_bits;
    127                 rc = inet_naddr_pack(&naddr->naddr, &naddr_addr, &naddr_bits);
    128                 if (rc != EOK)
    129                         continue;
    130                
    131                 uint32_t mask = inet_netmask(naddr_bits);
    132                 if ((naddr_addr & mask) == (addr_addr & mask)) {
     123
     124                mask = inet_netmask(naddr->naddr.bits);
     125                if ((naddr->naddr.ipv4 & mask) == (addr->ipv4 & mask)) {
    133126                        fibril_mutex_unlock(&addr_list_lock);
    134127                        log_msg(LOG_DEFAULT, LVL_DEBUG, "inet_addrobj_find: found %p",
     
    225218{
    226219        inet_addr_t lsrc_addr;
    227         inet_naddr_addr(&addr->naddr, &lsrc_addr);
    228        
    229         inet_addr_t *ldest_addr = ldest;
    230        
     220        inet_addr_t *ldest_addr;
     221
     222        lsrc_addr.ipv4 = addr->naddr.ipv4;
     223        ldest_addr = &dgram->dest;
     224
    231225        return inet_link_send_dgram(addr->ilink, &lsrc_addr, ldest_addr, dgram,
    232226            proto, ttl, df);
Note: See TracChangeset for help on using the changeset viewer.