Changes in uspace/srv/net/inetsrv/addrobj.c [02a09ed:a1a101d] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/net/inetsrv/addrobj.c
r02a09ed ra1a101d 42 42 #include <stdlib.h> 43 43 #include <str.h> 44 44 45 #include "addrobj.h" 45 46 #include "inetsrv.h" 46 47 #include "inet_link.h" 48 #include "inet_util.h" 47 49 48 50 static inet_addrobj_t *inet_addrobj_find_by_name_locked(const char *, inet_link_t *); … … 104 106 /** Find address object matching address @a addr. 105 107 * 106 * @param addr Address 107 * @oaram find iaf_net to find network (using mask), 108 * iaf_addr to find local address (exact match) 109 * 108 * @param addr Address 109 * @oaram find iaf_net to find network (using mask), 110 * iaf_addr to find local address (exact match) 110 111 */ 111 112 inet_addrobj_t *inet_addrobj_find(inet_addr_t *addr, inet_addrobj_find_t find) 112 113 { 113 fibril_mutex_lock(&addr_list_lock); 114 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 115 120 list_foreach(addr_list, link) { 116 121 inet_addrobj_t *naddr = list_get_instance(link, 117 122 inet_addrobj_t, addr_list); 118 119 if (inet_naddr_compare_mask(&naddr->naddr, addr)) { 123 124 mask = inet_netmask(naddr->naddr.bits); 125 if ((naddr->naddr.ipv4 & mask) == (addr->ipv4 & mask)) { 120 126 fibril_mutex_unlock(&addr_list_lock); 121 127 log_msg(LOG_DEFAULT, LVL_DEBUG, "inet_addrobj_find: found %p", … … 124 130 } 125 131 } 126 132 127 133 log_msg(LOG_DEFAULT, LVL_DEBUG, "inet_addrobj_find: Not found"); 128 134 fibril_mutex_unlock(&addr_list_lock); 129 135 130 136 return NULL; 131 137 } … … 212 218 { 213 219 inet_addr_t lsrc_addr; 214 inet_naddr_addr(&addr->naddr, &lsrc_addr); 215 216 return inet_link_send_dgram(addr->ilink, &lsrc_addr, ldest, dgram, 220 inet_addr_t *ldest_addr; 221 222 lsrc_addr.ipv4 = addr->naddr.ipv4; 223 ldest_addr = &dgram->dest; 224 225 return inet_link_send_dgram(addr->ilink, &lsrc_addr, ldest_addr, dgram, 217 226 proto, ttl, df); 218 227 }
Note:
See TracChangeset
for help on using the changeset viewer.