summaryrefslogtreecommitdiffstats
path: root/doc/README.html.in
blob: 46f4a23b44fffe9d8d373ea38f72df24c491d2f2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
<?xml version="1.0" encoding="iso-8895-15"?> <!-- -*-html-helper-*- -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<title>ifmetric @PACKAGE_VERSION@</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>

<body>
<h1><a name="top">ifmetric @PACKAGE_VERSION@</a></h1>

<p><i>Copyright 2003 Lennart Poettering &lt;mzvszrgevp [at] itaparica.org&gt;</i></p>

<ul class="toc">
    <li><a href="#license">License</a></li>
    <li><a href="#news">News</a></li>
    <li><a href="#overview">Overview</a></li>
    <li><a href="#status">Status</a></li>
    <li><a href="#documentation">Documentation</a></li>
    <li><a href="#requirements">Requirements</a></li>
    <li><a href="#installation">Installation</a></li>
    <li><a href="#acks">Acknowledgements</a></li>
    <li><a href="#download">Download</a></li>
</ul>

<h2><a name="license">License</a></h2>

<p>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 (at your option) any later version.</p>

<p>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.</p>

<p>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.</p>

<h2><a name="news">News</a></h2>

<div class="news-date">Mon Aug 4 2003: </div> <p class="news-text"><a
href="http://www.stud.uni-hamburg.de/~lennart/projects/ifmetric/ifmetric-0.1.tar.gz">Version
0.1</a> released</p>

<h2><a name="overview">Overview</a></h2>

<p><tt>ifmetric</tt> is a Linux tool for setting the metrics of all
IPv4 routes attached to a given network interface at once. This
may be used to change the priority of routing IPv4 traffic over
the interface. Lower metrics correlate with higher
priorities.</p>
  
<h2><a name="status">Status</a></h2>

<p>Version @PACKAGE_VERSION@ is stable and feature complete.</p>
  
<h2><a name="documentation">Documentation</a></h2>

<h3><tt>ifmetric</tt>'s purpose</h3>

<p>Sometimes two network interfaces of different speeds with equal
routes are available at the same time. (e.g. a laptop with both a
wireless and a copper LAN card) The one with the greater througput
should be preferred over the other. To achieve this, you may use the
route's metric field. Routes with lower metrics are preferred over
those with higher. Unfortunately many network configurators (like DHCP
clients) do not support to set the metric for a
route. <tt>ifmetric</tt> may be used to manipulate the metrics of
routes a posteriori. The default metric for a route in the Linux
kernel is 0, meaning the highest priority.</p>

<p><tt>ifmetric</tt> makes use of the NETLINK interface of the Linux
kernel for manipulating the routes. Thus, <tt>ifmetric</tt> is
compatible with complex routes created with <tt>iproute2</tt>.</p>

<p><tt>ifmetric</tt> doesn't modify the routes atomically. The is due
to the NETLINK API. However, this should not hurt since
<tt>ifmetric</tt> makes sure that not routes are ever lost while
modifying them.</p>

<h3>Usage</h3>

<p>To give all other interfaces a higher priority than <tt>wlan0</tt> simply run:</p>

<pre>ifmetric wlan0 1</pre>

<p>To reset the metrics of the routes attached to <tt>wlan0</tt> simply run:

<pre>ifmetric wlan0 0</pre>

<h2><a name="requirements">Requirements</a></h2>

<p>A newer Linux Kernel supporting the NETLINK API. (I think 2.2 is
good enough).</p>

<p><tt>ifmetric</tt> was developed and tested on Debian GNU/Linux
"testing" from August 2003, it should work on most other Linux
distributions since it uses GNU autoconf for
source code configuration.</p>

<h2><a name="installation">Installation</a></h2>

<p>As this package is made with the GNU autotools you should run
<tt>./configure</tt> inside the distribution directory for configuring
the source tree. After that you should run <tt>make</tt> for
compilation and <tt>make install</tt> (as root) for installation of
<tt>ifmetric</tt>.</p>

<p>The Linux kernel headers have to be available during compilation.</p>

<h2><a name="acks">Acknowledgements</a></h2>

<p>For the developers of <tt>iproute2</tt> and <tt>zebra</tt>, since I looked
on their source codes for learning how to use NETLINK.</p>

<h2><a name="download">Download</a></h2>

<p>The newest release is always available from <a href="http://www.stud.uni-hamburg.de/~lennart/projects/ifmetric/">http://www.stud.uni-hamburg.de/~lennart/projects/ifmetric/</a></p>

<p>The current release is <a href="http://www.stud.uni-hamburg.de/~lennart/projects/ifmetric/ifmetric-@PACKAGE_VERSION@.tar.gz">@PACKAGE_VERSION@</a></p>

<hr/>

<address>Lennart Poettering &lt;mzvszrgevp [at] itaparica.org&gt;, July 2003</address>

<div><i>$Id$</i></div>

</body>
</html>