FD.io VPP
v20.09-64-g4f7b92f0a
Vector Packet Processing
|
Common utility functions for LISP-GPE interfaces. More...
Go to the source code of this file.
Data Structures | |
struct | lisp_gpe_tx_trace_t |
struct | l2_lisp_gpe_tx_trace_t |
struct | nsh_lisp_gpe_tx_trace_t |
Macros | |
#define | foreach_lisp_gpe_tx_next |
#define | is_v4_packet(_h) ((*(u8*) _h) & 0xF0) == 0x40 |
Enumerations | |
enum | lisp_gpe_tx_next_t { LISP_GPE_TX_N_NEXT } |
Variables | |
static uword | l2_arc_to_lb |
The VLIB node arc/edge from the interface's TX node, to the L2 load-balanceing node. More... | |
static vlib_cli_command_t | add_del_lisp_gpe_iface_command |
(constructor) VLIB_CLI_COMMAND (add_del_lisp_gpe_iface_command) More... | |
Common utility functions for LISP-GPE interfaces.
Definition in file interface.c.
#define foreach_lisp_gpe_tx_next |
Definition at line 44 of file interface.c.
#define is_v4_packet | ( | _h | ) | ((*(u8*) _h) & 0xF0) == 0x40 |
Definition at line 73 of file interface.c.
enum lisp_gpe_tx_next_t |
Enumerator | |
---|---|
LISP_GPE_TX_N_NEXT |
Definition at line 49 of file interface.c.
Definition at line 209 of file interface.c.
Definition at line 171 of file interface.c.
Definition at line 63 of file interface.c.
Definition at line 320 of file interface.c.
|
static |
LISP-GPE interface TX (encap) function for L2 overlays.
l2_lisp_gpe_interface_tx
The L2 LISP-GPE interface TX (encap) function.
Uses bridge domain index, source and destination ethernet addresses to lookup tunnel. If the tunnel is multihomed a flow has is used to determine the sub-tunnel and therefore the rewrite string to be used to encapsulate the packets.
[in] | vm | vlib_main_t corresponding to the current thread. |
[in] | node | vlib_node_runtime_t data for this node. |
[in] | frame | vlib_frame_t whose contents should be dispatched. |
Definition at line 237 of file interface.c.
|
static |
u32 lisp_gpe_add_l2_iface | ( | lisp_gpe_main_t * | lgm, |
u32 | vni, | ||
u32 | bd_id | ||
) |
Add/del LISP-GPE L2 interface.
Creates LISP-GPE interface, sets it in L2 mode in the appropriate bridge domain, sets egress arcs and enables it.
[in] | lgm | Reference to lisp_gpe_main_t. |
[in] | a | Parameters to create interface. |
Definition at line 657 of file interface.c.
u32 lisp_gpe_add_l3_iface | ( | lisp_gpe_main_t * | lgm, |
u32 | vni, | ||
u32 | table_id, | ||
u8 | with_default_routes | ||
) |
Add/del LISP-GPE L3 interface.
Creates LISP-GPE interface, sets ingress arcs from lisp_gpeX_lookup, installs default routes that attract all traffic with no more specific routes to lgpe-ipx-lookup, set egress arcs to ipx-lookup, sets the interface in the right vrf and enables it.
[in] | lgm | Reference to lisp_gpe_main_t. |
[in] | a | Parameters to create interface. |
Definition at line 578 of file interface.c.
|
static |
void lisp_gpe_del_l2_iface | ( | lisp_gpe_main_t * | lgm, |
u32 | vni, | ||
u32 | bd_id | ||
) |
Add/del LISP-GPE L2 interface.
Add/del LISP-GPE interface.
Creates LISP-GPE interface, sets it in L2 mode in the appropriate bridge domain, sets egress arcs and enables it.
[in] | lgm | Reference to lisp_gpe_main_t. |
[in] | a | Parameters to create interface. |
Definition at line 720 of file interface.c.
void lisp_gpe_del_l3_iface | ( | lisp_gpe_main_t * | lgm, |
u32 | vni, | ||
u32 | table_id | ||
) |
Definition at line 620 of file interface.c.
Definition at line 504 of file interface.c.
|
static |
LISP-GPE interface TX (encap) function.
lisp_gpe_interface_tx
The LISP-GPE interface TX (encap) function.
Looks up the associated tunnel based on the adjacency hit in the SD FIB and if the tunnel is multihomed it uses the flow hash to determine sub-tunnel, and rewrite string, to be used to encapsulate the packet.
[in] | vm | vlib_main_t corresponding to the current thread. |
[in] | node | vlib_node_runtime_t data for this node. |
[in] | frame | vlib_frame_t whose contents should be dispatched. |
Definition at line 92 of file interface.c.
|
static |
Definition at line 477 of file interface.c.
|
static |
Definition at line 540 of file interface.c.
|
static |
Definition at line 522 of file interface.c.
|
static |
LISP-GPE interface TX for NSH overlays.
nsh_lisp_gpe_interface_tx
The NSH LISP-GPE interface TX function.
[in] | vm | vlib_main_t corresponding to the current thread. |
[in] | node | vlib_node_runtime_t data for this node. |
[in] | frame | vlib_frame_t whose contents should be dispatched. |
Definition at line 343 of file interface.c.
VNET_DEVICE_CLASS | ( | lisp_gpe_device_class | ) |
VNET_DEVICE_CLASS | ( | l2_lisp_gpe_device_class | , |
static | |||
) |
VNET_DEVICE_CLASS | ( | nsh_lisp_gpe_device_class | , |
static | |||
) |
VNET_HW_INTERFACE_CLASS | ( | lisp_gpe_hw_class | ) |
u32 vnet_lisp_gpe_add_nsh_iface | ( | lisp_gpe_main_t * | lgm | ) |
Add LISP-GPE NSH interface.
Creates LISP-GPE interface, sets it in L3 mode.
[in] | lgm | Reference to lisp_gpe_main_t. |
[in] | a | Parameters to create interface. |
Definition at line 754 of file interface.c.
void vnet_lisp_gpe_del_nsh_iface | ( | lisp_gpe_main_t * | lgm | ) |
Del LISP-GPE NSH interface.
Definition at line 794 of file interface.c.
|
static |
(constructor) VLIB_CLI_COMMAND (add_del_lisp_gpe_iface_command)
Definition at line 932 of file interface.c.
|
static |
The VLIB node arc/edge from the interface's TX node, to the L2 load-balanceing node.
Which is where all packets go
Definition at line 42 of file interface.c.