vppinfra api: remove vppinfra api dependency 25/43825/2
authorFlorin Coras <[email protected]>
Fri, 3 Oct 2025 01:47:56 +0000 (21:47 -0400)
committerDamjan Marion <[email protected]>
Fri, 3 Oct 2025 07:05:54 +0000 (07:05 +0000)
vppinfra should not dependend on api generated files. Move
jsonformat.[ch] to vlibapi.

Type: refactor

Change-Id: Ia8b46fd73e95eb90c86a0b3402b3a391ba0f4bcd
Signed-off-by: Florin Coras <[email protected]>
src/tools/vppapigen/vppapigen_c.py
src/vlibapi/CMakeLists.txt
src/vlibapi/jsonformat.c [moved from src/vppinfra/jsonformat.c with 99% similarity]
src/vlibapi/jsonformat.h [moved from src/vppinfra/jsonformat.h with 98% similarity]
src/vppinfra/CMakeLists.txt
test/Makefile

index 3cd52df..4192f07 100755 (executable)
@@ -66,7 +66,7 @@ class ToJSON:
         write("#ifndef included_{}_api_tojson_h\n".format(self.module))
         write("#define included_{}_api_tojson_h\n".format(self.module))
         write("#include <vppinfra/cJSON.h>\n\n")
-        write("#include <vppinfra/jsonformat.h>\n\n")
+        write("#include <vlibapi/jsonformat.h>\n\n")
         if self.module == "interface_types":
             write("#define vl_printfun\n")
             write("#include <vnet/interface_types.api.h>\n\n")
@@ -338,7 +338,7 @@ class FromJSON:
         write("#ifndef included_{}_api_fromjson_h\n".format(self.module))
         write("#define included_{}_api_fromjson_h\n".format(self.module))
         write("#include <vppinfra/cJSON.h>\n\n")
-        write("#include <vppinfra/jsonformat.h>\n\n")
+        write("#include <vlibapi/jsonformat.h>\n\n")
         write('#pragma GCC diagnostic ignored "-Wunused-label"\n')
 
     def is_base_type(self, t):
index 6476b5a..6beca8c 100644 (file)
@@ -17,6 +17,7 @@ add_vpp_library (vlibapi
   api_format.c
   node_serialize.c
   memory_shared.c
+  jsonformat.c
 
   INSTALL_HEADERS
   api.h
@@ -25,5 +26,6 @@ add_vpp_library (vlibapi
   api_types.h
   vat_helper_macros.h
   memory_shared.h
+  jsonformat.h
 )
 
similarity index 99%
rename from src/vppinfra/jsonformat.c
rename to src/vlibapi/jsonformat.c
index 73cb947..67a0471 100644 (file)
@@ -17,7 +17,7 @@
 #include <vnet/ethernet/mac_address.h>
 #include <vnet/ip/ip6_packet.h>
 #include <vnet/ip/ip_format_fns.h>
-#include <vpp/api/types.h>
+#include <vlibapi/api_types.h>
 #include "jsonformat.h"
 
 #define _(T)                                                                  \
similarity index 98%
rename from src/vppinfra/jsonformat.h
rename to src/vlibapi/jsonformat.h
index 062e4e1..6e71a47 100644 (file)
@@ -18,8 +18,7 @@
 
 #include <stdbool.h>
 #include <vppinfra/cJSON.h>
-#include <vnet/ethernet/mac_address.h>
-#include <vnet/ip/ip6_packet.h>
+/* vppapigen generated types */
 #include <vnet/ip/ip_types.api_types.h>
 #include <vnet/ethernet/ethernet_types.api_types.h>
 
index 131f5a5..8b81489 100644 (file)
@@ -59,7 +59,7 @@ install(
 add_definitions(-fvisibility=hidden)
 
 # Ensure symbols from cJSON are exported
-set_source_files_properties( cJSON.c jsonformat.c PROPERTIES
+set_source_files_properties( cJSON.c PROPERTIES
   COMPILE_DEFINITIONS " CJSON_API_VISIBILITY " )
 
 ##############################################################################
@@ -80,7 +80,6 @@ set(VPPINFRA_SRCS
   hash.c
   heap.c
   interrupt.c
-  jsonformat.c
   longjmp.S
   macros.c
   maplog.c
@@ -169,7 +168,6 @@ set(VPPINFRA_HEADERS
   hash.h
   heap.h
   interrupt.h
-  jsonformat.h
   lb_hash_hash.h
   llist.h
   lock.h
index dbea2d1..b677e5c 100644 (file)
@@ -387,7 +387,7 @@ COV_REM_TODO_NO_TEST="*/vpp-api/client/*" \
                                         "*/vppinfra/bihash_vec8_8.h" "*/vppinfra/maplog.c" \
                                         "*/vppinfra/format_table.c" "*/vppinfra/timing_wheel.c" \
                                         "*/vppinfra/macros.c" "*/vppinfra/valloc.c" \
-                                        "*/vppinfra/jsonformat.c" "*/vppinfra/vector/array_mask.h" \
+                                        "*/vlibapi/jsonformat.c" "*/vppinfra/vector/array_mask.h" \
                                         "*/vppinfra/vector/toeplitz.c" "*/plugins/vrrp/vrrp_packet.h" \
                                         "*/vnet/srv6/sr.h" "*/vlibapi/api_format.c" \
                                         "*/vlibapi/node_serialize.c" "*/plugins/quic/error.c" \