- ip6_reass_update (vm, node, rm, rt, reass, &bi0, &next0,
- &error0, frag_hdr, &vec_drop_overlap,
- &vec_drop_compress, is_feature);
+ switch (ip6_reass_update (vm, node, rm, rt, reass, &bi0, &next0,
+ &error0, frag_hdr, &vec_drop_overlap,
+ &vec_drop_compress, is_feature))
+ {
+ case IP6_REASS_RC_OK:
+ /* nothing to do here */
+ break;
+ case IP6_REASS_RC_INTERNAL_ERROR:
+ /* drop everything and start with a clean slate */
+ ip6_reass_drop_all (vm, rm, reass,
+ &vec_drop_internal_error);
+ ip6_reass_free (rm, rt, reass);
+ goto next_packet;
+ break;
+ }