diff --git a/lib/fib/rte_fib.h b/lib/fib/rte_fib.h
index 570b4b6..b3c59df 100644
--- a/lib/fib/rte_fib.h
+++ b/lib/fib/rte_fib.h
@@ -11,10 +11,6 @@
  *
  * 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
  */
@@ -107,7 +103,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);
 
@@ -121,7 +116,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);
 
@@ -133,7 +127,6 @@ rte_fib_find_existing(const char *name);
  * @return
  *   None
  */
-__rte_experimental
 void
 rte_fib_free(struct rte_fib *fib);
 
@@ -151,7 +144,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);
 
@@ -167,7 +159,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);
 
@@ -188,7 +179,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);
@@ -201,7 +191,6 @@ rte_fib_lookup_bulk(struct rte_fib *fib, uint32_t *ips,
  *   Pointer on the dataplane struct on success
  *   NULL othervise
  */
-__rte_experimental
 void *
 rte_fib_get_dp(struct rte_fib *fib);
 
@@ -214,7 +203,6 @@ rte_fib_get_dp(struct rte_fib *fib);
  *   Pointer on the RIB on success
  *   NULL othervise
  */
-__rte_experimental
 struct rte_rib *
 rte_fib_get_rib(struct rte_fib *fib);
 
@@ -230,7 +218,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);
 
diff --git a/lib/fib/rte_fib6.h b/lib/fib/rte_fib6.h
index a9d6d04..95879af 100644
--- a/lib/fib/rte_fib6.h
+++ b/lib/fib/rte_fib6.h
@@ -11,10 +11,6 @@
  *
  * RTE FIB6 library.
  *
- * @warning
- * @b EXPERIMENTAL:
- * All functions in this file may be changed or removed without prior notice.
- *
  * FIB (Forwarding information base) implementation
  * for IPv6 Longest Prefix Match
  */
@@ -98,7 +94,6 @@ struct rte_fib6_conf {
  *  Handle to FIB object on success
  *  NULL otherwise with rte_errno set to an appropriate values.
  */
-__rte_experimental
 struct rte_fib6 *
 rte_fib6_create(const char *name, int socket_id, struct rte_fib6_conf *conf);
 
@@ -112,7 +107,6 @@ rte_fib6_create(const char *name, int socket_id, struct rte_fib6_conf *conf);
  *  set appropriately. Possible rte_errno values include:
  *   - ENOENT - required entry not available to return.
  */
-__rte_experimental
 struct rte_fib6 *
 rte_fib6_find_existing(const char *name);
 
@@ -124,7 +118,6 @@ rte_fib6_find_existing(const char *name);
  * @return
  *   None
  */
-__rte_experimental
 void
 rte_fib6_free(struct rte_fib6 *fib);
 
@@ -142,7 +135,6 @@ rte_fib6_free(struct rte_fib6 *fib);
  * @return
  *   0 on success, negative value otherwise
  */
-__rte_experimental
 int
 rte_fib6_add(struct rte_fib6 *fib, const uint8_t ip[RTE_FIB6_IPV6_ADDR_SIZE],
 	uint8_t depth, uint64_t next_hop);
@@ -159,7 +151,6 @@ rte_fib6_add(struct rte_fib6 *fib, const uint8_t ip[RTE_FIB6_IPV6_ADDR_SIZE],
  * @return
  *   0 on success, negative value otherwise
  */
-__rte_experimental
 int
 rte_fib6_delete(struct rte_fib6 *fib,
 	const uint8_t ip[RTE_FIB6_IPV6_ADDR_SIZE], uint8_t depth);
@@ -181,7 +172,6 @@ rte_fib6_delete(struct rte_fib6 *fib,
  *  @return
  *   -EINVAL for incorrect arguments, otherwise 0
  */
-__rte_experimental
 int
 rte_fib6_lookup_bulk(struct rte_fib6 *fib,
 	uint8_t ips[][RTE_FIB6_IPV6_ADDR_SIZE],
@@ -196,7 +186,6 @@ rte_fib6_lookup_bulk(struct rte_fib6 *fib,
  *   Pointer on the dataplane struct on success
  *   NULL othervise
  */
-__rte_experimental
 void *
 rte_fib6_get_dp(struct rte_fib6 *fib);
 
@@ -209,7 +198,6 @@ rte_fib6_get_dp(struct rte_fib6 *fib);
  *   Pointer on the RIB6 on success
  *   NULL othervise
  */
-__rte_experimental
 struct rte_rib6 *
 rte_fib6_get_rib(struct rte_fib6 *fib);
 
@@ -225,7 +213,6 @@ rte_fib6_get_rib(struct rte_fib6 *fib);
  *   0 on success
  *   -EINVAL on failure
  */
-__rte_experimental
 int
 rte_fib6_select_lookup(struct rte_fib6 *fib, enum rte_fib6_lookup_type type);
 
diff --git a/lib/fib/version.map b/lib/fib/version.map
index be975ea..af76add 100644
--- a/lib/fib/version.map
+++ b/lib/fib/version.map
@@ -1,4 +1,4 @@
-EXPERIMENTAL {
+DPDK_22 {
 	global:
 
 	rte_fib_add;
