diff options
Diffstat (limited to 'example/ipsec_crypto/odp_ipsec_stream.c')
-rw-r--r-- | example/ipsec_crypto/odp_ipsec_stream.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/example/ipsec_crypto/odp_ipsec_stream.c b/example/ipsec_crypto/odp_ipsec_stream.c index e53dbce0d..0ca5138bc 100644 --- a/example/ipsec_crypto/odp_ipsec_stream.c +++ b/example/ipsec_crypto/odp_ipsec_stream.c @@ -272,6 +272,10 @@ odp_packet_t create_ipv4_packet(stream_db_entry_t *stream, inner_ip = (odph_ipv4hdr_t *)data; memset((char *)inner_ip, 0, sizeof(*inner_ip)); inner_ip->ver_ihl = 0x45; + inner_ip->tot_len = odp_cpu_to_be_16(sizeof(odph_ipv4hdr_t) + + sizeof(odph_icmphdr_t) + + sizeof(stream_pkt_hdr_t) + + stream->length); inner_ip->proto = ODPH_IPPROTO_ICMPV4; inner_ip->id = odp_cpu_to_be_16(stream->id); inner_ip->ttl = 64; @@ -322,8 +326,8 @@ odp_packet_t create_ipv4_packet(stream_db_entry_t *stream, encrypt_len = ESP_ENCODE_LEN(payload_len + sizeof(*esp_t), entry->esp.block_len); - memset(data, 0, encrypt_len - payload_len); - data += encrypt_len - payload_len; + for (int n = 0; n < encrypt_len - payload_len; n++) + *data++ = n + 1; esp_t = (odph_esptrl_t *)(data) - 1; esp_t->pad_len = encrypt_len - payload_len - sizeof(*esp_t); |