(This is not yet in the public tree.) The routine that does the slicing and dicing is only called from two functions: ikev2_parent_inR1outI2_tail and ikev2_parent_inI2outR2_tail_auth_tail. Are those the only cases where fragmentation makes since?