66 for (i = 0; i <
vec_len(mac_addrs); i++) {
74 VNET_L3_PACKET_TYPE_IP4,
79 sizeof (adj.rewrite_data));
102 .path =
"ip virtual",
103 .short_help =
"ip virtual <addr> <interface> [mac <Mi>]+",
sll srl srl sll sra u16x4 i
void ip4_add_del_route_next_hop(ip4_main_t *im, u32 flags, ip4_address_t *dst_address, u32 dst_address_length, ip4_address_t *next_hop, u32 next_hop_sw_if_index, u32 next_hop_weight, u32 adj_index, u32 explicit_fib_index)
ip_lookup_next_t lookup_next_index
ip_adjacency_t * ip_add_adjacency(ip_lookup_main_t *lm, ip_adjacency_t *copy_adj, u32 n_adj, u32 *adj_index_return)
#define vec_add2(V, P, N)
Add N elements to end of vector V, return pointer to new elements in P.
ip_lookup_main_t lookup_main
unformat_function_t unformat_vnet_sw_interface
vnet_main_t * vnet_get_main(void)
vlib_node_registration_t ip4_rewrite_node
(constructor) VLIB_REGISTER_NODE (ip4_rewrite_node)
#define vec_free(V)
Free vector's memory (no header).
void vnet_rewrite_for_sw_interface(vnet_main_t *vnm, vnet_l3_packet_type_t packet_type, u32 sw_if_index, u32 node_index, void *dst_address, vnet_rewrite_header_t *rw, u32 max_rewrite_bytes)
#define clib_memcpy(a, b, c)
#define VLIB_CLI_COMMAND(x,...)
uword unformat_ethernet_address(unformat_input_t *input, va_list *args)
#define IP4_ROUTE_FLAG_ADD
static clib_error_t * virtual_ip_cmd_fn_command_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
#define vec_len(v)
Number of elements in vector (rvalue-only, NULL tolerant)
#define IP4_ROUTE_FLAG_NOT_LAST_IN_GROUP
#define clib_error_return(e, args...)