While working on the IPsec user documentation, I've run across an ambiguity that may indicate a gap in the currently-defined API.
For outbound lookaside processing, one of the fields in the odp_ipsec_out_param_t struct is the odp_ipsec_out_opt_t that contains the odp_ipsec_frag_mode_t. This is defined in the spec as: /** * Fragmentation mode * * These options control outbound IP packet fragmentation offload. When offload * is enabled, IPSEC operation will determine if fragmentation is needed and * does it according to the mode. */ typedef enum odp_ipsec_frag_mode_t { /** Do not fragment IP packets */ ODP_IPSEC_FRAG_DISABLED = 0, /** Fragment IP packet before IPSEC operation */ ODP_IPSEC_FRAG_BEFORE, /** Fragment IP packet after IPSEC operation */ ODP_IPSEC_FRAG_AFTER, /** Only check if IP fragmentation is needed, * do not fragment packets. */ ODP_IPSEC_FRAG_CHECK } odp_ipsec_frag_mode_t; All this seems straightforward except for the last options. If the mode is specified as ODP_IPSEC_FRAG_CHECK, it's not clear how the check results are returned to the application. I'd expect this to be a warning flag in the odp_ipsec_packet_result_t, but no such flag is defined. Is this an oversight? Or have I missed how this information is returned?