Helper Reference Manual  1.7.1
chksum.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright (c) 2014-2018 Linaro Limited
3  */
4 
10 #ifndef ODPH_CHKSUM_H_
11 #define ODPH_CHKSUM_H_
12 
13 #include <odp_api.h>
14 
15 #ifdef __cplusplus
16 extern "C" {
17 #endif
18 
31 typedef enum {
36 
76 int odph_udp_tcp_chksum(odp_packet_t odp_pkt,
78  uint16_t *chksum_ptr);
79 
99 static inline int odph_tcp_chksum_set(odp_packet_t odp_pkt)
100 {
101  if (!odp_packet_has_tcp(odp_pkt))
102  return -1;
103 
104  return odph_udp_tcp_chksum(odp_pkt, ODPH_CHKSUM_GENERATE, NULL);
105 }
106 
126 static inline int odph_udp_chksum_set(odp_packet_t odp_pkt)
127 {
128  if (!odp_packet_has_udp(odp_pkt))
129  return -1;
130 
131  return odph_udp_tcp_chksum(odp_pkt, ODPH_CHKSUM_GENERATE, NULL);
132 }
133 
154 static inline int odph_tcp_chksum_verify(odp_packet_t odp_pkt)
155 {
156  if (!odp_packet_has_tcp(odp_pkt))
157  return -1;
158 
159  return odph_udp_tcp_chksum(odp_pkt, ODPH_CHKSUM_VERIFY, NULL);
160 }
161 
184 static inline int odph_udp_chksum_verify(odp_packet_t odp_pkt)
185 {
186  if (!odp_packet_has_udp(odp_pkt))
187  return -1;
188 
189  return odph_udp_tcp_chksum(odp_pkt, ODPH_CHKSUM_VERIFY, NULL);
190 }
191 
212 int odph_sctp_chksum_set(odp_packet_t odp_pkt);
213 
232 int odph_sctp_chksum_verify(odp_packet_t odp_pkt);
233 
238 #ifdef __cplusplus
239 }
240 #endif
241 
242 #endif
static int odph_tcp_chksum_set(odp_packet_t odp_pkt)
Generate TCP checksum.
Definition: chksum.h:99
odph_chksum_op_t
Chksum Operation Code.
Definition: chksum.h:31
int odph_sctp_chksum_set(odp_packet_t odp_pkt)
Generate SCTP checksum.
static int odph_udp_chksum_verify(odp_packet_t odp_pkt)
Verify UDP checksum.
Definition: chksum.h:184
static int odph_udp_chksum_set(odp_packet_t odp_pkt)
Generate UDP checksum.
Definition: chksum.h:126
int odph_udp_tcp_chksum(odp_packet_t odp_pkt, odph_chksum_op_t op, uint16_t *chksum_ptr)
General Purpose TCP/UDP checksum function.
int odph_sctp_chksum_verify(odp_packet_t odp_pkt)
Verify SCTP checksum.
static int odph_tcp_chksum_verify(odp_packet_t odp_pkt)
Verify TCP checksum.
Definition: chksum.h:154
@ ODPH_CHKSUM_VERIFY
See if TCP/UDP header chksum is correct.
Definition: chksum.h:33
@ ODPH_CHKSUM_RETURN
Don't generate or verify chksum.
Definition: chksum.h:34
@ ODPH_CHKSUM_GENERATE
Set TCP/UDP header chksum field.
Definition: chksum.h:32