examples/l2fwd-crypto: fix packet length while decryption
There were some padding left when a packet gets decrypted. This patch removes those padding. This patch also removes the padding left after verifying auth of the packet. Fixes: e2cdfbd07c8a ("examples/l2fwd-crypto: fix port id type") Cc: stable@dpdk.org Signed-off-by: Rohit Raj <rohit.raj@nxp.com> Acked-by: Akhil Goyal <gakhil@marvell.com>
This commit is contained in:
parent
58266cc91e
commit
62c0b4484c
@ -616,12 +616,26 @@ l2fwd_simple_forward(struct rte_mbuf *m, uint16_t portid,
|
||||
struct l2fwd_crypto_options *options)
|
||||
{
|
||||
uint16_t dst_port;
|
||||
uint32_t pad_len;
|
||||
struct rte_ipv4_hdr *ip_hdr;
|
||||
uint32_t ipdata_offset = sizeof(struct rte_ether_hdr);
|
||||
|
||||
ip_hdr = (struct rte_ipv4_hdr *)(rte_pktmbuf_mtod(m, char *) +
|
||||
ipdata_offset);
|
||||
dst_port = l2fwd_dst_ports[portid];
|
||||
|
||||
if (options->mac_updating)
|
||||
l2fwd_mac_updating(m, dst_port);
|
||||
|
||||
if (options->auth_xform.auth.op == RTE_CRYPTO_AUTH_OP_VERIFY)
|
||||
rte_pktmbuf_trim(m, options->auth_xform.auth.digest_length);
|
||||
|
||||
if (options->cipher_xform.cipher.op == RTE_CRYPTO_CIPHER_OP_DECRYPT) {
|
||||
pad_len = m->pkt_len - rte_be_to_cpu_16(ip_hdr->total_length) -
|
||||
ipdata_offset;
|
||||
rte_pktmbuf_trim(m, pad_len);
|
||||
}
|
||||
|
||||
l2fwd_send_packet(m, dst_port);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user