Go to the source code of this file.
|
u8 * | format_gre_tx_trace (u8 *s, va_list *args) |
|
u8 * | format_gre_protocol (u8 *s, va_list *args) |
|
u8 * | format_gre_header_with_length (u8 *s, va_list *args) |
|
u8 * | format_gre_header (u8 *s, va_list *args) |
|
uword | unformat_gre_protocol_host_byte_order (unformat_input_t *input, va_list *args) |
|
uword | unformat_gre_protocol_net_byte_order (unformat_input_t *input, va_list *args) |
|
uword | unformat_gre_header (unformat_input_t *input, va_list *args) |
|
static int | gre_proto_from_vnet_link (vnet_link_t link) |
|
static u8 * | gre_build_rewrite (vnet_main_t *vnm, u32 sw_if_index, vnet_link_t link_type, const void *dst_address) |
|
static void | gre4_fixup (vlib_main_t *vm, ip_adjacency_t *adj, vlib_buffer_t *b0, const void *data) |
|
static void | gre6_fixup (vlib_main_t *vm, ip_adjacency_t *adj, vlib_buffer_t *b0, const void *data) |
|
void | gre_update_adj (vnet_main_t *vnm, u32 sw_if_index, adj_index_t ai) |
|
static uword | gre_interface_tx (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
| TX function. More...
|
|
static u8 * | format_gre_tunnel_name (u8 *s, va_list *args) |
|
static u8 * | format_gre_device (u8 *s, va_list *args) |
|
| VNET_DEVICE_CLASS (gre_device_class) |
|
| VNET_HW_INTERFACE_CLASS (gre_hw_interface_class) |
|
static void | add_protocol (gre_main_t *gm, gre_protocol_t protocol, char *protocol_name) |
|
static clib_error_t * | gre_init (vlib_main_t *vm) |
|
◆ gre_error
#define gre_error |
( |
|
n, |
|
|
|
s |
|
) |
| s, |
◆ is_v4_packet
#define is_v4_packet |
( |
|
_h | ) |
((*(u8*) _h) & 0xF0) == 0x40 |
◆ gre_encap_next_t
Enumerator |
---|
GRE_ENCAP_NEXT_L2_MIDCHAIN | |
GRE_ENCAP_N_NEXT | |
Definition at line 324 of file gre.c.
◆ add_protocol()
◆ format_gre_device()
static u8* format_gre_device |
( |
u8 * |
s, |
|
|
va_list * |
args |
|
) |
| |
|
static |
◆ format_gre_header()
u8* format_gre_header |
( |
u8 * |
s, |
|
|
va_list * |
args |
|
) |
| |
◆ format_gre_header_with_length()
u8* format_gre_header_with_length |
( |
u8 * |
s, |
|
|
va_list * |
args |
|
) |
| |
Definition at line 87 of file gre.c.
◆ format_gre_protocol()
u8* format_gre_protocol |
( |
u8 * |
s, |
|
|
va_list * |
args |
|
) |
| |
Definition at line 72 of file gre.c.
◆ format_gre_tunnel_name()
static u8* format_gre_tunnel_name |
( |
u8 * |
s, |
|
|
va_list * |
args |
|
) |
| |
|
static |
◆ format_gre_tx_trace()
u8* format_gre_tx_trace |
( |
u8 * |
s, |
|
|
va_list * |
args |
|
) |
| |
Definition at line 58 of file gre.c.
◆ gre4_fixup()
◆ gre6_fixup()
◆ gre_build_rewrite()
◆ gre_init()
◆ gre_interface_tx()
TX function.
Only called for L2 payload including TEB or ERSPAN. L3 traffic uses the adj-midchains.
Definition at line 335 of file gre.c.
◆ gre_proto_from_vnet_link()
static int gre_proto_from_vnet_link |
( |
vnet_link_t |
link | ) |
|
|
static |
◆ gre_update_adj()
◆ unformat_gre_header()
◆ unformat_gre_protocol_host_byte_order()
◆ unformat_gre_protocol_net_byte_order()
◆ VNET_DEVICE_CLASS()
◆ VNET_HW_INTERFACE_CLASS()
◆ gre_encap_node
Initial value:=
{
.name = "gre-encap",
.vector_size =
sizeof (
u32),
.next_nodes = {
},
}
static uword gre_interface_tx(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
TX function.
u8 * format_gre_tx_trace(u8 *s, va_list *args)
static char * gre_error_strings[]
(constructor) VLIB_REGISTER_NODE (gre_encap_node)
Definition at line 514 of file gre.c.
◆ gre_error_strings
char* gre_error_strings[] |
|
static |
Initial value:= {
#define gre_error(n,s)
gre_error (UNKNOWN_PROTOCOL, "unknown protocol")
gre_error (PKTS_DECAP, "GRE input packets decapsulated")
gre_error (PKTS_ENCAP, "GRE output packets encapsulated")
gre_error (NO_SUCH_TUNNEL, "GRE input packets dropped due to missing tunnel")
}
Definition at line 507 of file gre.c.
◆ gre_main
Definition at line 22 of file gre.c.