FIB path preference
[vpp.git] / src / vnet / fib / fib_types.h
index 4cb73e8..a7a23d7 100644 (file)
@@ -380,7 +380,13 @@ typedef struct fib_route_path_t_ {
     /**
      * [un]equal cost path weight
      */
-    u32 frp_weight;
+    u16 frp_weight;
+    /**
+     * A path preference. 0 is the best.
+     * Only paths of the best preference, that are 'up', are considered
+     * for forwarding.
+     */
+    u16 frp_preference;
     /**
      * flags on the path
      */
@@ -400,4 +406,21 @@ typedef struct fib_route_path_encode_t_ {
     dpo_id_t dpo;
 } fib_route_path_encode_t;
 
+/**
+ * return code to control pat-hlist walk
+ */
+typedef enum fib_path_list_walk_rc_t_
+{
+    FIB_PATH_LIST_WALK_STOP,
+    FIB_PATH_LIST_WALK_CONTINUE,
+} fib_path_list_walk_rc_t;
+
+/**
+ * A list of path-extensions
+ */
+typedef struct fib_path_ext_list_t_
+{
+    struct fib_path_ext_t_ *fpel_exts;
+} fib_path_ext_list_t;
+
 #endif