forked from kohler/click
-
Notifications
You must be signed in to change notification settings - Fork 0
/
test-tap.click
31 lines (25 loc) · 984 Bytes
/
test-tap.click
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
// test-tap.click
// This user-level configuration tests the KernelTap element, which accesses
// Linux's ethertap device (or, equivalently, *BSD's /dev/tun* devices). These
// devices let user-level programs trade packets with the kernel. You will
// need to run it as root.
//
// This configuration should work on FreeBSD, OpenBSD, and Linux. It should
// produce a stream of 'tap-ok' printouts if all goes well. On OpenBSD, you
// may need to run
// route add 1.0.0.0 -interface 1.0.0.1
// after starting the Click configuration.
//
// See test-tun.click for the KernelTun version of this configuration, which
// is better documented.
tap :: KernelTap(1.0.0.1/8);
ICMPPingSource(1.0.0.2, 1.0.0.1)
-> EtherEncap(0x0800, 1:1:1:1:1:1, 2:2:2:2:2:2)
-> tap;
tap -> Print(tap-in) -> c ::Classifier(12/0800, 12/0806);
c[0] -> Strip(14)
-> ch :: CheckIPHeader
-> IPPrint(tap-ok)
-> Discard;
ch[1] -> Print(tap-bad) -> Discard;
c[1] -> ARPResponder(0/0 1:1:1:1:1:1) -> tap;