FD.io VPP  v18.04-17-g3a0d853
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...
 
   } 
 
   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 455 of file fib_types.h.

Field Documentation

union { ... }
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 471 of file fib_types.h.

u32 fib_route_path_t_::frp_bier_fib_index

The BIER table to resolve the fmask in.

Definition at line 505 of file fib_types.h.

index_t fib_route_path_t_::frp_bier_fmask

Resolving via a BIER Fmask.

Definition at line 532 of file fib_types.h.

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 522 of file fib_types.h.

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 516 of file fib_types.h.

mpls_eos_bit_t fib_route_path_t_::frp_eos

EOS bit for the resolving label.

Definition at line 482 of file fib_types.h.

u32 fib_route_path_t_::frp_fib_index

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

Definition at line 501 of file fib_types.h.

fib_route_path_flags_t fib_route_path_t_::frp_flags

flags on the path

Definition at line 547 of file fib_types.h.

fib_mpls_label_t* fib_route_path_t_::frp_label_stack

The outgoing MPLS label Stack.

NULL implies no label.

Definition at line 510 of file fib_types.h.

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 478 of file fib_types.h.

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 543 of file fib_types.h.

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 460 of file fib_types.h.

fib_rpf_id_t fib_route_path_t_::frp_rpf_id

The RPF-ID.

Definition at line 494 of file fib_types.h.

u32 fib_route_path_t_::frp_sw_if_index

The interface.

Will be invalid for recursive paths.

Definition at line 490 of file fib_types.h.

u32 fib_route_path_t_::frp_udp_encap_id

UDP encap ID.

Definition at line 527 of file fib_types.h.

u8 fib_route_path_t_::frp_weight

[un]equal cost path weight

Definition at line 537 of file fib_types.h.


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