xref: /freebsd/sys/contrib/ncsw/inc/net_ext.h (revision 0aeed3e99367bed5755068d9218cd8041644ff2b)
1*0aeed3e9SJustin Hibbits /* Copyright (c) 2008-2011 Freescale Semiconductor, Inc.
2*0aeed3e9SJustin Hibbits  * All rights reserved.
3*0aeed3e9SJustin Hibbits  *
4*0aeed3e9SJustin Hibbits  * Redistribution and use in source and binary forms, with or without
5*0aeed3e9SJustin Hibbits  * modification, are permitted provided that the following conditions are met:
6*0aeed3e9SJustin Hibbits  *     * Redistributions of source code must retain the above copyright
7*0aeed3e9SJustin Hibbits  *       notice, this list of conditions and the following disclaimer.
8*0aeed3e9SJustin Hibbits  *     * Redistributions in binary form must reproduce the above copyright
9*0aeed3e9SJustin Hibbits  *       notice, this list of conditions and the following disclaimer in the
10*0aeed3e9SJustin Hibbits  *       documentation and/or other materials provided with the distribution.
11*0aeed3e9SJustin Hibbits  *     * Neither the name of Freescale Semiconductor nor the
12*0aeed3e9SJustin Hibbits  *       names of its contributors may be used to endorse or promote products
13*0aeed3e9SJustin Hibbits  *       derived from this software without specific prior written permission.
14*0aeed3e9SJustin Hibbits  *
15*0aeed3e9SJustin Hibbits  *
16*0aeed3e9SJustin Hibbits  * ALTERNATIVELY, this software may be distributed under the terms of the
17*0aeed3e9SJustin Hibbits  * GNU General Public License ("GPL") as published by the Free Software
18*0aeed3e9SJustin Hibbits  * Foundation, either version 2 of that License or (at your option) any
19*0aeed3e9SJustin Hibbits  * later version.
20*0aeed3e9SJustin Hibbits  *
21*0aeed3e9SJustin Hibbits  * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY
22*0aeed3e9SJustin Hibbits  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
23*0aeed3e9SJustin Hibbits  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24*0aeed3e9SJustin Hibbits  * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY
25*0aeed3e9SJustin Hibbits  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
26*0aeed3e9SJustin Hibbits  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
27*0aeed3e9SJustin Hibbits  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
28*0aeed3e9SJustin Hibbits  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29*0aeed3e9SJustin Hibbits  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
30*0aeed3e9SJustin Hibbits  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31*0aeed3e9SJustin Hibbits  */
32*0aeed3e9SJustin Hibbits 
33*0aeed3e9SJustin Hibbits /**************************************************************************//**
34*0aeed3e9SJustin Hibbits  @File          net_ext.h
35*0aeed3e9SJustin Hibbits 
36*0aeed3e9SJustin Hibbits  @Description   This file contains common and general netcomm headers definitions.
37*0aeed3e9SJustin Hibbits *//***************************************************************************/
38*0aeed3e9SJustin Hibbits #ifndef __NET_EXT_H
39*0aeed3e9SJustin Hibbits #define __NET_EXT_H
40*0aeed3e9SJustin Hibbits 
41*0aeed3e9SJustin Hibbits #include "std_ext.h"
42*0aeed3e9SJustin Hibbits 
43*0aeed3e9SJustin Hibbits 
44*0aeed3e9SJustin Hibbits typedef uint8_t headerFieldPpp_t;
45*0aeed3e9SJustin Hibbits 
46*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_PPP_PID                        (1)
47*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_PPP_COMPRESSED                 (NET_HEADER_FIELD_PPP_PID << 1)
48*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_PPP_ALL_FIELDS                 ((NET_HEADER_FIELD_PPP_PID << 2) - 1)
49*0aeed3e9SJustin Hibbits 
50*0aeed3e9SJustin Hibbits 
51*0aeed3e9SJustin Hibbits typedef uint8_t headerFieldPppoe_t;
52*0aeed3e9SJustin Hibbits 
53*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_PPPoE_VER                      (1)
54*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_PPPoE_TYPE                     (NET_HEADER_FIELD_PPPoE_VER << 1)
55*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_PPPoE_CODE                     (NET_HEADER_FIELD_PPPoE_VER << 2)
56*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_PPPoE_SID                      (NET_HEADER_FIELD_PPPoE_VER << 3)
57*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_PPPoE_LEN                      (NET_HEADER_FIELD_PPPoE_VER << 4)
58*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_PPPoE_SESSION                  (NET_HEADER_FIELD_PPPoE_VER << 5)
59*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_PPPoE_PID                      (NET_HEADER_FIELD_PPPoE_VER << 6)
60*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_PPPoE_ALL_FIELDS               ((NET_HEADER_FIELD_PPPoE_VER << 7) - 1)
61*0aeed3e9SJustin Hibbits 
62*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_PPPMUX_PID                     (1)
63*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_PPPMUX_CKSUM                   (NET_HEADER_FIELD_PPPMUX_PID << 1)
64*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_PPPMUX_COMPRESSED              (NET_HEADER_FIELD_PPPMUX_PID << 2)
65*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_PPPMUX_ALL_FIELDS              ((NET_HEADER_FIELD_PPPMUX_PID << 3) - 1)
66*0aeed3e9SJustin Hibbits 
67*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_PPPMUX_SUBFRAME_PFF            (1)
68*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_PPPMUX_SUBFRAME_LXT            (NET_HEADER_FIELD_PPPMUX_SUBFRAME_PFF << 1)
69*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_PPPMUX_SUBFRAME_LEN            (NET_HEADER_FIELD_PPPMUX_SUBFRAME_PFF << 2)
70*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_PPPMUX_SUBFRAME_PID            (NET_HEADER_FIELD_PPPMUX_SUBFRAME_PFF << 3)
71*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_PPPMUX_SUBFRAME_USE_PID        (NET_HEADER_FIELD_PPPMUX_SUBFRAME_PFF << 4)
72*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_PPPMUX_SUBFRAME_ALL_FIELDS     ((NET_HEADER_FIELD_PPPMUX_SUBFRAME_PFF << 5) - 1)
73*0aeed3e9SJustin Hibbits 
74*0aeed3e9SJustin Hibbits 
75*0aeed3e9SJustin Hibbits typedef uint8_t headerFieldEth_t;
76*0aeed3e9SJustin Hibbits 
77*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_ETH_DA                         (1)
78*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_ETH_SA                         (NET_HEADER_FIELD_ETH_DA << 1)
79*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_ETH_LENGTH                     (NET_HEADER_FIELD_ETH_DA << 2)
80*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_ETH_TYPE                       (NET_HEADER_FIELD_ETH_DA << 3)
81*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_ETH_FINAL_CKSUM                (NET_HEADER_FIELD_ETH_DA << 4)
82*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_ETH_PADDING                    (NET_HEADER_FIELD_ETH_DA << 5)
83*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_ETH_ALL_FIELDS                 ((NET_HEADER_FIELD_ETH_DA << 6) - 1)
84*0aeed3e9SJustin Hibbits 
85*0aeed3e9SJustin Hibbits 
86*0aeed3e9SJustin Hibbits typedef uint16_t headerFieldIpv4_t;
87*0aeed3e9SJustin Hibbits 
88*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPv4_VER                       (1)
89*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPv4_HDR_LEN                   (NET_HEADER_FIELD_IPv4_VER << 1)
90*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPv4_TOS                       (NET_HEADER_FIELD_IPv4_VER << 2)
91*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPv4_TOTAL_LEN                 (NET_HEADER_FIELD_IPv4_VER << 3)
92*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPv4_ID                        (NET_HEADER_FIELD_IPv4_VER << 4)
93*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPv4_FLAG_D                    (NET_HEADER_FIELD_IPv4_VER << 5)
94*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPv4_FLAG_M                    (NET_HEADER_FIELD_IPv4_VER << 6)
95*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPv4_OFFSET                    (NET_HEADER_FIELD_IPv4_VER << 7)
96*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPv4_TTL                       (NET_HEADER_FIELD_IPv4_VER << 8)
97*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPv4_PROTO                     (NET_HEADER_FIELD_IPv4_VER << 9)
98*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPv4_CKSUM                     (NET_HEADER_FIELD_IPv4_VER << 10)
99*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPv4_SRC_IP                    (NET_HEADER_FIELD_IPv4_VER << 11)
100*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPv4_DST_IP                    (NET_HEADER_FIELD_IPv4_VER << 12)
101*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPv4_OPTS                      (NET_HEADER_FIELD_IPv4_VER << 13)
102*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPv4_OPTS_COUNT                (NET_HEADER_FIELD_IPv4_VER << 14)
103*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPv4_ALL_FIELDS                ((NET_HEADER_FIELD_IPv4_VER << 15) - 1)
104*0aeed3e9SJustin Hibbits 
105*0aeed3e9SJustin Hibbits 
106*0aeed3e9SJustin Hibbits typedef uint8_t headerFieldIpv6_t;
107*0aeed3e9SJustin Hibbits 
108*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPv6_VER                       (1)
109*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPv6_TC                        (NET_HEADER_FIELD_IPv6_VER << 1)
110*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPv6_SRC_IP                    (NET_HEADER_FIELD_IPv6_VER << 2)
111*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPv6_DST_IP                    (NET_HEADER_FIELD_IPv6_VER << 3)
112*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPv6_NEXT_HDR                  (NET_HEADER_FIELD_IPv6_VER << 4)
113*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPv6_FL                        (NET_HEADER_FIELD_IPv6_VER << 5)
114*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPv6_HOP_LIMIT                 (NET_HEADER_FIELD_IPv6_VER << 6)
115*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPv6_ALL_FIELDS                ((NET_HEADER_FIELD_IPv6_VER << 7) - 1)
116*0aeed3e9SJustin Hibbits 
117*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_ICMP_TYPE                      (1)
118*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_ICMP_CODE                      (NET_HEADER_FIELD_ICMP_TYPE << 1)
119*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_ICMP_CKSUM                     (NET_HEADER_FIELD_ICMP_TYPE << 2)
120*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_ICMP_ID                        (NET_HEADER_FIELD_ICMP_TYPE << 3)
121*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_ICMP_SQ_NUM                    (NET_HEADER_FIELD_ICMP_TYPE << 4)
122*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_ICMP_ALL_FIELDS                ((NET_HEADER_FIELD_ICMP_TYPE << 5) - 1)
123*0aeed3e9SJustin Hibbits 
124*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IGMP_VERSION                   (1)
125*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IGMP_TYPE                      (NET_HEADER_FIELD_IGMP_VERSION << 1)
126*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IGMP_CKSUM                     (NET_HEADER_FIELD_IGMP_VERSION << 2)
127*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IGMP_DATA                      (NET_HEADER_FIELD_IGMP_VERSION << 3)
128*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IGMP_ALL_FIELDS                ((NET_HEADER_FIELD_IGMP_VERSION << 4) - 1)
129*0aeed3e9SJustin Hibbits 
130*0aeed3e9SJustin Hibbits 
131*0aeed3e9SJustin Hibbits typedef uint16_t headerFieldTcp_t;
132*0aeed3e9SJustin Hibbits 
133*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_TCP_PORT_SRC                   (1)
134*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_TCP_PORT_DST                   (NET_HEADER_FIELD_TCP_PORT_SRC << 1)
135*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_TCP_SEQ                        (NET_HEADER_FIELD_TCP_PORT_SRC << 2)
136*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_TCP_ACK                        (NET_HEADER_FIELD_TCP_PORT_SRC << 3)
137*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_TCP_OFFSET                     (NET_HEADER_FIELD_TCP_PORT_SRC << 4)
138*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_TCP_FLAGS                      (NET_HEADER_FIELD_TCP_PORT_SRC << 5)
139*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_TCP_WINDOW                     (NET_HEADER_FIELD_TCP_PORT_SRC << 6)
140*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_TCP_CKSUM                      (NET_HEADER_FIELD_TCP_PORT_SRC << 7)
141*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_TCP_URGPTR                     (NET_HEADER_FIELD_TCP_PORT_SRC << 8)
142*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_TCP_OPTS                       (NET_HEADER_FIELD_TCP_PORT_SRC << 9)
143*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_TCP_OPTS_COUNT                 (NET_HEADER_FIELD_TCP_PORT_SRC << 10)
144*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_TCP_ALL_FIELDS                 ((NET_HEADER_FIELD_TCP_PORT_SRC << 11) - 1)
145*0aeed3e9SJustin Hibbits 
146*0aeed3e9SJustin Hibbits 
147*0aeed3e9SJustin Hibbits typedef uint8_t headerFieldSctp_t;
148*0aeed3e9SJustin Hibbits 
149*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_SCTP_PORT_SRC                  (1)
150*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_SCTP_PORT_DST                  (NET_HEADER_FIELD_SCTP_PORT_SRC << 1)
151*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_SCTP_VER_TAG                   (NET_HEADER_FIELD_SCTP_PORT_SRC << 2)
152*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_SCTP_CKSUM                     (NET_HEADER_FIELD_SCTP_PORT_SRC << 3)
153*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_SCTP_ALL_FIELDS                ((NET_HEADER_FIELD_SCTP_PORT_SRC << 4) - 1)
154*0aeed3e9SJustin Hibbits 
155*0aeed3e9SJustin Hibbits 
156*0aeed3e9SJustin Hibbits typedef uint8_t headerFieldDccp_t;
157*0aeed3e9SJustin Hibbits 
158*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_DCCP_PORT_SRC                  (1)
159*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_DCCP_PORT_DST                  (NET_HEADER_FIELD_DCCP_PORT_SRC << 1)
160*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_DCCP_ALL_FIELDS                ((NET_HEADER_FIELD_DCCP_PORT_SRC << 2) - 1)
161*0aeed3e9SJustin Hibbits 
162*0aeed3e9SJustin Hibbits 
163*0aeed3e9SJustin Hibbits typedef uint8_t headerFieldUdp_t;
164*0aeed3e9SJustin Hibbits 
165*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_UDP_PORT_SRC                   (1)
166*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_UDP_PORT_DST                   (NET_HEADER_FIELD_UDP_PORT_SRC << 1)
167*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_UDP_LEN                        (NET_HEADER_FIELD_UDP_PORT_SRC << 2)
168*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_UDP_CKSUM                      (NET_HEADER_FIELD_UDP_PORT_SRC << 3)
169*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_UDP_ALL_FIELDS                 ((NET_HEADER_FIELD_UDP_PORT_SRC << 4) - 1)
170*0aeed3e9SJustin Hibbits 
171*0aeed3e9SJustin Hibbits typedef uint8_t headerFieldUdpEncapEsp_t;
172*0aeed3e9SJustin Hibbits 
173*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_UDP_ENCAP_ESP_PORT_SRC         (1)
174*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_UDP_ENCAP_ESP_PORT_DST         (NET_HEADER_FIELD_UDP_ENCAP_ESP_PORT_SRC << 1)
175*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_UDP_ENCAP_ESP_LEN              (NET_HEADER_FIELD_UDP_ENCAP_ESP_PORT_SRC << 2)
176*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_UDP_ENCAP_ESP_CKSUM            (NET_HEADER_FIELD_UDP_ENCAP_ESP_PORT_SRC << 3)
177*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_UDP_ENCAP_ESP_SPI              (NET_HEADER_FIELD_UDP_ENCAP_ESP_PORT_SRC << 4)
178*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_UDP_ENCAP_ESP_SEQUENCE_NUM     (NET_HEADER_FIELD_UDP_ENCAP_ESP_PORT_SRC << 5)
179*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_UDP_ENCAP_ESP_ALL_FIELDS       ((NET_HEADER_FIELD_UDP_ENCAP_ESP_PORT_SRC << 6) - 1)
180*0aeed3e9SJustin Hibbits 
181*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPHC_CID                       (1)
182*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPHC_CID_TYPE                  (NET_HEADER_FIELD_IPHC_CID << 1)
183*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPHC_HCINDEX                   (NET_HEADER_FIELD_IPHC_CID << 2)
184*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPHC_GEN                       (NET_HEADER_FIELD_IPHC_CID << 3)
185*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPHC_D_BIT                     (NET_HEADER_FIELD_IPHC_CID << 4)
186*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPHC_ALL_FIELDS                ((NET_HEADER_FIELD_IPHC_CID << 5) - 1)
187*0aeed3e9SJustin Hibbits 
188*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_SCTP_CHUNK_DATA_TYPE           (1)
189*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_SCTP_CHUNK_DATA_FLAGS          (NET_HEADER_FIELD_SCTP_CHUNK_DATA_TYPE << 1)
190*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_SCTP_CHUNK_DATA_LENGTH         (NET_HEADER_FIELD_SCTP_CHUNK_DATA_TYPE << 2)
191*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_SCTP_CHUNK_DATA_TSN            (NET_HEADER_FIELD_SCTP_CHUNK_DATA_TYPE << 3)
192*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_SCTP_CHUNK_DATA_STREAM_ID      (NET_HEADER_FIELD_SCTP_CHUNK_DATA_TYPE << 4)
193*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_SCTP_CHUNK_DATA_STREAM_SQN     (NET_HEADER_FIELD_SCTP_CHUNK_DATA_TYPE << 5)
194*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_SCTP_CHUNK_DATA_PAYLOAD_PID    (NET_HEADER_FIELD_SCTP_CHUNK_DATA_TYPE << 6)
195*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_SCTP_CHUNK_DATA_UNORDERED      (NET_HEADER_FIELD_SCTP_CHUNK_DATA_TYPE << 7)
196*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_SCTP_CHUNK_DATA_BEGGINING      (NET_HEADER_FIELD_SCTP_CHUNK_DATA_TYPE << 8)
197*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_SCTP_CHUNK_DATA_END            (NET_HEADER_FIELD_SCTP_CHUNK_DATA_TYPE << 9)
198*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_SCTP_CHUNK_DATA_ALL_FIELDS     ((NET_HEADER_FIELD_SCTP_CHUNK_DATA_TYPE << 10) - 1)
199*0aeed3e9SJustin Hibbits 
200*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_L2TPv2_TYPE_BIT                (1)
201*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_L2TPv2_LENGTH_BIT              (NET_HEADER_FIELD_L2TPv2_TYPE_BIT << 1)
202*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_L2TPv2_SEQUENCE_BIT            (NET_HEADER_FIELD_L2TPv2_TYPE_BIT << 2)
203*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_L2TPv2_OFFSET_BIT              (NET_HEADER_FIELD_L2TPv2_TYPE_BIT << 3)
204*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_L2TPv2_PRIORITY_BIT            (NET_HEADER_FIELD_L2TPv2_TYPE_BIT << 4)
205*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_L2TPv2_VERSION                 (NET_HEADER_FIELD_L2TPv2_TYPE_BIT << 5)
206*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_L2TPv2_LEN                     (NET_HEADER_FIELD_L2TPv2_TYPE_BIT << 6)
207*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_L2TPv2_TUNNEL_ID               (NET_HEADER_FIELD_L2TPv2_TYPE_BIT << 7)
208*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_L2TPv2_SESSION_ID              (NET_HEADER_FIELD_L2TPv2_TYPE_BIT << 8)
209*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_L2TPv2_NS                      (NET_HEADER_FIELD_L2TPv2_TYPE_BIT << 9)
210*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_L2TPv2_NR                      (NET_HEADER_FIELD_L2TPv2_TYPE_BIT << 10)
211*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_L2TPv2_OFFSET_SIZE             (NET_HEADER_FIELD_L2TPv2_TYPE_BIT << 11)
212*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_L2TPv2_FIRST_BYTE              (NET_HEADER_FIELD_L2TPv2_TYPE_BIT << 12)
213*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_L2TPv2_ALL_FIELDS              ((NET_HEADER_FIELD_L2TPv2_TYPE_BIT << 13) - 1)
214*0aeed3e9SJustin Hibbits 
215*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_L2TPv3_CTRL_TYPE_BIT           (1)
216*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_L2TPv3_CTRL_LENGTH_BIT         (NET_HEADER_FIELD_L2TPv3_CTRL_TYPE_BIT << 1)
217*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_L2TPv3_CTRL_SEQUENCE_BIT       (NET_HEADER_FIELD_L2TPv3_CTRL_TYPE_BIT << 2)
218*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_L2TPv3_CTRL_VERSION            (NET_HEADER_FIELD_L2TPv3_CTRL_TYPE_BIT << 3)
219*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_L2TPv3_CTRL_LENGTH             (NET_HEADER_FIELD_L2TPv3_CTRL_TYPE_BIT << 4)
220*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_L2TPv3_CTRL_CONTROL            (NET_HEADER_FIELD_L2TPv3_CTRL_TYPE_BIT << 5)
221*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_L2TPv3_CTRL_SENT               (NET_HEADER_FIELD_L2TPv3_CTRL_TYPE_BIT << 6)
222*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_L2TPv3_CTRL_RECV               (NET_HEADER_FIELD_L2TPv3_CTRL_TYPE_BIT << 7)
223*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_L2TPv3_CTRL_FIRST_BYTE         (NET_HEADER_FIELD_L2TPv3_CTRL_TYPE_BIT << 8)
224*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_L2TPv3_CTRL_ALL_FIELDS         ((NET_HEADER_FIELD_L2TPv3_CTRL_TYPE_BIT << 9) - 1)
225*0aeed3e9SJustin Hibbits 
226*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_L2TPv3_SESS_TYPE_BIT           (1)
227*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_L2TPv3_SESS_VERSION            (NET_HEADER_FIELD_L2TPv3_SESS_TYPE_BIT << 1)
228*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_L2TPv3_SESS_ID                 (NET_HEADER_FIELD_L2TPv3_SESS_TYPE_BIT << 2)
229*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_L2TPv3_SESS_COOKIE             (NET_HEADER_FIELD_L2TPv3_SESS_TYPE_BIT << 3)
230*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_L2TPv3_SESS_ALL_FIELDS         ((NET_HEADER_FIELD_L2TPv3_SESS_TYPE_BIT << 4) - 1)
231*0aeed3e9SJustin Hibbits 
232*0aeed3e9SJustin Hibbits 
233*0aeed3e9SJustin Hibbits typedef uint8_t headerFieldVlan_t;
234*0aeed3e9SJustin Hibbits 
235*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_VLAN_VPRI                      (1)
236*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_VLAN_CFI                       (NET_HEADER_FIELD_VLAN_VPRI << 1)
237*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_VLAN_VID                       (NET_HEADER_FIELD_VLAN_VPRI << 2)
238*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_VLAN_LENGTH                    (NET_HEADER_FIELD_VLAN_VPRI << 3)
239*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_VLAN_TYPE                      (NET_HEADER_FIELD_VLAN_VPRI << 4)
240*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_VLAN_ALL_FIELDS                ((NET_HEADER_FIELD_VLAN_VPRI << 5) - 1)
241*0aeed3e9SJustin Hibbits 
242*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_VLAN_TCI                       (NET_HEADER_FIELD_VLAN_VPRI | \
243*0aeed3e9SJustin Hibbits                                                          NET_HEADER_FIELD_VLAN_CFI | \
244*0aeed3e9SJustin Hibbits                                                          NET_HEADER_FIELD_VLAN_VID)
245*0aeed3e9SJustin Hibbits 
246*0aeed3e9SJustin Hibbits 
247*0aeed3e9SJustin Hibbits typedef uint8_t headerFieldLlc_t;
248*0aeed3e9SJustin Hibbits 
249*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_LLC_DSAP                       (1)
250*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_LLC_SSAP                       (NET_HEADER_FIELD_LLC_DSAP << 1)
251*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_LLC_CTRL                       (NET_HEADER_FIELD_LLC_DSAP << 2)
252*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_LLC_ALL_FIELDS                 ((NET_HEADER_FIELD_LLC_DSAP << 3) - 1)
253*0aeed3e9SJustin Hibbits 
254*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_NLPID_NLPID                    (1)
255*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_NLPID_ALL_FIELDS               ((NET_HEADER_FIELD_NLPID_NLPID << 1) - 1)
256*0aeed3e9SJustin Hibbits 
257*0aeed3e9SJustin Hibbits 
258*0aeed3e9SJustin Hibbits typedef uint8_t headerFieldSnap_t;
259*0aeed3e9SJustin Hibbits 
260*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_SNAP_OUI                       (1)
261*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_SNAP_PID                       (NET_HEADER_FIELD_SNAP_OUI << 1)
262*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_SNAP_ALL_FIELDS                ((NET_HEADER_FIELD_SNAP_OUI << 2) - 1)
263*0aeed3e9SJustin Hibbits 
264*0aeed3e9SJustin Hibbits 
265*0aeed3e9SJustin Hibbits typedef uint8_t headerFieldLlcSnap_t;
266*0aeed3e9SJustin Hibbits 
267*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_LLC_SNAP_TYPE                  (1)
268*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_LLC_SNAP_ALL_FIELDS            ((NET_HEADER_FIELD_LLC_SNAP_TYPE << 1) - 1)
269*0aeed3e9SJustin Hibbits 
270*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_ARP_HTYPE                      (1)
271*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_ARP_PTYPE                      (NET_HEADER_FIELD_ARP_HTYPE << 1)
272*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_ARP_HLEN                       (NET_HEADER_FIELD_ARP_HTYPE << 2)
273*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_ARP_PLEN                       (NET_HEADER_FIELD_ARP_HTYPE << 3)
274*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_ARP_OPER                       (NET_HEADER_FIELD_ARP_HTYPE << 4)
275*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_ARP_SHA                        (NET_HEADER_FIELD_ARP_HTYPE << 5)
276*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_ARP_SPA                        (NET_HEADER_FIELD_ARP_HTYPE << 6)
277*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_ARP_THA                        (NET_HEADER_FIELD_ARP_HTYPE << 7)
278*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_ARP_TPA                        (NET_HEADER_FIELD_ARP_HTYPE << 8)
279*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_ARP_ALL_FIELDS                 ((NET_HEADER_FIELD_ARP_HTYPE << 9) - 1)
280*0aeed3e9SJustin Hibbits 
281*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_RFC2684_LLC                    (1)
282*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_RFC2684_NLPID                  (NET_HEADER_FIELD_RFC2684_LLC << 1)
283*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_RFC2684_OUI                    (NET_HEADER_FIELD_RFC2684_LLC << 2)
284*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_RFC2684_PID                    (NET_HEADER_FIELD_RFC2684_LLC << 3)
285*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_RFC2684_VPN_OUI                (NET_HEADER_FIELD_RFC2684_LLC << 4)
286*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_RFC2684_VPN_IDX                (NET_HEADER_FIELD_RFC2684_LLC << 5)
287*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_RFC2684_ALL_FIELDS             ((NET_HEADER_FIELD_RFC2684_LLC << 6) - 1)
288*0aeed3e9SJustin Hibbits 
289*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_USER_DEFINED_SRCPORT           (1)
290*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_USER_DEFINED_PCDID             (NET_HEADER_FIELD_USER_DEFINED_SRCPORT << 1)
291*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_USER_DEFINED_ALL_FIELDS        ((NET_HEADER_FIELD_USER_DEFINED_SRCPORT << 2) - 1)
292*0aeed3e9SJustin Hibbits 
293*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_PAYLOAD_BUFFER                 (1)
294*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_PAYLOAD_SIZE                   (NET_HEADER_FIELD_PAYLOAD_BUFFER << 1)
295*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_MAX_FRM_SIZE                   (NET_HEADER_FIELD_PAYLOAD_BUFFER << 2)
296*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_MIN_FRM_SIZE                   (NET_HEADER_FIELD_PAYLOAD_BUFFER << 3)
297*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_PAYLOAD_TYPE                   (NET_HEADER_FIELD_PAYLOAD_BUFFER << 4)
298*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_FRAME_SIZE                     (NET_HEADER_FIELD_PAYLOAD_BUFFER << 5)
299*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_PAYLOAD_ALL_FIELDS             ((NET_HEADER_FIELD_PAYLOAD_BUFFER << 6) - 1)
300*0aeed3e9SJustin Hibbits 
301*0aeed3e9SJustin Hibbits 
302*0aeed3e9SJustin Hibbits typedef uint8_t headerFieldGre_t;
303*0aeed3e9SJustin Hibbits 
304*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_GRE_TYPE                       (1)
305*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_GRE_ALL_FIELDS                 ((NET_HEADER_FIELD_GRE_TYPE << 1) - 1)
306*0aeed3e9SJustin Hibbits 
307*0aeed3e9SJustin Hibbits 
308*0aeed3e9SJustin Hibbits typedef uint8_t headerFieldMinencap_t;
309*0aeed3e9SJustin Hibbits 
310*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_MINENCAP_SRC_IP                (1)
311*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_MINENCAP_DST_IP                (NET_HEADER_FIELD_MINENCAP_SRC_IP << 1)
312*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_MINENCAP_TYPE                  (NET_HEADER_FIELD_MINENCAP_SRC_IP << 2)
313*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_MINENCAP_ALL_FIELDS            ((NET_HEADER_FIELD_MINENCAP_SRC_IP << 3) - 1)
314*0aeed3e9SJustin Hibbits 
315*0aeed3e9SJustin Hibbits 
316*0aeed3e9SJustin Hibbits typedef uint8_t headerFieldIpsecAh_t;
317*0aeed3e9SJustin Hibbits 
318*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPSEC_AH_SPI                   (1)
319*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPSEC_AH_NH                    (NET_HEADER_FIELD_IPSEC_AH_SPI << 1)
320*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPSEC_AH_ALL_FIELDS            ((NET_HEADER_FIELD_IPSEC_AH_SPI << 2) - 1)
321*0aeed3e9SJustin Hibbits 
322*0aeed3e9SJustin Hibbits 
323*0aeed3e9SJustin Hibbits typedef uint8_t headerFieldIpsecEsp_t;
324*0aeed3e9SJustin Hibbits 
325*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPSEC_ESP_SPI                  (1)
326*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPSEC_ESP_SEQUENCE_NUM         (NET_HEADER_FIELD_IPSEC_ESP_SPI << 1)
327*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPSEC_ESP_ALL_FIELDS           ((NET_HEADER_FIELD_IPSEC_ESP_SPI << 2) - 1)
328*0aeed3e9SJustin Hibbits 
329*0aeed3e9SJustin Hibbits 
330*0aeed3e9SJustin Hibbits typedef uint8_t headerFieldMpls_t;
331*0aeed3e9SJustin Hibbits 
332*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_MPLS_LABEL_STACK               (1)
333*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_MPLS_LABEL_STACK_ALL_FIELDS    ((NET_HEADER_FIELD_MPLS_LABEL_STACK << 1) - 1)
334*0aeed3e9SJustin Hibbits 
335*0aeed3e9SJustin Hibbits 
336*0aeed3e9SJustin Hibbits typedef uint8_t headerFieldMacsec_t;
337*0aeed3e9SJustin Hibbits 
338*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_MACSEC_SECTAG                  (1)
339*0aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_MACSEC_ALL_FIELDS              ((NET_HEADER_FIELD_MACSEC_SECTAG << 1) - 1)
340*0aeed3e9SJustin Hibbits 
341*0aeed3e9SJustin Hibbits 
342*0aeed3e9SJustin Hibbits typedef enum {
343*0aeed3e9SJustin Hibbits     HEADER_TYPE_NONE = 0,
344*0aeed3e9SJustin Hibbits     HEADER_TYPE_PAYLOAD,
345*0aeed3e9SJustin Hibbits     HEADER_TYPE_ETH,
346*0aeed3e9SJustin Hibbits     HEADER_TYPE_VLAN,
347*0aeed3e9SJustin Hibbits     HEADER_TYPE_IPv4,
348*0aeed3e9SJustin Hibbits     HEADER_TYPE_IPv6,
349*0aeed3e9SJustin Hibbits     HEADER_TYPE_TCP,
350*0aeed3e9SJustin Hibbits     HEADER_TYPE_UDP,
351*0aeed3e9SJustin Hibbits     HEADER_TYPE_IPHC,
352*0aeed3e9SJustin Hibbits     HEADER_TYPE_SCTP,
353*0aeed3e9SJustin Hibbits     HEADER_TYPE_SCTP_CHUNK_DATA,
354*0aeed3e9SJustin Hibbits     HEADER_TYPE_PPPoE,
355*0aeed3e9SJustin Hibbits     HEADER_TYPE_PPP,
356*0aeed3e9SJustin Hibbits     HEADER_TYPE_PPPMUX,
357*0aeed3e9SJustin Hibbits     HEADER_TYPE_PPPMUX_SUBFRAME,
358*0aeed3e9SJustin Hibbits     HEADER_TYPE_L2TPv2,
359*0aeed3e9SJustin Hibbits     HEADER_TYPE_L2TPv3_CTRL,
360*0aeed3e9SJustin Hibbits     HEADER_TYPE_L2TPv3_SESS,
361*0aeed3e9SJustin Hibbits     HEADER_TYPE_LLC,
362*0aeed3e9SJustin Hibbits     HEADER_TYPE_LLC_SNAP,
363*0aeed3e9SJustin Hibbits     HEADER_TYPE_NLPID,
364*0aeed3e9SJustin Hibbits     HEADER_TYPE_SNAP,
365*0aeed3e9SJustin Hibbits     HEADER_TYPE_MPLS,
366*0aeed3e9SJustin Hibbits     HEADER_TYPE_IPSEC_AH,
367*0aeed3e9SJustin Hibbits     HEADER_TYPE_IPSEC_ESP,
368*0aeed3e9SJustin Hibbits     HEADER_TYPE_UDP_ENCAP_ESP, /* RFC 3948 */
369*0aeed3e9SJustin Hibbits     HEADER_TYPE_MACSEC,
370*0aeed3e9SJustin Hibbits     HEADER_TYPE_GRE,
371*0aeed3e9SJustin Hibbits     HEADER_TYPE_MINENCAP,
372*0aeed3e9SJustin Hibbits     HEADER_TYPE_DCCP,
373*0aeed3e9SJustin Hibbits     HEADER_TYPE_ICMP,
374*0aeed3e9SJustin Hibbits     HEADER_TYPE_IGMP,
375*0aeed3e9SJustin Hibbits     HEADER_TYPE_ARP,
376*0aeed3e9SJustin Hibbits     HEADER_TYPE_CAPWAP,
377*0aeed3e9SJustin Hibbits     HEADER_TYPE_CAPWAP_DTLS,
378*0aeed3e9SJustin Hibbits     HEADER_TYPE_RFC2684,
379*0aeed3e9SJustin Hibbits     HEADER_TYPE_USER_DEFINED_L2,
380*0aeed3e9SJustin Hibbits     HEADER_TYPE_USER_DEFINED_L3,
381*0aeed3e9SJustin Hibbits     HEADER_TYPE_USER_DEFINED_L4,
382*0aeed3e9SJustin Hibbits     HEADER_TYPE_USER_DEFINED_SHIM1,
383*0aeed3e9SJustin Hibbits     HEADER_TYPE_USER_DEFINED_SHIM2,
384*0aeed3e9SJustin Hibbits     MAX_HEADER_TYPE_COUNT
385*0aeed3e9SJustin Hibbits } e_NetHeaderType;
386*0aeed3e9SJustin Hibbits 
387*0aeed3e9SJustin Hibbits 
388*0aeed3e9SJustin Hibbits #endif /* __NET_EXT_H */
389