FD.io VPP  v20.09-64-g4f7b92f0a
Vector Packet Processing
fib_route_path_t_ Struct Reference

A representation of a path as described by a route producer. More...

+ Collaboration diagram for fib_route_path_t_:

Data Fields

dpo_proto_t frp_proto
 The protocol of the address below. More...
 
union {
   struct {
      union {
         ip46_address_t   frp_addr
 The next-hop address. More...
 
         struct {
            mpls_label_t   frp_local_label
 The MPLS local Label to reursively resolve through. More...
 
            mpls_eos_bit_t   frp_eos
 EOS bit for the resolving label. More...
 
         } 
 
         index_t   frp_bier_imp
 A path via a BIER imposition object. More...
 
      } 
 
      u32   frp_sw_if_index
 The interface. More...
 
      fib_rpf_id_t   frp_rpf_id
 The RPF-ID. More...
 
      union {
         u32   frp_fib_index
 The FIB index to lookup the nexthop Only valid for recursive paths. More...
 
         u32   frp_bier_fib_index
 The BIER table to resolve the fmask in. More...
 
      } 
 
      fib_mpls_label_t *   frp_label_stack
 The outgoing MPLS label Stack. More...
 
      dpo_id_t   dpo
 Exclusive DPO. More...
 
      u32   frp_mitf_flags
 MFIB interface flags. More...
 
   } 
 
   bier_table_id_t   frp_bier_tbl
 A path that resolves via a BIER Table. More...
 
   u32   frp_udp_encap_id
 UDP encap ID. More...
 
   u32   frp_classify_table_id
 Classify table ID. More...
 
   index_t   frp_bier_fmask
 Resolving via a BIER Fmask. More...
 
   dpo_id_t   frp_dpo
 The DPO for use with exclusive paths. More...
 
}; 
 
u8 frp_weight
 [un]equal cost path weight More...
 
u8 frp_preference
 A path preference. More...
 
fib_route_path_flags_t frp_flags
 flags on the path More...
 

Detailed Description

A representation of a path as described by a route producer.

These paramenters will determine the path 'type', of which there are: 1) Attached-next-hop: a single peer on a link. It is 'attached' because it is in the same sub-net as the router, on a link directly connected to the route. It is 'next=hop' since the next-hop address of the peer is known. 2) Attached: the next-hop is not known. but we can ARP for it. 3) Recursive. The next-hop is known but the interface is not. So to find the adj to use we must recursively resolve the next-hop. 3) deaggregate (deag) A further lookup is required.

Definition at line 490 of file fib_types.h.

Field Documentation

◆ @329

union { ... }

◆ dpo

dpo_id_t fib_route_path_t_::dpo

Exclusive DPO.

Definition at line 555 of file fib_types.h.

◆ frp_addr

ip46_address_t fib_route_path_t_::frp_addr

The next-hop address.

Will be NULL for attached paths. Will be all zeros for attached-next-hop paths on a p2p interface Will be all zeros for a deag path.

Definition at line 506 of file fib_types.h.

◆ frp_bier_fib_index

u32 fib_route_path_t_::frp_bier_fib_index

The BIER table to resolve the fmask in.

Definition at line 546 of file fib_types.h.

◆ frp_bier_fmask

index_t fib_route_path_t_::frp_bier_fmask

Resolving via a BIER Fmask.

Definition at line 580 of file fib_types.h.

◆ frp_bier_imp

index_t fib_route_path_t_::frp_bier_imp

A path via a BIER imposition object.

Present in an mfib path list

Definition at line 523 of file fib_types.h.

◆ frp_bier_tbl

bier_table_id_t fib_route_path_t_::frp_bier_tbl

A path that resolves via a BIER Table.

This would be for a MPLS label at a BIER midpoint or tail

Definition at line 565 of file fib_types.h.

◆ frp_classify_table_id

u32 fib_route_path_t_::frp_classify_table_id

Classify table ID.

Definition at line 575 of file fib_types.h.

◆ frp_dpo

dpo_id_t fib_route_path_t_::frp_dpo

The DPO for use with exclusive paths.

Definition at line 585 of file fib_types.h.

◆ frp_eos

mpls_eos_bit_t fib_route_path_t_::frp_eos

EOS bit for the resolving label.

Definition at line 517 of file fib_types.h.

◆ frp_fib_index

u32 fib_route_path_t_::frp_fib_index

The FIB index to lookup the nexthop Only valid for recursive paths.

Definition at line 542 of file fib_types.h.

◆ frp_flags

fib_route_path_flags_t fib_route_path_t_::frp_flags

flags on the path

Definition at line 600 of file fib_types.h.

◆ frp_label_stack

fib_mpls_label_t* fib_route_path_t_::frp_label_stack

The outgoing MPLS label Stack.

NULL implies no label.

Definition at line 551 of file fib_types.h.

◆ frp_local_label

mpls_label_t fib_route_path_t_::frp_local_label

The MPLS local Label to reursively resolve through.

This is valid when the path type is MPLS.

Definition at line 513 of file fib_types.h.

◆ frp_mitf_flags

u32 fib_route_path_t_::frp_mitf_flags

MFIB interface flags.

Definition at line 559 of file fib_types.h.

◆ frp_preference

u8 fib_route_path_t_::frp_preference

A path preference.

0 is the best. Only paths of the best preference, that are 'up', are considered for forwarding.

Definition at line 596 of file fib_types.h.

◆ frp_proto

dpo_proto_t fib_route_path_t_::frp_proto

The protocol of the address below.

We need this since the all zeros address is ambiguous.

Definition at line 495 of file fib_types.h.

◆ frp_rpf_id

fib_rpf_id_t fib_route_path_t_::frp_rpf_id

The RPF-ID.

Definition at line 535 of file fib_types.h.

◆ frp_sw_if_index

u32 fib_route_path_t_::frp_sw_if_index

The interface.

Will be invalid for recursive paths.

Definition at line 530 of file fib_types.h.

◆ frp_udp_encap_id

u32 fib_route_path_t_::frp_udp_encap_id

UDP encap ID.

Definition at line 570 of file fib_types.h.

◆ frp_weight

u8 fib_route_path_t_::frp_weight

[un]equal cost path weight

Definition at line 590 of file fib_types.h.


The documentation for this struct was generated from the following file: