|
static u8 * | format_decap_next (u8 *s, va_list *args) |
|
u8 * | format_vxlan_tunnel (u8 *s, va_list *args) |
|
static u8 * | format_vxlan_name (u8 *s, va_list *args) |
|
static uword | dummy_interface_tx (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
|
static clib_error_t * | vxlan_interface_admin_up_down (vnet_main_t *vnm, u32 hw_if_index, u32 flags) |
|
| VNET_DEVICE_CLASS (vxlan_device_class, static) |
|
static u8 * | format_vxlan_header_with_length (u8 *s, va_list *args) |
|
| VNET_HW_INTERFACE_CLASS (vxlan_hw_class) |
|
static void | vxlan_tunnel_restack_dpo (vxlan_tunnel_t *t) |
|
static vxlan_tunnel_t * | vxlan_tunnel_from_fib_node (fib_node_t *node) |
|
static fib_node_back_walk_rc_t | vxlan_tunnel_back_walk (fib_node_t *node, fib_node_back_walk_ctx_t *ctx) |
| Function definition to backwalk a FIB node - Here we will restack the new dpo of VXLAN DIP to encap node. More...
|
|
static fib_node_t * | vxlan_tunnel_fib_node_get (fib_node_index_t index) |
| Function definition to get a FIB node from its index. More...
|
|
static void | vxlan_tunnel_last_lock_gone (fib_node_t *node) |
| Function definition to inform the FIB node that its last lock has gone. More...
|
|
static int | vxlan4_rewrite (vxlan_tunnel_t *t) |
|
static int | vxlan6_rewrite (vxlan_tunnel_t *t) |
|
static int | vxlan_check_decap_next (vxlan_main_t *vxm, u32 is_ip6, u32 decap_next_index) |
|
static uword | vtep_addr_ref (ip46_address_t *ip) |
|
static uword | vtep_addr_unref (ip46_address_t *ip) |
|
static mcast_remote_t * | mcast_ep_get (ip46_address_t *ip) |
|
static void | mcast_ep_add (mcast_remote_t *new_ep) |
|
static void | mcast_ep_remove (mcast_remote_t *ep) |
|
static void | ip46_multicast_ethernet_address (u8 *ethernet_address, ip46_address_t *ip) |
|
int | vnet_vxlan_add_del_tunnel (vnet_vxlan_add_del_tunnel_args_t *a, u32 *sw_if_indexp) |
|
static u32 | fib4_index_from_fib_id (u32 fib_id) |
|
static u32 | fib6_index_from_fib_id (u32 fib_id) |
|
static uword | get_decap_next_for_node (u32 node_index, u32 ipv4_set) |
|
static uword | unformat_decap_next (unformat_input_t *input, va_list *args) |
|
static clib_error_t * | vxlan_add_del_tunnel_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
|
static clib_error_t * | show_vxlan_tunnel_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
|
clib_error_t * | vxlan_init (vlib_main_t *vm) |
|
VXLAN.
VXLAN provides the features needed to allow L2 bridge domains (BDs) to span multiple servers. This is done by building an L2 overlay on top of an L3 network underlay using VXLAN tunnels.
This makes it possible for servers to be co-located in the same data center or be separated geographically as long as they are reachable through the underlay L3 network.
You can refer to this kind of L2 overlay bridge domain as a VXLAN (Virtual eXtensible VLAN) segment.
Definition in file vxlan.c.