diff options
author | Patrice Buriez <patrice.buriez@intel.com> | 2017-10-25 20:30:34 +0200 |
---|---|---|
committer | Patrice Buriez <patrice.buriez@intel.com> | 2017-10-25 20:30:34 +0200 |
commit | f6abc2e6a02557e82ad0d1e5440653bb8884ecc8 (patch) | |
tree | ae36de03e9553cd55300771271576369c7484f9e /VNFs/DPPD-PROX/prox_cksum.c | |
parent | 504e70cbb19a3e65b1704ee085cd079d26cf16f8 (diff) |
Merge changes from PROX-v041
Change-Id: Ie6d4e7ce22c27967117a446626f5923643397812
Signed-off-by: Patrice Buriez <patrice.buriez@intel.com>
Diffstat (limited to 'VNFs/DPPD-PROX/prox_cksum.c')
-rw-r--r-- | VNFs/DPPD-PROX/prox_cksum.c | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/VNFs/DPPD-PROX/prox_cksum.c b/VNFs/DPPD-PROX/prox_cksum.c index b69c06f6..9a05097e 100644 --- a/VNFs/DPPD-PROX/prox_cksum.c +++ b/VNFs/DPPD-PROX/prox_cksum.c @@ -83,26 +83,23 @@ void prox_ip_udp_cksum(struct rte_mbuf *mbuf, struct ipv4_hdr *pip, uint16_t l2_ { prox_ip_cksum(mbuf, pip, l2_len, l3_len, cksum_offload & IPV4_CKSUM); -#ifndef SOFT_CRC - if (cksum_offload & UDP_CKSUM) - mbuf->ol_flags |= PKT_TX_UDP_CKSUM; -#endif - uint32_t l4_len = rte_bswap16(pip->total_length) - l3_len; if (pip->next_proto_id == IPPROTO_UDP) { struct udp_hdr *udp = (struct udp_hdr *)(((uint8_t*)pip) + l3_len); #ifndef SOFT_CRC - if (cksum_offload & UDP_CKSUM) + if (cksum_offload & UDP_CKSUM) { + mbuf->ol_flags |= PKT_TX_UDP_CKSUM; prox_write_udp_pseudo_hdr(udp, l4_len, pip->src_addr, pip->dst_addr); - else + } else #endif prox_udp_cksum_sw(udp, l4_len, pip->src_addr, pip->dst_addr); } else if (pip->next_proto_id == IPPROTO_TCP) { struct tcp_hdr *tcp = (struct tcp_hdr *)(((uint8_t*)pip) + l3_len); #ifndef SOFT_CRC - if (cksum_offload & UDP_CKSUM) + if (cksum_offload & UDP_CKSUM) { prox_write_tcp_pseudo_hdr(tcp, l4_len, pip->src_addr, pip->dst_addr); - else + mbuf->ol_flags |= PKT_TX_UDP_CKSUM; + } else #endif prox_tcp_cksum_sw(tcp, l4_len, pip->src_addr, pip->dst_addr); } |