#include <stdbool.h>
#include <vlib/vlib.h>
-#include <vnet/ip/ip6_packet.h>
+#include <vnet/ip/ip46_address.h>
#include <vnet/mpls/packet.h>
#include <vnet/dpo/dpo.h>
#include <vnet/bier/bier_types.h>
extern dpo_proto_t fib_forw_chain_type_to_dpo_proto(fib_forward_chain_type_t fct);
/**
- * Aggregrate type for a prefix
+ * Aggregate type for a prefix
*/
typedef struct fib_prefix_t_ {
/**
extern int fib_prefix_cmp(const fib_prefix_t *p1,
const fib_prefix_t *p2);
+/**
+ * \brief Copy a prefix
+ */
+extern void fib_prefix_copy(fib_prefix_t *dst,
+ const fib_prefix_t *src);
+
/**
* \brief Compare two prefixes for covering relationship
*
* \brief Return true is the prefix is a host prefix
*/
extern int fib_prefix_is_host(const fib_prefix_t *p);
-
+extern u8 fib_prefix_get_host_length (fib_protocol_t proto);
/**
* \brief Host prefix from ip
FIB_ROUTE_PATH_ICMP_UNREACH = (1 << 15),
FIB_ROUTE_PATH_ICMP_PROHIBIT = (1 << 16),
FIB_ROUTE_PATH_CLASSIFY = (1 << 17),
+
+ /**
+ * Pop a Psuedo Wire Control Word
+ */
+ FIB_ROUTE_PATH_POP_PW_CW = (1 << 18),
} fib_route_path_flags_t;
+/**
+ * Format route path flags
+ */
+extern u8 * format_fib_route_path_flags(u8 *s, va_list *ap);
+
/**
* An RPF-ID is numerical value that is used RPF validate. An entry
* has-a RPF-ID, when a packet egress from (e.g. an LSP) it gains an
*/
extern uword unformat_fib_route_path(unformat_input_t * input, va_list * args);
+/**
+ * Format route path flags
+ */
+extern u8 * format_fib_route_path(u8 *s, va_list *ap);
+
/**
* A help string to list the FIB path options
*/