vcl: support for uword segments 20/26220/3
authorFlorin Coras <fcoras@cisco.com>
Fri, 27 Mar 2020 18:41:54 +0000 (18:41 +0000)
committerFlorin Coras <florin.coras@gmail.com>
Fri, 27 Mar 2020 19:03:43 +0000 (19:03 +0000)
Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ibfe203fda5a0c88b26eb50bee8a430dd2cfb7dca

src/svm/fifo_segment.c
src/vcl/vcl_cfg.c
src/vcl/vcl_private.h

index f2890cc..15a5323 100644 (file)
@@ -312,7 +312,7 @@ fs_chunk_size_is_valid (fifo_segment_header_t * fsh, u32 size)
    * with a smaller FIFO.
    */
   return size >= FIFO_SEGMENT_MIN_FIFO_SIZE
-    && size <= (1 << fsh->max_log2_chunk_size);
+    && size <= (1ULL << fsh->max_log2_chunk_size);
 }
 
 static svm_fifo_t *
index 3be6de0..2e180f4 100644 (file)
@@ -323,37 +323,37 @@ vppcom_cfg_read_file (char *conf_fname)
              vl_set_memory_gid (gid);
              VCFG_DBG (0, "VCL<%d>: configured gid %d", getpid (), gid);
            }
-         else if (unformat (line_input, "segment-baseva 0x%x",
+         else if (unformat (line_input, "segment-baseva 0x%lx",
                             &vcl_cfg->segment_baseva))
            {
              VCFG_DBG (0, "VCL<%d>: configured segment_baseva 0x%lx",
                        getpid (), (unsigned long) vcl_cfg->segment_baseva);
            }
-         else if (unformat (line_input, "segment-size 0x%x",
+         else if (unformat (line_input, "segment-size 0x%lx",
                             &vcl_cfg->segment_size))
            {
-             VCFG_DBG (0, "VCL<%d>: configured segment_size 0x%x (%d)",
+             VCFG_DBG (0, "VCL<%d>: configured segment_size 0x%lx (%lu)",
                        getpid (), vcl_cfg->segment_size,
                        vcl_cfg->segment_size);
            }
-         else if (unformat (line_input, "segment-size %u",
+         else if (unformat (line_input, "segment-size %lu",
                             &vcl_cfg->segment_size))
            {
-             VCFG_DBG (0, "VCL<%d>: configured segment_size %u (0x%x)",
+             VCFG_DBG (0, "VCL<%d>: configured segment_size %lu (0x%lx)",
                        getpid (), vcl_cfg->segment_size,
                        vcl_cfg->segment_size);
            }
-         else if (unformat (line_input, "add-segment-size 0x%x",
+         else if (unformat (line_input, "add-segment-size 0x%lx",
                             &vcl_cfg->add_segment_size))
            {
-             VCFG_DBG (0, "VCL<%d>: configured add_segment_size 0x%x (%u)",
+             VCFG_DBG (0, "VCL<%d>: configured add_segment_size 0x%lx (%lu)",
                        getpid (), vcl_cfg->add_segment_size,
                        vcl_cfg->add_segment_size);
            }
-         else if (unformat (line_input, "add-segment-size %u",
+         else if (unformat (line_input, "add-segment-size %lu",
                             &vcl_cfg->add_segment_size))
            {
-             VCFG_DBG (0, "VCL<%d>: configured add_segment_size %u (0x%x)",
+             VCFG_DBG (0, "VCL<%d>: configured add_segment_size %lu (0x%lx)",
                        getpid (), vcl_cfg->add_segment_size,
                        vcl_cfg->add_segment_size);
            }
index 3866563..4b8bf75 100644 (file)
@@ -189,8 +189,8 @@ typedef struct vppcom_cfg_t_
   u32 max_workers;
   u32 vpp_api_q_length;
   uword segment_baseva;
-  u32 segment_size;
-  u32 add_segment_size;
+  uword segment_size;
+  uword add_segment_size;
   u32 preallocated_fifo_pairs;
   u32 rx_fifo_size;
   u32 tx_fifo_size;