Changes in uspace/srv/net/inetsrv/addrobj.c [5a324d99:feeac0d] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/net/inetsrv/addrobj.c
r5a324d99 rfeeac0d 42 42 #include <stdlib.h> 43 43 #include <str.h> 44 #include <net/socket_codes.h> 44 45 #include "addrobj.h" 45 46 #include "inetsrv.h" … … 217 218 inet_addr_t lsrc_addr; 218 219 inet_naddr_addr(&addr->naddr, &lsrc_addr); 219 220 220 221 addr32_t lsrc_v4; 221 222 addr128_t lsrc_v6; 222 ip_ver_t lsrc_ver= inet_addr_get(&lsrc_addr, &lsrc_v4, &lsrc_v6);223 223 uint16_t lsrc_af = inet_addr_get(&lsrc_addr, &lsrc_v4, &lsrc_v6); 224 224 225 addr32_t ldest_v4; 225 226 addr128_t ldest_v6; 226 ip_ver_t ldest_ver= inet_addr_get(ldest, &ldest_v4, &ldest_v6);227 228 if (lsrc_ ver != ldest_ver)227 uint16_t ldest_af = inet_addr_get(ldest, &ldest_v4, &ldest_v6); 228 229 if (lsrc_af != ldest_af) 229 230 return EINVAL; 230 231 231 232 int rc; 232 233 addr48_t ldest_mac; 233 234 switch (ldest_ ver) {235 case ip_v4:234 235 switch (ldest_af) { 236 case AF_INET: 236 237 return inet_link_send_dgram(addr->ilink, lsrc_v4, ldest_v4, 237 238 dgram, proto, ttl, df); 238 case ip_v6:239 case AF_INET6: 239 240 /* 240 241 * Translate local destination IPv6 address. … … 243 244 if (rc != EOK) 244 245 return rc; 245 246 246 247 return inet_link_send_dgram6(addr->ilink, ldest_mac, dgram, 247 248 proto, ttl, df); 248 default: 249 assert(false); 250 break; 251 } 252 249 } 250 253 251 return ENOTSUP; 254 252 }
Note:
See TracChangeset
for help on using the changeset viewer.