-
Notifications
You must be signed in to change notification settings - Fork 1
/
README.mec
49 lines (40 loc) · 1.57 KB
/
README.mec
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
Additions made:
1. Header types
AH - IPv4 or v6, with support for external authentication modules
(demo xorauth "authentication" module included)
ESP - IPv4 or v6, with support for external auth and crypto modules
(demo xorauth "authentication" and xorcrypto "encryption"
modules included)
Wrapped ESP (WESP) - IPv4 or v6 (provisional)
option headers (hop-by-hop or destination) - IPv6
pad0
padN
router alert
jumbo
home address
(arbitrary)
fragment - IPv6
GRE tunnel - IPv4 or v6
routing - types 0, 1, 2
SCTP - with some chunk/parameter support
2. Helper functions
random data generation
protocol name/number conversion
forward/back header lookup
CRC32 calculation
"standard" string and integer parameter functions
Changes in existing modules:
1. Kept inner header type info available for outer headers which need it
(for, e.g., determining next header value).
2. Changed inner header code which looks at outer headers so that it
can find the proper outer header even when there are other headers
intervening.
3. Allowed multiple invocation of the same header type, to allow for
things like ipip tunnels. To get this to work properly, I changed the
argument processing to first attempt to apply arguments to the most
recently invoked header module.
4. Allowed header modules to trim (but not increase) the total packet
size in packet finalization. This is to support ESP, which needs to
pad out its trailer for alignment; we have it preallocate extra space,
and then trim back to the minimum required for proper alignment during
finalization.