35 #define vl_print(handle, ...) vlib_cli_output (handle, __VA_ARGS__) 52 next_hop_via_label = ntohl (in->
via_label);
70 return (VNET_API_ERROR_NO_SUCH_FIB);
80 (0 != next_hop_via_label))
93 for (ii = 0; ii < n_labels; ii++)
156 rv = VNET_API_ERROR_NO_SUCH_FIB;
328 switch (clib_net_to_host_u32 (af))
#define vec_validate(V, I)
Make sure vector is long enough for given index (no header, unspecified alignment) ...
fib_protocol_t fp_proto
protocol type
ip46_address_t frp_addr
The next-hop address.
A path that resolves via a DVR DPO.
A representation of a fib path for fib_path_encode to convey the information to the caller...
mpls_eos_bit_t frp_eos
EOS bit for the resolving label.
A representation of a path as described by a route producer.
u32 mpls_label_t
A label value only, i.e.
u32 index_t
A Data-Path Object is an object that represents actions that are applied to packets are they are swit...
clib_memset(h->entries, 0, sizeof(h->entries[0])*entries)
dpo_proto_t frp_proto
The protocol of the address below.
static void fib_api_path_copy_next_hop(const fib_route_path_encode_t *api_rpath, void *fp_arg)
A path that result in received traffic being recieved/recirculated so that it appears to have arrived...
enum fib_protocol_t_ fib_protocol_t
Protocol Type.
#define clib_memcpy(d, s, n)
A local path with a RPF-ID => multicast traffic.
u32 frp_sw_if_index
The interface.
fib_protocol_t fib_proto_from_api_address_family(int af)
Recursion constraint of via a host prefix.
Aggregrate type for a prefix.
A path via a UDP encap object.
enum fib_route_path_flags_t_ fib_route_path_flags_t
Path flags from the control plane.
ip_null_dpo_action_t ip_null_dpo_get_action(index_t indi)
u32 fib_table_find(fib_protocol_t proto, u32 table_id)
Get the index of the FIB for a Table-ID.
fib_protocol_t dpo_proto_to_fib(dpo_proto_t dpo_proto)
u16 fp_len
The mask length.
ip46_address_t fp_addr
The address type is not deriveable from the fp_addr member.
dpo_type_t dpoi_type
the type
fib_mpls_label_t * frp_label_stack
The outgoing MPLS label Stack.
Recursion constraint of via an attahced prefix.
int fib_proto_to_api_address_family(fib_protocol_t fproto)
fib_mpls_lsp_mode_t fml_mode
The LSP mode.
#define ip46_address_is_ip4(ip46)
#define MPLS_LABEL_INVALID
mpls_label_t fml_value
The label value.
index_t bier_disp_table_find(u32 table_id)
vl_api_fib_mpls_label_t label_stack[16]
u32 fib_table_get_table_id(u32 fib_index, fib_protocol_t proto)
Get the Table-ID of the FIB from protocol and index.
u8 frp_preference
A path preference.
A deag path using the packet's source not destination address.
fib_route_path_flags_t frp_flags
flags on the path
u32 mfib_table_get_table_id(u32 fib_index, fib_protocol_t proto)
Get the Table-ID of the FIB from protocol and index.
A path that resolves via another table.
void fib_api_path_encode(const fib_route_path_encode_t *api_rpath, vl_api_fib_path_t *out)
mpls_label_t frp_local_label
The MPLS local Label to reursively resolve through.
index_t dpoi_index
the index of objects of that type
#define vec_len(v)
Number of elements in vector (rvalue-only, NULL tolerant)
#define INDEX_INVALID
Invalid index - used when no index is known blazoned capitals INVALID speak volumes where ~0 does not...
int fib_path_api_parse(const vl_api_fib_path_t *in, fib_route_path_t *out)
u8 fml_exp
EXP bits; valid only at imposition.
void fib_prefix_to_api(const fib_prefix_t *pfx, u8 address[16], u8 *length, u8 *is_ip6)
u8 frp_weight
[un]equal cost path weight
u32 frp_udp_encap_id
UDP encap ID.
#define ip46_address_is_zero(ip46)
u32 frp_fib_index
The FIB index to lookup the nexthop Only valid for recursive paths.