From: Bogdan Pricope <bogdan.pric...@linaro.org> The functions set L3/L4 checksum override output flags on the packet. Checksum calculation, if requested, is perfromed at packet output time, depending on interface capabilities.
Signed-off-by: Bogdan Pricope <bogdan.pric...@linaro.org> --- /** Email created from pull request 245 (bogdanPricope:api_next_ovr_csum_ref_pr) ** https://github.com/Linaro/odp/pull/245 ** Patch: https://github.com/Linaro/odp/pull/245.patch ** Base sha: d22c949cc466bf28de559855a1cb525740578137 ** Merge commit sha: 3ee6c4da5a3b375e5eb87b9e656668e4fd6c8d73 **/ platform/linux-generic/odp_packet.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/platform/linux-generic/odp_packet.c b/platform/linux-generic/odp_packet.c index 3b2fac212..0ad1a9329 100644 --- a/platform/linux-generic/odp_packet.c +++ b/platform/linux-generic/odp_packet.c @@ -1284,6 +1284,22 @@ int odp_packet_l4_offset_set(odp_packet_t pkt, uint32_t offset) return 0; } +void odp_packet_l3_chksum_insert(odp_packet_t pkt, int insert) +{ + odp_packet_hdr_t *pkt_hdr = packet_hdr(pkt); + + pkt_hdr->p.output_flags.l3_chksum_set = 1; + pkt_hdr->p.output_flags.l3_chksum = insert; +} + +void odp_packet_l4_chksum_insert(odp_packet_t pkt, int insert) +{ + odp_packet_hdr_t *pkt_hdr = packet_hdr(pkt); + + pkt_hdr->p.output_flags.l4_chksum_set = 1; + pkt_hdr->p.output_flags.l4_chksum = insert; +} + void odp_packet_flow_hash_set(odp_packet_t pkt, uint32_t flow_hash) { odp_packet_hdr_t *pkt_hdr = packet_hdr(pkt);