iPXE
Functions
route_ipv6.c File Reference

IPv6 routing management. More...

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

Go to the source code of this file.

Functions

 FILE_LICENCE (GPL2_OR_LATER_OR_UBDL)
static void route_ipv6_print (struct net_device *netdev)
 Print IPv6 routing table.
struct routing_family
ipv6_routing_family 
__routing_family (ROUTING_IPV6)
 IPv6 routing family.

Detailed Description

IPv6 routing management.

Definition in file route_ipv6.c.


Function Documentation

FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL  )
static void route_ipv6_print ( struct net_device netdev) [static]

Print IPv6 routing table.

Parameters:
netdevNetwork device

Definition at line 42 of file route_ipv6.c.

References ipv6_miniroute::address, ipv6_miniroute::flags, inet6_ntoa(), IPV6_HAS_ADDRESS, IPV6_HAS_ROUTER, ipv6_miniroutes, ipv6_miniroute::list, list_for_each_entry, net_device::name, ipv6_miniroute::netdev, netdev_is_open(), ipv6_miniroute::prefix_len, printf(), and ipv6_miniroute::router.

                                                           {
        struct ipv6_miniroute *miniroute;

        list_for_each_entry ( miniroute, &ipv6_miniroutes, list ) {
                if ( miniroute->netdev != netdev )
                        continue;
                printf ( "%s: %s/%d", netdev->name,
                         inet6_ntoa ( &miniroute->address ),
                         miniroute->prefix_len );
                if ( miniroute->flags & IPV6_HAS_ROUTER )
                        printf ( " gw %s", inet6_ntoa ( &miniroute->router ) );
                if ( ! ( miniroute->flags & IPV6_HAS_ADDRESS ) )
                        printf ( " (no address)" );
                if ( ! netdev_is_open ( miniroute->netdev ) )
                        printf ( " (inaccessible)" );
                printf ( "\n" );
        }
}
struct routing_family ipv6_routing_family __routing_family ( ROUTING_IPV6  ) [read]

IPv6 routing family.