Bill Fischofer(Bill-Fischofer-Linaro) replied on github web page: platform/linux-generic/odp_ipsec.c line 245 @@ -1165,6 +1167,8 @@ static int ipsec_out_esp(odp_packet_t *pkt, ipsec_offset + _ODP_ESPHDR_LEN, ipsec_sa->esp_iv_len, state->iv + ipsec_sa->salt_length); + _odp_packet_set_data(*pkt, esptrl_offset - esptrl.pad_len - tfc_len, + 0xa5, tfc_len);
Comment: Should `0xa5` be a `#define` rather than a "magic number"? > Bill Fischofer(Bill-Fischofer-Linaro) wrote: > Nit: could use `odp_unlikely()` here. >> Bill Fischofer(Bill-Fischofer-Linaro) wrote: >> This change requires an API change as the spec says relevant offsets must be >> in the range `0..odp_packet_len(pkt) - 1` . Same comment for the L3 and L4 >> changes in this patch. >> >> In theory the validation tests should test these bounds, but as with most >> parts of the API violations simply result in undefined behavior, so this is >> an "honor system". Still, we can't violate the spec here without changing >> the spec. >>> Bill Fischofer(Bill-Fischofer-Linaro) wrote: >>> Unless it has been parsed, `odp_packet_l3_offset()` is initialized to >>> `ODP_PACKET_OFFSET_INVALID`, so this seems an undue burden. The original >>> wording seems cleaner from an application perspective. https://github.com/Linaro/odp/pull/494#discussion_r169839450 updated_at 2018-02-22 02:28:33