* @v netdev Network device
* @v address IPv4 address
* @v netmask Subnet mask
- * @v gateway Gateway address (or @c INADDR_NONE for no gateway)
+ * @v gateway Gateway address (if any)
* @ret miniroute Routing table entry, or NULL
*/
static struct ipv4_miniroute * __malloc
DBG ( "IPv4 add %s", inet_ntoa ( address ) );
DBG ( "/%s ", inet_ntoa ( netmask ) );
- if ( gateway.s_addr != INADDR_NONE )
+ if ( gateway.s_addr )
DBG ( "gw %s ", inet_ntoa ( gateway ) );
DBG ( "via %s\n", netdev->name );
/* Add to end of list if we have a gateway, otherwise
* to start of list.
*/
- if ( gateway.s_addr != INADDR_NONE ) {
+ if ( gateway.s_addr ) {
list_add_tail ( &miniroute->list, &ipv4_miniroutes );
} else {
list_add ( &miniroute->list, &ipv4_miniroutes );
DBG ( "IPv4 del %s", inet_ntoa ( miniroute->address ) );
DBG ( "/%s ", inet_ntoa ( miniroute->netmask ) );
- if ( miniroute->gateway.s_addr != INADDR_NONE )
+ if ( miniroute->gateway.s_addr )
DBG ( "gw %s ", inet_ntoa ( miniroute->gateway ) );
DBG ( "via %s\n", miniroute->netdev->name );
list_for_each_entry ( miniroute, &ipv4_miniroutes, list ) {
local = ( ( ( dest->s_addr ^ miniroute->address.s_addr )
& miniroute->netmask.s_addr ) == 0 );
- has_gw = ( miniroute->gateway.s_addr != INADDR_NONE );
+ has_gw = ( miniroute->gateway.s_addr );
if ( local || has_gw ) {
if ( ! local )
*dest = miniroute->gateway;
struct settings *settings;
struct in_addr address = { 0 };
struct in_addr netmask = { 0 };
- struct in_addr gateway = { INADDR_NONE };
+ struct in_addr gateway = { 0 };
/* Delete all existing routes */
list_for_each_entry_safe ( miniroute, tmp, &ipv4_miniroutes, list )
/* Override with subnet mask, if present */
fetch_ipv4_setting ( settings, &netmask_setting, &netmask );
/* Get default gateway, if present */
- gateway.s_addr = INADDR_NONE;
fetch_ipv4_setting ( settings, &gateway_setting, &gateway );
/* Configure route */
miniroute = add_ipv4_miniroute ( netdev, address,
printf ( "%s: %s/", miniroute->netdev->name,
inet_ntoa ( miniroute->address ) );
printf ( "%s", inet_ntoa ( miniroute->netmask ) );
- if ( miniroute->gateway.s_addr != INADDR_NONE )
+ if ( miniroute->gateway.s_addr )
printf ( " gw %s", inet_ntoa ( miniroute->gateway ) );
if ( ! ( miniroute->netdev->state & NETDEV_OPEN ) )
printf ( " (inaccessible)" );