IPIP and IPv6 fragmentation
[vpp.git] / src / vnet / ip / ip6_forward.c
index 888b526..e05792f 100644 (file)
@@ -1566,9 +1566,10 @@ ip6_mtu_check (vlib_buffer_t * b, u16 packet_bytes,
       if (is_locally_generated)
        {
          /* IP fragmentation */
-         ip_frag_set_vnet_buffer (b, 0, adj_packet_bytes,
-                                  IP6_FRAG_NEXT_IP6_LOOKUP, 0);
+         ip_frag_set_vnet_buffer (b, adj_packet_bytes,
+                                  IP6_FRAG_NEXT_IP6_REWRITE, 0);
          *next = IP6_REWRITE_NEXT_FRAGMENT;
+         *error = IP6_ERROR_MTU_EXCEEDED;
        }
       else
        {
@@ -2013,7 +2014,7 @@ VLIB_REGISTER_NODE (ip6_rewrite_node) =
 VLIB_NODE_FUNCTION_MULTIARCH (ip6_rewrite_node, ip6_rewrite);
 
 VLIB_REGISTER_NODE (ip6_rewrite_bcast_node) = {
-  .function = ip6_rewrite,
+  .function = ip6_rewrite_bcast,
   .name = "ip6-rewrite-bcast",
   .vector_size = sizeof (u32),