Changeset 02a09ed in mainline for uspace/srv/net/inetsrv/addrobj.c
- Timestamp:
- 2013-06-28T20:20:03Z (12 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 1d24ad3
- Parents:
- edf0d27
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/net/inetsrv/addrobj.c
redf0d27 r02a09ed 42 42 #include <stdlib.h> 43 43 #include <str.h> 44 45 44 #include "addrobj.h" 46 45 #include "inetsrv.h" 47 46 #include "inet_link.h" 48 #include "inet_util.h"49 47 50 48 static inet_addrobj_t *inet_addrobj_find_by_name_locked(const char *, inet_link_t *); … … 106 104 /** Find address object matching address @a addr. 107 105 * 108 * @param addr Address 109 * @oaram find iaf_net to find network (using mask), 110 * iaf_addr to find local address (exact match) 106 * @param addr Address 107 * @oaram find iaf_net to find network (using mask), 108 * iaf_addr to find local address (exact match) 109 * 111 110 */ 112 111 inet_addrobj_t *inet_addrobj_find(inet_addr_t *addr, inet_addrobj_find_t find) 113 112 { 114 uint32_t addr_addr;115 int rc = inet_addr_pack(addr, &addr_addr);116 if (rc != EOK)117 return NULL;118 119 113 fibril_mutex_lock(&addr_list_lock); 120 114 … … 123 117 inet_addrobj_t, addr_list); 124 118 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)) { 119 if (inet_naddr_compare_mask(&naddr->naddr, addr)) { 133 120 fibril_mutex_unlock(&addr_list_lock); 134 121 log_msg(LOG_DEFAULT, LVL_DEBUG, "inet_addrobj_find: found %p", … … 227 214 inet_naddr_addr(&addr->naddr, &lsrc_addr); 228 215 229 inet_addr_t *ldest_addr = ldest; 230 231 return inet_link_send_dgram(addr->ilink, &lsrc_addr, ldest_addr, dgram, 216 return inet_link_send_dgram(addr->ilink, &lsrc_addr, ldest, dgram, 232 217 proto, ttl, df); 233 218 }
Note:
See TracChangeset
for help on using the changeset viewer.