Go to the source code of this file.
|
typedef | CLIB_PACKED (struct{ip4_header_t ip4;gre_header_t gre;}) ip4_and_gre_header_t |
| IPv4 and GRE header. More...
|
|
typedef | CLIB_PACKED (struct{ip6_header_t ip6;gre_header_t gre;}) ip6_and_gre_header_t |
| IPv6 and GRE header. More...
|
|
static gre_protocol_info_t * | gre_get_protocol_info (gre_main_t *em, gre_protocol_t protocol) |
|
clib_error_t * | gre_interface_admin_up_down (vnet_main_t *vnm, u32 hw_if_index, u32 flags) |
|
void | gre_tunnel_stack (adj_index_t ai) |
| gre_tunnel_stack More...
|
|
void | gre_update_adj (vnet_main_t *vnm, u32 sw_if_index, adj_index_t ai) |
|
void | gre_register_input_protocol (vlib_main_t *vm, gre_protocol_t protocol, u32 node_index, gre_tunnel_type_t tunnel_type) |
|
int | vnet_gre_add_del_tunnel (vnet_gre_add_del_tunnel_args_t *a, u32 *sw_if_indexp) |
|
static void | gre_mk_key4 (ip4_address_t src, ip4_address_t dst, u32 fib_index, u8 ttype, u16 session_id, gre_tunnel_key4_t *key) |
|
static int | gre_match_key4 (const gre_tunnel_key4_t *key1, const gre_tunnel_key4_t *key2) |
|
static void | gre_mk_key6 (const ip6_address_t *src, const ip6_address_t *dst, u32 fib_index, u8 ttype, u16 session_id, gre_tunnel_key6_t *key) |
|
static int | gre_match_key6 (const gre_tunnel_key6_t *key1, const gre_tunnel_key6_t *key2) |
|
static void | gre_mk_sn_key (const gre_tunnel_t *gt, gre_sn_key_t *key) |
|
#define gre_error |
( |
|
n, |
|
|
|
s |
|
) |
| GRE_ERROR_##n, |
Definition at line 32 of file gre.h.
#define GRE_OUTPUT_NEXT_LOOKUP 1 |
#define GRE_TUNNEL_TYPE_NAMES |
Value:{ \
}
Transparent Ethernet Bridging - the tunnel is in L2 mode.
ERSPAN type 2 - the tunnel is for port mirror SPAN output.
Definition at line 62 of file gre.h.
#define GTK_FIB_INDEX_MASK 0xfffff000 |
#define GTK_FIB_INDEX_SHIFT 12 |
#define GTK_SESSION_ID_MASK 0xffc |
#define GTK_SESSION_ID_SHIFT 2 |
#define GTK_TYPE_MASK 0x3 |
Key for a IPv4 GRE Tunnel.
Key for a IPv6 GRE Tunnel We use a different type so that the V4 key hash is as small as possible.
Union of the two possible key types.
Definition at line 30 of file gre.h.
The GRE tunnel type.
Enumerator |
---|
GRE_TUNNEL_TYPE_L3 |
L3 GRE (i.e.
this tunnel is in L3 mode)
|
GRE_TUNNEL_TYPE_TEB |
Transparent Ethernet Bridging - the tunnel is in L2 mode.
|
GRE_TUNNEL_TYPE_ERSPAN |
ERSPAN type 2 - the tunnel is for port mirror SPAN output.
Each tunnel is associated with a session ID and expected to be used for encap and output of mirrored packet from a L2 network only. There is no support for receiving ERSPAN packets from a GRE ERSPAN tunnel in VPP.
|
GRE_TUNNEL_TYPE_N |
|
Definition at line 41 of file gre.h.
gre_tunnel_stack
'stack' (resolve the recursion for) the tunnel's midchain adjacency
Definition at line 128 of file interface.c.
(constructor) VLIB_REGISTER_NODE (gre4_input_node)
Definition at line 575 of file node.c.
(constructor) VLIB_REGISTER_NODE (gre6_input_node)
Definition at line 596 of file node.c.
(constructor) VLIB_REGISTER_NODE (gre_encap_node)
Definition at line 511 of file gre.c.
Definition at line 22 of file gre.c.