mpls: adjust mpls-frag size to account for mpls header 82/25582/2
authorJohn Lo <loj@cisco.com>
Mon, 2 Mar 2020 20:44:51 +0000 (15:44 -0500)
committerFlorin Coras <florin.coras@gmail.com>
Mon, 9 Mar 2020 23:09:25 +0000 (23:09 +0000)
Type: fix

Signed-off-by: John Lo <loj@cisco.com>
Change-Id: I0b3042317c58c5a4d64d82b16f62e70f0461e578

src/vnet/mpls/mpls_output.c

index 5ede22a..e69a865 100644 (file)
@@ -72,7 +72,7 @@ set_mpls_fragmentation(vlib_buffer_t * p0, ip_adjacency_t * adj0)
   vlib_buffer_advance (p0, vnet_buffer (p0)->mpls.mpls_hdr_length);
 
   /* IP fragmentation */
-  ip_frag_set_vnet_buffer (p0, adj0[0].rewrite_header.max_l3_packet_bytes,
+  ip_frag_set_vnet_buffer (p0, adj0[0].rewrite_header.max_l3_packet_bytes - vnet_buffer (p0)->mpls.mpls_hdr_length,
                            IP4_FRAG_NEXT_MPLS_OUTPUT,
                            ((vnet_buffer (p0)->mpls.pyld_proto == DPO_PROTO_IP4) ? IP_FRAG_FLAG_IP4_HEADER:IP_FRAG_FLAG_IP6_HEADER));