misc: fix buffer issue in geneve_input
[vpp.git] / src / vnet / geneve / decap.c
index e85e25f..e30a56c 100644 (file)
@@ -168,11 +168,10 @@ geneve_input (vlib_main_t * vm,
          /* pop (ip, udp, geneve) */
          if (is_ip4)
            {
-             vlib_buffer_advance
-               (b0,
-                sizeof (*ip4_0) + sizeof (udp_header_t) +
-                GENEVE_BASE_HEADER_LENGTH +
-                vnet_get_geneve_options_len (geneve0));
+             vlib_buffer_advance (b0,
+                                  sizeof (*ip4_0) + sizeof (udp_header_t) +
+                                  GENEVE_BASE_HEADER_LENGTH +
+                                  vnet_get_geneve_options_len (geneve0));
              vlib_buffer_advance (b1,
                                   sizeof (*ip4_1) + sizeof (udp_header_t) +
                                   GENEVE_BASE_HEADER_LENGTH +
@@ -180,14 +179,13 @@ geneve_input (vlib_main_t * vm,
            }
          else
            {
-             vlib_buffer_advance
-               (b0,
-                sizeof (*ip6_0) + sizeof (udp_header_t) +
-                GENEVE_BASE_HEADER_LENGTH +
-                vnet_get_geneve_options_len (geneve0));
              vlib_buffer_advance (b0,
                                   sizeof (*ip6_0) + sizeof (udp_header_t) +
                                   GENEVE_BASE_HEADER_LENGTH +
+                                  vnet_get_geneve_options_len (geneve0));
+             vlib_buffer_advance (b1,
+                                  sizeof (*ip6_1) + sizeof (udp_header_t) +
+                                  GENEVE_BASE_HEADER_LENGTH +
                                   vnet_get_geneve_options_len (geneve1));
            }