Annotation of embedaddon/choparp/README, revision 1.1.1.1
1.1 misho 1: choparp README
2: $Id: README,v 1.2 2002/11/07 22:53:23 quinot Exp $
3:
4: Copyright (c) 1997 Takamichi Tateoka (tree@mma.club.uec.ac.jp)
5: Copyright (c) 2002 Thomas Quinot (thomas@cuivre.fr.eu.org)
6:
7: Changes and original English man page from the FreeBSD port by
8: Jun-ichiro itojun Hagino <itojun@freebsd.org>.
9:
10: Changes from the NetBSD package by Darrin B. Jewell <dbj@netbsd.org>.
11:
12: choparp is a proxy ARP daemon. It listens for ARP requests on a
13: network interface, and sends ARP replies with a specified MAC
14: addresses when the requested IP addresses matches a user-provided
15: list.
16:
17: For example, assume following VLSM subnet. R1 and H1 must have
18: routing entry for subnet B (172.21.139.32/28).
19:
20: +----+ +----+
21: | R1 | | H1 |
22: +-+--+ +----+
23: | 172.21.139.1 | 172.21.139.96
24: | |
25: --+--------+------------------------+--------------- subnet A
26: | 172.21.139.0/24
27: | 172.21.139.2
28: +----+
29: | R2 |
30: +----+
31: | 172.21.139.33
32: |
33: ------+-----------------+---------------------- subnet B
34: | 172.21.139.32/28
35: | 172.21.139.33
36: +----+
37: | H2 |
38: +----+
39:
40: If you can not set such routing entry, R1 and H1 treat hosts on the
41: subnet B as on the subnet A. In this case, H1 broadcast ARP request
42: for H2 to send a message for H2. This request will fail since this
43: request can not reach to subnet B (and H2), thus H1 cannot tail with
44: H2.
45:
46: choparp running on R2 replies for ARP request, which is looking for
47: MAC address of H2, as R2 is H2 on subnet A. Hosts on subnet A send
48: packets for H2 to R2 (because R2 replies H2 is R2), and R2 can forward
49: the packets to R2 with ordinary way. As a result, H1 and H2 can talk
50: each other. You can *chop* subnet B from subnet A without any routing
51: modification on subnet A.
52:
53: This is a same way as proxy ARP described in RFC1027.
54:
55: For above example, you should run choparp on R2, set if_name parameter
56: as the interface on 172.21.139.2, network parameter as
57: 172.21.139.32/255.255.255.240 (or 172.21.139.32/28). You should not
58: use 172.21.139.32 and 172.21.139.47 as IP address for hosts because
59: they are used as network address and broadcast address for subnet B.
60:
61: Enjoy!
62:
63: /*
64: choparp - cheap & omitted proxy arp
65:
66: Copyright (c) 1997 Takamichi Tateoka (tree@mma.club.uec.ac.jp)
67: Copyright (c) 2002 Thomas Quinot (thomas@cuivre.fr.eu.org)
68:
69: Redistribution and use in source and binary forms, with or without
70: modification, are permitted provided that the following conditions
71: are met:
72: 1. Redistributions of source code must retain the above copyright
73: notice, this list of conditions and the following disclaimer.
74: 2. Redistributions in binary form must reproduce the above copyright
75: notice, this list of conditions and the following disclaimer in the
76: documentation and/or other materials provided with the distribution.
77: 3. Neither the name of the authors nor the names of their contributors
78: may be used to endorse or promote products derived from this software
79: without specific prior written permission.
80:
81: THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND
82: ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
83: IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
84: ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
85: FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
86: DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
87: OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
88: HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
89: LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
90: OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
91: SUCH DAMAGE.
92: */
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>