Add route() function to display routing table.

This commit is contained in:
Michael Brown
2007-01-10 20:38:20 +00:00
parent 78ded6604a
commit d9ba8f790b
6 changed files with 85 additions and 33 deletions

View File

@@ -21,6 +21,7 @@
#include <vsprintf.h>
#include <gpxe/netdevice.h>
#include <usr/ifmgmt.h>
#include <usr/route.h>
#include <usr/autoboot.h>
/** @file
@@ -81,6 +82,8 @@ void netboot ( struct net_device *netdev ) {
ifstat ( netdev );
test_dhcp ( netdev );
route();
}
/**

41
src/usr/route.c Normal file
View File

@@ -0,0 +1,41 @@
/*
* Copyright (C) 2007 Michael Brown <mbrown@fensystems.co.uk>.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <vsprintf.h>
#include <gpxe/netdevice.h>
#include <gpxe/ip.h>
#include <usr/route.h>
/** @file
*
* Routing table management
*
*/
void route ( void ) {
struct ipv4_miniroute *miniroute;
list_for_each_entry ( miniroute, &ipv4_miniroutes, list ) {
printf ( "%s: %s/", miniroute->netdev->name,
inet_ntoa ( miniroute->address ) );
printf ( "%s", inet_ntoa ( miniroute->netmask ) );
if ( miniroute->gateway.s_addr != INADDR_NONE )
printf ( " gw %s", inet_ntoa ( miniroute->gateway ) );
printf ( "\n" );
}
}