FD.io VPP
v18.01-8-g0eacf49
Vector Packet Processing
Main Page
Related Pages
Modules
Namespaces
Data Structures
Source
Files
Symbols
packet.h
Go to the documentation of this file.
1
#ifndef included_vnet_gre_packet_h
2
#define included_vnet_gre_packet_h
3
4
/*
5
* GRE packet format
6
*
7
* Copyright (c) 2012 Cisco and/or its affiliates.
8
* Licensed under the Apache License, Version 2.0 (the "License");
9
* you may not use this file except in compliance with the License.
10
* You may obtain a copy of the License at:
11
*
12
* http://www.apache.org/licenses/LICENSE-2.0
13
*
14
* Unless required by applicable law or agreed to in writing, software
15
* distributed under the License is distributed on an "AS IS" BASIS,
16
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
* See the License for the specific language governing permissions and
18
* limitations under the License.
19
*/
20
21
#define foreach_gre_protocol \
22
_ (0x0800, ip4) \
23
_ (0x86DD, ip6) \
24
_ (0x6558, teb) \
25
_ (0x0806, arp) \
26
_ (0x8847, mpls_unicast) \
27
_ (0x894F, nsh)
28
29
typedef
enum
30
{
31
#define _(n,f) GRE_PROTOCOL_##f = n,
32
foreach_gre_protocol
33
#undef _
34
}
gre_protocol_t
;
35
36
typedef
struct
37
{
38
/* flags and version */
39
u16
flags_and_version
;
40
/* unimplemented at the moment */
41
#define GRE_FLAGS_CHECKSUM (1 << 15)
42
43
/* deprecated, according to rfc2784 */
44
#define GRE_FLAGS_ROUTING (1 << 14)
45
#define GRE_FLAGS_KEY (1 << 13)
46
#define GRE_FLAGS_SEQUENCE (1 << 12)
47
#define GRE_FLAGS_STRICT_SOURCE_ROUTE (1 << 11)
48
49
/* version 1 is PPTP which we don't support */
50
#define GRE_SUPPORTED_VERSION 0
51
#define GRE_VERSION_MASK 0x7
52
53
/* 0x800 for ip4, etc. */
54
u16
protocol
;
55
}
gre_header_t
;
56
57
#endif
/* included_vnet_gre_packet_h */
58
59
/*
60
* fd.io coding-style-patch-verification: ON
61
*
62
* Local Variables:
63
* eval: (c-set-style "gnu")
64
* End:
65
*/
foreach_gre_protocol
#define foreach_gre_protocol
Definition:
packet.h:21
gre_header_t::flags_and_version
u16 flags_and_version
Definition:
packet.h:39
gre_header_t::protocol
u16 protocol
Definition:
packet.h:54
gre_protocol_t
gre_protocol_t
Definition:
packet.h:29
gre_header_t
Definition:
packet.h:36
u16
unsigned short u16
Definition:
types.h:57
src
vnet
gre
packet.h
Generated on Wed Feb 7 2018 04:46:06 for FD.io VPP by
1.8.11