diff options
Diffstat (limited to 'vnet/vnet/fib/fib_types.h')
-rw-r--r-- | vnet/vnet/fib/fib_types.h | 27 |
1 files changed, 18 insertions, 9 deletions
diff --git a/vnet/vnet/fib/fib_types.h b/vnet/vnet/fib/fib_types.h index 92371e6b8ba..73eb944994b 100644 --- a/vnet/vnet/fib/fib_types.h +++ b/vnet/vnet/fib/fib_types.h @@ -292,13 +292,22 @@ typedef struct fib_route_path_t_ { * zeros address is ambiguous. */ fib_protocol_t frp_proto; - /** - * 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. - */ - ip46_address_t frp_addr; + + union { + /** + * 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. + */ + ip46_address_t frp_addr; + + /** + * The MPLS local Label to reursively resolve through. + * This is valid when the path type is MPLS. + */ + mpls_label_t frp_local_label; + }; /** * The interface. * Will be invalid for recursive paths. @@ -318,9 +327,9 @@ typedef struct fib_route_path_t_ { */ fib_route_path_flags_t frp_flags; /** - * The outgoing MPLS label. INVALID implies no label. + * The outgoing MPLS label Stack. NULL implies no label. */ - mpls_label_t frp_label; + mpls_label_t *frp_label_stack; } fib_route_path_t; /** |