route_ipv4.c File Reference

IPv4 routing management. More...

#include <stdio.h>
#include <ipxe/netdevice.h>
#include <ipxe/ip.h>
#include <usr/route.h>

Go to the source code of this file.


static void route_ipv4_print (struct net_device *netdev)
 Print IPv4 routing table. More...
struct routing_family ipv4_routing_family __routing_family (ROUTING_IPV4)
 IPv4 routing family. More...

Detailed Description

IPv4 routing management.

Definition in file route_ipv4.c.

Function Documentation



◆ route_ipv4_print()

static void route_ipv4_print ( struct net_device netdev)

Print IPv4 routing table.

netdevNetwork device

Definition at line 42 of file route_ipv4.c.

42  {
43  struct ipv4_miniroute *miniroute;
45  list_for_each_entry ( miniroute, &ipv4_miniroutes, list ) {
46  if ( miniroute->netdev != netdev )
47  continue;
48  printf ( "%s: %s/", netdev->name,
49  inet_ntoa ( miniroute->address ) );
50  printf ( "%s", inet_ntoa ( miniroute->netmask ) );
51  if ( miniroute->gateway.s_addr )
52  printf ( " gw %s", inet_ntoa ( miniroute->gateway ) );
53  if ( ! netdev_is_open ( miniroute->netdev ) )
54  printf ( " (inaccessible)" );
55  printf ( "\n" );
56  }
57 }
struct in_addr netmask
Subnet mask.
Definition: ip.h:68
int printf(const char *fmt,...)
Write a formatted string to the console.
Definition: vsprintf.c:464
struct list_head list
List of miniroutes.
Definition: ip.h:60
struct net_device * netdev
Network device.
Definition: ip.h:63
struct in_addr address
IPv4 address.
Definition: ip.h:66
static int netdev_is_open(struct net_device *netdev)
Check whether or not network device is open.
Definition: netdevice.h:652
An IPv4 address/routing table entry.
Definition: ip.h:58
#define list_for_each_entry(pos, head, member)
Iterate over entries in a list.
Definition: list.h:420
struct in_addr gateway
Gateway address.
Definition: ip.h:70
static struct net_device * netdev
Definition: gdbudp.c:52
char * inet_ntoa(struct in_addr in)
Convert IPv4 address to dotted-quad notation.
Definition: ipv4.c:658
struct list_head ipv4_miniroutes
List of IPv4 miniroutes.
Definition: ipv4.c:57
uint32_t s_addr
Definition: in.h:40
char name[NETDEV_NAME_LEN]
Name of this network device.
Definition: netdevice.h:358

References ipv4_miniroute::address, ipv4_miniroute::gateway, inet_ntoa(), ipv4_miniroutes, ipv4_miniroute::list, list_for_each_entry, net_device::name, netdev, ipv4_miniroute::netdev, netdev_is_open(), ipv4_miniroute::netmask, printf(), and in_addr::s_addr.

◆ __routing_family()

struct routing_family ipv4_routing_family __routing_family ( ROUTING_IPV4  )

IPv4 routing family.