The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Net::Route - Portable interface to the routing table

SYNOPSIS

    use Net::Route::Table;
    my $table_ref = Net::Route::Table->from_system();
    my $route_ref = $table_ref->default_route();
    print "Default gateway: ", $route_ref->gateway(), "\n";

VERSION

Version 0.02, $Revision: 372 $

DESCRIPTION

The Net::Route Module

Every OS provides its custom interface to the routing table: Linux' route utility is different from BSD's route show, from Windows' route print, etc. Parsing all these different output styles in an (otherwise portable) script can quickly become inconvenient.

Net::Route abstracts the system specifics and provides a single, portable interface.

The Net::Route Class

Net::Route objects represent single entries from a Net::Route::Table.

INTERFACE

This documents Net::Route as a class. To know how to use the module, refer to the synopsis or Net::Route::Table (the entry point from a user perspective).

Object Methods

destination()

gateway()

metric()

interface()

is_active()

is_dynamic()

INSTALLING DEPENDENCIES ON SUN SOLARIS SYSTEMS WITH GCC

The perl interpreter shipped with Solaris was compiled with Sun's proprietary C compiler, and therefore attempts to compile XS modules with the same tool and options. However, Solaris comes by default with the GNU C Compiler (gcc) only, which has its own set of incompatible command-line arguments. Mixing these two to compile XS Perl modules doesn't work.

Therefore, when you need to install CPAN modules (such as Net::Route's dependencies) which make use of XS (C code) on a system without the Sun C Compiler, you have to use the wrapper script provided by Sun which will invoke gcc correctly (replace Module as needed):

  /usr/perl5/bin/perlgcc -MCPAN -e 'install Module'.

STATUS AND ROADMAP

Please refer to the Changes file for a detailed history.

0.01 - First Public Release

Net::Route meets our goals for a first public release:

  • It can list all routes

  • It can get the default route

  • It can provide the most common characteristics of routes

  • It is portable on Linux, Solaris and Windows

Net::Route is used in other Straton IT (http://en.straton-it.fr/) software, such as Cancerbero 0.7 (http://en.straton-it.fr/open-source/cancerbero-07) and Confdump/Sys (http://confdump.sourceforge.net/).

0.xx - Community Releases

These releases will include features and bugfixes suggested, reported and/or contributed by the community. For example:

  • Differentiating between Net::Route-as-a-class and Net::Route-as-a-module

  • Support for more operating systems

  • Getting rid of CPAN dependencies that are troublesome to install on some platforms.

  • Your idea (http://rt.cpan.org/NoAuth/Bugs.html?Dist=Net-Route) here...

The API might change somewhat, if necessary.

1.0 - API Freeze

When appropriate (according to the user reports), we will freeze the interface and release version 1.0.

BUGS

Please report any bugs or feature requests to bug-net-route at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Net-Route. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

    perldoc Net::Route

You can also look for information at:

AUTHOR

Created by Alexandre Storoz, <astoroz@straton-it.fr>

Maintained by Thomas Equeter, <tequeter@straton-it.fr>

LICENSE AND COPYRIGHT

Copyright (C) 2009 Straton IT.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.