X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Ffib%2Ffib_types.h;h=ec7f1b374dd58d624c0f010160d70a7c007af20b;hb=810086d8fd08445919ae03bf36161037e53a712a;hp=a209ff3c2a3016177c29c6721a696dc88427cc06;hpb=a0a908f1dfb679c384ab34ee3c1a2a63ba2448df;p=vpp.git diff --git a/src/vnet/fib/fib_types.h b/src/vnet/fib/fib_types.h index a209ff3c2a3..ec7f1b374dd 100644 --- a/src/vnet/fib/fib_types.h +++ b/src/vnet/fib/fib_types.h @@ -32,9 +32,9 @@ typedef u32 fib_node_index_t; * Protocol Type. packed so it consumes a u8 only */ typedef enum fib_protocol_t_ { - FIB_PROTOCOL_IP4 = 0, - FIB_PROTOCOL_IP6, - FIB_PROTOCOL_MPLS, + FIB_PROTOCOL_IP4 = DPO_PROTO_IP4, + FIB_PROTOCOL_IP6 = DPO_PROTO_IP6, + FIB_PROTOCOL_MPLS = DPO_PROTO_MPLS, } __attribute__ ((packed)) fib_protocol_t; #define FIB_PROTOCOLS { \ @@ -261,8 +261,8 @@ typedef enum fib_special_type_t_ { for (_item = FIB_TYPE_SPEICAL_FIRST; \ _item <= FIB_SPEICAL_TYPE_LAST; _item++) -extern u8 * format_fib_protocol(u8 * s, va_list ap); -extern u8 * format_vnet_link(u8 *s, va_list ap); +extern u8 * format_fib_protocol(u8 * s, va_list *ap); +extern u8 * format_vnet_link(u8 *s, va_list *ap); /** * Path flags from the control plane @@ -303,6 +303,14 @@ typedef enum fib_route_path_flags_t_ * A local path with a RPF-ID => multicast traffic */ FIB_ROUTE_PATH_RPF_ID = (1 << 7), + /** + * A deag path using the packet's source not destination address. + */ + FIB_ROUTE_PATH_SOURCE_LOOKUP = (1 << 8), + /** + * A path via a UDP encap object. + */ + FIB_ROUTE_PATH_UDP_ENCAP = (1 << 9), } fib_route_path_flags_t; /** @@ -338,7 +346,7 @@ typedef struct fib_route_path_t_ { * The protocol of the address below. We need this since the all * zeros address is ambiguous. */ - fib_protocol_t frp_proto; + dpo_proto_t frp_proto; union { /** @@ -371,6 +379,10 @@ typedef struct fib_route_path_t_ { * The RPF-ID */ fib_rpf_id_t frp_rpf_id; + /** + * UDP encap ID + */ + u32 frp_udp_encap_id; }; /** * The FIB index to lookup the nexthop