net/bnxt: fix null dereference in session cleanup
[dpdk.git] / lib / fib / rte_fib.h
index acad209..90f28b7 100644 (file)
  *
  * RTE FIB library.
  *
- * @warning
- * @b EXPERIMENTAL:
- * All functions in this file may be changed or removed without prior notice.
- *
  * FIB (Forwarding information base) implementation
  * for IPv4 Longest Prefix Match
  */
 
 #include <stdint.h>
 
-#include <rte_compat.h>
 
 #ifdef __cplusplus
 extern "C" {
@@ -84,6 +79,8 @@ struct rte_fib_conf {
        /** Default value returned on lookup if there is no route */
        uint64_t default_nh;
        int     max_routes;
+       /** Size of the node extension in the internal RIB struct */
+       unsigned int rib_ext_sz;
        union {
                struct {
                        enum rte_fib_dir24_8_nh_sz nh_sz;
@@ -105,7 +102,6 @@ struct rte_fib_conf {
  *  Handle to the FIB object on success
  *  NULL otherwise with rte_errno set to an appropriate values.
  */
-__rte_experimental
 struct rte_fib *
 rte_fib_create(const char *name, int socket_id, struct rte_fib_conf *conf);
 
@@ -119,7 +115,6 @@ rte_fib_create(const char *name, int socket_id, struct rte_fib_conf *conf);
  *  set appropriately. Possible rte_errno values include:
  *   - ENOENT - required entry not available to return.
  */
-__rte_experimental
 struct rte_fib *
 rte_fib_find_existing(const char *name);
 
@@ -131,7 +126,6 @@ rte_fib_find_existing(const char *name);
  * @return
  *   None
  */
-__rte_experimental
 void
 rte_fib_free(struct rte_fib *fib);
 
@@ -149,7 +143,6 @@ rte_fib_free(struct rte_fib *fib);
  * @return
  *   0 on success, negative value otherwise
  */
-__rte_experimental
 int
 rte_fib_add(struct rte_fib *fib, uint32_t ip, uint8_t depth, uint64_t next_hop);
 
@@ -165,7 +158,6 @@ rte_fib_add(struct rte_fib *fib, uint32_t ip, uint8_t depth, uint64_t next_hop);
  * @return
  *   0 on success, negative value otherwise
  */
-__rte_experimental
 int
 rte_fib_delete(struct rte_fib *fib, uint32_t ip, uint8_t depth);
 
@@ -186,7 +178,6 @@ rte_fib_delete(struct rte_fib *fib, uint32_t ip, uint8_t depth);
  *  @return
  *   -EINVAL for incorrect arguments, otherwise 0
  */
-__rte_experimental
 int
 rte_fib_lookup_bulk(struct rte_fib *fib, uint32_t *ips,
                uint64_t *next_hops, int n);
@@ -197,9 +188,8 @@ rte_fib_lookup_bulk(struct rte_fib *fib, uint32_t *ips,
  *   FIB object handle
  * @return
  *   Pointer on the dataplane struct on success
- *   NULL othervise
+ *   NULL otherwise
  */
-__rte_experimental
 void *
 rte_fib_get_dp(struct rte_fib *fib);
 
@@ -210,9 +200,8 @@ rte_fib_get_dp(struct rte_fib *fib);
  *   FIB object handle
  * @return
  *   Pointer on the RIB on success
- *   NULL othervise
+ *   NULL otherwise
  */
-__rte_experimental
 struct rte_rib *
 rte_fib_get_rib(struct rte_fib *fib);
 
@@ -228,7 +217,6 @@ rte_fib_get_rib(struct rte_fib *fib);
  *   0 on success
  *   -EINVAL on failure
  */
-__rte_experimental
 int
 rte_fib_select_lookup(struct rte_fib *fib, enum rte_fib_lookup_type type);