FD.io VPP
v21.10.1-2-g0a485f517
Vector Packet Processing
|
A FIB path. More...
Public Member Functions | |
STRUCT_MARK (path_hash_start) | |
This marks the start of the memory area used to hash the path. More... | |
STRUCT_MARK (path_hash_end) | |
Data Fields | |
fib_node_t | fp_node |
A path is a node in the FIB graph. More... | |
u32 | fp_pl_index |
The index of the path-list to which this path belongs. More... | |
fib_path_cfg_flags_t | fp_cfg_flags |
Configuration Flags. More... | |
fib_path_type_t | fp_type |
The type of the path. More... | |
dpo_proto_t | fp_nh_proto |
The protocol of the next-hop, i.e. More... | |
u8 | fp_weight |
UCMP [unnormalised] weigth. More... | |
u8 | fp_preference |
A path preference. More... | |
union { | |
struct { | |
ip46_address_t fp_nh | |
The next-hop. More... | |
u32 fp_interface | |
The interface. More... | |
} attached_next_hop | |
struct { | |
fib_prefix_t fp_connected | |
The Connected local address. More... | |
u32 fp_interface | |
The interface. More... | |
} attached | |
struct { | |
union { | |
ip46_address_t fp_ip | |
The next-hop. More... | |
struct { | |
mpls_label_t fp_local_label | |
The local label to resolve through. More... | |
mpls_eos_bit_t fp_eos | |
The EOS bit of the resolving label. More... | |
} | |
} fp_nh | |
fib_node_index_t fp_tbl_id | |
The FIB table index in which to find the next-hop. More... | |
} recursive | |
struct { | |
index_t fp_bier_fmask | |
BIER FMask ID. More... | |
} bier_fmask | |
struct { | |
bier_table_id_t fp_bier_tbl | |
The BIER table's ID. More... | |
} bier_table | |
struct { | |
index_t fp_bier_imp | |
The BIER imposition object this is part of the path's key, since the index_t of an imposition object is the object's key. More... | |
} bier_imp | |
struct { | |
fib_node_index_t fp_tbl_id | |
The FIB index in which to perfom the next lookup. More... | |
fib_rpf_id_t fp_rpf_id | |
The RPF-ID to tag the packets with. More... | |
} deag | |
struct { | |
} special | |
struct { | |
dpo_id_t fp_ex_dpo | |
The user provided 'exclusive' DPO. More... | |
} exclusive | |
struct { | |
u32 fp_interface | |
The interface on which the local address is configured. More... | |
ip46_address_t fp_addr | |
The next-hop. More... | |
} receive | |
struct { | |
u32 fp_interface | |
The interface on which the packets will be input. More... | |
} intf_rx | |
struct { | |
u32 fp_udp_encap_id | |
The UDP Encap object this path resolves through. More... | |
} udp_encap | |
struct { | |
u32 fp_classify_table_id | |
The UDP Encap object this path resolves through. More... | |
} classify | |
struct { | |
u32 fp_interface | |
The interface. More... | |
} dvr | |
}; | |
per-type union of the data required to resolve the path More... | |
fib_path_oper_flags_t | fp_oper_flags |
Members in this last section represent information that is dervied during resolution. More... | |
union { | |
fib_node_index_t fp_via_fib | |
the resolving via fib. More... | |
index_t fp_via_bier_tbl | |
the resolving bier-table More... | |
index_t fp_via_bier_fmask | |
the resolving bier-fmask More... | |
}; | |
dpo_id_t | fp_dpo |
The Data-path objects through which this path resolves for IP. More... | |
u32 | fp_sibling |
the index of this path in the parent's child list. More... | |
A FIB path.
Definition at line 182 of file fib_path.c.
fib_path_t_::STRUCT_MARK | ( | path_hash_end | ) |
fib_path_t_::STRUCT_MARK | ( | path_hash_start | ) |
This marks the start of the memory area used to hash the path.
union { ... } |
per-type union of the data required to resolve the path
union { ... } |
struct { ... } fib_path_t_::attached |
struct { ... } fib_path_t_::attached_next_hop |
struct { ... } fib_path_t_::bier_fmask |
struct { ... } fib_path_t_::bier_imp |
struct { ... } fib_path_t_::bier_table |
struct { ... } fib_path_t_::classify |
struct { ... } fib_path_t_::deag |
struct { ... } fib_path_t_::dvr |
struct { ... } fib_path_t_::exclusive |
ip46_address_t fib_path_t_::fp_addr |
The next-hop.
Definition at line 321 of file fib_path.c.
index_t fib_path_t_::fp_bier_fmask |
BIER FMask ID.
Definition at line 279 of file fib_path.c.
index_t fib_path_t_::fp_bier_imp |
The BIER imposition object this is part of the path's key, since the index_t of an imposition object is the object's key.
Definition at line 293 of file fib_path.c.
bier_table_id_t fib_path_t_::fp_bier_tbl |
The BIER table's ID.
Definition at line 285 of file fib_path.c.
fib_path_cfg_flags_t fib_path_t_::fp_cfg_flags |
Configuration Flags.
Definition at line 202 of file fib_path.c.
u32 fib_path_t_::fp_classify_table_id |
The UDP Encap object this path resolves through.
Definition at line 339 of file fib_path.c.
fib_prefix_t fib_path_t_::fp_connected |
The Connected local address.
Definition at line 246 of file fib_path.c.
dpo_id_t fib_path_t_::fp_dpo |
The Data-path objects through which this path resolves for IP.
Definition at line 380 of file fib_path.c.
mpls_eos_bit_t fib_path_t_::fp_eos |
The EOS bit of the resolving label.
Definition at line 267 of file fib_path.c.
dpo_id_t fib_path_t_::fp_ex_dpo |
The user provided 'exclusive' DPO.
Definition at line 311 of file fib_path.c.
u32 fib_path_t_::fp_interface |
The interface.
The interface on which the packets will be input.
The interface on which the local address is configured.
Definition at line 240 of file fib_path.c.
ip46_address_t fib_path_t_::fp_ip |
The next-hop.
Definition at line 258 of file fib_path.c.
mpls_label_t fib_path_t_::fp_local_label |
The local label to resolve through.
Definition at line 263 of file fib_path.c.
ip46_address_t fib_path_t_::fp_nh |
The next-hop.
Definition at line 236 of file fib_path.c.
union { ... } fib_path_t_::fp_nh |
dpo_proto_t fib_path_t_::fp_nh_proto |
The protocol of the next-hop, i.e.
the address family of the next-hop's address. We can't derive this from the address itself since the address can be all zeros
Definition at line 214 of file fib_path.c.
fib_node_t fib_path_t_::fp_node |
A path is a node in the FIB graph.
Definition at line 186 of file fib_path.c.
fib_path_oper_flags_t fib_path_t_::fp_oper_flags |
Members in this last section represent information that is dervied during resolution.
It should not be copied to new paths nor compared. Operational Flags
Definition at line 359 of file fib_path.c.
u32 fib_path_t_::fp_pl_index |
The index of the path-list to which this path belongs.
Definition at line 191 of file fib_path.c.
u8 fib_path_t_::fp_preference |
A path preference.
0 is the best. Only paths of the best preference, that are 'up', are considered for forwarding.
Definition at line 226 of file fib_path.c.
fib_rpf_id_t fib_path_t_::fp_rpf_id |
The RPF-ID to tag the packets with.
Definition at line 303 of file fib_path.c.
u32 fib_path_t_::fp_sibling |
the index of this path in the parent's child list.
Definition at line 385 of file fib_path.c.
fib_node_index_t fib_path_t_::fp_tbl_id |
The FIB table index in which to find the next-hop.
The FIB index in which to perfom the next lookup.
Definition at line 273 of file fib_path.c.
fib_path_type_t fib_path_t_::fp_type |
u32 fib_path_t_::fp_udp_encap_id |
The UDP Encap object this path resolves through.
Definition at line 333 of file fib_path.c.
index_t fib_path_t_::fp_via_bier_fmask |
the resolving bier-fmask
Definition at line 374 of file fib_path.c.
index_t fib_path_t_::fp_via_bier_tbl |
the resolving bier-table
Definition at line 370 of file fib_path.c.
fib_node_index_t fib_path_t_::fp_via_fib |
the resolving via fib.
not part of the union, since it it not part of the path's hash.
Definition at line 366 of file fib_path.c.
u8 fib_path_t_::fp_weight |
UCMP [unnormalised] weigth.
Definition at line 219 of file fib_path.c.
struct { ... } fib_path_t_::intf_rx |
struct { ... } fib_path_t_::receive |
struct { ... } fib_path_t_::recursive |
struct { ... } fib_path_t_::special |
struct { ... } fib_path_t_::udp_encap |