X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=lib%2Flibrte_fib%2Frte_fib6.h;h=4268704038971af71e336104b38fd73bd0d85c1b;hb=0adf23adcbb521cd45e2eb88e15aa57317828433;hp=33221236bf9ff1287aefc424c48613728f3ab40d;hpb=40d41a8a7b342f2cb77ceb500dacea87421b9d49;p=dpdk.git diff --git a/lib/librte_fib/rte_fib6.h b/lib/librte_fib/rte_fib6.h index 33221236bf..4268704038 100644 --- a/lib/librte_fib/rte_fib6.h +++ b/lib/librte_fib/rte_fib6.h @@ -19,10 +19,12 @@ #define RTE_FIB6_MAXDEPTH 128 struct rte_fib6; +struct rte_rib6; /** Type of FIB struct */ enum rte_fib6_type { RTE_FIB6_DUMMY, /**< RIB6 tree based FIB */ + RTE_FIB6_TRIE, /**< TRIE based fib */ RTE_FIB6_TYPE_MAX }; @@ -40,12 +42,24 @@ enum rte_fib6_op { RTE_FIB6_DEL, }; +enum rte_fib_trie_nh_sz { + RTE_FIB6_TRIE_2B = 1, + RTE_FIB6_TRIE_4B, + RTE_FIB6_TRIE_8B +}; + /** FIB configuration structure */ struct rte_fib6_conf { enum rte_fib6_type type; /**< Type of FIB struct */ /** Default value returned on lookup if there is no route */ uint64_t default_nh; int max_routes; + union { + struct { + enum rte_fib_trie_nh_sz nh_sz; + uint32_t num_tbl8; + } trie; + }; }; /**