FD.io VPP  v17.10-9-gd594711
Vector Packet Processing
fib_route_path_t_ Struct Reference

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

Data Fields

dpo_proto_t frp_proto
 The protocol of the address below. More...
 
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...
 
}; 
 
u32 frp_fib_index
 The FIB index to lookup the nexthop Only valid for recursive 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...
 
mpls_label_tfrp_label_stack
 The outgoing MPLS label Stack. 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 336 of file fib_types.h.

Field Documentation

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

mpls_eos_bit_t fib_route_path_t_::frp_eos

EOS bit for the resolving label.

Definition at line 361 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 379 of file fib_types.h.

fib_route_path_flags_t fib_route_path_t_::frp_flags

flags on the path

Definition at line 393 of file fib_types.h.

mpls_label_t* fib_route_path_t_::frp_label_stack

The outgoing MPLS label Stack.

NULL implies no label.

Definition at line 397 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 357 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 389 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 341 of file fib_types.h.

fib_rpf_id_t fib_route_path_t_::frp_rpf_id

The RPF-ID.

Definition at line 373 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 369 of file fib_types.h.

u8 fib_route_path_t_::frp_weight

[un]equal cost path weight

Definition at line 383 of file fib_types.h.


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