Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 4724 → Rev 4723

/branches/network/uspace/srv/net/il/ip/ip.c
147,10 → 147,6
*/
#define IP_FRAGMENT_OFFSET( length ) (( length ) / 8 )
 
/** The IP localhost address.
*/
#define IPV4_LOCALHOST_ADDRESS htonl(( 127 << 24 ) + 1 )
 
/** IP global data.
*/
ip_globals_t ip_globals;
577,7 → 573,7
phone = ip_prepare_icmp_and_get_phone( error, packet, NULL );
if( phone >= 0 ){
// unreachable ICMP if no routing
icmp_destination_unreachable_msg( phone, ICMP_NET_UNREACH, 0, packet );
icmp_destination_unreachable_msg( phone, ICMP_HOST_UNREACH, 0, packet );
}
return ENOENT;
}
590,21 → 586,6
return ip_release_and_return( packet, EINVAL );
}
}
if( route->address.s_addr == dest->s_addr ){
// find the loopback device to deliver
dest->s_addr = IPV4_LOCALHOST_ADDRESS;
route = ip_find_route( * dest );
netif = route ? route->netif : NULL;
if( !( netif && route )){
fibril_rwlock_read_unlock( & ip_globals.netifs_lock );
phone = ip_prepare_icmp_and_get_phone( error, packet, NULL );
if( phone >= 0 ){
// unreachable ICMP if no routing
icmp_destination_unreachable_msg( phone, ICMP_HOST_UNREACH, 0, packet );
}
return ENOENT;
}
}
src = ip_netif_address( netif );
if( ! src ){
fibril_rwlock_read_unlock( & ip_globals.netifs_lock );