datapath: add key support to CAPWAP tunnel
[openvswitch] / datapath / CAPWAP.txt
1
2 References:
3 * http://www.rfc-editor.org/rfc/rfc5415.txt
4
5
6 The CAPWAP header layout is summarized as follows:
7
8
9         0                   1                   2                   3
10         0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
11        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
12        |CAPWAP Preamble|  HLEN   |   RID   | WBID    |T|F|L|W|M|K|Flags|
13        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
14        |          Fragment ID          |     Frag Offset         |Rsvd |
15        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
16        |                 (optional) Radio MAC Address                  |
17        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
18        |            (optional) Wireless Specific Information           |
19        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
20        |                        Payload ....                           |
21        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
22
23 The spec defines an optional Wireless Specific Information field which can be
24 used to pass arbitrary data in the encapsulation layer:
25
26    Wireless Specific Information:  This optional field may be used to carry
27       per-packet information.  This field is only present if the
28       'W' bit is set.  The WBID field in the CAPWAP Header is used to
29       identify the format of the WSI optional field. The HLEN field assumes
30       4-byte alignment, and this field MUST be padded with zeroes (0x00) if it
31       is not 4-byte aligned.
32
33       The Wireless-Specific Information field uses the following format:
34
35         0                   1                   2                   3
36         0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
37        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
38        |    Length     |                Data...
39        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
40
41       Length:  The 8-bit field contains the length of the data field,
42          with a maximum size of 255.
43
44       Data:  Wireless-specific information, defined by the wireless-
45          specific binding specified in the CAPWAP Header's WBID field.
46
47
48    WBID:  A 5-bit field that is the wireless binding identifier.  The
49       identifier will indicate the type of wireless packet associated
50       with the radio.  The following values are defined:
51
52       0 -  Reserved
53       1 -  IEEE 802.11
54       2 -  Reserved
55       3 -  EPCGlobal [EPCGlobal]
56
57       When Open vSwitch uses this field, it writes the value:
58       30 - Open vSwitch data
59
60
61 Open vSwitch can make use of this field to pass additional packet routing
62 information. When needed, it sets the 'W' bit to indicates the WSI field is
63 added, and fills the field as follows:
64
65         0                   1                   2                   3
66         0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
67        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
68        |  WSI_LEN      |K|      Flags  |             Reserved          |
69        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
70        |   (optional) 64bit Tunnel Key                                 |
71        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
72
73        K - flag bit to identify presence of a 64bit tunnel key.
74
75
76 Adding WSI fields:  Fields must be written and read in consitent order.  New
77 fields may be added, but the existing fields always come first.