CNDP  22.08.0
cnet_pkt.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright (c) 2016-2022 Intel Corporation
3  */
4 
5 #ifndef __CNET_PKT_H
6 #define __CNET_PKT_H
7 
13 #include <net/cne_ether.h>
14 #include <net/cne_udp.h>
15 #include <net/cne_tcp.h>
16 #include <net/cne_icmp.h>
17 #include <cnet_ip_common.h>
18 
19 #ifdef __cplusplus
20 extern "C" {
21 #endif
22 
23 /* The UDP/IP Pseudo header */
24 struct udp_ipv4 {
25  struct ipv4_overlay ip; /* IPv4 overlay header */
26  struct cne_udp_hdr udp; /* UDP header for protocol */
27 } __cne_packed;
28 
29 /* The UDP/IP Pseudo header */
30 struct tcp_ipv4 {
31  struct ipv4_overlay ip; /* IPv4 overlay header */
32  struct cne_tcp_hdr tcp; /* tcp header for protocol */
33 } __cne_packed;
34 
35 struct pkt_hdr {
36  struct cne_ether_hdr eth;
37  union {
38  struct cne_ipv4_hdr ipv4;
39  struct cne_ipv6_hdr ipv6;
40  struct tcp_ipv4 tip;
41  struct udp_ipv4 uip;
42  uint64_t pad[8];
43  } u;
44 } __cne_packed;
45 
46 #ifdef __cplusplus
47 }
48 #endif
49 
50 #endif /* __CNET_PKT_H */
#define __cne_packed
Definition: cne_common.h:129