@ -68,7 +68,7 @@ static int instance_init_common(struct UTUN_INSTANCE* instance, struct UASYNC* u
struct CFG_ROUTE_ENTRY * subnet = config - > my_subnets ;
while ( subnet ) {
struct ROUTE_ENTRY entry = { 0 } ;
entry . network = subnet - > ip . addr . v4 . s_addr ;
entry . network = ntohl ( subnet - > ip . addr . v4 . s_addr ) ; // Convert network byte order to host
entry . prefix_length = subnet - > netmask ;
entry . next_hop = NULL ; // Local route
entry . type = ROUTE_TYPE_LOCAL ;
@ -80,12 +80,16 @@ static int instance_init_common(struct UTUN_INSTANCE* instance, struct UASYNC* u
if ( route_table_insert ( instance - > rt , & entry ) ) {
char ip_str [ INET_ADDRSTRLEN ] ;
inet_ntop ( AF_INET , & entry . network , ip_str , sizeof ( ip_str ) ) ;
struct in_addr addr ;
addr . s_addr = htonl ( entry . network ) ; // Convert back to network byte order for printing
inet_ntop ( AF_INET , & addr , ip_str , sizeof ( ip_str ) ) ;
DEBUG_INFO ( DEBUG_CATEGORY_ROUTING , " Added local route: %s/%d " ,
ip_str , entry . prefix_length ) ;
} else {
char ip_str [ INET_ADDRSTRLEN ] ;
inet_ntop ( AF_INET , & entry . network , ip_str , sizeof ( ip_str ) ) ;
struct in_addr addr ;
addr . s_addr = htonl ( entry . network ) ; // Convert back to network byte order for printing
inet_ntop ( AF_INET , & addr , ip_str , sizeof ( ip_str ) ) ;
DEBUG_WARN ( DEBUG_CATEGORY_ROUTING , " Failed to add local route: %s/%d (skipping) " ,
ip_str , entry . prefix_length ) ;
}