Changeset c42f50d in mainline for uspace/srv/net/inetsrv/addrobj.c
- Timestamp:
- 2013-10-05T11:53:43Z (12 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- cbfc8b7
- Parents:
- 408424e (diff), 3e896e1 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/net/inetsrv/addrobj.c
r408424e rc42f50d 42 42 #include <stdlib.h> 43 43 #include <str.h> 44 #include <net/socket_codes.h>45 44 #include "addrobj.h" 46 45 #include "inetsrv.h" … … 218 217 inet_addr_t lsrc_addr; 219 218 inet_naddr_addr(&addr->naddr, &lsrc_addr); 220 219 221 220 addr32_t lsrc_v4; 222 221 addr128_t lsrc_v6; 223 uint16_t lsrc_af= inet_addr_get(&lsrc_addr, &lsrc_v4, &lsrc_v6);224 222 ip_ver_t lsrc_ver = inet_addr_get(&lsrc_addr, &lsrc_v4, &lsrc_v6); 223 225 224 addr32_t ldest_v4; 226 225 addr128_t ldest_v6; 227 uint16_t ldest_af= inet_addr_get(ldest, &ldest_v4, &ldest_v6);228 229 if (lsrc_ af != ldest_af)226 ip_ver_t ldest_ver = inet_addr_get(ldest, &ldest_v4, &ldest_v6); 227 228 if (lsrc_ver != ldest_ver) 230 229 return EINVAL; 231 230 232 231 int rc; 233 232 addr48_t ldest_mac; 234 235 switch (ldest_ af) {236 case AF_INET:233 234 switch (ldest_ver) { 235 case ip_v4: 237 236 return inet_link_send_dgram(addr->ilink, lsrc_v4, ldest_v4, 238 237 dgram, proto, ttl, df); 239 case AF_INET6:238 case ip_v6: 240 239 /* 241 240 * Translate local destination IPv6 address. … … 244 243 if (rc != EOK) 245 244 return rc; 246 245 247 246 return inet_link_send_dgram6(addr->ilink, ldest_mac, dgram, 248 247 proto, ttl, df); 249 } 250 248 default: 249 assert(false); 250 break; 251 } 252 251 253 return ENOTSUP; 252 254 }
Note:
See TracChangeset
for help on using the changeset viewer.