FD.io VPP  v19.01.3-6-g70449b9b9
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...
 
         } 
 
      } 
 
      union {
         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...
 
   index_t   frp_bier_imp
 A path via a BIER imposition object. More...
 
   u32   frp_udp_encap_id
 UDP encap ID. More...
 
   index_t   frp_bier_fmask
 Resolving via a BIER Fmask. 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 470 of file fib_types.h.

Field Documentation

◆ @177

union { ... }

◆ dpo

dpo_id_t fib_route_path_t_::dpo

Exclusive DPO.

Definition at line 530 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 486 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 520 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 556 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 546 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 540 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 497 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 516 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 571 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 525 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 493 of file fib_types.h.

◆ frp_mitf_flags

u32 fib_route_path_t_::frp_mitf_flags

MFIB interface flags.

Definition at line 534 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 567 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 475 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 509 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 505 of file fib_types.h.

◆ frp_udp_encap_id

u32 fib_route_path_t_::frp_udp_encap_id

UDP encap ID.

Definition at line 551 of file fib_types.h.

◆ frp_weight

u8 fib_route_path_t_::frp_weight

[un]equal cost path weight

Definition at line 561 of file fib_types.h.


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